summaryrefslogtreecommitdiff
authoralwin <alwin>2004-02-26 22:26:20 (UTC)
committer alwin <alwin>2004-02-26 22:26:20 (UTC)
commitcb7a0156d641e96dfb6fe1cea6ca3a26e54ce6b2 (patch) (side-by-side diff)
tree90b117bd6df3cc7ead72d191e618655725f84dc2
parent303b5a8e72fe319e6123b01f104b7cb049599f6f (diff)
downloadopie-cb7a0156d641e96dfb6fe1cea6ca3a26e54ce6b2.zip
opie-cb7a0156d641e96dfb6fe1cea6ca3a26e54ce6b2.tar.gz
opie-cb7a0156d641e96dfb6fe1cea6ca3a26e54ce6b2.tar.bz2
flag ms_is_starting
it will be set true until the main eventloop is reached. Check it with ServerApp::isStarting()
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/serverapp.cpp14
-rw-r--r--core/launcher/serverapp.h4
2 files changed, 17 insertions, 1 deletions
diff --git a/core/launcher/serverapp.cpp b/core/launcher/serverapp.cpp
index 11381e6..f7c2341 100644
--- a/core/launcher/serverapp.cpp
+++ b/core/launcher/serverapp.cpp
@@ -233,87 +233,88 @@ bool KeyFilter::checkButtonAction(bool db, int keycode, int press, int autoRepe
return TRUE;
}
if ( keycode == Key_F31 ) {
if ( press ) emit symbol();
QWSServer::screenSaverActivate(FALSE);
return TRUE;
}
if ( keycode == Key_NumLock )
if ( press ) emit numLockStateToggle();
if ( keycode == Key_CapsLock )
if ( press ) emit capsLockStateToggle();
if ( serverApp )
serverApp->keyClick(keycode,press,autoRepeat);
return FALSE;
}
enum MemState { MemUnknown, MemVeryLow, MemLow, MemNormal } memstate=MemUnknown;
#if defined(QPE_HAVE_MEMALERTER)
QPE_MEMALERTER_IMPL
#endif
//---------------------------------------------------------------------------
bool ServerApplication::doRestart = FALSE;
bool ServerApplication::allowRestart = TRUE;
+bool ServerApplication::ms_is_starting = TRUE;
void ServerApplication::switchLCD( bool on ) {
if ( !qApp )
return;
ServerApplication *dapp = ServerApplication::me() ;
if ( !dapp-> m_screensaver )
return;
if ( on ) {
dapp-> m_screensaver-> setDisplayState ( true );
dapp-> m_screensaver-> setBacklight ( -3 );
}else
dapp-> m_screensaver-> setDisplayState ( false );
}
ServerApplication::ServerApplication( int& argc, char **argv, Type t )
: QPEApplication( argc, argv, t )
{
-
+ ms_is_starting = true;
// We know we'll have lots of cached pixmaps due to App/DocLnks
QPixmapCache::setCacheLimit(512);
m_ps = new PowerStatus;
m_ps_last = new PowerStatus;
pa = new DesktopPowerAlerter( 0 );
m_apm_timer = new QTimer( this );
connect(m_apm_timer, SIGNAL( timeout() ),
this, SLOT( apmTimeout() ) );
reloadPowerWarnSettings();
QCopChannel *channel = new QCopChannel( "QPE/System", this );
connect(channel, SIGNAL(received( const QCString&, const QByteArray& ) ),
this, SLOT(systemMessage(const QCString&, const QByteArray& ) ) );
channel = new QCopChannel("QPE/Launcher", this );
connect(channel, SIGNAL(received( const QCString&, const QByteArray& ) ),
this, SLOT(launcherMessage( const QCString&, const QByteArray& ) ) );
m_screensaver = new OpieScreenSaver();
m_screensaver->setInterval( -1 );
QWSServer::setScreenSaver( m_screensaver );
connect( qApp, SIGNAL( volumeChanged( bool ) ),
this, SLOT( rereadVolumes() ) );
/* ### PluginLoader libqtopia SafeMode */
#if 0
@@ -817,34 +818,45 @@ void ServerApplication::checkMemory()
existingMessage = FALSE;
#endif
}
bool ServerApplication::recoverMemory()
{
return FALSE;
}
void ServerApplication::keyClick(int , bool press, bool )
{
if ( press && m_keyclick_sound )
ODevice::inst() -> playKeySound();
}
void ServerApplication::screenClick(bool press)
{
if ( press && m_screentap_sound )
ODevice::inst() -> playTouchSound();
}
void ServerApplication::soundAlarm() {
if ( me ()->m_alarm_sound )
ODevice::inst()->playAlarmSound();
}
ServerApplication *ServerApplication::me ( )
{
return static_cast<ServerApplication*>( qApp );
}
+bool ServerApplication::isStarting()
+{
+ return ms_is_starting;
+}
+
+int ServerApplication::exec()
+{
+ ms_is_starting = true;
+ qDebug("Serverapp - exec");
+ return QPEApplication::exec();
+}
#include "serverapp.moc"
diff --git a/core/launcher/serverapp.h b/core/launcher/serverapp.h
index fe3f24a..4d9f808 100644
--- a/core/launcher/serverapp.h
+++ b/core/launcher/serverapp.h
@@ -66,100 +66,104 @@ public:
protected:
void timerEvent(QTimerEvent*);
signals:
void launch();
void power();
void backlight();
void symbol();
void numLockStateToggle();
void capsLockStateToggle();
void activate(const Opie::ODeviceButton*,bool);
private:
bool keyRegistered( int key );
int held_tid;
const Opie::ODeviceButton* heldButton;
KeyRegisterList m_keys;
};
class ServerApplication : public QPEApplication
{
Q_OBJECT
public:
ServerApplication( int& argc, char **argv, Type t );
~ServerApplication();
static bool doRestart;
static bool allowRestart;
static bool screenLocked();
static void login(bool at_poweron);
+ static bool isStarting();
+
static void switchLCD ( bool on ); // only for togglePower in Desktop
static void soundAlarm(); // only because QCop soundAlarm() is defined in QPE/TaskBar
void restart();
+ int exec();
signals:
void menu();
void home();
void launch();
void power();
void backlight();
void symbol();
void numLockStateToggle();
void capsLockStateToggle();
void prepareForRestart();
void activate(const Opie::ODeviceButton*,bool);
public slots:
virtual void systemMessage( const QCString& msg, const QByteArray& );
virtual void launcherMessage( const QCString& msg, const QByteArray& );
void rereadVolumes();
protected:
bool eventFilter( QObject*, QEvent* );
#ifdef Q_WS_QWS
bool qwsEventFilter( QWSEvent * );
#endif
void shutdown();
void checkMemory();
bool recoverMemory();
void keyClick(int keycode, bool press, bool repeat);
void screenClick(bool press);
protected slots:
void shutdown(ShutdownImpl::Type);
void apmTimeout();
void showSafeMode();
void clearSafeMode();
void togglePower();
void toggleLight();
private:
static ServerApplication *me ();
void reloadPowerWarnSettings();
KeyFilter *kf;
private:
DesktopPowerAlerter *pa;
PowerStatus *m_ps, *m_ps_last;
OpieScreenSaver *m_screensaver;
QTimer *m_apm_timer;
QDateTime m_suspendTime;
int m_powerVeryLow;
int m_powerCritical;
int m_currentPowerLevel;
bool m_keyclick_sound : 1;
bool m_screentap_sound : 1;
bool m_alarm_sound : 1;
+ static bool ms_is_starting;
friend class KeyFilter;
};
#endif // SERVERAPP_H