GuiLyXFiles: add icons that indicate whether a file is from user or system

This commit is contained in:
Juergen Spitzmueller 2019-03-20 18:38:07 +01:00
parent 1222ce3bfe
commit ca67b8aa2c
4 changed files with 8 additions and 3 deletions

View File

@ -618,6 +618,8 @@ dist_images_DATA1X = \
images/layout-toggle_LyX-Code.svgz \ images/layout-toggle_LyX-Code.svgz \
images/layout-toggle_Chunk.svgz \ images/layout-toggle_Chunk.svgz \
images/layout-toggle_Section.svgz \ images/layout-toggle_Section.svgz \
images/lyxfiles-system.svgz \
images/lyxfiles-user.svgz \
images/lyx-quit.svgz \ images/lyx-quit.svgz \
images/marginalnote-insert.svgz \ images/marginalnote-insert.svgz \
images/master-buffer-update.svgz \ images/master-buffer-update.svgz \

Binary file not shown.

Binary file not shown.

View File

@ -30,7 +30,6 @@
#include "support/Package.h" #include "support/Package.h"
#include <QDirIterator> #include <QDirIterator>
#include <QFileIconProvider>
#include <QTreeWidget> #include <QTreeWidget>
using namespace std; using namespace std;
@ -274,7 +273,8 @@ void GuiLyXFiles::updateContents()
getFiles(files, type); getFiles(files, type);
filesLW->clear(); filesLW->clear();
QFileIconProvider iconprovider; QIcon user_icon(getPixmap("images/", "lyxfiles-user", "svgz,png"));
QIcon system_icon(getPixmap("images/", "lyxfiles-system", "svgz,png"));
QStringList cats; QStringList cats;
QMap<QString, QString>::const_iterator it = files.constBegin(); QMap<QString, QString>::const_iterator it = files.constBegin();
QFont capfont; QFont capfont;
@ -306,7 +306,9 @@ void GuiLyXFiles::updateContents()
QString guiname = filename.left(filename.lastIndexOf(getSuffix())).replace('_', ' '); QString guiname = filename.left(filename.lastIndexOf(getSuffix())).replace('_', ' ');
if (translateName()) if (translateName())
guiname = toqstr(translateIfPossible(qstring_to_ucs4(guiname))); guiname = toqstr(translateIfPossible(qstring_to_ucs4(guiname)));
item->setIcon(0, iconprovider.icon(info)); QIcon file_icon = (info.filePath().startsWith(toqstr(package().user_support().absFileName()))) ?
user_icon : system_icon;
item->setIcon(0, file_icon);
item->setData(0, Qt::UserRole, info.filePath()); item->setData(0, Qt::UserRole, info.filePath());
item->setData(0, Qt::DisplayRole, guiname); item->setData(0, Qt::DisplayRole, guiname);
item->setData(0, Qt::ToolTipRole, info.filePath()); item->setData(0, Qt::ToolTipRole, info.filePath());
@ -326,6 +328,7 @@ void GuiLyXFiles::updateContents()
} }
} else { } else {
subcatItem->setText(0, subcat); subcatItem->setText(0, subcat);
subcatItem->setIcon(0, file_icon);
cats << catsave; cats << catsave;
} }
subcatItem->addChild(item); subcatItem->addChild(item);