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 )
|
void B2Button::mousePressEvent( QMouseEvent* e )
|
||||||
{
|
{
|
||||||
last_button = e->button();
|
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 )
|
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 * )
|
void B2Titlebar::mouseDoubleClickEvent( QMouseEvent * )
|
||||||
{
|
{
|
||||||
client->titlebarDblClickOperation();
|
client->titlebarDblClickOperation();
|
||||||
// ?? client->workspace()->requestFocus( client );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0 // TODO JUMPYTITLEBAR
|
#if 0
|
||||||
void B2Titlebar::mousePressEvent( QMouseEvent * e )
|
void B2Titlebar::mousePressEvent( QMouseEvent * e )
|
||||||
{
|
{
|
||||||
shift_move = e->state() & ShiftButton;
|
shift_move = e->state() & ShiftButton;
|
||||||
if (shift_move) {
|
if (shift_move) {
|
||||||
moveOffset = e->globalPos();
|
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 )
|
void B2Titlebar::mouseReleaseEvent( QMouseEvent * e )
|
||||||
{
|
{
|
||||||
shift_move = false;
|
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 )
|
void B2Titlebar::mouseMoveEvent( QMouseEvent * e )
|
||||||
|
@ -347,12 +347,9 @@ void B2Titlebar::mouseMoveEvent( QMouseEvent * e )
|
||||||
if (oldx >= 0 && oldx <= rect().right()) {
|
if (oldx >= 0 && oldx <= rect().right()) {
|
||||||
client->titleMoveRel(xdiff);
|
client->titleMoveRel(xdiff);
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
QMouseEvent _e(QEvent::MouseMove, mapToParent(e->pos()),
|
|
||||||
e->globalPos(), e->button(), e->state());
|
|
||||||
//client->widget()->mouseMoveEvent( &_e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// =====================================
|
// =====================================
|
||||||
|
@ -442,6 +439,7 @@ void B2Client::init()
|
||||||
button[i]->setBg(c);
|
button[i]->setBg(c);
|
||||||
|
|
||||||
titlebar->recalcBuffer();
|
titlebar->recalcBuffer();
|
||||||
|
titlebar->installEventFilter(this);
|
||||||
positionButtons();
|
positionButtons();
|
||||||
|
|
||||||
//connect(options(), SIGNAL(resetClients()), this, SLOT(slotReset()));
|
//connect(options(), SIGNAL(resetClients()), this, SLOT(slotReset()));
|
||||||
|
|
|
@ -70,7 +70,7 @@ protected:
|
||||||
void paintEvent( QPaintEvent* );
|
void paintEvent( QPaintEvent* );
|
||||||
bool x11Event(XEvent *e);
|
bool x11Event(XEvent *e);
|
||||||
void mouseDoubleClickEvent( QMouseEvent * );
|
void mouseDoubleClickEvent( QMouseEvent * );
|
||||||
#if 0 // TODO JUMPYTITLEBAR
|
#if 0
|
||||||
void mousePressEvent( QMouseEvent * );
|
void mousePressEvent( QMouseEvent * );
|
||||||
void mouseReleaseEvent( QMouseEvent * );
|
void mouseReleaseEvent( QMouseEvent * );
|
||||||
void mouseMoveEvent(QMouseEvent *);
|
void mouseMoveEvent(QMouseEvent *);
|
||||||
|
|
Loading…
Reference in a new issue