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

List:       kde-commits
Subject:    kdevelop/lib/widgets
From:       Dominik Haumann <dhdev () gmx ! de>
Date:       2003-11-09 19:01:05
[Download RAW message or body]

CVS commit by dhaumann: 

usability fix: Now resizing with the resizing button is very smooth
(the mouse capture bug is solved). Happy resizing in the toolbar! ;)


  M +9 -16     resizablecombo.cpp   1.3
  M +2 -5      resizablecombo.h   1.2


--- kdevelop/lib/widgets/resizablecombo.cpp  #1.2:1.3
@@ -44,5 +44,5 @@ static const char * resize_xpm[] = {
 
 ResizableCombo::ResizableCombo(KComboView *view, QWidget *parent, const char *name):
-    QWidget(parent, name), m_resizing(false), m_sizer(0), m_combo(view)
+    QWidget(parent, name), m_sizer(0), m_combo(view)
 {
     QHBoxLayout *l = new QHBoxLayout(this);
@@ -53,8 +53,5 @@ ResizableCombo::ResizableCombo(KComboVie
     m_sizer->setPixmap(QPixmap(resize_xpm));
     QWhatsThis::add(m_sizer, i18n("Drag this to resize the combobox."));
-    connect(m_sizer, SIGNAL(pressed()), this, SLOT(startResize()));
-    connect(m_sizer, SIGNAL(released()), this, SLOT(stopResize()));
     l->addWidget(m_sizer);
-
 }
 
@@ -59,25 +56,21 @@ ResizableCombo::ResizableCombo(KComboVie
 }
 
-void ResizableCombo::startResize()
+void MyPushButton::mousePressEvent( QMouseEvent * e )
 {
     m_resizing = true;
+    m_pressedPos = e->globalPos();
+    m_width = m_combo->m_combo->width();
+    QPushButton::mousePressEvent(e);
 }
 
-void ResizableCombo::stopResize()
+void MyPushButton::mouseReleaseEvent( QMouseEvent * e )
 {
     m_resizing = false;
-}
-
-
-void MyPushButton::mousePressEvent( QMouseEvent * e )
-{
-    m_pressedPos = e->globalPos();
-    m_width = m_combo->m_combo->width();
-    QPushButton::mousePressEvent(e);
+    QPushButton::mouseReleaseEvent(e);
 }
 
 void MyPushButton::mouseMoveEvent( QMouseEvent * e )
 {
-    if (m_combo->m_resizing)
+    if (m_resizing)
         m_combo->m_combo->setMinimumWidth(m_width + e->globalPos().x() - pressedPos().x());
 
@@ -86,5 +79,5 @@ void MyPushButton::mouseMoveEvent( QMous
 
 MyPushButton::MyPushButton( ResizableCombo * parent, const char * name )
-    :QPushButton(parent, name), m_combo(parent)
+    :QPushButton(parent, name), m_resizing(false), m_combo(parent)
 {
     setFocusPolicy(NoFocus);

--- kdevelop/lib/widgets/resizablecombo.h  #1.1:1.2
@@ -23,10 +23,5 @@ public:
     ResizableCombo(KComboView *view, QWidget *parent = 0, const char *name = 0);
 
-public slots:
-    void startResize();
-    void stopResize();
-
 private:
-    bool m_resizing;
     MyPushButton *m_sizer;
     KComboView *m_combo;
@@ -46,8 +41,10 @@ public:
 
 protected:
+    virtual void mouseReleaseEvent ( QMouseEvent * e );
     virtual void mousePressEvent ( QMouseEvent * e );
     virtual void mouseMoveEvent ( QMouseEvent * e );
 
 private:
+    bool m_resizing;
     QPoint m_pressedPos;
     int m_width;


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

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