diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 726f178..776ebdf 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -22,6 +22,7 @@ set (glabels_qobject_headers ) set (glabels_resource_files + icons.qrc images.qrc ) diff --git a/app/Icons.h b/app/Icons.h new file mode 100644 index 0000000..a14d0fe --- /dev/null +++ b/app/Icons.h @@ -0,0 +1,46 @@ +/* Icons.h + * + * Copyright (C) 2013 Jim Evins + * + * This file is part of gLabels-qt. + * + * gLabels-qt is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * gLabels-qt is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with gLabels-qt. If not, see . + */ + +#ifndef glabels_Icons_h +#define glabels_Icons_h + +#include + + +namespace gLabels +{ + + namespace Icons + { + + class Arrow : public QIcon + { + public: + Arrow() + { + addFile( ":icons/16x16/actions/glabels-arrow.png" ); + addFile( ":icons/24x24/actions/glabels-arrow.png" ); + } + }; + + } +} + +#endif // glabels_Icons_h diff --git a/app/MainWindow.cpp b/app/MainWindow.cpp index eb90554..9e73eaa 100644 --- a/app/MainWindow.cpp +++ b/app/MainWindow.cpp @@ -25,6 +25,8 @@ #include +#include "Icons.h" + namespace gLabels { @@ -157,6 +159,26 @@ namespace gLabels /* View actions */ + viewMainToolbarAction = new QAction( tr("Main Toolbar"), this ); + viewMainToolbarAction->setCheckable( true ); + viewMainToolbarAction->setStatusTip( tr("Change visibility of main toolbar in current window") ); + connect( viewMainToolbarAction, SIGNAL(triggered()), this, SLOT(viewMainToolbar()) ); + + viewDrawingToolbarAction = new QAction( tr("Drawing Toolbar"), this ); + viewDrawingToolbarAction->setCheckable( true ); + viewDrawingToolbarAction->setStatusTip( tr("Change visibility of drawing toolbar in current window") ); + connect( viewDrawingToolbarAction, SIGNAL(triggered()), this, SLOT(viewDrawingToolbar()) ); + + viewGridAction = new QAction( tr("Grid"), this ); + viewGridAction->setCheckable( true ); + viewGridAction->setStatusTip( tr("Change visibility of the grid in current window") ); + connect( viewGridAction, SIGNAL(triggered()), this, SLOT(viewGrid()) ); + + viewMarkupAction = new QAction( tr("Markup"), this ); + viewMarkupAction->setCheckable( true ); + viewMarkupAction->setStatusTip( tr("Change visibility of markup lines in current window") ); + connect( viewMarkupAction, SIGNAL(triggered()), this, SLOT(viewMarkup()) ); + viewZoomInAction = new QAction( tr("Zoom &In"), this ); viewZoomInAction->setIcon( QIcon::fromTheme( "zoom-in" ) ); viewZoomInAction->setShortcut( QKeySequence::ZoomIn ); @@ -180,6 +202,13 @@ namespace gLabels connect( viewZoomToFitAction, SIGNAL(triggered()), this, SLOT(viewZoomToFit()) ); + /* Object actions */ + objectsArrowModeAction = new QAction( tr("Select Mode"), this ); + objectsArrowModeAction->setIcon( Icons::Arrow() ); + objectsArrowModeAction->setStatusTip( tr("Select, move and modify objects") ); + connect( objectsArrowModeAction, SIGNAL(triggered()), this, SLOT(objectsArrowMode()) ); + + /* Help actions */ helpAboutAction = new QAction( tr("&About..."), this ); helpAboutAction->setIcon( QIcon::fromTheme( "help-about" ) ); @@ -219,11 +248,20 @@ namespace gLabels editMenu->addAction( editPreferencesAction ); viewMenu = menuBar()->addMenu( tr("&View") ); + viewMenu->addAction( viewMainToolbarAction ); + viewMenu->addAction( viewDrawingToolbarAction ); + viewMenu->addSeparator(); + viewMenu->addAction( viewGridAction ); + viewMenu->addAction( viewMarkupAction ); + viewMenu->addSeparator(); viewMenu->addAction( viewZoomInAction ); viewMenu->addAction( viewZoomOutAction ); viewMenu->addAction( viewZoom1to1Action ); viewMenu->addAction( viewZoomToFitAction ); + objectsMenu = menuBar()->addMenu( tr("&Objects") ); + objectsMenu->addAction( objectsArrowModeAction ); + helpMenu = menuBar()->addMenu( tr("&Help") ); helpMenu->addAction( helpAboutAction ); } @@ -337,6 +375,30 @@ namespace gLabels } + void MainWindow::viewMainToolbar() + { + std::cout << "ACTION: edit->Main Toolbar" << std::endl; + } + + + void MainWindow::viewDrawingToolbar() + { + std::cout << "ACTION: edit->Drawing Toolbar" << std::endl; + } + + + void MainWindow::viewGrid() + { + std::cout << "ACTION: edit->Grid" << std::endl; + } + + + void MainWindow::viewMarkup() + { + std::cout << "ACTION: edit->Markup" << std::endl; + } + + void MainWindow::viewZoomIn() { std::cout << "ACTION: edit->Zoom in" << std::endl; @@ -361,6 +423,12 @@ namespace gLabels } + void MainWindow::objectsArrowMode() + { + std::cout << "ACTION: objects->Select Mode" << std::endl; + } + + void MainWindow::helpAbout() { QMessageBox aboutBox( QMessageBox::NoIcon, diff --git a/app/MainWindow.h b/app/MainWindow.h index c4fc2ff..c51e266 100644 --- a/app/MainWindow.h +++ b/app/MainWindow.h @@ -64,11 +64,17 @@ namespace gLabels void editUnSelectAll(); void editPreferences(); + void viewMainToolbar(); + void viewDrawingToolbar(); + void viewGrid(); + void viewMarkup(); void viewZoomIn(); void viewZoomOut(); void viewZoom1to1(); void viewZoomToFit(); + void objectsArrowMode(); + void helpAbout(); @@ -79,6 +85,7 @@ namespace gLabels QMenu *fileMenu; QMenu *editMenu; QMenu *viewMenu; + QMenu *objectsMenu; QMenu *helpMenu; QAction *fileNewAction; @@ -101,11 +108,17 @@ namespace gLabels QAction *editUnSelectAllAction; QAction *editPreferencesAction; + QAction *viewMainToolbarAction; + QAction *viewDrawingToolbarAction; + QAction *viewGridAction; + QAction *viewMarkupAction; QAction *viewZoomInAction; QAction *viewZoomOutAction; QAction *viewZoom1to1Action; QAction *viewZoomToFitAction; + QAction *objectsArrowModeAction; + QAction *helpAboutAction; }; diff --git a/app/icons.qrc b/app/icons.qrc new file mode 100644 index 0000000..fbdc52d --- /dev/null +++ b/app/icons.qrc @@ -0,0 +1,54 @@ + + + + + icons/16x16/actions/glabels-align-bottom.png + icons/16x16/actions/glabels-align-hcenter.png + icons/16x16/actions/glabels-align-left.png + icons/16x16/actions/glabels-align-right.png + icons/16x16/actions/glabels-align-top.png + icons/16x16/actions/glabels-align-vcenter.png + icons/16x16/actions/glabels-arrow.png + icons/16x16/actions/glabels-barcode.png + icons/16x16/actions/glabels-box.png + icons/16x16/actions/glabels-bucket-fill.png + icons/16x16/actions/glabels-center-horiz.png + icons/16x16/actions/glabels-center-vert.png + icons/16x16/actions/glabels-ellipse.png + icons/16x16/actions/glabels-flip-horiz.png + icons/16x16/actions/glabels-flip-vert.png + icons/16x16/actions/glabels-image.png + icons/16x16/actions/glabels-line.png + icons/16x16/actions/glabels-merge.png + icons/16x16/actions/glabels-object-properties.png + icons/16x16/actions/glabels-order-bottom.png + icons/16x16/actions/glabels-order-top.png + icons/16x16/actions/glabels-pencil.png + icons/16x16/actions/glabels-rotate-left.png + icons/16x16/actions/glabels-rotate-right.png + icons/16x16/actions/glabels-text.png + icons/16x16/apps/glabels.png + icons/24x24/actions/glabels-align-text-bottom.png + icons/24x24/actions/glabels-align-text-middle.png + icons/24x24/actions/glabels-align-text-top.png + icons/24x24/actions/glabels-arrow.png + icons/24x24/actions/glabels-barcode.png + icons/24x24/actions/glabels-box.png + icons/24x24/actions/glabels-bucket-fill.png + icons/24x24/actions/glabels-ellipse.png + icons/24x24/actions/glabels-hchain-broken.png + icons/24x24/actions/glabels-hchain.png + icons/24x24/actions/glabels-image.png + icons/24x24/actions/glabels-line.png + icons/24x24/actions/glabels-merge.png + icons/24x24/actions/glabels-object-properties.png + icons/24x24/actions/glabels-pencil.png + icons/24x24/actions/glabels-text.png + icons/24x24/actions/glabels-vchain-broken.png + icons/24x24/actions/glabels-vchain.png + icons/24x24/apps/glabels.png + icons/32x32/apps/glabels.png + icons/48x48/apps/glabels.png + icons/scalable/apps/glabels.svg + + diff --git a/app/icons/16x16/actions/glabels-align-bottom.png b/app/icons/16x16/actions/glabels-align-bottom.png new file mode 100644 index 0000000..da901bc Binary files /dev/null and b/app/icons/16x16/actions/glabels-align-bottom.png differ diff --git a/app/icons/16x16/actions/glabels-align-hcenter.png b/app/icons/16x16/actions/glabels-align-hcenter.png new file mode 100644 index 0000000..684c125 Binary files /dev/null and b/app/icons/16x16/actions/glabels-align-hcenter.png differ diff --git a/app/icons/16x16/actions/glabels-align-left.png b/app/icons/16x16/actions/glabels-align-left.png new file mode 100644 index 0000000..1cdcf9b Binary files /dev/null and b/app/icons/16x16/actions/glabels-align-left.png differ diff --git a/app/icons/16x16/actions/glabels-align-right.png b/app/icons/16x16/actions/glabels-align-right.png new file mode 100644 index 0000000..2b4872b Binary files /dev/null and b/app/icons/16x16/actions/glabels-align-right.png differ diff --git a/app/icons/16x16/actions/glabels-align-top.png b/app/icons/16x16/actions/glabels-align-top.png new file mode 100644 index 0000000..5bda931 Binary files /dev/null and b/app/icons/16x16/actions/glabels-align-top.png differ diff --git a/app/icons/16x16/actions/glabels-align-vcenter.png b/app/icons/16x16/actions/glabels-align-vcenter.png new file mode 100644 index 0000000..a51293f Binary files /dev/null and b/app/icons/16x16/actions/glabels-align-vcenter.png differ diff --git a/app/icons/16x16/actions/glabels-arrow.png b/app/icons/16x16/actions/glabels-arrow.png new file mode 100644 index 0000000..0ae5f36 Binary files /dev/null and b/app/icons/16x16/actions/glabels-arrow.png differ diff --git a/app/icons/16x16/actions/glabels-barcode.png b/app/icons/16x16/actions/glabels-barcode.png new file mode 100644 index 0000000..6e0e289 Binary files /dev/null and b/app/icons/16x16/actions/glabels-barcode.png differ diff --git a/app/icons/16x16/actions/glabels-box.png b/app/icons/16x16/actions/glabels-box.png new file mode 100644 index 0000000..c141c9d Binary files /dev/null and b/app/icons/16x16/actions/glabels-box.png differ diff --git a/app/icons/16x16/actions/glabels-bucket-fill.png b/app/icons/16x16/actions/glabels-bucket-fill.png new file mode 100644 index 0000000..2be70de Binary files /dev/null and b/app/icons/16x16/actions/glabels-bucket-fill.png differ diff --git a/app/icons/16x16/actions/glabels-center-horiz.png b/app/icons/16x16/actions/glabels-center-horiz.png new file mode 100644 index 0000000..fce3e90 Binary files /dev/null and b/app/icons/16x16/actions/glabels-center-horiz.png differ diff --git a/app/icons/16x16/actions/glabels-center-vert.png b/app/icons/16x16/actions/glabels-center-vert.png new file mode 100644 index 0000000..08b19af Binary files /dev/null and b/app/icons/16x16/actions/glabels-center-vert.png differ diff --git a/app/icons/16x16/actions/glabels-ellipse.png b/app/icons/16x16/actions/glabels-ellipse.png new file mode 100644 index 0000000..9652562 Binary files /dev/null and b/app/icons/16x16/actions/glabels-ellipse.png differ diff --git a/app/icons/16x16/actions/glabels-flip-horiz.png b/app/icons/16x16/actions/glabels-flip-horiz.png new file mode 100644 index 0000000..e477068 Binary files /dev/null and b/app/icons/16x16/actions/glabels-flip-horiz.png differ diff --git a/app/icons/16x16/actions/glabels-flip-vert.png b/app/icons/16x16/actions/glabels-flip-vert.png new file mode 100644 index 0000000..93027c9 Binary files /dev/null and b/app/icons/16x16/actions/glabels-flip-vert.png differ diff --git a/app/icons/16x16/actions/glabels-image.png b/app/icons/16x16/actions/glabels-image.png new file mode 100644 index 0000000..ee9ed3d Binary files /dev/null and b/app/icons/16x16/actions/glabels-image.png differ diff --git a/app/icons/16x16/actions/glabels-line.png b/app/icons/16x16/actions/glabels-line.png new file mode 100644 index 0000000..cf0e040 Binary files /dev/null and b/app/icons/16x16/actions/glabels-line.png differ diff --git a/app/icons/16x16/actions/glabels-merge.png b/app/icons/16x16/actions/glabels-merge.png new file mode 100644 index 0000000..2a3bfe8 Binary files /dev/null and b/app/icons/16x16/actions/glabels-merge.png differ diff --git a/app/icons/16x16/actions/glabels-object-properties.png b/app/icons/16x16/actions/glabels-object-properties.png new file mode 100644 index 0000000..ab42b19 Binary files /dev/null and b/app/icons/16x16/actions/glabels-object-properties.png differ diff --git a/app/icons/16x16/actions/glabels-order-bottom.png b/app/icons/16x16/actions/glabels-order-bottom.png new file mode 100644 index 0000000..f6ed2d0 Binary files /dev/null and b/app/icons/16x16/actions/glabels-order-bottom.png differ diff --git a/app/icons/16x16/actions/glabels-order-top.png b/app/icons/16x16/actions/glabels-order-top.png new file mode 100644 index 0000000..0884bc1 Binary files /dev/null and b/app/icons/16x16/actions/glabels-order-top.png differ diff --git a/app/icons/16x16/actions/glabels-pencil.png b/app/icons/16x16/actions/glabels-pencil.png new file mode 100644 index 0000000..83a1493 Binary files /dev/null and b/app/icons/16x16/actions/glabels-pencil.png differ diff --git a/app/icons/16x16/actions/glabels-rotate-left.png b/app/icons/16x16/actions/glabels-rotate-left.png new file mode 100644 index 0000000..157884e Binary files /dev/null and b/app/icons/16x16/actions/glabels-rotate-left.png differ diff --git a/app/icons/16x16/actions/glabels-rotate-right.png b/app/icons/16x16/actions/glabels-rotate-right.png new file mode 100644 index 0000000..cc5dc49 Binary files /dev/null and b/app/icons/16x16/actions/glabels-rotate-right.png differ diff --git a/app/icons/16x16/actions/glabels-text.png b/app/icons/16x16/actions/glabels-text.png new file mode 100644 index 0000000..c539bf1 Binary files /dev/null and b/app/icons/16x16/actions/glabels-text.png differ diff --git a/app/icons/16x16/apps/glabels.png b/app/icons/16x16/apps/glabels.png new file mode 100644 index 0000000..3c6abd8 Binary files /dev/null and b/app/icons/16x16/apps/glabels.png differ diff --git a/app/icons/24x24/actions/glabels-align-text-bottom.png b/app/icons/24x24/actions/glabels-align-text-bottom.png new file mode 100644 index 0000000..5dbc037 Binary files /dev/null and b/app/icons/24x24/actions/glabels-align-text-bottom.png differ diff --git a/app/icons/24x24/actions/glabels-align-text-middle.png b/app/icons/24x24/actions/glabels-align-text-middle.png new file mode 100644 index 0000000..33220ca Binary files /dev/null and b/app/icons/24x24/actions/glabels-align-text-middle.png differ diff --git a/app/icons/24x24/actions/glabels-align-text-top.png b/app/icons/24x24/actions/glabels-align-text-top.png new file mode 100644 index 0000000..2ece60d Binary files /dev/null and b/app/icons/24x24/actions/glabels-align-text-top.png differ diff --git a/app/icons/24x24/actions/glabels-arrow.png b/app/icons/24x24/actions/glabels-arrow.png new file mode 100644 index 0000000..6e0e26a Binary files /dev/null and b/app/icons/24x24/actions/glabels-arrow.png differ diff --git a/app/icons/24x24/actions/glabels-barcode.png b/app/icons/24x24/actions/glabels-barcode.png new file mode 100644 index 0000000..9699c8d Binary files /dev/null and b/app/icons/24x24/actions/glabels-barcode.png differ diff --git a/app/icons/24x24/actions/glabels-box.png b/app/icons/24x24/actions/glabels-box.png new file mode 100644 index 0000000..9f8e06f Binary files /dev/null and b/app/icons/24x24/actions/glabels-box.png differ diff --git a/app/icons/24x24/actions/glabels-bucket-fill.png b/app/icons/24x24/actions/glabels-bucket-fill.png new file mode 100644 index 0000000..1ee5993 Binary files /dev/null and b/app/icons/24x24/actions/glabels-bucket-fill.png differ diff --git a/app/icons/24x24/actions/glabels-ellipse.png b/app/icons/24x24/actions/glabels-ellipse.png new file mode 100644 index 0000000..12f0468 Binary files /dev/null and b/app/icons/24x24/actions/glabels-ellipse.png differ diff --git a/app/icons/24x24/actions/glabels-hchain-broken.png b/app/icons/24x24/actions/glabels-hchain-broken.png new file mode 100644 index 0000000..2e961a3 Binary files /dev/null and b/app/icons/24x24/actions/glabels-hchain-broken.png differ diff --git a/app/icons/24x24/actions/glabels-hchain.png b/app/icons/24x24/actions/glabels-hchain.png new file mode 100644 index 0000000..5bc2eed Binary files /dev/null and b/app/icons/24x24/actions/glabels-hchain.png differ diff --git a/app/icons/24x24/actions/glabels-image.png b/app/icons/24x24/actions/glabels-image.png new file mode 100644 index 0000000..093c8ad Binary files /dev/null and b/app/icons/24x24/actions/glabels-image.png differ diff --git a/app/icons/24x24/actions/glabels-line.png b/app/icons/24x24/actions/glabels-line.png new file mode 100644 index 0000000..7bb6523 Binary files /dev/null and b/app/icons/24x24/actions/glabels-line.png differ diff --git a/app/icons/24x24/actions/glabels-merge.png b/app/icons/24x24/actions/glabels-merge.png new file mode 100644 index 0000000..af61200 Binary files /dev/null and b/app/icons/24x24/actions/glabels-merge.png differ diff --git a/app/icons/24x24/actions/glabels-object-properties.png b/app/icons/24x24/actions/glabels-object-properties.png new file mode 100644 index 0000000..f592606 Binary files /dev/null and b/app/icons/24x24/actions/glabels-object-properties.png differ diff --git a/app/icons/24x24/actions/glabels-pencil.png b/app/icons/24x24/actions/glabels-pencil.png new file mode 100644 index 0000000..a36ce93 Binary files /dev/null and b/app/icons/24x24/actions/glabels-pencil.png differ diff --git a/app/icons/24x24/actions/glabels-text.png b/app/icons/24x24/actions/glabels-text.png new file mode 100644 index 0000000..b9e5511 Binary files /dev/null and b/app/icons/24x24/actions/glabels-text.png differ diff --git a/app/icons/24x24/actions/glabels-vchain-broken.png b/app/icons/24x24/actions/glabels-vchain-broken.png new file mode 100644 index 0000000..8ef1363 Binary files /dev/null and b/app/icons/24x24/actions/glabels-vchain-broken.png differ diff --git a/app/icons/24x24/actions/glabels-vchain.png b/app/icons/24x24/actions/glabels-vchain.png new file mode 100644 index 0000000..7dc2031 Binary files /dev/null and b/app/icons/24x24/actions/glabels-vchain.png differ diff --git a/app/icons/24x24/apps/glabels.png b/app/icons/24x24/apps/glabels.png new file mode 100644 index 0000000..3add4f6 Binary files /dev/null and b/app/icons/24x24/apps/glabels.png differ diff --git a/app/icons/32x32/apps/glabels.png b/app/icons/32x32/apps/glabels.png new file mode 100644 index 0000000..9c69e2c Binary files /dev/null and b/app/icons/32x32/apps/glabels.png differ diff --git a/app/icons/48x48/apps/glabels.png b/app/icons/48x48/apps/glabels.png new file mode 100644 index 0000000..9058e05 Binary files /dev/null and b/app/icons/48x48/apps/glabels.png differ diff --git a/app/icons/scalable/apps/glabels.svg b/app/icons/scalable/apps/glabels.svg new file mode 100644 index 0000000..2671510 --- /dev/null +++ b/app/icons/scalable/apps/glabels.svg @@ -0,0 +1,755 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + text + plaintext + regular + document + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +