From a16e64420e718a5c2fa4cb283a3717784c980657 Mon Sep 17 00:00:00 2001 From: Max Paperno Date: Tue, 19 Dec 2017 21:21:20 -0500 Subject: [PATCH] [Companion] Recent files menu: show full path of each file in status bar and tooltips. --- companion/src/mainwindow.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 43e4d09f6..1bedb9485 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1548,6 +1548,7 @@ void MainWindow::createMenus() helpMenu->addAction(contributorsAct); recentFilesMenu = new QMenu(this); + recentFilesMenu->setToolTipsVisible(true); for ( int i = 0; i < g.historySize(); ++i) { recentFileActs.append(recentFilesMenu->addAction("")); recentFileActs[i]->setVisible(false); @@ -1679,22 +1680,18 @@ bool MainWindow::anyChildrenDirty() void MainWindow::updateRecentFileActions() { - // Hide all document slots - for (int i=0 ; i < qMin(recentFileActs.size(), g.historySize()); i++) { - recentFileActs[i]->setVisible(false); - } - - // Fill slots with content and unhide them QStringList files = g.recentFiles(); - int numRecentFiles = qMin(recentFileActs.size(), qMin(files.size(), g.historySize())); - - for (int i=0; i < numRecentFiles; i++) { - QString text = strippedName(files[i]); - if (!text.trimmed().isEmpty()) { - recentFileActs[i]->setText(text); - recentFileActs[i]->setData(files[i]); + for (int i=0; i < recentFileActs.size(); i++) { + if (i < files.size() && !files.at(i).isEmpty()) { + recentFileActs[i]->setText(QFileInfo(files.at(i)).fileName()); + recentFileActs[i]->setData(files.at(i)); + recentFileActs[i]->setStatusTip(QDir::toNativeSeparators(files.at(i))); + recentFileActs[i]->setToolTip(recentFileActs[i]->statusTip()); recentFileActs[i]->setVisible(true); } + else { + recentFileActs[i]->setVisible(false); + } } }