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