[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/kbattleship-rewrite/kdegames/kbattleship/kbattleship/kwelcomescreen
From:       Paolo Capriotti <paolo.capriotti () gmail ! com>
Date:       2007-04-13 18:31:19
Message-ID: 1176489079.512314.16615.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 653594 by capriotti:

Added autoraise property


 M  +29 -2     kwelcomescreen.cpp  
 M  +11 -1     kwelcomescreen.h  


--- branches/work/kbattleship-rewrite/kdegames/kbattleship/kbattleship/kwelcomescreen/kwelcomescreen.cpp \
#653593:653594 @@ -89,17 +89,42 @@
     QBrush b(QColor(0, 0, 0, 180));
     p.setBrush(b);
     p.drawRect(event->rect());
-    p.setBrush(Qt::black);
-//     p.drawLine(0, 0, width(), height());
 }
 
 KWelcomeScreenButton::KWelcomeScreenButton(QWidget *parent)
     : QAbstractButton(parent)
+    , m_raised(false)
+    , m_autoraise(true)
 {
     move(150, 50);
     connect(this, SIGNAL(clicked()), this, SLOT(buttonClickedSlot()));
 }
 
+bool KWelcomeScreenButton::autoraise() const
+{
+    return m_autoraise;
+}
+
+void KWelcomeScreenButton::setAutoraise(bool value)
+{
+    m_autoraise = value;
+}
+
+void KWelcomeScreenButton::enterEvent(QEvent* e)
+{
+    if ((m_raised = m_autoraise)) {
+        update();
+    }
+}
+
+void KWelcomeScreenButton::leaveEvent(QEvent* e)
+{
+    m_raised = false;
+    if (m_autoraise) {
+        update();
+    }
+}
+
 void KWelcomeScreenButton::buttonClickedSlot()
 {
     emit buttonClicked(shortText);
@@ -126,6 +151,8 @@
     p.setPen(pen);
     if (this->isDown()) {
         p.setBrush(QBrush(QColor(200, 200, 200, 100)));
+    } else if (m_raised) {
+        p.setBrush(QBrush(QColor(100, 100, 100, 100)));
     } else {
         p.setBrush(QBrush(QColor(0, 0, 0, 100)));
     }
--- branches/work/kbattleship-rewrite/kdegames/kbattleship/kbattleship/kwelcomescreen/kwelcomescreen.h \
#653593:653594 @@ -25,6 +25,7 @@
 class QGridLayout;
 class KWelcomeWidget;
 class KWelcomeScreenButton;
+class QEvent;
 
 class KWelcomeScreen : public QWidget
 {
@@ -73,15 +74,24 @@
 class KWelcomeScreenButton : public QAbstractButton
 {
     Q_OBJECT
+    
+    Q_PROPERTY(bool autoraise READ autoraise WRITE setAutoraise)
 public:
     KWelcomeScreenButton(QWidget *parent = 0);
     void setProprieties(const QString &text, const QIcon &icon, const QString \
&shortText); +    
+    bool autoraise() const;
+    void setAutoraise(bool value);
 protected:
-    void paintEvent(QPaintEvent *event);
+    virtual void paintEvent(QPaintEvent *event);
+    virtual void enterEvent(QEvent*);
+    virtual void leaveEvent(QEvent*);
     QSize sizeHint();
 private:
     QString text, shortText;
     QIcon icon;
+    bool m_raised;
+    bool m_autoraise;
 private Q_SLOTS:
     void buttonClickedSlot();
 signals:


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic