mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Code cleanup: implement window title update via signal
This seems quite convoluted to me but I can't seem to make a more straight forward implementation work. The idea is that core code should never directly call into the UI. So instead the core code (this is C code) calls a helper function. That helper function calls a member function of a class which in return emits a signal. The UI code connects to that signal and acts accordingly when it is received. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c593dea119
commit
0fa0eb2879
6 changed files with 63 additions and 6 deletions
|
@ -39,6 +39,7 @@
|
|||
#include "usersurvey.h"
|
||||
#include "divesitehelpers.h"
|
||||
#include "locationinformation.h"
|
||||
#include "windowtitleupdate.h"
|
||||
#ifndef NO_USERMANUAL
|
||||
#include "usermanual.h"
|
||||
#endif
|
||||
|
@ -148,7 +149,8 @@ MainWindow::MainWindow() : QMainWindow(),
|
|||
connect(locationInformation, SIGNAL(startEditDiveSite(uint32_t)), globeGps, SLOT(prepareForGetDiveCoordinates()));
|
||||
connect(locationInformation, SIGNAL(endEditDiveSite()), globeGps, SLOT(prepareForGetDiveCoordinates()));
|
||||
connect(information(), SIGNAL(diveSiteChanged(uint32_t)), globeGps, SLOT(centerOnDiveSite(uint32_t)));
|
||||
|
||||
wtu = new WindowTitleUpdate();
|
||||
connect(WindowTitleUpdate::instance(), SIGNAL(updateTitle()), this, SLOT(setAutomaticTitle()));
|
||||
#ifdef NO_PRINTING
|
||||
plannerDetails->printPlan()->hide();
|
||||
ui.menuFile->removeAction(ui.actionPrint);
|
||||
|
@ -1439,6 +1441,11 @@ QString MainWindow::displayedFilename(QString fullFilename)
|
|||
return fileName;
|
||||
}
|
||||
|
||||
void MainWindow::setAutomaticTitle()
|
||||
{
|
||||
setTitle();
|
||||
}
|
||||
|
||||
void MainWindow::setTitle(enum MainWindowTitleFormat format)
|
||||
{
|
||||
switch (format) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue