[Companion] Recent files menu: show full path of each file in status bar and tooltips.

This commit is contained in:
Max Paperno
2017-12-19 21:21:20 -05:00
parent 76ee7cdd7f
commit a16e64420e
+10 -13
View File
@@ -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);
}
}
}