diff --git a/app/Icons.h b/app/Icons.h index 588eec5..f0bd0d2 100644 --- a/app/Icons.h +++ b/app/Icons.h @@ -306,6 +306,124 @@ namespace gLabels } }; + + /* + * Fallback Icons. These are fallbacks for icons that would normally come from the current theme, + * if supported. These icons are copied from the mate-icon-theme (GPL-v3 or CC-BY-SA-v3). + */ + namespace Fallback + { + + class EditCopy : public QIcon + { + public: + EditCopy() + { + addFile( ":icons/24x24/actions/fallback-edit-copy.png" ); + } + }; + + class EditCut : public QIcon + { + public: + EditCut() + { + addFile( ":icons/24x24/actions/fallback-edit-cut.png" ); + } + }; + + class EditPaste : public QIcon + { + public: + EditPaste() + { + addFile( ":icons/24x24/actions/fallback-edit-paste.png" ); + } + }; + + class FileNew : public QIcon + { + public: + FileNew() + { + addFile( ":icons/24x24/actions/fallback-file-new.png" ); + } + }; + + class FileOpen : public QIcon + { + public: + FileOpen() + { + addFile( ":icons/24x24/actions/fallback-file-open.png" ); + } + }; + + class FilePrint : public QIcon + { + public: + FilePrint() + { + addFile( ":icons/24x24/actions/fallback-file-print.png" ); + } + }; + + class FileSave : public QIcon + { + public: + FileSave() + { + addFile( ":icons/24x24/actions/fallback-file-save.png" ); + } + }; + + class FileSaveAs : public QIcon + { + public: + FileSaveAs() + { + addFile( ":icons/24x24/actions/fallback-file-save-as.png" ); + } + }; + + class ZoomBestFit : public QIcon + { + public: + ZoomBestFit() + { + addFile( ":icons/24x24/actions/fallback-zoom-best-fit.png" ); + } + }; + + class ZoomIn : public QIcon + { + public: + ZoomIn() + { + addFile( ":icons/24x24/actions/fallback-zoom-in.png" ); + } + }; + + class ZoomOriginal : public QIcon + { + public: + ZoomOriginal() + { + addFile( ":icons/24x24/actions/fallback-zoom-original.png" ); + } + }; + + class ZoomOut : public QIcon + { + public: + ZoomOut() + { + addFile( ":icons/24x24/actions/fallback-zoom-out.png" ); + } + }; + + } + } } diff --git a/app/MainWindow.cpp b/app/MainWindow.cpp index 256121a..99930eb 100644 --- a/app/MainWindow.cpp +++ b/app/MainWindow.cpp @@ -62,31 +62,31 @@ namespace gLabels { /* File actions */ fileNewAction = new QAction( tr("&New..."), this ); - fileNewAction->setIcon( QIcon::fromTheme( "document-new" ) ); + fileNewAction->setIcon( QIcon::fromTheme( "document-new", Icons::Fallback::FileNew() ) ); fileNewAction->setShortcut( QKeySequence::New ); fileNewAction->setStatusTip( tr("Create a new file") ); connect( fileNewAction, SIGNAL(triggered()), this, SLOT(fileNew()) ); fileOpenAction = new QAction( tr("&Open..."), this ); - fileOpenAction->setIcon( QIcon::fromTheme( "document-open" ) ); + fileOpenAction->setIcon( QIcon::fromTheme( "document-open", Icons::Fallback::FileOpen() ) ); fileOpenAction->setShortcut( QKeySequence::Open ); fileOpenAction->setStatusTip( tr("Open a file") ); connect( fileOpenAction, SIGNAL(triggered()), this, SLOT(fileOpen()) ); fileSaveAction = new QAction( tr("&Save"), this ); - fileSaveAction->setIcon( QIcon::fromTheme( "document-save" ) ); + fileSaveAction->setIcon( QIcon::fromTheme( "document-save", Icons::Fallback::FileSave() ) ); fileSaveAction->setShortcut( QKeySequence::Save ); fileSaveAction->setStatusTip( tr("Save current file") ); connect( fileSaveAction, SIGNAL(triggered()), this, SLOT(fileSave()) ); fileSaveAsAction = new QAction( tr("Save &As..."), this ); - fileSaveAsAction->setIcon( QIcon::fromTheme( "document-save-as" ) ); + fileSaveAsAction->setIcon( QIcon::fromTheme( "document-save-as", Icons::Fallback::FileSaveAs() ) ); fileSaveAsAction->setShortcut( QKeySequence::SaveAs ); fileSaveAsAction->setStatusTip( tr("Save current file to a different name") ); connect( fileSaveAsAction, SIGNAL(triggered()), this, SLOT(fileSaveAs()) ); filePrintAction = new QAction( tr("&Print..."), this ); - filePrintAction->setIcon( QIcon::fromTheme( "document-print" ) ); + filePrintAction->setIcon( QIcon::fromTheme( "document-print", Icons::Fallback::FilePrint() ) ); filePrintAction->setShortcut( QKeySequence::Print ); filePrintAction->setStatusTip( tr("Print the current file") ); connect( filePrintAction, SIGNAL(triggered()), this, SLOT(filePrint()) ); @@ -127,19 +127,19 @@ namespace gLabels connect( editRedoAction, SIGNAL(triggered()), this, SLOT(editRedo()) ); editCutAction = new QAction( tr("Cut"), this ); - editCutAction->setIcon( QIcon::fromTheme( "edit-cut" ) ); + editCutAction->setIcon( QIcon::fromTheme( "edit-cut", Icons::Fallback::EditCut() ) ); editCutAction->setShortcut( QKeySequence::Cut ); editCutAction->setStatusTip( tr("Cut the selection") ); connect( editCutAction, SIGNAL(triggered()), this, SLOT(editCut()) ); editCopyAction = new QAction( tr("&Copy"), this ); - editCopyAction->setIcon( QIcon::fromTheme( "edit-copy" ) ); + editCopyAction->setIcon( QIcon::fromTheme( "edit-copy", Icons::Fallback::EditCopy() ) ); editCopyAction->setShortcut( QKeySequence::Copy ); editCopyAction->setStatusTip( tr("Copy the selection") ); connect( editCopyAction, SIGNAL(triggered()), this, SLOT(editCopy()) ); editPasteAction = new QAction( tr("&Paste"), this ); - editPasteAction->setIcon( QIcon::fromTheme( "edit-paste" ) ); + editPasteAction->setIcon( QIcon::fromTheme( "edit-paste", Icons::Fallback::EditPaste() ) ); editPasteAction->setShortcut( QKeySequence::Paste ); editPasteAction->setStatusTip( tr("Paste the clipboard") ); connect( editPasteAction, SIGNAL(triggered()), this, SLOT(editPaste()) ); @@ -200,24 +200,24 @@ namespace gLabels connect( viewMarkupAction, SIGNAL(triggered()), this, SLOT(viewMarkup()) ); viewZoomInAction = new QAction( tr("Zoom &In"), this ); - viewZoomInAction->setIcon( QIcon::fromTheme( "zoom-in" ) ); + viewZoomInAction->setIcon( QIcon::fromTheme( "zoom-in", Icons::Fallback::ZoomIn() ) ); viewZoomInAction->setShortcut( QKeySequence::ZoomIn ); viewZoomInAction->setStatusTip( tr("Increase magnification") ); connect( viewZoomInAction, SIGNAL(triggered()), this, SLOT(viewZoomIn()) ); viewZoomOutAction = new QAction( tr("Zoom &Out"), this ); - viewZoomOutAction->setIcon( QIcon::fromTheme( "zoom-out" ) ); + viewZoomOutAction->setIcon( QIcon::fromTheme( "zoom-out", Icons::Fallback::ZoomOut() ) ); viewZoomOutAction->setShortcut( QKeySequence::ZoomOut ); viewZoomOutAction->setStatusTip( tr("Decrease magnification") ); connect( viewZoomOutAction, SIGNAL(triggered()), this, SLOT(viewZoomOut()) ); viewZoom1to1Action = new QAction( tr("Zoom &1 to 1"), this ); - viewZoom1to1Action->setIcon( QIcon::fromTheme( "zoom-original" ) ); + viewZoom1to1Action->setIcon( QIcon::fromTheme( "zoom-original", Icons::Fallback::ZoomOriginal() ) ); viewZoom1to1Action->setStatusTip( tr("Restore scale to 100%") ); connect( viewZoom1to1Action, SIGNAL(triggered()), this, SLOT(viewZoom1to1()) ); viewZoomToFitAction = new QAction( tr("Zoom to &Fit"), this ); - viewZoomToFitAction->setIcon( QIcon::fromTheme( "zoom-fit-best" ) ); + viewZoomToFitAction->setIcon( QIcon::fromTheme( "zoom-fit-best", Icons::Fallback::ZoomBestFit() ) ); viewZoomToFitAction->setStatusTip( tr("Set scale to fit window") ); connect( viewZoomToFitAction, SIGNAL(triggered()), this, SLOT(viewZoomToFit()) ); diff --git a/app/icons.qrc b/app/icons.qrc index 5ce1660..bf9b5ed 100644 --- a/app/icons.qrc +++ b/app/icons.qrc @@ -42,6 +42,18 @@ icons/24x24/actions/glabels-object-properties.png icons/24x24/actions/glabels-pencil.png icons/24x24/actions/glabels-text.png + icons/24x24/actions/fallback-edit-copy.png + icons/24x24/actions/fallback-edit-cut.png + icons/24x24/actions/fallback-edit-paste.png + icons/24x24/actions/fallback-file-new.png + icons/24x24/actions/fallback-file-open.png + icons/24x24/actions/fallback-file-print.png + icons/24x24/actions/fallback-file-save-as.png + icons/24x24/actions/fallback-file-save.png + icons/24x24/actions/fallback-zoom-best-fit.png + icons/24x24/actions/fallback-zoom-in.png + icons/24x24/actions/fallback-zoom-original.png + icons/24x24/actions/fallback-zoom-out.png icons/24x24/apps/glabels.png icons/32x32/apps/glabels.png icons/48x48/apps/glabels.png diff --git a/app/icons/24x24/actions/fallback-edit-copy.png b/app/icons/24x24/actions/fallback-edit-copy.png new file mode 100644 index 0000000..1075bfe Binary files /dev/null and b/app/icons/24x24/actions/fallback-edit-copy.png differ diff --git a/app/icons/24x24/actions/fallback-edit-cut.png b/app/icons/24x24/actions/fallback-edit-cut.png new file mode 100644 index 0000000..406636a Binary files /dev/null and b/app/icons/24x24/actions/fallback-edit-cut.png differ diff --git a/app/icons/24x24/actions/fallback-edit-paste.png b/app/icons/24x24/actions/fallback-edit-paste.png new file mode 100644 index 0000000..910861c Binary files /dev/null and b/app/icons/24x24/actions/fallback-edit-paste.png differ diff --git a/app/icons/24x24/actions/fallback-file-new.png b/app/icons/24x24/actions/fallback-file-new.png new file mode 100644 index 0000000..85651cb Binary files /dev/null and b/app/icons/24x24/actions/fallback-file-new.png differ diff --git a/app/icons/24x24/actions/fallback-file-open.png b/app/icons/24x24/actions/fallback-file-open.png new file mode 100644 index 0000000..53c5ee8 Binary files /dev/null and b/app/icons/24x24/actions/fallback-file-open.png differ diff --git a/app/icons/24x24/actions/fallback-file-print.png b/app/icons/24x24/actions/fallback-file-print.png new file mode 100644 index 0000000..eb47921 Binary files /dev/null and b/app/icons/24x24/actions/fallback-file-print.png differ diff --git a/app/icons/24x24/actions/fallback-file-save-as.png b/app/icons/24x24/actions/fallback-file-save-as.png new file mode 100644 index 0000000..e2f6b72 Binary files /dev/null and b/app/icons/24x24/actions/fallback-file-save-as.png differ diff --git a/app/icons/24x24/actions/fallback-file-save.png b/app/icons/24x24/actions/fallback-file-save.png new file mode 100644 index 0000000..1d5a858 Binary files /dev/null and b/app/icons/24x24/actions/fallback-file-save.png differ diff --git a/app/icons/24x24/actions/fallback-zoom-best-fit.png b/app/icons/24x24/actions/fallback-zoom-best-fit.png new file mode 100644 index 0000000..6bb5257 Binary files /dev/null and b/app/icons/24x24/actions/fallback-zoom-best-fit.png differ diff --git a/app/icons/24x24/actions/fallback-zoom-in.png b/app/icons/24x24/actions/fallback-zoom-in.png new file mode 100644 index 0000000..18bc5f4 Binary files /dev/null and b/app/icons/24x24/actions/fallback-zoom-in.png differ diff --git a/app/icons/24x24/actions/fallback-zoom-original.png b/app/icons/24x24/actions/fallback-zoom-original.png new file mode 100644 index 0000000..9761f7a Binary files /dev/null and b/app/icons/24x24/actions/fallback-zoom-original.png differ diff --git a/app/icons/24x24/actions/fallback-zoom-out.png b/app/icons/24x24/actions/fallback-zoom-out.png new file mode 100644 index 0000000..bcd3599 Binary files /dev/null and b/app/icons/24x24/actions/fallback-zoom-out.png differ