summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/mainwindow.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index 01b09e04c..9dddba434 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -203,6 +203,7 @@ MainWindow::MainWindow() : QMainWindow(),
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), TankInfoModel::instance(), SLOT(update()));
for (int i = 0; i < NUM_RECENT_FILES; i++) {
actionsRecent[i] = new QAction(this);
+ actionsRecent[i]->setData(i);
ui.menuFile->insertAction(ui.actionQuit, actionsRecent[i]);
connect(actionsRecent[i], SIGNAL(triggered(bool)), this, SLOT(recentFileTriggered(bool)));
}
@@ -1592,9 +1593,10 @@ void MainWindow::recentFileTriggered(bool checked)
if (!okToClose(tr("Please save or cancel the current dive edit before opening a new file.")))
return;
- QAction *actionRecent = (QAction *)sender();
-
- const QString &filename = actionRecent->toolTip();
+ int filenr = ((QAction *)sender())->data().toInt();
+ if (filenr >= recentFiles.count())
+ return;
+ const QString &filename = recentFiles[filenr];
updateLastUsedDir(QFileInfo(filename).dir().path());
closeCurrentFile();