diff --git a/apps/opencs/view/widget/pushbutton.cpp b/apps/opencs/view/widget/pushbutton.cpp index b010a8668..8fb90c4d0 100644 --- a/apps/opencs/view/widget/pushbutton.cpp +++ b/apps/opencs/view/widget/pushbutton.cpp @@ -29,10 +29,16 @@ void CSVWidget::PushButton::mouseReleaseEvent (QMouseEvent *event) QPushButton::mouseReleaseEvent (event); } -CSVWidget::PushButton::PushButton (const QIcon& icon, QWidget *parent) +CSVWidget::PushButton::PushButton (const QIcon& icon, bool push, QWidget *parent) : QPushButton (icon, "", parent), mKeepOpen (false) { - setCheckable (true); + setCheckable (!push); +} + +CSVWidget::PushButton::PushButton (bool push, QWidget *parent) +: QPushButton (parent), mKeepOpen (false) +{ + setCheckable (!push); } bool CSVWidget::PushButton::hasKeepOpen() const diff --git a/apps/opencs/view/widget/pushbutton.hpp b/apps/opencs/view/widget/pushbutton.hpp index 984a77d57..7c2a2caca 100644 --- a/apps/opencs/view/widget/pushbutton.hpp +++ b/apps/opencs/view/widget/pushbutton.hpp @@ -21,7 +21,11 @@ namespace CSVWidget public: - PushButton (const QIcon& icon, QWidget *parent = 0); + /// \param push Do not maintain a toggle state + PushButton (const QIcon& icon, bool push = false, QWidget *parent = 0); + + /// \param push Do not maintain a toggle state + PushButton (bool push = false, QWidget *parent = 0); bool hasKeepOpen() const; }; diff --git a/apps/opencs/view/widget/scenetoolmode.cpp b/apps/opencs/view/widget/scenetoolmode.cpp index 4d76215bb..cbf20d7dc 100644 --- a/apps/opencs/view/widget/scenetoolmode.cpp +++ b/apps/opencs/view/widget/scenetoolmode.cpp @@ -28,7 +28,7 @@ void CSVWidget::SceneToolMode::showPanel (const QPoint& position) void CSVWidget::SceneToolMode::addButton (const std::string& icon, const std::string& id) { - PushButton *button = new PushButton (QIcon (QPixmap (icon.c_str())), mPanel); + PushButton *button = new PushButton (QIcon (QPixmap (icon.c_str())), false, mPanel); button->setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed)); button->setIconSize (QSize (mIconSize, mIconSize)); button->setFixedSize (mButtonSize, mButtonSize);