Application::Application(int & argc, char ** argv) : QApplication( argc, argv ) { QCoreApplication::setOrganizationName("progeln.de"); QCoreApplication::setOrganizationDomain("progeln.de"); QCoreApplication::setApplicationName("Juicer"); QCoreApplication::setApplicationVersion("1.2"); setQuitOnLastWindowClosed(false); socket = NULL; appFileInfo.setFile(argv[0]); // -- check if juicer is default application for ajfsp links -- this->setAjfspHandler(false); *argv++; while(argc-- > 1) { QString arg(*argv++); if(arg == "--reset") { QSettings lokalSettings; lokalSettings.clear(); } else { argList << QString(arg); } } if(!argList.isEmpty()) { socket = new Socket(APP_PORT, argList, this); connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(start())); } }
KateApp::KateApp (KCmdLineArgs *args) : KApplication () , m_shouldExit(false) , m_args (args) { setQuitOnLastWindowClosed (false); // application interface m_application = new Kate::Application (this); // doc man m_docManager = new KateDocManager (this); // init all normal plugins m_pluginManager = new KatePluginManager (this); // session manager up m_sessionManager = new KateSessionManager (this); // dbus m_adaptor = new KateAppAdaptor( this ); // real init initKate (); m_appCommands = KateAppCommands::self(); }
Application::Application(const QString &id, int &argc, char **argv) : BaseApplication(id, argc, argv) , m_running(false) #ifndef DISABLE_GUI , m_shutdownAct(ShutdownAction::None) #endif { Logger::initInstance(); Preferences::initInstance(); #if defined(Q_OS_MACX) && !defined(DISABLE_GUI) if (QSysInfo::MacintoshVersion > QSysInfo::MV_10_8) { // fix Mac OS X 10.9 (mavericks) font issue // https://bugreports.qt-project.org/browse/QTBUG-32789 QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande"); } #endif setApplicationName("qBittorrent"); initializeTranslation(); #ifndef DISABLE_GUI setStyleSheet("QStatusBar::item { border-width: 0; }"); setQuitOnLastWindowClosed(false); #ifdef Q_OS_WIN connect(this, SIGNAL(commitDataRequest(QSessionManager &)), this, SLOT(shutdownCleanup(QSessionManager &)), Qt::DirectConnection); #endif // Q_OS_WIN #endif // DISABLE_GUI connect(this, SIGNAL(messageReceived(const QString &)), SLOT(processMessage(const QString &))); connect(this, SIGNAL(aboutToQuit()), SLOT(cleanup())); Logger::instance()->addMessage(tr("qBittorrent %1 started", "qBittorrent v3.2.0alpha started").arg(VERSION)); }
PlasmaApp::PlasmaApp() : KUniqueApplication(), m_corona(0), m_maxId(0) { KGlobal::locale()->insertCatalog("plasma-standaloneplasmoids"); KCrash::setFlags(KCrash::AutoRestart); KConfigGroup cg(KGlobal::config(), "General"); Plasma::Theme::defaultTheme()->setFont(cg.readEntry("desktopFont", font())); corona(); KConfigGroup applets = storedConfig(0); foreach (const QString &group, applets.groupList()) { KConfigGroup appletGroup(&applets, group); int id = appletGroup.name().toInt(); QString pluginName = appletGroup.readEntry("plugin", QString()); if (id != 0 && !pluginName.isEmpty()) { m_storedApplets.insert(pluginName, id); m_maxId = qMax(id, m_maxId); } } //newInstance(); connect(this, SIGNAL(aboutToQuit()), this, SLOT(cleanup())); setQuitOnLastWindowClosed(true); }
HexApp::HexApp(int argc, char *argv[]) : QApplication(argc, argv) { #ifdef Q_WS_MAC // Mac application continue running setQuitOnLastWindowClosed(false); #endif }
MisliDesktopGui::MisliDesktopGui(int argc, char *argv[]) : QApplication(argc,argv) { QWidget dummyWidget; //so I can use the static functions below misliWindow = NULL; translator = NULL; clearSettingsOnExit = false; int user_reply; //Set some creditentials setQuitOnLastWindowClosed(false); setOrganizationName("p10"); //this is needed for proper settings access in windows setApplicationName("misli"); setApplicationVersion("2.0.0"); //Construct the splash screen splash = new QSplashScreen(QPixmap(":/img/icon.png")); splash->show(); //Init the settings settings = new QSettings; //Check if there's a series of failed starts and suggest clearing the settings if(failedStarts()>=2){ user_reply = QMessageBox::question(&dummyWidget,tr("Warning"),tr("There have been two unsuccessful starts of the program. Clearing the program settings will probably solve the issue . Persistent program crashes are mostly caused by corrupted notefiles , so you can try to manually narrow out the problematic notefile (remove the notefiles from the work directories one by one). The last one edited is probably the problem (you can try to correct it manually with a text editor to avoid loss of data).\n Do you want to clear the settings?")); if(user_reply==QMessageBox::Ok){ //if the user pressed Ok settings->clear(); settings->sync(); exit(0); } } //Assume we won't start successfully , if we do - the value gets -1-ed on close setFailedStarts(failedStarts()+1); if(firstProgramStart()){ QString newLanguage = QInputDialog::getItem(&dummyWidget,tr("Set the language"),tr("Language:/Език:"),QStringList()<<"English"<<"Български",0,false); if(newLanguage=="English") setLanguage("en"); if(newLanguage=="Български") setLanguage("bg"); } updateTranslator(); //Construct the misli instance class misliInstance = new MisliInstance(false); //Connections connect(this,SIGNAL(languageChanged(QString)),this,SLOT(updateTranslator())); connect(this,SIGNAL(aboutToQuit()),this,SLOT(stuffToDoBeforeQuitting())); //Start worker thread as soon as the main loop starts (so that we first show the splash screen and then start work) workerThread.start(); misliInstance->loadStoredDirs(); misliWindow = new MisliWindow(this); splash->finish(misliWindow); misliWindow->showMaximized(); }
Application::Application(int &argc, char **argv) : QApplication(argc, argv) { setOrganizationName("qstardict"); setApplicationName("qstardict"); #ifndef MAEMO setQuitOnLastWindowClosed(false); #endif // MAEMO #ifndef MAEMO setQuitOnLastWindowClosed(true); #endif // MAEMO #ifdef QSTARDICT_WITH_TRANSLATIONS m_translator = new QTranslator; #ifdef Q_WS_MAC QString binPath = QCoreApplication::applicationDirPath(); // navigate through mac's bundle tree structore m_translator->load("qstardict-" + QLocale::system().name(), binPath + "/../i18n/"); #else m_translator->load("qstardict-" + QLocale::system().name(), QSTARDICT_TRANSLATIONS_DIR); #endif installTranslator(m_translator); m_qtTranslator = new QTranslator; m_qtTranslator->load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); installTranslator(m_qtTranslator); #endif // QSTARDICT_WITH_TRANSLATIONS m_dictCore = new DictCore; m_popupWindow = new PopupWindow; m_popupWindow->setDict(m_dictCore); m_speaker = new Speaker; #ifndef MAEMO m_trayIcon = new TrayIcon; #endif // MAEMO m_mainWindow = new MainWindow; m_mainWindow->setDict(m_dictCore); #ifdef MAEMO m_mainWindow->setVisible(true); #endif // MAEMO #ifdef QSTARDICT_WITH_DBUS m_dbusAdaptor = new DBusAdaptor(m_mainWindow); #endif // QSTARDICT_WITH_DBUS }
Application::Application(int _argc, char** _argv) : QApplication(_argc, _argv) { listeningInterface = "127.0.0.1"; portNumber = 8080; argc = _argc; argv = _argv; setQuitOnLastWindowClosed(false); }
QxApplication::QxApplication(int& argc, char** argv) : QApplication(argc, argv), mainWindow_(0) { #ifdef Q_WS_MAC setQuitOnLastWindowClosed(false); #endif qxApp = this; }
NotifierApp::NotifierApp( int& argc, char* argv[] ) : QApplication( argc, argv ) { setOrganizationName( "Manjaro" ); setOrganizationDomain( "Manjaro" ); setApplicationName( "MSM Notifier for Plasma5" ); setApplicationVersion( PROJECT_VERSION ); setQuitOnLastWindowClosed( false ); }
KRandRApp::KRandRApp() { m_display = new RandRDisplay(); m_tray = new KRandRSystemTray(m_display); m_tray->setObjectName("RANDRTray"); // do not close when the last window is closed: // the system tray is not considered a window, so when the confirm dialog is // closed, the application exits setQuitOnLastWindowClosed(false); }
void unicorn::Application::init() { #ifdef Q_OS_MAC addLibraryPath( applicationDirPath() + "/../plugins" ); #elif defined Q_OS_WIN addLibraryPath( applicationDirPath() + "/plugins" ); #endif #ifdef Q_WS_MAC qt_mac_set_menubar_icons( false ); #endif CoreApplication::init(); setupHotKeys(); #ifdef __APPLE__ setGetURLEventHandler(); AEEventHandlerUPP urlHandler = NewAEEventHandlerUPP( appleEventHandler ); AEInstallEventHandler( kInternetEventClass, kAEGetURL, urlHandler, 0, false ); setOpenApplicationEventHandler(); AEEventHandlerUPP openHandler = NewAEEventHandlerUPP( appleEventHandler ); AEInstallEventHandler( kCoreEventClass, kAEReopenApplication, openHandler, 0, false ); #endif #ifdef Q_WS_MAC #define CSS_PATH "/../Resources/" #else #define CSS_PATH "/" #endif refreshStyleSheet(); translate(); m_icm = new lastfm::InternetConnectionMonitor( this ); connect( m_icm, SIGNAL( up( QString ) ), this, SIGNAL( internetConnectionUp() ) ); connect( m_icm, SIGNAL( down( QString ) ), this, SIGNAL( internetConnectionDown() ) ); connect( &m_bus, SIGNAL( wizardRunningQuery( QString )), SLOT( onWizardRunningQuery( QString ))); connect( &m_bus, SIGNAL( sessionQuery( QString )), SLOT( onBusSessionQuery( QString ))); connect( &m_bus, SIGNAL( sessionChanged( const QMap<QString, QString>& )), SLOT( onBusSessionChanged( const QMap<QString, QString>& ))); connect( &m_bus, SIGNAL( lovedStateChanged(bool)), SIGNAL( busLovedStateChanged(bool))); m_bus.board(); #ifdef __APPLE__ setQuitOnLastWindowClosed( false ); #endif }
Client::Client(int &argc, char **argv, int appflags) : QApplication(argc, argv, appflags) { setAttribute(Qt::AA_UseHighDpiPixmaps); setQuitOnLastWindowClosed(false); applyLocale(QLocale::system().name()); // Parsing arguments QCommandLineParser parser; QCommandLineOption attach_option(QStringList() << "a" << "attach", tr("Attach to running daemon instead of creating a new one."), "url"); parser.addOption(attach_option); parser.addPositionalArgument("url", tr("The \"lvlt:\" URL to open.")); parser.process(*this); QString link; if(parser.positionalArguments().size() > 0){ QRegularExpression link_regex("lvlt:.*"); auto link_index = parser.positionalArguments().indexOf(link_regex); if(link_index != -1) link = parser.positionalArguments().at(link_index); } // Creating components single_channel_ = std::make_unique<SingleChannel>(link); daemon_ = std::make_unique<Daemon>(); control_client_ = std::make_unique<ControlClient>(); if(parser.isSet(attach_option)) control_client_->connectDaemon(QUrl(parser.value(attach_option))); else { connect(daemon_.get(), &Daemon::daemonReady, control_client_.get(), &ControlClient::connectDaemon); daemon_->launch(); } updater_ = new Updater(this); main_window_ = std::make_unique<MainWindow>(*this); // Connecting signals & slots connect(single_channel_.get(), &SingleChannel::showMainWindow, main_window_.get(), &QMainWindow::show); connect(single_channel_.get(), &SingleChannel::openLink, this, &Client::openLink); connect(control_client_.get(), &ControlClient::ControlJsonReceived, main_window_.get(), &MainWindow::handleControlJson); connect(main_window_.get(), &MainWindow::newConfigIssued, control_client_.get(), &ControlClient::sendConfigJson); connect(main_window_.get(), &MainWindow::folderAdded, control_client_.get(), &ControlClient::sendAddFolderJson); connect(main_window_.get(), &MainWindow::folderRemoved, control_client_.get(), &ControlClient::sendRemoveFolderJson); // Initialization complete! if(!link.isEmpty()) openLink(link); }
Manitou::Manitou(int &argc, char **argv) : QApplication(argc, argv), windowsSequence(1), tabsSequence(1), dockMenu(0) { initialize(); #ifdef Q_WS_MAC setQuitOnLastWindowClosed(false); #endif connect(this, SIGNAL(aboutToQuit()), SLOT(destroy())); QTimer::singleShot(0, this, SLOT(postInitialize())); }
PhoneApplication::PhoneApplication(int& argc, char **argv) : QGuiApplication(argc, argv), mLaunchParameters("{}") { webos_application_init("org.webosports.app.phone", &event_handlers, this); webos_application_attach(g_main_loop_new(g_main_context_default(), TRUE)); setApplicationName("PhoneApp"); setQuitOnLastWindowClosed(false); if (arguments().size() == 2) { mLaunchParameters = arguments().at(1); qDebug() << "Launched with parameters: " << mLaunchParameters; } }
Application::Application(const QString &id, int &argc, char **argv) : BaseApplication(id, argc, argv) , m_running(false) , m_shutdownAct(ShutdownDialogAction::Exit) , m_commandLineArgs(parseCommandLine(this->arguments())) #ifndef DISABLE_WEBUI , m_webui(nullptr) #endif { qRegisterMetaType<Log::Msg>("Log::Msg"); setApplicationName("qBittorrent"); validateCommandLineParameters(); QString profileDir = m_commandLineArgs.portableMode ? QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(DEFAULT_PORTABLE_MODE_PROFILE_DIR) : m_commandLineArgs.profileDir; Profile::initialize(profileDir, m_commandLineArgs.configurationName, m_commandLineArgs.relativeFastresumePaths || m_commandLineArgs.portableMode); Logger::initInstance(); SettingsStorage::initInstance(); Preferences::initInstance(); if (m_commandLineArgs.webUiPort > 0) // it will be -1 when user did not set any value Preferences::instance()->setWebUiPort(m_commandLineArgs.webUiPort); setApplicationName("qBittorrent"); initializeTranslation(); #if !defined(DISABLE_GUI) setAttribute(Qt::AA_UseHighDpiPixmaps, true); // opt-in to the high DPI pixmap support setQuitOnLastWindowClosed(false); #endif #if defined(Q_OS_WIN) && !defined(DISABLE_GUI) connect(this, SIGNAL(commitDataRequest(QSessionManager &)), this, SLOT(shutdownCleanup(QSessionManager &)), Qt::DirectConnection); #endif connect(this, SIGNAL(messageReceived(const QString &)), SLOT(processMessage(const QString &))); connect(this, SIGNAL(aboutToQuit()), SLOT(cleanup())); if (isFileLoggerEnabled()) m_fileLogger = new FileLogger(fileLoggerPath(), isFileLoggerBackup(), fileLoggerMaxSize(), isFileLoggerDeleteOld(), fileLoggerAge(), static_cast<FileLogger::FileLogAgeType>(fileLoggerAgeType())); Logger::instance()->addMessage(tr("qBittorrent %1 started", "qBittorrent v3.2.0alpha started").arg(QBT_VERSION)); }
Application::Application( int &argc, char **argv ) : QtSingleApplication( argc, argv ) , trayMenu(0) , url( UPDATER_URL ) , w(0) { QTranslator *t = new QTranslator( this ); t->load(":/idupdater_translation"); installTranslator( t ); setQuitOnLastWindowClosed( false ); setWindowIcon( QIcon( ":/appicon.png" ) ); setApplicationName( APP ); setApplicationVersion( VER_STR( FILE_VER_DOT ) ); setOrganizationDomain( DOMAINURL ); setOrganizationName( ORG ); }
L2tpIPsecVpnApplication::L2tpIPsecVpnApplication(int& iArgc, char** ppArgv, APPLICATIONMODE appMode) : QApplication(iArgc, ppArgv, appMode != PASSWORD_CALLBACK && appMode != APPLYSETTINGS && appMode != DELETEALLCONFFILES), m_Mode(appMode), m_pProcess(new QProcess), m_pLocalPeer(new LocalPeer()) { setOrganizationName("WernerJaeger"); setOrganizationDomain("wejaeger.com"); setApplicationName(APPLICATIONNAME); setApplicationVersion("1.0.9"); setObjectName("L2tpIPsecVpn"); qRegisterMetaType<NetworkInterface>("NetworkInterface"); qRegisterMetaType<QAbstractSocket::SocketState>("QAbstractSocket::SocketState"); connect(m_pLocalPeer, SIGNAL(messageReceived(const QString&)), SLOT(onMessageReceived(const QString&))); connect(m_pProcess, SIGNAL(finished(int)), this, SLOT(onConnectionEditorDialogClosed(int))); if (mode() == CONNECTION_MANAGER) setQuitOnLastWindowClosed(false); }
CryptobullionApplication::CryptobullionApplication(int &argc, char **argv): QApplication(argc, argv), coreThread(0), optionsModel(0), clientModel(0), window(0), pollShutdownTimer(0), #ifdef ENABLE_WALLET paymentServer(0), walletModel(0), #endif returnValue(0) { setQuitOnLastWindowClosed(false); startThread(); }
unicorn::Application::Application( int& argc, char** argv ) throw( StubbornUserException ) : QApplication( argc, argv ), m_logoutAtQuit( false ) { #ifdef Q_WS_MAC qt_mac_set_menubar_icons( false ); #endif CoreApplication::init(); #ifdef __APPLE__ AEEventHandlerUPP h = NewAEEventHandlerUPP( appleEventHandler ); AEInstallEventHandler( kCoreEventClass, kAEReopenApplication, h, 0, false ); #endif translate(); CoreSettings s; if (s.value( "Username" ).toString().isEmpty() || s.value( "SessionKey" ).toString().isEmpty() || Settings().logOutOnExit()) { LoginDialog d( s.value( "Username" ).toString() ); if (d.exec() == QDialog::Accepted) { // if LogOutOnExit is enabled, really, we shouldn't store these, // but it means other Unicorn apps can log in while the client is // loaded, and we delete the settings on exit if logOut is on s.setValue( "Username", d.username() ); s.setValue( "SessionKey", d.sessionKey() ); s.setValue( "Password", d.passwordHash() ); UserSettings().setValue( UserSettings::subscriptionKey(), d.isSubscriber() ); } else { throw StubbornUserException(); } } Ws::Username = s.value( "Username" ).toString(); Ws::SessionKey = s.value( "SessionKey" ).toString(); connect( AuthenticatedUser().getInfo(), SIGNAL(finished( WsReply* )), SLOT(onUserGotInfo( WsReply* )) ); #ifdef __APPLE__ setQuitOnLastWindowClosed( false ); #endif }
void CalamaresApplication::init() { qDebug() << "CalamaresApplication thread:" << thread(); //TODO: Icon loader Logger::setupLogfile(); setQuitOnLastWindowClosed( false ); initSettings(); initBranding(); setWindowIcon( QIcon( "from branding" ) ); initPlugins(); }
void CalamaresApplication::init() { cDebug() << "CalamaresApplication thread:" << thread(); //TODO: Icon loader Logger::setupLogfile(); setQuitOnLastWindowClosed( false ); initSettings(); initBranding(); setWindowIcon( QIcon( Calamares::Branding::instance()-> imagePath( Calamares::Branding::ProductIcon ) ) ); initPlugins(); }
KWeshTuNotesApp::KWeshTuNotesApp(): KUniqueApplication() { setQuitOnLastWindowClosed ( false ); Data::DataManager::iniConfigration(); if ( Settings::useNepomuk() ) { int nepomukActivate = Nepomuk::ResourceManager::instance()->init(); if ( nepomukActivate < 0 ) { KMessageBox::information(0, i18n("Nepomuk is not found. \"Tag basket\" cannot work correctly."), i18n("Alert"), "nepomukdontwork"); } } m_mainWindow = new MainWindow(); m_mainWindow->show(); m_mainWindow->loadData(); }
Hourglass::Hourglass(int &argc, char **argv) : QApplication(argc, argv) { connect(this, SIGNAL(aboutToQuit()), SLOT(stopActivities())); setOrganizationName("vubiostat"); setOrganizationDomain("biostat.mc.vanderbilt.edu"); setApplicationName("hourglass"); if (setupDatabase()) { m_mainwindow = new MainWindow(); setQuitOnLastWindowClosed(!m_mainwindow->isTrayIconShown()); connect(m_mainwindow, SIGNAL(trayIconHidden()), SLOT(trayIconHidden())); connect(m_mainwindow, SIGNAL(trayIconShown()), SLOT(trayIconShown())); m_mainwindow->show(); } else { quit(); } }
CuteChessApplication::CuteChessApplication(int& argc, char* argv[]) : QApplication(argc, argv), m_engineManager(nullptr), m_gameManager(nullptr), m_gameDatabaseManager(nullptr), m_gameDatabaseDialog(nullptr) { Mersenne::initialize(QTime(0,0,0).msecsTo(QTime::currentTime())); // Set the application icon QIcon icon; icon.addFile(":/icons/cutechess_512x512.png"); icon.addFile(":/icons/cutechess_256x256.png"); icon.addFile(":/icons/cutechess_128x128.png"); icon.addFile(":/icons/cutechess_64x64.png"); icon.addFile(":/icons/cutechess_32x32.png"); icon.addFile(":/icons/cutechess_24x24.png"); icon.addFile(":/icons/cutechess_16x16.png"); setWindowIcon(icon); setQuitOnLastWindowClosed(false); QCoreApplication::setOrganizationName("cutechess"); QCoreApplication::setOrganizationDomain("cutechess.org"); QCoreApplication::setApplicationName("cutechess"); QCoreApplication::setApplicationVersion(CUTECHESS_VERSION); // Use Ini format on all platforms QSettings::setDefaultFormat(QSettings::IniFormat); // Load the engines engineManager()->loadEngines(configPath() + QLatin1String("/engines.json")); // Read the game database state gameDatabaseManager()->readState(configPath() + QLatin1String("/gamedb.bin")); connect(this, SIGNAL(lastWindowClosed()), this, SLOT(onLastWindowClosed())); connect(this, SIGNAL(aboutToQuit()), this, SLOT(onAboutToQuit())); }
Application::Application(const QString &id, int &argc, char **argv) : BaseApplication(id, argc, argv) , m_running(false) , m_shutdownAct(ShutdownDialogAction::Exit) { Logger::initInstance(); SettingsStorage::initInstance(); Preferences::initInstance(); #if defined(Q_OS_MACX) && !defined(DISABLE_GUI) if (QSysInfo::MacintoshVersion > QSysInfo::MV_10_8) { // fix Mac OS X 10.9 (mavericks) font issue // https://bugreports.qt-project.org/browse/QTBUG-32789 QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande"); } #endif setApplicationName("qBittorrent"); initializeTranslation(); #ifndef DISABLE_GUI #ifdef QBT_USES_QT5 setAttribute(Qt::AA_UseHighDpiPixmaps, true); // opt-in to the high DPI pixmap support #endif // QBT_USES_QT5 setQuitOnLastWindowClosed(false); #ifdef Q_OS_WIN connect(this, SIGNAL(commitDataRequest(QSessionManager &)), this, SLOT(shutdownCleanup(QSessionManager &)), Qt::DirectConnection); #endif // Q_OS_WIN #endif // DISABLE_GUI connect(this, SIGNAL(messageReceived(const QString &)), SLOT(processMessage(const QString &))); connect(this, SIGNAL(aboutToQuit()), SLOT(cleanup())); if (isFileLoggerEnabled()) m_fileLogger = new FileLogger(fileLoggerPath(), isFileLoggerBackup(), fileLoggerMaxSize(), isFileLoggerDeleteOld(), fileLoggerAge(), static_cast<FileLogger::FileLogAgeType>(fileLoggerAgeType())); Logger::instance()->addMessage(tr("qBittorrent %1 started", "qBittorrent v3.2.0alpha started").arg(VERSION)); }
App::App(int &argc, char **argv) : QApplication(argc, argv), d(new Data(this)) { #ifdef Q_OS_LINUX setlocale(LC_NUMERIC,"C"); #endif setOrganizationName(u"xylosper"_q); setOrganizationDomain(u"xylosper.net"_q); setApplicationName(_L(name())); setApplicationVersion(_L(version())); Record r(APP_GROUP); QVariant vLocale; r.read(vLocale, u"locale"_q); setLocale(Locale::fromVariant(vLocale)); d->addOption(LineCmd::Open, u"open"_q, tr("Open given %1 for file path or URL."), u"mrl"_q); d->addOption(LineCmd::Wake, u"wake"_q, tr("Bring the application window in front.")); d->addOption(LineCmd::Action, u"action"_q, tr("Exectute %1 action or open %1 menu."), u"id"_q); d->addOption(LineCmd::LogLevel, u"log-level"_q, tr("Maximum verbosity for log. %1 should be one of nexts:") % "\n "_a % Log::options().join(u", "_q), u"lv"_q); d->addOption(LineCmd::OpenGLDebug, u"opengl-debug"_q, tr("Turn on OpenGL debug logger.")); d->addOption(LineCmd::Debug, u"debug"_q, tr("Turn on options for debugging.")); d->getCommandParser(&d->cmdParser)->process(arguments()); d->getCommandParser(&d->msgParser); d->execute(&d->cmdParser); #if defined(Q_OS_MAC) && defined(CMPLAYER_RELEASE) static const auto path = QApplication::applicationDirPath().toLocal8Bit(); _Debug("Set $LIBQUVI_SCRIPTSDIR=\"%%\"", path); if (setenv("LIBQUVI_SCRIPTSDIR", path.data(), 1) < 0) _Error("Cannot set $LIBQUVI_SCRIPTSDIR. " "Some streaming functions won't work."); #endif setQuitOnLastWindowClosed(false); #ifndef Q_OS_MAC setWindowIcon(defaultIcon()); #endif auto makeStyle = [&]() { auto name = r.value(u"style"_q, styleName()).toString(); if (style()->objectName().compare(name, QCI) == 0) return; if (!d->styleNames.contains(name, QCI)) return; setStyle(QStyleFactory::create(name)); }; d->styleNames = [this] () { auto names = QStyleFactory::keys(); const auto defaultName = style()->objectName(); for (auto it = ++names.begin(); it != names.end(); ++it) { if (defaultName.compare(*it, QCI) == 0) { const auto name = *it; names.erase(it); names.prepend(name); break; } } return names; }(); makeStyle(); connect(&d->connection, &LocalConnection::messageReceived, this, &App::handleMessage); const auto map = r.value(u"open_folders"_q).toMap(); QMap<QString, QString> folders; for (auto it = map.begin(); it != map.end(); ++it) folders.insert(it.key(), it->toString()); set_open_folders(folders); }
/** Constructor. Parses the command-line arguments, resets Rshare's * configuration (if requested), and sets up the GUI style and language * translation. */ Rshare::Rshare(QStringList args, int &argc, char **argv, const QString &dir) : QApplication(argc, argv) { mStartupTime = QDateTime::currentDateTime(); #if QT_VERSION >= QT_VERSION_CHECK (5, 0, 0) qInstallMessageHandler(qt_msg_handler); #else qInstallMsgHandler(qt_msg_handler); #endif #ifndef __APPLE__ /* set default window icon */ setWindowIcon(QIcon(":/icons/logo_128.png")); #endif mBlink = true; QTimer *timer = new QTimer(this); timer->setInterval(500); connect(timer, SIGNAL(timeout()), this, SLOT(blinkTimer())); timer->start(); timer = new QTimer(this); timer->setInterval(60000); connect(timer, SIGNAL(timeout()), this, SIGNAL(minuteTick())); timer->start(); /* Read in all our command-line arguments. */ parseArguments(args); /* Check if we're supposed to reset our config before proceeding. */ if (_args.contains(ARG_RESET)) { Settings->reset(); } /* Handle the -loglevel and -logfile options. */ if (_args.contains(ARG_LOGFILE)) _log.open(_args.value(ARG_LOGFILE)); if (_args.contains(ARG_LOGLEVEL)) { _log.setLogLevel(Log::stringToLogLevel( _args.value(ARG_LOGLEVEL))); if (!_args.contains(ARG_LOGFILE)) _log.open(stdout); } if (!_args.contains(ARG_LOGLEVEL) && !_args.contains(ARG_LOGFILE)) _log.setLogLevel(Log::Off); /* config directory */ useConfigDir = false; if (dir != "") { setConfigDirectory(dir); } /** Initialize support for language translations. */ //LanguageSupport::initialize(); resetLanguageAndStyle(); /* Switch off auto shutdown */ setQuitOnLastWindowClosed ( false ); /* Initialize GxsIdDetails */ GxsIdDetails::initialize(); }
/* Note that argc is a reference! If it is not, QApplication will store the stack position of the local argc and crash when argc is used after the constructor exits. */ BoronApp::BoronApp( int& argc, char** argv ) : QApplication( argc, argv ) { setQuitOnLastWindowClosed( false ); }
Application::Application( int &argc, char **argv ) : Common( argc, argv ) , d( new ApplicationPrivate ) { QStringList args = arguments(); args.removeFirst(); #ifndef Q_OS_MAC if( isRunning() ) { sendMessage( args.join( "\", \"" ) ); return; } connect( this, SIGNAL(messageReceived(QString)), SLOT(parseArgs(QString)) ); #endif setApplicationName( APP ); setApplicationVersion( QString( "%1.%2.%3.%4" ) .arg( MAJOR_VER ).arg( MINOR_VER ).arg( RELEASE_VER ).arg( BUILD_VER ) ); setOrganizationDomain( DOMAINURL ); setOrganizationName( ORG ); setWindowIcon( QIcon( ":/images/crypto_128x128.png" ) ); // Actions d->closeAction = new QAction( this ); d->closeAction->setShortcut( Qt::CTRL + Qt::Key_W ); connect( d->closeAction, SIGNAL(triggered()), SLOT(closeWindow()) ); d->newAction = new QAction( this ); d->newAction->setShortcut( Qt::CTRL + Qt::Key_N ); connect( d->newAction, SIGNAL(triggered()), SLOT(parseArgs()) ); #if defined(Q_OS_MAC) setQuitOnLastWindowClosed( false ); d->bar = new MacMenuBar; d->bar->addAction( MacMenuBar::AboutAction, this, SLOT(showAbout()) ); d->bar->addAction( MacMenuBar::PreferencesAction, this, SLOT(showSettings()) ); d->bar->fileMenu()->addAction( d->newAction ); d->bar->fileMenu()->addAction( d->closeAction ); d->bar->dockMenu()->addAction( d->newAction ); #endif installTranslator( d->appTranslator = new QTranslator( this ) ); installTranslator( d->commonTranslator = new QTranslator( this ) ); installTranslator( d->qtTranslator = new QTranslator( this ) ); loadTranslation( Settings::language() ); initDigiDocLib(); QString ini = QString( "%1/digidoc.ini" ).arg( applicationDirPath() ); if( QFileInfo( ini ).isFile() ) initConfigStore( ini.toUtf8() ); else initConfigStore( NULL ); Poller::ApiType api = Poller::PKCS11; #ifdef Q_OS_WIN QString provider; QSettings reg( "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography\\Calais\\SmartCards", QSettings::NativeFormat ); Q_FOREACH( const QString &group, reg.childGroups() ) { if( group.contains( "esteid", Qt::CaseInsensitive ) ) { provider = reg.value( group + "/" + "Crypto Provider" ).toString(); break; } } if( QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA && provider != "EstEID Card CSP" ) api = Poller::CNG; if( args.contains("-capi") && QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA ) showWarning( tr("CAPI parameter is not supported on Windows Vista and newer") ); else if( args.contains("-capi") ) api = Poller::CAPI; if( args.contains("-cng") ) api = Poller::CNG; #endif if( args.contains("-pkcs11") ) api = Poller::PKCS11; d->poller = new Poller( api, this ); parseArgs( args ); }