From 7c90a35131c658c246d251da4f3ebb65af6aa701 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 27 Jun 2011 10:26:25 +0200 Subject: [PATCH] QmlInspector: Get rid of explicit 'Design mode' button Instead let the user just select & deselect between the Zoom Tool, the Selection Tool and the Color Picker. Change-Id: Ieac0bc0381760237004599e59cafa43544fb03d4 Reviewed-on: http://codereview.qt.nokia.com/753 Reviewed-by: Qt Sanity Bot Reviewed-by: Christiaan Janssen --- .../qmljsinspector/images/inspectormode.png | Bin 1839 -> 0 bytes .../qmljsinspector/qmlinspectortoolbar.cpp | 109 ++++++++---------- .../qmljsinspector/qmlinspectortoolbar.h | 13 ++- src/plugins/qmljsinspector/qmljsinspector.qrc | 1 - .../qmljsinspector/qmljsinspectorconstants.h | 1 - 5 files changed, 52 insertions(+), 72 deletions(-) delete mode 100644 src/plugins/qmljsinspector/images/inspectormode.png diff --git a/src/plugins/qmljsinspector/images/inspectormode.png b/src/plugins/qmljsinspector/images/inspectormode.png deleted file mode 100644 index 9baa3dae220ab3e675a954e2b79ff546284cab80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1839 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFt5)Hi71Ki^|4CM&(%u=snM&*Enolv8~cia#N_PM z5{0DH^vpb4rT4q{D=B2A*eZpa`WpBaIHzW0dQ=sq23ProBv)l8Tc#-4+bP&oSXJZ} z^~=l4^~#O)@{7{-4J|D#L1q{k=@zA==@wV!l_XZ^<`pZ$OmImpPAmYxJh#Bt z7r&0&T)67ulAu(CsadopaH#0SNH8FK@Gc5UqaSW-r)e`LOBOEAV`+4D9qh!eiTUFOin;&{>QAF2_hGX%6 zk9hoHS=^~DY@&B(XVGH4*c}Cli*jOCsJ!zr*mc3hA#%qBhE9bh7lRwi47bW#%{_PB zTzSTew%K{)}$#2{4lh%JQ-Dd`uDG2d{NKOR53Iu$aK3c zUM?msK6Bzk!ISU5%Xc1s91#&Q!*^*={>%URGnW1AUw--J<5|lTg*roC@2YE0l<=6; zl4CY|%cDr`jI%-~PrF-Bo}L%9U>lc>y4#`ITaq@O*r3Dh8u*}S=YmzMWW5i3i=1-f zYB!&AxO_fm`|sV4WGAGEGQDqkuwujGxb>nvF?#Ja3n#2D-0j+by!qF!Djr^5(;Ffs zzLhgx+`4+d{+Wr?>{$ZcIftiB6S&v6uTi7RY^qZs>&eN}W0#a%Fv-nqo;h=-fwX6pi$ajY{ce?msm3>Tl?fSF6Tsr{0B^TsbO>;6QB zHE*VAJPAH}A>#vA%lfU!NskU&*!lY}FnrOx$T;f!zsaHBoFA<^sx|3L&I(g6$z@mN zm{k}<&K_9b)RPl;?8WQ!8S`q~`9fzO`t)73s^-hn&v*B>2lsfd_?NKmzHJbEDt%E`OilbWZN-&3?LHSC zRG9NT=0EY~ibUPtn6~rsF29ZoU2G5eYTSC|d*zmv{1xU&Ed98KYwJ>Xz)1!Cy_WgeHZ`Hl}wY@)d3X@B7|LUxlX{X-`%NRwI=qL?g54zpWITsetEnabled(value); m_showAppOnTopAction->setEnabled(value); - m_inspectorModeAction->setEnabled(value); m_playAction->setEnabled(value); m_selectAction->setEnabled(value); m_zoomAction->setEnabled(value); @@ -101,38 +100,33 @@ void QmlInspectorToolBar::enable() setEnabled(true); m_emitSignals = false; m_showAppOnTopAction->setChecked(false); - m_inspectorModeAction->setChecked(false); setAnimationSpeed(1.0f); - activateDesignModeOnClick(); + m_designModeActive = false; + updateDesignModeActions(NoTool); m_emitSignals = true; } void QmlInspectorToolBar::disable() { setAnimationSpeed(1.0f); - activateSelectTool(); + m_designModeActive = false; + updateDesignModeActions(NoTool); setEnabled(false); } void QmlInspectorToolBar::activateColorPicker() { - m_emitSignals = false; - activateColorPickerOnClick(); - m_emitSignals = true; + updateDesignModeActions(ColorPickerMode); } void QmlInspectorToolBar::activateSelectTool() { - m_emitSignals = false; - activateSelectToolOnClick(); - m_emitSignals = true; + updateDesignModeActions(SelectionToolMode); } void QmlInspectorToolBar::activateZoomTool() { - m_emitSignals = false; - activateZoomOnClick(); - m_emitSignals = true; + updateDesignModeActions(ZoomMode); } void QmlInspectorToolBar::setAnimationSpeed(qreal slowDownFactor) @@ -165,8 +159,8 @@ void QmlInspectorToolBar::setAnimationPaused(bool paused) void QmlInspectorToolBar::setDesignModeBehavior(bool inDesignMode) { m_emitSignals = false; - m_inspectorModeAction->setChecked(inDesignMode); - activateDesignModeOnClick(); + m_designModeActive = inDesignMode; + updateDesignModeActions(m_activeTool); m_emitSignals = true; } @@ -189,9 +183,6 @@ void QmlInspectorToolBar::createActions() m_showAppOnTopAction = new QAction(QIcon(QLatin1String(":/qml/images/app-on-top.png")), tr("Show application on top"), this); - m_inspectorModeAction = - new QAction(QIcon(QLatin1String(":/qml/images/inspectormode.png")), - tr("Inspector Mode"), this); m_playAction = new QAction(m_pauseIcon, tr("Play/Pause Animations"), this); m_selectAction = @@ -208,13 +199,10 @@ void QmlInspectorToolBar::createActions() m_fromQmlAction->setChecked(true); m_showAppOnTopAction->setCheckable(true); m_showAppOnTopAction->setChecked(false); - m_inspectorModeAction->setCheckable(true); - m_inspectorModeAction->setChecked(false); m_selectAction->setCheckable(true); m_zoomAction->setCheckable(true); m_colorPickerAction->setCheckable(true); - am->registerAction(m_inspectorModeAction, Constants::INSPECTORMODE_ACTION, context); Core::Command *command = am->registerAction(m_playAction, Constants::PLAY_ACTION, context); command->setAttribute(Core::Command::CA_UpdateIcon); am->registerAction(m_selectAction, Constants::SELECT_ACTION, context); @@ -281,7 +269,6 @@ void QmlInspectorToolBar::createActions() // Inspector toolBarLayout->addWidget(new Utils::StyledSeparator); - toolBarLayout->addWidget(toolButton(am->command(Constants::INSPECTORMODE_ACTION)->action())); toolBarLayout->addWidget(toolButton(am->command(Constants::SELECT_ACTION)->action())); toolBarLayout->addWidget(toolButton(am->command(Constants::ZOOM_ACTION)->action())); toolBarLayout->addWidget(toolButton(am->command(Constants::COLOR_PICKER_ACTION)->action())); @@ -295,12 +282,10 @@ void QmlInspectorToolBar::createActions() connect(m_fromQmlAction, SIGNAL(triggered()), SLOT(activateFromQml())); connect(m_showAppOnTopAction, SIGNAL(triggered()), SLOT(showAppOnTopClick())); - connect(m_inspectorModeAction, SIGNAL(triggered()), SLOT(activateDesignModeOnClick())); connect(m_playAction, SIGNAL(triggered()), SLOT(activatePlayOnClick())); - connect(m_colorPickerAction, SIGNAL(triggered()), SLOT(activateColorPickerOnClick())); - connect(m_selectAction, SIGNAL(triggered()), SLOT(activateSelectToolOnClick())); - connect(m_zoomAction, SIGNAL(triggered()), SLOT(activateZoomOnClick())); - connect(m_colorPickerAction, SIGNAL(triggered()), SLOT(activateColorPickerOnClick())); + connect(m_colorPickerAction, SIGNAL(triggered(bool)), SLOT(colorPickerTriggered(bool))); + connect(m_selectAction, SIGNAL(triggered(bool)), SLOT(selectToolTriggered(bool))); + connect(m_zoomAction, SIGNAL(triggered(bool)), SLOT(zoomToolTriggered(bool))); Debugger::DebuggerMainWindow *mw = Debugger::DebuggerPlugin::mainWindow(); activeDebugLanguagesChanged(mw->activeDebugLanguages()); @@ -323,18 +308,6 @@ void QmlInspectorToolBar::changeAnimationSpeed() updatePlayAction(); } -void QmlInspectorToolBar::activateDesignModeOnClick() -{ - bool checked = m_inspectorModeAction->isChecked(); - - m_selectAction->setEnabled(checked); - m_zoomAction->setEnabled(checked); - m_colorPickerAction->setEnabled(checked); - - if (m_emitSignals) - emit designModeSelected(checked); -} - void QmlInspectorToolBar::activatePlayOnClick() { m_paused = !m_paused; @@ -347,43 +320,43 @@ void QmlInspectorToolBar::updatePlayAction() m_playAction->setIcon(m_paused ? m_playIcon : m_pauseIcon); } -void QmlInspectorToolBar::activateColorPickerOnClick() +void QmlInspectorToolBar::colorPickerTriggered(bool checked) { - m_zoomAction->setChecked(false); - m_selectAction->setChecked(false); + updateDesignModeActions(ColorPickerMode); - m_colorPickerAction->setChecked(true); - if (m_activeTool != ColorPickerMode) { - m_activeTool = ColorPickerMode; - if (m_emitSignals) - emit colorPickerSelected(); + if (m_designModeActive != checked) { + m_designModeActive = checked; + emit designModeSelected(checked); } + + if (checked) + emit colorPickerSelected(); } -void QmlInspectorToolBar::activateSelectToolOnClick() +void QmlInspectorToolBar::selectToolTriggered(bool checked) { - m_zoomAction->setChecked(false); - m_colorPickerAction->setChecked(false); + updateDesignModeActions(SelectionToolMode); - m_selectAction->setChecked(true); - if (m_activeTool != SelectionToolMode) { - m_activeTool = SelectionToolMode; - if (m_emitSignals) - emit selectToolSelected(); + if (m_designModeActive != checked) { + m_designModeActive = checked; + emit designModeSelected(checked); } + + if (checked) + emit selectToolSelected(); } -void QmlInspectorToolBar::activateZoomOnClick() +void QmlInspectorToolBar::zoomToolTriggered(bool checked) { - m_selectAction->setChecked(false); - m_colorPickerAction->setChecked(false); + updateDesignModeActions(ZoomMode); - m_zoomAction->setChecked(true); - if (m_activeTool != ZoomMode) { - m_activeTool = ZoomMode; - if (m_emitSignals) - emit zoomToolSelected(); + if (m_designModeActive != checked) { + m_designModeActive = checked; + emit designModeSelected(checked); } + + if (checked) + emit zoomToolSelected(); } void QmlInspectorToolBar::showAppOnTopClick() @@ -408,5 +381,13 @@ void QmlInspectorToolBar::activeDebugLanguagesChanged(Debugger::DebuggerLanguage m_operateByInstructionButton->setVisible(languages & Debugger::CppLanguage); } +void QmlInspectorToolBar::updateDesignModeActions(DesignTool activeTool) +{ + m_activeTool = activeTool; + m_selectAction->setChecked(m_designModeActive && (m_activeTool == SelectionToolMode)); + m_zoomAction->setChecked(m_designModeActive && (m_activeTool == ZoomMode)); + m_colorPickerAction->setChecked(m_designModeActive && (m_activeTool == ColorPickerMode)); +} + } // namespace Internal } // namespace QmlJSInspector diff --git a/src/plugins/qmljsinspector/qmlinspectortoolbar.h b/src/plugins/qmljsinspector/qmlinspectortoolbar.h index da48a1b65f6..aa7d1d1ff02 100644 --- a/src/plugins/qmljsinspector/qmlinspectortoolbar.h +++ b/src/plugins/qmljsinspector/qmlinspectortoolbar.h @@ -93,7 +93,7 @@ public slots: signals: void applyChangesFromQmlFileTriggered(bool isChecked); - void designModeSelected(bool checked); + void designModeSelected(bool); void reloadSelected(); void colorPickerSelected(); void selectToolSelected(); @@ -105,11 +105,10 @@ signals: void animationPausedChanged(bool paused); private slots: - void activateDesignModeOnClick(); void activatePlayOnClick(); - void activateColorPickerOnClick(); - void activateSelectToolOnClick(); - void activateZoomOnClick(); + void colorPickerTriggered(bool checked); + void selectToolTriggered(bool checked); + void zoomToolTriggered(bool checked); void showAppOnTopClick(); @@ -122,10 +121,11 @@ private slots: void activeDebugLanguagesChanged(Debugger::DebuggerLanguages languages); private: + void updateDesignModeActions(DesignTool activeTool); + QToolButton *m_operateByInstructionButton; QAction *m_fromQmlAction; - QAction *m_inspectorModeAction; QAction *m_playAction; QAction *m_selectAction; QAction *m_zoomAction; @@ -145,6 +145,7 @@ private: bool m_paused; qreal m_animationSpeed; + bool m_designModeActive; DesignTool m_activeTool; Utils::StyledBar *m_barWidget; diff --git a/src/plugins/qmljsinspector/qmljsinspector.qrc b/src/plugins/qmljsinspector/qmljsinspector.qrc index 8c1ed3975fe..9c1a710a6eb 100644 --- a/src/plugins/qmljsinspector/qmljsinspector.qrc +++ b/src/plugins/qmljsinspector/qmljsinspector.qrc @@ -18,7 +18,6 @@ images/zoom-small.png images/select-marquee-small.png images/color-picker-small-hicontrast.png - images/inspectormode.png images/app-on-top.png diff --git a/src/plugins/qmljsinspector/qmljsinspectorconstants.h b/src/plugins/qmljsinspector/qmljsinspectorconstants.h index b41585a0e07..3cc7e5d2fe4 100644 --- a/src/plugins/qmljsinspector/qmljsinspectorconstants.h +++ b/src/plugins/qmljsinspector/qmljsinspectorconstants.h @@ -38,7 +38,6 @@ namespace Constants { const char * const INFO_EXPERIMENTAL = "QmlInspector.Experimental"; const char * const INFO_OUT_OF_SYNC = "QmlInspector.OutOfSyncWarning"; -const char * const INSPECTORMODE_ACTION = "QmlInspector.DesignMode"; const char * const PLAY_ACTION = "QmlInspector.Play"; const char * const SELECT_ACTION = "QmlInspector.Select"; const char * const ZOOM_ACTION = "QmlInspector.Zoom";