summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-gui.cpp4
-rw-r--r--qt-ui/mainwindow.cpp18
-rw-r--r--qt-ui/mainwindow.h3
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: