diff --git a/app/MainWindow.cpp b/app/MainWindow.cpp index 38a3753..97d752c 100644 --- a/app/MainWindow.cpp +++ b/app/MainWindow.cpp @@ -38,6 +38,7 @@ namespace gLabels createActions(); createMenus(); + createToolBars(); } @@ -159,15 +160,29 @@ 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()) ); + viewFileToolBarAction = new QAction( tr("File"), this ); + viewFileToolBarAction->setCheckable( true ); + viewFileToolBarAction->setChecked( true ); + viewFileToolBarAction->setStatusTip( tr("Change visibility of file toolbar in current window") ); + connect( viewFileToolBarAction, SIGNAL(triggered()), this, SLOT(viewFileToolBar()) ); - 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()) ); + viewObjectsToolBarAction = new QAction( tr("Objects"), this ); + viewObjectsToolBarAction->setCheckable( true ); + viewObjectsToolBarAction->setChecked( true ); + viewObjectsToolBarAction->setStatusTip( tr("Change visibility of objects toolbar in current window") ); + connect( viewObjectsToolBarAction, SIGNAL(triggered()), this, SLOT(viewObjectsToolBar()) ); + + viewEditToolBarAction = new QAction( tr("Edit"), this ); + viewEditToolBarAction->setCheckable( true ); + viewEditToolBarAction->setChecked( true ); + viewEditToolBarAction->setStatusTip( tr("Change visibility of edit toolbar in current window") ); + connect( viewEditToolBarAction, SIGNAL(triggered()), this, SLOT(viewEditToolBar()) ); + + viewViewToolBarAction = new QAction( tr("View"), this ); + viewViewToolBarAction->setCheckable( true ); + viewViewToolBarAction->setChecked( true ); + viewViewToolBarAction->setStatusTip( tr("Change visibility of view toolbar in current window") ); + connect( viewViewToolBarAction, SIGNAL(triggered()), this, SLOT(viewViewToolBar()) ); viewGridAction = new QAction( tr("Grid"), this ); viewGridAction->setCheckable( true ); @@ -359,8 +374,11 @@ namespace gLabels editMenu->addAction( editPreferencesAction ); viewMenu = menuBar()->addMenu( tr("&View") ); - viewMenu->addAction( viewMainToolbarAction ); - viewMenu->addAction( viewDrawingToolbarAction ); + viewToolBarsMenu = viewMenu->addMenu( tr("Toolbars") ); + viewToolBarsMenu->addAction( viewFileToolBarAction ); + viewToolBarsMenu->addAction( viewObjectsToolBarAction ); + viewToolBarsMenu->addAction( viewEditToolBarAction ); + viewToolBarsMenu->addAction( viewViewToolBarAction ); viewMenu->addSeparator(); viewMenu->addAction( viewGridAction ); viewMenu->addAction( viewMarkupAction ); @@ -408,6 +426,44 @@ namespace gLabels } + void MainWindow::createToolBars() + { + fileToolBar = addToolBar( tr("&File") ); + fileToolBar->addAction( fileNewAction ); + fileToolBar->addAction( fileOpenAction ); + fileToolBar->addAction( fileSaveAction ); + fileToolBar->addSeparator(); + fileToolBar->addAction( filePrintAction ); + /* TODO: restore visibility from saved state. */ + + objectsToolBar = addToolBar( tr("&Objects") ); + objectsToolBar->addAction( objectsArrowModeAction ); + objectsToolBar->addSeparator(); + objectsToolBar->addAction( objectsCreateTextAction ); + objectsToolBar->addAction( objectsCreateBoxAction ); + objectsToolBar->addAction( objectsCreateLineAction ); + objectsToolBar->addAction( objectsCreateEllipseAction ); + objectsToolBar->addAction( objectsCreateImageAction ); + objectsToolBar->addAction( objectsCreateBarcodeAction ); + objectsToolBar->addSeparator(); + objectsToolBar->addAction( objectsMergePropertiesAction ); + /* TODO: restore visibility from saved state. */ + + editToolBar = addToolBar( tr("&Edit") ); + editToolBar->addAction( editCutAction ); + editToolBar->addAction( editCopyAction ); + editToolBar->addAction( editPasteAction ); + /* TODO: restore visibility from saved state. */ + + viewToolBar = addToolBar( tr("&View") ); + viewToolBar->addAction( viewZoomInAction ); + viewToolBar->addAction( viewZoomOutAction ); + viewToolBar->addAction( viewZoom1to1Action ); + viewToolBar->addAction( viewZoomToFitAction ); + /* TODO: restore visibility from saved state. */ + } + + void MainWindow::fileNew() { std::cout << "ACTION: file->New" << std::endl; @@ -516,15 +572,31 @@ namespace gLabels } - void MainWindow::viewMainToolbar() + void MainWindow::viewFileToolBar() { - std::cout << "ACTION: edit->Main Toolbar" << std::endl; + fileToolBar->setVisible( viewFileToolBarAction->isChecked() ); + /* TODO: save state. */ } - void MainWindow::viewDrawingToolbar() + void MainWindow::viewObjectsToolBar() { - std::cout << "ACTION: edit->Drawing Toolbar" << std::endl; + objectsToolBar->setVisible( viewObjectsToolBarAction->isChecked() ); + /* TODO: save state. */ + } + + + void MainWindow::viewEditToolBar() + { + editToolBar->setVisible( viewEditToolBarAction->isChecked() ); + /* TODO: save state. */ + } + + + void MainWindow::viewViewToolBar() + { + viewToolBar->setVisible( viewViewToolBarAction->isChecked() ); + /* TODO: save state. */ } diff --git a/app/MainWindow.h b/app/MainWindow.h index 7dfd370..40e4805 100644 --- a/app/MainWindow.h +++ b/app/MainWindow.h @@ -26,6 +26,7 @@ #include #include #include +#include namespace gLabels @@ -64,8 +65,10 @@ namespace gLabels void editUnSelectAll(); void editPreferences(); - void viewMainToolbar(); - void viewDrawingToolbar(); + void viewFileToolBar(); + void viewObjectsToolBar(); + void viewEditToolBar(); + void viewViewToolBar(); void viewGrid(); void viewMarkup(); void viewZoomIn(); @@ -103,10 +106,12 @@ namespace gLabels private: void createActions(); void createMenus(); + void createToolBars(); QMenu *fileMenu; QMenu *editMenu; QMenu *viewMenu; + QMenu *viewToolBarsMenu; QMenu *objectsMenu; QMenu *objectsCreateMenu; QMenu *objectsOrderMenu; @@ -115,6 +120,11 @@ namespace gLabels QMenu *objectsCenterMenu; QMenu *helpMenu; + QToolBar *fileToolBar; + QToolBar *objectsToolBar; + QToolBar *editToolBar; + QToolBar *viewToolBar; + QAction *fileNewAction; QAction *fileOpenAction; QAction *fileSaveAction; @@ -135,8 +145,10 @@ namespace gLabels QAction *editUnSelectAllAction; QAction *editPreferencesAction; - QAction *viewMainToolbarAction; - QAction *viewDrawingToolbarAction; + QAction *viewFileToolBarAction; + QAction *viewObjectsToolBarAction; + QAction *viewEditToolBarAction; + QAction *viewViewToolBarAction; QAction *viewGridAction; QAction *viewMarkupAction; QAction *viewZoomInAction;