diff --git a/qelectrotech.qrc b/qelectrotech.qrc index 3b676cf72..ebf6f384a 100644 --- a/qelectrotech.qrc +++ b/qelectrotech.qrc @@ -163,11 +163,14 @@ ico/oxygen-icons/128x128/apps/qelectrotech.png ico/oxygen-icons/16x16/apps/qelectrotech.png ico/oxygen-icons/16x16/mimetypes/application-x-qet-element.png + ico/oxygen-icons/16x16/mimetypes/application-x-qet-project.png ico/oxygen-icons/22x22/apps/qelectrotech.png ico/oxygen-icons/22x22/mimetypes/application-x-qet-element.png + ico/oxygen-icons/22x22/mimetypes/application-x-qet-project.png ico/oxygen-icons/256x256/apps/qelectrotech.png ico/oxygen-icons/32x32/apps/qelectrotech.png ico/oxygen-icons/32x32/mimetypes/application-x-qet-element.png + ico/oxygen-icons/32x32/mimetypes/application-x-qet-project.png ico/oxygen-icons/48x48/apps/qelectrotech.png ico/oxygen-icons/64x64/apps/qelectrotech.png ico/splash.png diff --git a/sources/qetapp.cpp b/sources/qetapp.cpp index 37645c171..d4d0deee9 100644 --- a/sources/qetapp.cpp +++ b/sources/qetapp.cpp @@ -924,7 +924,9 @@ void QETApp::initConfiguration() { // fichiers recents // note : les icones doivent etre initialisees avant ces instructions (qui creent des menus en interne) projects_recent_files_ = new RecentFiles("projects"); + projects_recent_files_ -> setIconForFiles(QET::Icons::ProjectFile); elements_recent_files_ = new RecentFiles("elements"); + elements_recent_files_ -> setIconForFiles(QET::Icons::Element); } /** diff --git a/sources/qeticons.cpp b/sources/qeticons.cpp index 5194570c2..451c51d5d 100644 --- a/sources/qeticons.cpp +++ b/sources/qeticons.cpp @@ -111,6 +111,7 @@ namespace QET { QIcon PrintPortrait; QIcon PrintTwoPages; QIcon Project; + QIcon ProjectFile; QIcon QETIcon; QIcon QETLogo; QIcon QETOxygenLogo; @@ -272,6 +273,9 @@ void QET::Icons::initIcons() { PrintPortrait .addFile(":/ico/22x22/portrait.png"); PrintTwoPages .addFile(":/ico/22x22/two_pages.png"); Project .addFile(":/ico/16x16/project.png"); + ProjectFile .addFile(":/ico/oxygen-icons/16x16/mimetypes/application-x-qet-project.png"); + ProjectFile .addFile(":/ico/oxygen-icons/22x22/mimetypes/application-x-qet-project.png"); + ProjectFile .addFile(":/ico/oxygen-icons/32x32/mimetypes/application-x-qet-project.png"); QETIcon .addFile(":/ico/256x256/qelectrotech.png"); QETLogo .addFile(":/ico/16x16/qet.png"); QETLogo .addFile(":/ico/256x256/qet.png"); diff --git a/sources/qeticons.h b/sources/qeticons.h index 31df1fcbe..25a0a1490 100644 --- a/sources/qeticons.h +++ b/sources/qeticons.h @@ -121,6 +121,7 @@ namespace QET { extern QIcon PrintPortrait; extern QIcon PrintTwoPages; extern QIcon Project; + extern QIcon ProjectFile; extern QIcon QETIcon; extern QIcon QETLogo; extern QIcon QETOxygenLogo; diff --git a/sources/recentfiles.cpp b/sources/recentfiles.cpp index 77d01dd65..5de41ecbe 100644 --- a/sources/recentfiles.cpp +++ b/sources/recentfiles.cpp @@ -61,6 +61,24 @@ QMenu *RecentFiles::menu() const { return(menu_); } +/** + @return l'icone affichee a cote de chaque fichier, ou une QIcon nulle si + aucune icone n'est utilisee. +*/ +QIcon RecentFiles::iconForFiles() const { + return(files_icon_); +} + +/** + Definit l'icone a afficher a cote de chaque fichier. Si une QIcon nulle + est fournie, aucune icone n'est utilisee. + @param icon Icone a afficher a cote de chaque fichier +*/ +void RecentFiles::setIconForFiles(const QIcon &icon) { + files_icon_ = icon; + buildMenu(); +} + /** Oublie les fichiers recents */ @@ -151,6 +169,9 @@ void RecentFiles::buildMenu() { foreach (QString filepath, list_) { // creee une nouvelle action pour le fichier QAction *action = new QAction(filepath, 0); + if (!files_icon_.isNull()) { + action -> setIcon(files_icon_); + } menu_ -> addAction(action); // lie l'action et le mapper diff --git a/sources/recentfiles.h b/sources/recentfiles.h index e5ce85f14..b68680bc9 100644 --- a/sources/recentfiles.h +++ b/sources/recentfiles.h @@ -18,6 +18,7 @@ #ifndef RECENT_FILES_H #define RECENT_FILES_H #include +#include class QMenu; /** Cette classe permet de gerer des fichiers recents. @@ -36,6 +37,8 @@ class RecentFiles : public QObject { public: int size() const; QMenu *menu() const; + QIcon iconForFiles() const; + void setIconForFiles(const QIcon &); public slots: void clear(); @@ -61,5 +64,6 @@ class RecentFiles : public QObject { QList list_; QMenu *menu_; QSignalMapper *mapper_; + QIcon files_icon_; }; #endif