From 04cfff04bf16cb58274f13a7f020e68dfc57685f Mon Sep 17 00:00:00 2001 From: ubbo Date: Mon, 5 Sep 2011 20:21:51 +0000 Subject: try to fix 'not stealth on windows' bug by setting environment variable, needs to be tested on win git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@525 34ebc366-c3a9-4b3c-9f84-69acf7962910 --- main.cpp | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/main.cpp b/main.cpp index eaf852a..28db3a9 100644 --- a/main.cpp +++ b/main.cpp @@ -25,21 +25,32 @@ int main(int argc, char *argv[]) { -#ifndef _WIN32 - // do not use GPG_AGENTS like seahorse, because they may save - // a password an pc's not owned by user - unsetenv("GPG_AGENT_INFO"); -#endif - QApplication app(argc, argv); + // get application path + QString appPath = qApp->applicationDirPath(); + app.setApplicationVersion("0.3.0"); app.setApplicationName("gpg4usb"); + // set environment variables + // TODO: + // - unsetenv on windows? + // - wputenv or wputenv_s on windows? http://msdn.microsoft.com/en-us/library/d6dtz42k(v=vs.80).aspx + #ifndef _WIN32 + // do not use GPG_AGENTS like seahorse, because they may save + // a password an pc's not owned by user + unsetenv("GPG_AGENT_INFO"); + #endif + + // take care of gpg not creating directorys on harddisk + putenv(QString("GNUPGHOME=" + appPath + "/keydb").toAscii().data()); + // QSettings uses org-name for automatically setting path... app.setOrganizationName("conf"); + // specify default path & format for QSettings - QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, qApp->applicationDirPath()); + QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, appPath); QSettings::setDefaultFormat(QSettings::IniFormat); QSettings settings; @@ -51,15 +62,15 @@ int main(int argc, char *argv[]) //internationalize QTranslator translator; translator.load("ts/gpg4usb_" + lang, - qApp->applicationDirPath()); + appPath); app.installTranslator(&translator); // make shortcuts system and language independent QTranslator translator2; #ifdef _WIN32 - translator2.load("ts/qt_windows_" + lang, qApp->applicationDirPath()); + translator2.load("ts/qt_windows_" + lang, appPath); #else - translator2.load("ts/qt_linux_" + lang, qApp->applicationDirPath()); + translator2.load("ts/qt_linux_" + lang, appPath); #endif app.installTranslator(&translator2); -- cgit v1.2.3