X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;f=src%2Fmain%2FGUI%2Fmain.cpp;h=806617b22f1b5ed31b1862f684dfcac8a4eb82cf;hb=refs%2Fheads%2Fmaster;hp=68062462daeb74aecfa8d5866b9eb9249133079a;hpb=4bf2068a0d16afd45cd171548da6320095d0851e;p=evaf
diff --git a/src/main/GUI/main.cpp b/src/main/GUI/main.cpp
index 6806246..806617b 100644
--- a/src/main/GUI/main.cpp
+++ b/src/main/GUI/main.cpp
@@ -3,7 +3,7 @@
* @brief The main eVaf GUI application class
* @author Enar Vaikene
*
- * Copyright (c) 2011 Enar Vaikene
+ * Copyright (c) 2011-2019 Enar Vaikene
*
* This file is part of the eVaf C++ cross-platform application development framework.
*
@@ -29,7 +29,6 @@
#include
#include
-#include
#include
#include
@@ -83,7 +82,7 @@ static eVaf::Common::iLogger::Severity ConsoleSeverityLevel = eVaf::Common::iLog
*
* This function outputs messages to the console and to the log file.
*/
-static void messageOutput(QtMsgType type, char const * const msg)
+static void messageOutput(QtMsgType type, QMessageLogContext const &, QString const & msg)
{
static bool inHandler = false;
@@ -128,20 +127,18 @@ static void messageOutput(QtMsgType type, char const * const msg)
*/
static void fatalMsgHandler(QString const & msg, QString const & source, QString const & where)
{
+ Q_UNUSED(source)
+
// Show the message on the screen
if (BeVerbose) {
if (FatalErr::message(QObject::tr("Fatal Error"),
QObject::tr("%1\n\nOccurred in '%2'")
.arg(msg)
.arg(where),
- 0) == FatalErr::Ignore)
+ nullptr) == FatalErr::Ignore)
return;
}
-#ifdef Q_OS_LINUX
- abort();
-#else
exit(1);
-#endif
}
} // namespace eVaf::GUI::Internal
@@ -235,7 +232,7 @@ bool Application::processCommandLine(int argc, char ** argv)
case Common::iLogger::Info:
Internal::ConsoleSeverityLevel = Common::iLogger::Debug;
break;
- case Common::iLogger::Debug:
+ default:
break;
}
}
@@ -263,7 +260,6 @@ void Application::printHelp()
" -lang[uage]=xx[_CC] Specifies the language, where xx is the ISO 639\n"
" language code followed by an optional ISO 3166 country\n"
" code.\n"
- // Handled by the iEnv interface implementation
" -root[dir]=DIR Specifies the application's root directory.\n"
" -dataroot[dir]=DIR Specifies the data root directory.\n"
" -etc[dir]=DIR Specifies the configuration files directory.\n"
@@ -359,7 +355,7 @@ int main(int argc, char ** argv)
// Install our own message handlers
Common::iLogger::instance()->installFatalMsgHandler(Internal::fatalMsgHandler);
- qInstallMsgHandler(Internal::messageOutput);
+ qInstallMessageHandler(Internal::messageOutput);
// Process command-line arguments
if (!Application::processCommandLine(argc, argv))
@@ -391,34 +387,39 @@ int main(int argc, char ** argv)
if (!Internal::installExitHandler())
return 1;
- // Plugin manager
- Plugins::PluginManager pluginManager;
+ int rval = 0;
+ {
+ // Plugin manager
+ Plugins::PluginManager pluginManager;
- // The main run loop
- bool quit = false;
- int rval;
- while (!quit) {
+ // The main run loop
+ bool quit = false;
+ while (!quit) {
- EVAF_INFO("%s is starting up", VER_MODULE_NAME_STR);
+ EVAF_INFO("%s is starting up", VER_MODULE_NAME_STR);
- // Initialize the common library
- if (!Common::init())
- return 1;
+ // Initialize the common library
+ if (!Common::init())
+ return 1;
- // Initialize the plugin manager and load plugins
- if (!pluginManager.init())
- return 1;
+ // Initialize the plugin manager and load plugins
+ if (!pluginManager.init())
+ return 1;
- // Run the application
- EVAF_INFO("Running %s", VER_MODULE_NAME_STR);
- rval = app.exec();
+ // Run the application
+ EVAF_INFO("Running %s", VER_MODULE_NAME_STR);
+ rval = Common::iApp::instance()->exec();
- quit = rval != Common::iApp::RC_Restart;
+ quit = rval != Common::iApp::RC_Restart;
- EVAF_INFO("%s is %s", VER_MODULE_NAME_STR, quit ? "exiting" : "restarting");
+ EVAF_INFO("%s is %s", VER_MODULE_NAME_STR, quit ? "exiting" : "restarting");
- // Unload plugins and finalize the plugin manager
- pluginManager.done();
+ // Unload plugins and finalize the plugin manager
+ pluginManager.done();
+
+ // Finalize the common library
+ Common::done();
+ }
}
EVAF_INFO("%s exit with code %d", VER_MODULE_NAME_STR, rval);