From 0430558c3cac7b1805d017e6c466aca5db98aab9 Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Mon, 14 Jul 2014 14:17:27 +0200 Subject: [PATCH] fixed focussed button in mode tool panel when panel is opened --- apps/opencs/view/widget/scenetoolmode.cpp | 7 ++++--- apps/opencs/view/widget/scenetoolmode.hpp | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/opencs/view/widget/scenetoolmode.cpp b/apps/opencs/view/widget/scenetoolmode.cpp index 9a97924a8..caedfa3ee 100644 --- a/apps/opencs/view/widget/scenetoolmode.cpp +++ b/apps/opencs/view/widget/scenetoolmode.cpp @@ -21,7 +21,7 @@ void CSVWidget::SceneToolMode::adjustToolTip (const PushButton *activeMode) CSVWidget::SceneToolMode::SceneToolMode (SceneToolbar *parent, const QString& toolTip) : SceneTool (parent), mButtonSize (parent->getButtonSize()), mIconSize (parent->getIconSize()), - mToolTip (toolTip) + mToolTip (toolTip), mFirst (0) { mPanel = new QFrame (this, Qt::Popup); @@ -37,8 +37,8 @@ void CSVWidget::SceneToolMode::showPanel (const QPoint& position) mPanel->move (position); mPanel->show(); - if (!mButtons.empty()) - mButtons.begin()->first->setFocus (Qt::OtherFocusReason); + if (mFirst) + mFirst->setFocus (Qt::OtherFocusReason); } void CSVWidget::SceneToolMode::addButton (const std::string& icon, const std::string& id, @@ -58,6 +58,7 @@ void CSVWidget::SceneToolMode::addButton (const std::string& icon, const std::st if (mButtons.size()==1) { + mFirst = button; setIcon (button->icon()); button->setChecked (true); adjustToolTip (button); diff --git a/apps/opencs/view/widget/scenetoolmode.hpp b/apps/opencs/view/widget/scenetoolmode.hpp index 92f031fe7..9959f9835 100644 --- a/apps/opencs/view/widget/scenetoolmode.hpp +++ b/apps/opencs/view/widget/scenetoolmode.hpp @@ -23,6 +23,7 @@ namespace CSVWidget int mButtonSize; int mIconSize; QString mToolTip; + PushButton *mFirst; void adjustToolTip (const PushButton *activeMode);