summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/main.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 8ed8710..4063517 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -123,95 +123,106 @@ static bool firstUse()
123 QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) { 123 QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
124 if ( !QFile::exists( "/etc/pointercal" ) ) 124 if ( !QFile::exists( "/etc/pointercal" ) )
125 needFirstUse = TRUE; 125 needFirstUse = TRUE;
126 } 126 }
127 127
128 { 128 {
129 Config config( "qpe" ); 129 Config config( "qpe" );
130 config.setGroup( "Startup" ); 130 config.setGroup( "Startup" );
131 needFirstUse |= config.readBoolEntry( "FirstUse", TRUE ); 131 needFirstUse |= config.readBoolEntry( "FirstUse", TRUE );
132 } 132 }
133 133
134 if ( !needFirstUse ) 134 if ( !needFirstUse )
135 return FALSE; 135 return FALSE;
136 136
137 FirstUse *fu = new FirstUse(); 137 FirstUse *fu = new FirstUse();
138 fu->exec(); 138 fu->exec();
139 bool rs = fu->restartNeeded(); 139 bool rs = fu->restartNeeded();
140 delete fu; 140 delete fu;
141 return rs; 141 return rs;
142} 142}
143 143
144int initApplication( int argc, char ** argv ) 144int initApplication( int argc, char ** argv )
145{ 145{
146 cleanup(); 146 cleanup();
147 initEnvironment(); 147 initEnvironment();
148 148
149#ifdef QWS 149#ifdef QWS
150 QWSServer::setDesktopBackground( QImage() ); 150 QWSServer::setDesktopBackground( QImage() );
151#endif 151#endif
152 ServerApplication a( argc, argv, QApplication::GuiServer ); 152 ServerApplication a( argc, argv, QApplication::GuiServer );
153 initKeyboard(); 153 initKeyboard();
154 154
155 if ( firstUse() ) 155 bool firstUseShown = firstUse();
156 if ( firstUseShown )
156 { 157 {
157 a.restart(); 158 a.restart();
158 return 0; 159 return 0;
159 } 160 }
160 161
161 { 162 {
162 QCopEnvelope e("QPE/System", "setBacklight(int)" ); 163 QCopEnvelope e("QPE/System", "setBacklight(int)" );
163 e << -3; // Forced on 164 e << -3; // Forced on
164 } 165 }
165 166
166 AlarmServer::initialize(); 167 AlarmServer::initialize();
167 Server *s = new Server(); 168 Server *s = new Server();
168 new SysFileMonitor(s); 169 new SysFileMonitor(s);
169#ifdef QWS 170#ifdef QWS
170 Network::createServer(s); 171 Network::createServer(s);
171#endif 172#endif
172 s->show(); 173 s->show();
173 174
174#if 0 175 if ( !firstUseShown ) {
175 if ( QDate::currentDate().year() < 2005 ) 176 Config config( "qpe" );
176 { 177 config.setGroup( "Startup" );
177 if ( QMessageBox::information ( 0, ServerApplication::tr( "Information" ), 178 bool showTimeSettings = config.readBoolEntry( "ShowTimeSettings", FALSE );
178 ServerApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" ) 179
179 .arg( TimeString::dateString( QDate::currentDate())), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 180 if ( !showTimeSettings && QDate::currentDate().year() < 2007 )
181 {
182 if ( QMessageBox::information ( 0, ServerApplication::tr( "Information" ),
183 ServerApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" )
184 .arg( TimeString::dateString( QDate::currentDate())),
185 QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
186 {
187 showTimeSettings = TRUE;
188 }
189 }
190
191 if ( showTimeSettings )
180 { 192 {
181 QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" ); 193 QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" );
182 e << QString ( ); 194 e << QString ( );
183 } 195 }
184 } 196 }
185#endif
186 197
187 create_pidfile(); 198 create_pidfile();
188 odebug << "--> mainloop in" << oendl; 199 odebug << "--> mainloop in" << oendl;
189 int rv = a.exec(); 200 int rv = a.exec();
190 odebug << "<-- mainloop out" << oendl; 201 odebug << "<-- mainloop out" << oendl;
191 remove_pidfile(); 202 remove_pidfile();
192 odebug << "removing server object..." << oendl; 203 odebug << "removing server object..." << oendl;
193 delete s; 204 delete s;
194 205
195 odebug << "returning from qpe/initapplication..." << oendl; 206 odebug << "returning from qpe/initapplication..." << oendl;
196 return rv; 207 return rv;
197} 208}
198 209
199static const char *pidfile_path = "/var/run/opie.pid"; 210static const char *pidfile_path = "/var/run/opie.pid";
200 211
201void create_pidfile() 212void create_pidfile()
202{ 213{
203 FILE *f; 214 FILE *f;
204 215
205 if (( f = ::fopen( pidfile_path, "w" ))) { 216 if (( f = ::fopen( pidfile_path, "w" ))) {
206 ::fprintf( f, "%d", getpid ( )); 217 ::fprintf( f, "%d", getpid ( ));
207 ::fclose( f ); 218 ::fclose( f );
208 } 219 }
209 else 220 else
210 { 221 {
211 odebug << "couldn't create pidfile: " << strerror( errno ) << oendl; 222 odebug << "couldn't create pidfile: " << strerror( errno ) << oendl;
212 } 223 }
213} 224}
214 225
215void remove_pidfile() 226void remove_pidfile()
216{ 227{
217 ::unlink( pidfile_path ); 228 ::unlink( pidfile_path );