From 64c3d92705c3310b28cb47c71438f936289b1a48 Mon Sep 17 00:00:00 2001 From: baydam Date: Thu, 17 Mar 2016 13:59:22 +0000 Subject: [PATCH] Able to show or hide canvases zoom toolbars --- MainWindow.cpp | 41 +++++---------------------------------- MapperGLCanvasToolbar.cpp | 6 +++--- MapperGLCanvasToolbar.h | 6 +++--- 3 files changed, 11 insertions(+), 42 deletions(-) diff --git a/MainWindow.cpp b/MainWindow.cpp index 96e1715..114a73f 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -128,6 +128,9 @@ void MainWindow::handlePaintItemSelectionChanged() addMeshAction->setEnabled(paintItemSelected); addTriangleAction->setEnabled(paintItemSelected); addEllipseAction->setEnabled(paintItemSelected); + // Enable some menus and buttons + sourceCanvasToolbar->enableZoomToolBar(paintItemSelected); + sourceMenu->setEnabled(paintItemSelected); // Update canvases. updateCanvases(); @@ -135,18 +138,6 @@ void MainWindow::handlePaintItemSelectionChanged() void MainWindow::handleMappingItemSelectionChanged(const QModelIndex &index) { -// if (mappingList->selectedItems().empty()) -// { -// removeCurrentMapping(); -// /* Disable some menus and buttons when -// * no mapping was selected */ -// sourceCanvas->enableZoomToolBar(false); -// sourceMenu->setEnabled(false); -// destinationCanvas->enableZoomToolBar(false); -// destinationMenu->setEnabled(false); -// } -// else -// { // Set current paint and mappings. uid mappingId = mappingListModel->getItemId(index); Mapping::ptr mapping = mappingManager->getMappingById(mappingId); @@ -154,12 +145,6 @@ void MainWindow::handleMappingItemSelectionChanged(const QModelIndex &index) // Set current mapping and paint setCurrentMapping(mappingId); setCurrentPaint(paintId); - // Enable some menus and buttons - sourceCanvasToolbar->enableZoomToolBar(true); - sourceMenu->setEnabled(true); - destinationCanvasToolbar->enableZoomToolBar(true); - destinationMenu->setEnabled(true); -// } // Update canvases. updateCanvases(); @@ -179,18 +164,6 @@ void MainWindow::handleMappingItemChanged(const QModelIndex &index) mapping->setVisible(index.data(Qt::CheckStateRole).toBool()); mapping->setSolo(index.data(Qt::CheckStateRole+1).toBool()); mapping->setLocked(index.data(Qt::CheckStateRole+2).toBool()); - -/* - uid mappingId = mappingListModel->getItemId(index); - // Toggle visibility of mapping depending on checkbox of item. - setMappingVisible(mappingId, index.data(Qt::CheckStateRole).toBool()); - // Toggle mapping solo mode - setMappingSolo(mappingId, index.data(Qt::CheckStateRole + 1).toBool()); - // Toggle mapping lock state - setMappingLocked(mappingId, index.data(Qt::CheckStateRole + 2).toBool()); - // Set mapping name if changed - renameMapping(mappingId, index.data(Qt::EditRole).toString()); -*/ } void MainWindow::handleMappingIndexesMoved() @@ -1815,8 +1788,8 @@ void MainWindow::createActions() displayZoomToolAction->setChecked(true); displayZoomToolAction->setShortcutContext(Qt::ApplicationShortcut); addAction(displayZoomToolAction); - connect(displayZoomToolAction, SIGNAL(toggled(bool)), sourceCanvas, SLOT(showZoomToolBar(bool))); - connect(displayZoomToolAction, SIGNAL(toggled(bool)), destinationCanvas, SLOT(showZoomToolBar(bool))); + connect(displayZoomToolAction, SIGNAL(toggled(bool)), sourceCanvasToolbar, SLOT(showZoomToolBar(bool))); + connect(displayZoomToolAction, SIGNAL(toggled(bool)), destinationCanvasToolbar, SLOT(showZoomToolBar(bool))); // Toggle show/hide menuBar showMenuBarAction = new QAction(tr("&Menu Bar"), this); @@ -2708,10 +2681,6 @@ void MainWindow::updateCanvases() destinationCanvas->update(); outputWindow->getCanvas()->update(); -// // Update position of zoom toolbar -// sourceCanvasToolbar->updateZoomToolbar(); -// destinationCanvasToolbar->updateZoomToolbar(); - // Update statut bar updateStatusBar(); } diff --git a/MapperGLCanvasToolbar.cpp b/MapperGLCanvasToolbar.cpp index 11f3271..c12c9cc 100644 --- a/MapperGLCanvasToolbar.cpp +++ b/MapperGLCanvasToolbar.cpp @@ -106,7 +106,7 @@ void MapperGLCanvasToolbar::createZoomToolsLayout() // Insert layout in widget setLayout(buttonsLayout); - connect(_canvas, SIGNAL(zoomFactorChanged(qreal)), this, SLOT(updateDropdownMenu())); + connect(_canvas, SIGNAL(zoomFactorChanged(qreal)), this, SLOT(updateDropdownMenu(qreal))); } void MapperGLCanvasToolbar::showZoomToolBar(bool visible) @@ -127,10 +127,10 @@ void MapperGLCanvasToolbar::enableZoomToolBar(bool enabled) _dropdownMenu->setEnabled(enabled); } -void MapperGLCanvasToolbar::updateDropdownMenu() +void MapperGLCanvasToolbar::updateDropdownMenu(qreal factor) { // Get current zoom factor percentage - QString zoomFactor = QString::number(int(_canvas->getZoomFactor() * 100)).append(QChar('%')); + QString zoomFactor = QString::number(int(factor * 100)).append(QChar('%')); //Create list QStringList zoomFactorList; zoomFactorList << "400%" << "300%" << "200%" << "150%" << "125%" << diff --git a/MapperGLCanvasToolbar.h b/MapperGLCanvasToolbar.h index 61ba160..966ef26 100644 --- a/MapperGLCanvasToolbar.h +++ b/MapperGLCanvasToolbar.h @@ -34,13 +34,13 @@ public: // Create zoom tool buttons void createZoomToolsLayout(); - // Show/Hide zoom tool buttons - void showZoomToolBar(bool visible); void enableZoomToolBar(bool enabled); public slots: // Update and feedback zoom level - void updateDropdownMenu(); + void updateDropdownMenu(qreal factor = 1); + // Show/Hide zoom tool buttons + void showZoomToolBar(bool visible); protected: MapperGLCanvas* _canvas;