From 1013c8dbeb6747c694dafc930d52bf7e885b6548 Mon Sep 17 00:00:00 2001 From: Tobias Rundstrom Date: Sun, 19 Feb 2006 16:25:08 -0300 Subject: [PATCH] Fixed togglebuttons --- Button.cpp | 23 ++++++++++++++++------- Button.h | 4 +++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Button.cpp b/Button.cpp index ac57dce..a3e0e1c 100644 --- a/Button.cpp +++ b/Button.cpp @@ -53,8 +53,6 @@ ToggleButton::ToggleButton (QWidget *parent, uint on_normal, uint on_pressed, m_name_off_pressed = off_pressed; m_toggled_on = true; - toggleOn (); - connect (this, SIGNAL(clicked()), this, SLOT (toggleOn())); } @@ -67,6 +65,8 @@ ToggleButton::setPixmaps(Skin *skin) m_pixmap_off_normal = skin->getItem(m_name_off_normal); m_pixmap_off_pressed = skin->getItem(m_name_off_pressed); + setCurrentPix (); + setMinimumSize (m_pixmap.size ()); setMaximumSize (m_pixmap.size ()); @@ -74,21 +74,30 @@ ToggleButton::setPixmaps(Skin *skin) } void -ToggleButton::toggleOn () +ToggleButton::setCurrentPix () { - if (!m_toggled_on) { + if (m_toggled_on) { m_pixmap_normal = m_pixmap_on_normal; m_pixmap_pressed = m_pixmap_on_pressed; - m_toggled_on = true; } else { m_pixmap_normal = m_pixmap_off_normal; m_pixmap_pressed = m_pixmap_off_pressed; - m_toggled_on = false; } m_pixmap = m_pixmap_normal; - update (); +} +void +ToggleButton::toggleOn () +{ + if (!m_toggled_on) { + m_toggled_on = true; + } else { + m_toggled_on = false; + } + + setCurrentPix (); + update (); } ToggleButton::~ToggleButton () diff --git a/Button.h b/Button.h index 90525d3..cc61eb7 100644 --- a/Button.h +++ b/Button.h @@ -14,7 +14,7 @@ class Button : public PixWidget ~Button (); public slots: - void setPixmaps(Skin *skin); + void setPixmaps (Skin *skin); signals: void clicked (void); @@ -55,6 +55,8 @@ class ToggleButton : public Button QPixmap m_pixmap_off_pressed; bool m_toggled_on; + + void setCurrentPix (); }; #endif