summaryrefslogtreecommitdiff
path: root/core/tools/quicklauncher/main.cpp
Side-by-side diff
Diffstat (limited to 'core/tools/quicklauncher/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/tools/quicklauncher/main.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/core/tools/quicklauncher/main.cpp b/core/tools/quicklauncher/main.cpp
index e509908..7d368ab 100644
--- a/core/tools/quicklauncher/main.cpp
+++ b/core/tools/quicklauncher/main.cpp
@@ -3,58 +3,57 @@
**
** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include <qpainter.h>
#include <qstrlist.h>
#include <qtimer.h>
#include <qguardedptr.h>
#include <qcopchannel_qws.h>
#define QTOPIA_INTERNAL_INITAPP
-#include <qtopia/timezone.h>
#include <qtopia/qpeapplication.h>
-#include <qtopia/resource.h>
-#include <qtopia/pluginloader.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
+#include "dropins.h"
+
static QPEApplication *app = 0;
static PluginLoader *loader = 0;
static ApplicationInterface *appIface = 0;
static QGuardedPtr<QWidget> mainWindow;
#ifdef _OS_LINUX_
static char **argv0 = 0;
static int argv_lth;
extern char **environ;
#ifndef SPT_BUFSIZE
#define SPT_BUFSIZE 2048
#endif
#include <stdarg.h>
void setproctitle (const char *fmt,...) {
int i;
char buf[SPT_BUFSIZE];
va_list ap;
if (!argv0)
return;
va_start(ap, fmt);
(void) vsnprintf(buf, SPT_BUFSIZE, fmt, ap);
va_end(ap);
@@ -189,53 +188,60 @@ int main( int argc, char** argv )
for (i = 0; envp[i] != NULL; i++)
if ((environ[i] = strdup(envp[i])) == NULL)
return -1;
environ[i] = NULL;
argv0 = argv;
if (i > 0)
argv_lth = envp[i-1] + strlen(envp[i-1]) - argv0[0];
else
argv_lth = argv0[argc-1] + strlen(argv0[argc-1]) - argv0[0];
#endif
(void)new QuickLauncher();
qDebug( "QuickLauncher running" );
// Pre-load default fonts
QFontMetrics fm( QApplication::font() );
fm.ascent(); // causes font load.
QFont f( QApplication::font() );
f.setWeight( QFont::Bold );
QFontMetrics fmb( f );
fmb.ascent(); // causes font load.
// Each of the following force internal structures/internal
// initialization to be performed. This may mean allocating
// memory that is not needed by all applications.
+#if 0
TimeZone::current().isValid(); // popuplate timezone cache
TimeString::currentDateFormat(); // create internal structures
TimeString::currentAMPM();
+#endif
Resource::loadIconSet("new"); // do internal init
+ /* make sure libopie gets lined in */
+ {
+ OWait item;
+ }
+
// Create a widget to force initialization of title bar images, etc.
QObject::disconnect(app, SIGNAL(lastWindowClosed()), app, SLOT(hideOrQuit()));
QWidget *w = new QWidget(0,0,Qt::WDestructiveClose|Qt::WStyle_ContextHelp|Qt::WStyle_Tool);
w->setGeometry( -100, -100, 10, 10 );
w->show();
QTimer::singleShot( 0, w, SLOT(close()) );
app->enter_loop();
}
int rv = app->exec();
if ( mainWindow )
delete (QWidget*)mainWindow;
if ( appIface )
loader->releaseInterface( appIface );
delete loader;
delete app;
return rv;
}
#include "main.moc"