X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fmain.cpp;h=6552598487ff84b196f0abbcf72b12908c7e5707;hp=c0ffabff6398a57572d305d485fb30c2932623ed;hb=c52a94cb937654bf06d5074bf0736a52ec94a52d;hpb=04315f46a16fc3627218377071e008b6b9744992 diff --git a/src/common/main.cpp b/src/common/main.cpp index c0ffabff..65525984 100644 --- a/src/common/main.cpp +++ b/src/common/main.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,11 +32,11 @@ #endif // We don't want quasselcore to depend on KDE -#if defined HAVE_KDE && defined BUILD_CORE -# undef HAVE_KDE +#if defined HAVE_KDE4 && defined BUILD_CORE +# undef HAVE_KDE4 #endif -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # include "kcmdlinewrapper.h" #endif @@ -52,17 +52,38 @@ Q_IMPORT_PLUGIN(qgif) int main(int argc, char **argv) { - // Setup build information and version string - # include "version.gen" - buildinfo.append(QString(",%1,%2").arg(__DATE__, __TIME__)); - Quassel::setupBuildInfo(buildinfo); + Quassel::setupBuildInfo(); QCoreApplication::setApplicationName(Quassel::buildInfo().applicationName); QCoreApplication::setOrganizationName(Quassel::buildInfo().organizationName); QCoreApplication::setOrganizationDomain(Quassel::buildInfo().organizationDomain); + // on OSX with Qt4, raster seems to fix performance issues +#if QT_VERSION < 0x050000 && defined Q_OS_MAC && !defined BUILD_CORE + QApplication::setGraphicsSystem("raster"); +#endif + + // We need to explicitly initialize the required resources when linking statically +#ifndef BUILD_QTUI + Q_INIT_RESOURCE(sql); +#endif +#ifndef BUILD_CORE + Q_INIT_RESOURCE(pics); + Q_INIT_RESOURCE(hicolor); +#endif + +#ifdef EMBED_DATA + Q_INIT_RESOURCE(i18n); +# ifndef BUILD_CORE + Q_INIT_RESOURCE(data); +# ifdef WITH_OXYGEN + Q_INIT_RESOURCE(oxygen); +# endif +# endif +#endif + AbstractCliParser *cliParser; -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 // We need to init KCmdLineArgs first // TODO: build an AboutData compat class to replace our aboutDlg strings KAboutData aboutData("quassel", "kdelibs4", ki18n("Quassel IRC"), Quassel::buildInfo().plainVersionString.toUtf8(), @@ -95,9 +116,11 @@ int main(int argc, char **argv) #ifndef BUILD_CORE // put client-only arguments here + cliParser->addOption("icontheme ", 0, "Override the system icon theme ('oxygen' is recommended)"); cliParser->addOption("qss ", 0, "Load a custom application stylesheet"); cliParser->addSwitch("debugbufferswitches", 0, "Enables debugging for bufferswitches"); cliParser->addSwitch("debugmodel", 0, "Enables debugging for models"); + cliParser->addSwitch("hidewindow", 0, "Start the client minimized to the system tray"); #endif #ifndef BUILD_QTUI // put core-only arguments here @@ -114,9 +137,13 @@ int main(int argc, char **argv) cliParser->addOption("change-userpass ", 0, "Starts an interactive session to change the password of the user identified by username"); cliParser->addSwitch("oidentd", 0, "Enable oidentd integration"); cliParser->addOption("oidentd-conffile ", 0, "Set path to oidentd configuration file"); +#ifdef HAVE_SSL + cliParser->addSwitch("require-ssl", 0, "Require SSL for client connections"); +#endif + cliParser->addSwitch("enable-experimental-dcc", 0, "Enable highly experimental and unfinished support for CTCP DCC (DANGEROUS)"); #endif -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 // the KDE version needs this extra call to parse argc/argv before app is instantiated if (!cliParser->init()) { cliParser->usage(); @@ -132,7 +159,7 @@ int main(int argc, char **argv) MonolithicApplication app(argc, argv); # endif -#ifndef HAVE_KDE +#ifndef HAVE_KDE4 // the non-KDE version parses after app has been instantiated if (!cliParser->init(app.arguments())) { cliParser->usage();