[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