add lyx_gui::exit() so Qt doesn't have to busy loop, which was eating

CPU very badly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4748 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
John Levon 2002-07-22 18:56:04 +00:00
parent 33836900dd
commit 459dd32dc3
9 changed files with 41 additions and 13 deletions

View File

@ -1,3 +1,7 @@
2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* lyx_gui.C: use lyx_gui::exit()
2002-07-22 John Levon <moz@compsoc.man.ac.uk> 2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* LyXAction.C: show the failing pseudo action * LyXAction.C: show the failing pseudo action

View File

@ -1,3 +1,7 @@
2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* lyx_gui.h: add exit()
2002-07-22 John Levon <moz@compsoc.man.ac.uk> 2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* Toolbar.h: * Toolbar.h:

View File

@ -36,6 +36,11 @@ namespace lyx_gui {
*/ */
void start(string const & batch, std::vector<std::string> files); void start(string const & batch, std::vector<std::string> files);
/**
* quit running LyX
*/
void exit();
/** Eg, passing LColor::black returns "000000", /** Eg, passing LColor::black returns "000000",
* passing LColor::white returns "ffffff". * passing LColor::white returns "ffffff".
*/ */

View File

@ -1,3 +1,7 @@
2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* lyx_gui.C: add exit() so we don't busy loop !
2002-07-22 John Levon <moz@compsoc.man.ac.uk> 2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* QCommandEdit.C: complete if right at end of line * QCommandEdit.C: complete if right at end of line

View File

@ -50,7 +50,6 @@ using std::vector;
using std::hex; using std::hex;
using std::endl; using std::endl;
extern bool finished;
extern BufferList bufferlist; extern BufferList bufferlist;
// FIXME: wrong place ! // FIXME: wrong place !
@ -111,16 +110,19 @@ void lyx_gui::start(string const & batch, vector<string> files)
view.getLyXFunc()->dispatch(batch); view.getLyXFunc()->dispatch(batch);
} }
// FIXME: something somewhere is EATING CPU qApp->exec();
while (!finished) {
qApp->processEvents();
}
// FIXME // FIXME
delete lyxserver; delete lyxserver;
} }
void lyx_gui::exit()
{
qApp->exit(0);
}
string const lyx_gui::hexname(LColor::color col) string const lyx_gui::hexname(LColor::color col)
{ {
QColor color(lcolor.getX11Name(col).c_str()); QColor color(lcolor.getX11Name(col).c_str());

View File

@ -1,3 +1,7 @@
2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* lyx_gui.C: add lyx_gui::exit()
2002-07-22 John Levon <moz@compsoc.man.ac.uk> 2002-07-22 John Levon <moz@compsoc.man.ac.uk>
* Toolbar_pimpl.h: * Toolbar_pimpl.h:

View File

@ -55,7 +55,6 @@ using std::setbase;
using std::setfill; using std::setfill;
using std::setw; using std::setw;
extern bool finished;
extern BufferList bufferlist; extern BufferList bufferlist;
// FIXME: wrong place ! // FIXME: wrong place !
@ -63,6 +62,9 @@ LyXServer * lyxserver;
namespace { namespace {
/// quit lyx
bool finished = false;
/// set default GUI configuration /// set default GUI configuration
void setDefaults() void setDefaults()
{ {
@ -309,6 +311,12 @@ void lyx_gui::start(string const & batch, vector<string> files)
} }
void lyx_gui::exit()
{
finished = true;
}
string const lyx_gui::hexname(LColor::color col) string const lyx_gui::hexname(LColor::color col)
{ {
string const name = lcolor.getX11Name(col); string const name = lcolor.getX11Name(col);

View File

@ -17,7 +17,6 @@
#include "bufferview_funcs.h" #include "bufferview_funcs.h"
#include "debug.h" #include "debug.h"
#include "lastfiles.h" #include "lastfiles.h"
#include "frontends/LyXView.h"
#include "lyxrc.h" #include "lyxrc.h"
#include "lyxtext.h" #include "lyxtext.h"
#include "gettext.h" #include "gettext.h"
@ -25,6 +24,8 @@
#include "insets/insetlabel.h" #include "insets/insetlabel.h"
#include "frontends/lyx_gui.h"
#include "frontends/LyXView.h"
#include "frontends/Alert.h" #include "frontends/Alert.h"
#include "frontends/FileDialog.h" #include "frontends/FileDialog.h"
@ -52,7 +53,6 @@ using std::make_pair;
extern BufferList bufferlist; extern BufferList bufferlist;
// this should be static, but I need it in buffer.C // this should be static, but I need it in buffer.C
bool quitting; // flag, that we are quitting the program bool quitting; // flag, that we are quitting the program
extern bool finished; // all cleanup done just let it run through now.
void ShowMessage(Buffer const * buf, void ShowMessage(Buffer const * buf,
@ -239,7 +239,7 @@ void QuitLyX()
DestroyLyXTmpDir(system_tempdir); DestroyLyXTmpDir(system_tempdir);
finished = true; lyx_gui::exit();
} }

View File

@ -68,9 +68,6 @@ boost::scoped_ptr<LastFiles> lastfiles;
// This is the global bufferlist object // This is the global bufferlist object
BufferList bufferlist; BufferList bufferlist;
// this should be static, but I need it in buffer.C
bool finished = false; // flag, that we are quitting the program
// convenient to have it here. // convenient to have it here.
boost::scoped_ptr<kb_keymap> toplevel_keymap; boost::scoped_ptr<kb_keymap> toplevel_keymap;