mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 12:32:26 +00:00
Let the cursor blink frequency depend on qt settings.
Move checking of forked processes into independent timer. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22749 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
9702f66938
commit
65c0ff6e6b
@ -197,11 +197,20 @@ GuiWorkArea::GuiWorkArea(Buffer & buffer, GuiView & lv)
|
|||||||
{
|
{
|
||||||
buffer.workAreaManager().add(this);
|
buffer.workAreaManager().add(this);
|
||||||
// Setup the signals
|
// Setup the signals
|
||||||
cursor_timeout_.setInterval(400);
|
|
||||||
connect(&cursor_timeout_, SIGNAL(timeout()),
|
connect(&cursor_timeout_, SIGNAL(timeout()),
|
||||||
this, SLOT(toggleCursor()));
|
this, SLOT(toggleCursor()));
|
||||||
|
|
||||||
|
int const time = QApplication::cursorFlashTime() / 2;
|
||||||
|
if (time > 0) {
|
||||||
|
cursor_timeout_.setInterval(time);
|
||||||
cursor_timeout_.start();
|
cursor_timeout_.start();
|
||||||
|
} else
|
||||||
|
// let's initialize this just to be safe
|
||||||
|
cursor_timeout_.setInterval(500);
|
||||||
|
|
||||||
|
general_timer_.setInterval(500);
|
||||||
|
connect(&general_timer_, SIGNAL(timeout()),
|
||||||
|
this, SLOT(handleRegularEvents()));
|
||||||
|
|
||||||
screen_ = QPixmap(viewport()->width(), viewport()->height());
|
screen_ = QPixmap(viewport()->width(), viewport()->height());
|
||||||
cursor_ = new frontend::CursorWidget();
|
cursor_ = new frontend::CursorWidget();
|
||||||
@ -276,6 +285,11 @@ void GuiWorkArea::stopBlinkingCursor()
|
|||||||
void GuiWorkArea::startBlinkingCursor()
|
void GuiWorkArea::startBlinkingCursor()
|
||||||
{
|
{
|
||||||
showCursor();
|
showCursor();
|
||||||
|
//we're not supposed to cache this value.
|
||||||
|
int const time = QApplication::cursorFlashTime() / 2;
|
||||||
|
if (time <= 0)
|
||||||
|
return;
|
||||||
|
cursor_timeout_.setInterval(time);
|
||||||
cursor_timeout_.start();
|
cursor_timeout_.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -446,10 +460,11 @@ void GuiWorkArea::toggleCursor()
|
|||||||
hideCursor();
|
hideCursor();
|
||||||
else
|
else
|
||||||
showCursor();
|
showCursor();
|
||||||
|
}
|
||||||
|
|
||||||
// Use this opportunity to deal with any child processes that
|
|
||||||
// have finished but are waiting to communicate this fact
|
void GuiWorkArea::handleRegularEvents()
|
||||||
// to the rest of LyX.
|
{
|
||||||
ForkedCallsController::handleCompletedProcesses();
|
ForkedCallsController::handleCompletedProcesses();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,7 +142,8 @@ private Q_SLOTS:
|
|||||||
void doubleClickTimeout();
|
void doubleClickTimeout();
|
||||||
/// toggle the cursor's visibility
|
/// toggle the cursor's visibility
|
||||||
void toggleCursor();
|
void toggleCursor();
|
||||||
|
/// events to be triggered by general_timer_ should go here
|
||||||
|
void handleRegularEvents();
|
||||||
/// close this work area.
|
/// close this work area.
|
||||||
/// Slot for Buffer::closing signal.
|
/// Slot for Buffer::closing signal.
|
||||||
void close();
|
void close();
|
||||||
@ -213,6 +214,10 @@ private:
|
|||||||
|
|
||||||
///
|
///
|
||||||
QTimer cursor_timeout_;
|
QTimer cursor_timeout_;
|
||||||
|
/// this timer is used for any regular events one wants to
|
||||||
|
/// perform. at present it is used to check if forked processes
|
||||||
|
/// are done.
|
||||||
|
QTimer general_timer_;
|
||||||
///
|
///
|
||||||
SyntheticMouseEvent synthetic_mouse_event_;
|
SyntheticMouseEvent synthetic_mouse_event_;
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user