diff options
-rw-r--r-- | qt-gui.cpp | 4 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 18 | ||||
-rw-r--r-- | qt-ui/mainwindow.h | 3 |
3 files changed, 25 insertions, 0 deletions
diff --git a/qt-gui.cpp b/qt-gui.cpp index 2474d407d..eab282dc0 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -75,6 +75,10 @@ void init_qt_ui(int *argcp, char ***argvp, char *errormessage) MainWindow *window = new MainWindow(); window->showError(errormessage); window->show(); + if (existing_filename && existing_filename[0] != '\0') + window->setTitle(MWTF_FILENAME); + else + window->setTitle(MWTF_DEFAULT); } const char *getSetting(QSettings &s, QString name) diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 6036b3cd1..0655e7a40 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -120,6 +120,7 @@ void MainWindow::on_actionOpen_triggered() char *error = NULL; parse_file(fileNamePtr.data(), &error); set_filename(fileNamePtr.data(), TRUE); + setTitle(MWTF_FILENAME); if (error != NULL) { showError(error); @@ -164,6 +165,7 @@ void MainWindow::on_actionClose_triggered() ui->ProfileWidget->clear(); ui->ListWidget->reload(DiveTripModel::TREE); ui->globe->reload(); + setTitle(MWTF_DEFAULT); clear_events(); } @@ -673,6 +675,7 @@ void MainWindow::file_save_as(void) if (!filename.isNull() && !filename.isEmpty()) { save_dives(filename.toUtf8().data()); set_filename(filename.toUtf8().data(), TRUE); + setTitle(MWTF_FILENAME); mark_divelist_changed(FALSE); } } @@ -705,3 +708,18 @@ void MainWindow::showError(QString message) ui->mainErrorMessage->setMessageType(KMessageWidget::Error); ui->mainErrorMessage->animatedShow(); } + +void MainWindow::setTitle(enum MainWindowTitleFormat format) +{ + switch (format) { + case MWTF_DEFAULT: + setWindowTitle("Subsurface"); + break; + case MWTF_FILENAME: + QFile f(existing_filename); + QFileInfo fileInfo(f); + QString fileName(fileInfo.fileName()); + setWindowTitle("Subsurface: " + fileName); + break; + } +} diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h index 85825958d..bac74689d 100644 --- a/qt-ui/mainwindow.h +++ b/qt-ui/mainwindow.h @@ -31,6 +31,8 @@ class MainTab; class ProfileGraphicsView; class QTextBrowser; +enum MainWindowTitleFormat { MWTF_DEFAULT, MWTF_FILENAME }; + class MainWindow : public QMainWindow { Q_OBJECT @@ -43,6 +45,7 @@ public: DiveListView *dive_list(); GlobeGPS *globe(); void showError(QString message); + void setTitle(enum MainWindowTitleFormat format); private slots: |