#include "support/debug.h"
#include "support/gettext.h"
#include "support/FileName.h"
+#include "support/lassert.h"
#include "frontends/Application.h"
#include "frontends/FontMetrics.h"
return;
}
+ inputContext()->reset();
+
+ FuncRequest const cmd(LFUN_MOUSE_PRESS, e->x(), e->y(),
+ q_button_state(e->button()));
+ dispatch(cmd, q_key_state(e->modifiers()));
+
// Save the context menu on mouse press, because also the mouse
// cursor is set on mouse press. Afterwards, we can either release
// the mousebutton somewhere else, or the cursor might have moved
- // due to the DEPM.
+ // due to the DEPM. We need to do this after the mouse has been
+ // set in dispatch(), because the selection state might change.
if (e->button() == Qt::RightButton)
context_menu_name_ = buffer_view_->contextMenu(e->x(), e->y());
- inputContext()->reset();
-
- FuncRequest const cmd(LFUN_MOUSE_PRESS, e->x(), e->y(),
- q_button_state(e->button()));
- dispatch(cmd, q_key_state(e->modifiers()));
e->accept();
}
// it looks like this is only needed on X11
#ifdef Q_WS_X11
if (qApp->hasPendingEvents() && ev->isAutoRepeat()) {
- LYXERR(Debug::KEY, "system is busy: keyPress event ignored");
- ev->ignore();
- return;
+ switch (ev->key()) {
+ case Qt::Key_PageDown:
+ case Qt::Key_PageUp:
+ case Qt::Key_Left:
+ case Qt::Key_Right:
+ case Qt::Key_Up:
+ case Qt::Key_Down:
+ LYXERR(Debug::KEY, "system is busy: scroll key event ignored");
+ ev->ignore();
+ return;
+ }
}
#endif
void GuiWorkArea::update(int x, int y, int w, int h)
{
- viewport()->repaint(x, y, w, h);
+ viewport()->update(x, y, w, h);
}