CCMAIL: l.lunak@kde.org
Make middle and right click on window buttons work again. The solution looks a bit like a workaround for some kwin problem, though. Why do I have to always fake a LeftButton press? svn path=/trunk/kdebase/kwin/; revision=255894
This commit is contained in:
parent
47f5381fca
commit
5e32acc176
2 changed files with 14 additions and 16 deletions
|
@ -209,12 +209,16 @@ void B2Button::setPixmaps(int button_id)
|
|||
void B2Button::mousePressEvent( QMouseEvent* e )
|
||||
{
|
||||
last_button = e->button();
|
||||
QButton::mousePressEvent(e);
|
||||
QMouseEvent me(e->type(), e->pos(), e->globalPos(),
|
||||
LeftButton, e->state());
|
||||
QButton::mousePressEvent(&me);
|
||||
}
|
||||
|
||||
void B2Button::mouseReleaseEvent( QMouseEvent* e )
|
||||
{
|
||||
QButton::mouseReleaseEvent(e);
|
||||
QMouseEvent me(e->type(), e->pos(), e->globalPos(),
|
||||
LeftButton, e->state());
|
||||
QButton::mouseReleaseEvent(&me);
|
||||
}
|
||||
|
||||
// =====================================
|
||||
|
@ -315,27 +319,23 @@ void B2Titlebar::paintEvent(QPaintEvent *)
|
|||
void B2Titlebar::mouseDoubleClickEvent( QMouseEvent * )
|
||||
{
|
||||
client->titlebarDblClickOperation();
|
||||
// ?? client->workspace()->requestFocus( client );
|
||||
}
|
||||
|
||||
#if 0 // TODO JUMPYTITLEBAR
|
||||
#if 0
|
||||
void B2Titlebar::mousePressEvent( QMouseEvent * e )
|
||||
{
|
||||
shift_move = e->state() & ShiftButton;
|
||||
if (shift_move) {
|
||||
moveOffset = e->globalPos();
|
||||
} else {
|
||||
client->processMousePressEvent(e);
|
||||
// client->performWindowOperation(KDecoration::MoveOp);
|
||||
}
|
||||
QMouseEvent _e(QEvent::MouseButtonPress, mapToParent(e->pos()),
|
||||
e->globalPos(), e->button(), e->state());
|
||||
client->processMousePressEvent(&_e);
|
||||
}
|
||||
|
||||
void B2Titlebar::mouseReleaseEvent( QMouseEvent * e )
|
||||
{
|
||||
shift_move = false;
|
||||
QMouseEvent _e(QEvent::MouseButtonRelease, mapToParent(e->pos()),
|
||||
e->globalPos(), e->button(), e->state());
|
||||
//client->widget()->mouseReleaseEvent(&_e);
|
||||
}
|
||||
|
||||
void B2Titlebar::mouseMoveEvent( QMouseEvent * e )
|
||||
|
@ -347,12 +347,9 @@ void B2Titlebar::mouseMoveEvent( QMouseEvent * e )
|
|||
if (oldx >= 0 && oldx <= rect().right()) {
|
||||
client->titleMoveRel(xdiff);
|
||||
}
|
||||
} else {
|
||||
QMouseEvent _e(QEvent::MouseMove, mapToParent(e->pos()),
|
||||
e->globalPos(), e->button(), e->state());
|
||||
//client->widget()->mouseMoveEvent( &_e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// =====================================
|
||||
|
@ -442,6 +439,7 @@ void B2Client::init()
|
|||
button[i]->setBg(c);
|
||||
|
||||
titlebar->recalcBuffer();
|
||||
titlebar->installEventFilter(this);
|
||||
positionButtons();
|
||||
|
||||
//connect(options(), SIGNAL(resetClients()), this, SLOT(slotReset()));
|
||||
|
|
|
@ -70,7 +70,7 @@ protected:
|
|||
void paintEvent( QPaintEvent* );
|
||||
bool x11Event(XEvent *e);
|
||||
void mouseDoubleClickEvent( QMouseEvent * );
|
||||
#if 0 // TODO JUMPYTITLEBAR
|
||||
#if 0
|
||||
void mousePressEvent( QMouseEvent * );
|
||||
void mouseReleaseEvent( QMouseEvent * );
|
||||
void mouseMoveEvent(QMouseEvent *);
|
||||
|
|
Loading…
Reference in a new issue