-rw-r--r-- | pwmanager/pwmanager/main.cpp | 2 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwminit.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/pwmanager/pwmanager/main.cpp b/pwmanager/pwmanager/main.cpp index 70df15d..6e449c6 100644 --- a/pwmanager/pwmanager/main.cpp +++ b/pwmanager/pwmanager/main.cpp | |||
@@ -1,80 +1,81 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * copyright (C) 2003, 2004 by Michael Buesch * | 3 | * copyright (C) 2003, 2004 by Michael Buesch * |
4 | * email: mbuesch@freenet.de * | 4 | * email: mbuesch@freenet.de * |
5 | * * | 5 | * * |
6 | * This program is free software; you can redistribute it and/or modify * | 6 | * This program is free software; you can redistribute it and/or modify * |
7 | * it under the terms of the GNU General Public License version 2 * | 7 | * it under the terms of the GNU General Public License version 2 * |
8 | * as published by the Free Software Foundation. * | 8 | * as published by the Free Software Foundation. * |
9 | * * | 9 | * * |
10 | ***************************************************************************/ | 10 | ***************************************************************************/ |
11 | 11 | ||
12 | /*************************************************************************** | 12 | /*************************************************************************** |
13 | * copyright (C) 2004 by Ulf Schenk | 13 | * copyright (C) 2004 by Ulf Schenk |
14 | * This file is originaly based on version 1.0.1 of pwmanager | 14 | * This file is originaly based on version 1.0.1 of pwmanager |
15 | * and was modified to run on embedded devices that run microkde | 15 | * and was modified to run on embedded devices that run microkde |
16 | * | 16 | * |
17 | * $Id$ | 17 | * $Id$ |
18 | **************************************************************************/ | 18 | **************************************************************************/ |
19 | 19 | ||
20 | #ifndef PWM_EMBEDDED | 20 | #ifndef PWM_EMBEDDED |
21 | #include <kcmdlineargs.h> | 21 | #include <kcmdlineargs.h> |
22 | #include <kaboutdata.h> | 22 | #include <kaboutdata.h> |
23 | #else | 23 | #else |
24 | #include <qdir.h> | 24 | #include <qdir.h> |
25 | #include <kpimglobalprefs.h> | 25 | #include <kpimglobalprefs.h> |
26 | #endif | 26 | #endif |
27 | 27 | ||
28 | #include <klocale.h> | 28 | #include <klocale.h> |
29 | #include <kstandarddirs.h> | 29 | #include <kstandarddirs.h> |
30 | 30 | ||
31 | #include "pwmexception.h" | 31 | #include "pwmexception.h" |
32 | #include "pwminit.h" | 32 | #include "pwminit.h" |
33 | void dumpMissing(); | ||
33 | 34 | ||
34 | #define LICENSE_FILE(::locate("data", "pwmanager/pwmanager_license_text")) | 35 | #define LICENSE_FILE(::locate("data", "pwmanager/pwmanager_license_text")) |
35 | 36 | ||
36 | int PwMApplication::newInstance() | 37 | int PwMApplication::newInstance() |
37 | { | 38 | { |
38 | static bool initial = true; | 39 | static bool initial = true; |
39 | if (initial) { | 40 | if (initial) { |
40 | initial = false; | 41 | initial = false; |
41 | init = new PwMInit(this); | 42 | init = new PwMInit(this); |
42 | init->initializeApp(); | 43 | init->initializeApp(); |
43 | } else { | 44 | } else { |
44 | BUG_ON(!init); | 45 | BUG_ON(!init); |
45 | printInfo("passing parameters to old instance."); | 46 | printInfo("passing parameters to old instance."); |
46 | init->handleCmdLineArgs(false); | 47 | init->handleCmdLineArgs(false); |
47 | } | 48 | } |
48 | return EXIT_SUCCESS; | 49 | return EXIT_SUCCESS; |
49 | } | 50 | } |
50 | 51 | ||
51 | 52 | ||
52 | static const char *description = I18N_NOOP("PwManager\n" | 53 | static const char *description = I18N_NOOP("PwManager\n" |
53 | "The convenient way of managing passwords"); | 54 | "The convenient way of managing passwords"); |
54 | 55 | ||
55 | #ifndef PWM_EMBEDDED | 56 | #ifndef PWM_EMBEDDED |
56 | static KCmdLineOptions options[] = | 57 | static KCmdLineOptions options[] = |
57 | { | 58 | { |
58 | { "minimized", I18N_NOOP("Windows minimized"), 0 }, | 59 | { "minimized", I18N_NOOP("Windows minimized"), 0 }, |
59 | { "mintray", I18N_NOOP("Windows minimized to tray"),0 }, | 60 | { "mintray", I18N_NOOP("Windows minimized to tray"),0 }, |
60 | { "open-deeplocked", I18N_NOOP("Open all \"files\" deeplocked"),0 }, | 61 | { "open-deeplocked", I18N_NOOP("Open all \"files\" deeplocked"),0 }, |
61 | { "skip-self-test", I18N_NOOP("Don't run a self-test on startup"),0 }, | 62 | { "skip-self-test", I18N_NOOP("Don't run a self-test on startup"),0 }, |
62 | { "+[files...]", I18N_NOOP("Files to open on startup"), 0 }, | 63 | { "+[files...]", I18N_NOOP("Files to open on startup"), 0 }, |
63 | { 0, 0, 0 } | 64 | { 0, 0, 0 } |
64 | }; | 65 | }; |
65 | #endif | 66 | #endif |
66 | 67 | ||
67 | #ifdef PWM_DEBUG | 68 | #ifdef PWM_DEBUG |
68 | static void printDebugConfigureInfo() | 69 | static void printDebugConfigureInfo() |
69 | { | 70 | { |
70 | cout << "================================" << endl; | 71 | cout << "================================" << endl; |
71 | cout << PROG_NAME " version " PACKAGE_VER << endl; | 72 | cout << PROG_NAME " version " PACKAGE_VER << endl; |
72 | #ifdef CONFIG_KEYCARD | 73 | #ifdef CONFIG_KEYCARD |
73 | cout << "CONFIG_KEYCARD: enabled" << endl; | 74 | cout << "CONFIG_KEYCARD: enabled" << endl; |
74 | #else | 75 | #else |
75 | cout << "CONFIG_KEYCARD: disabled" << endl; | 76 | cout << "CONFIG_KEYCARD: disabled" << endl; |
76 | #endif | 77 | #endif |
77 | #ifdef CONFIG_KWALLETIF | 78 | #ifdef CONFIG_KWALLETIF |
78 | cout << "CONFIG_KWALLETIF: enabled" << endl; | 79 | cout << "CONFIG_KWALLETIF: enabled" << endl; |
79 | #else | 80 | #else |
80 | cout << "CONFIG_KWALLETIF: disabled" << endl; | 81 | cout << "CONFIG_KWALLETIF: disabled" << endl; |
@@ -166,55 +167,56 @@ int main(int argc, char *argv[]) | |||
166 | bool exitHelp = false; | 167 | bool exitHelp = false; |
167 | if ( argc > 1 ) { | 168 | if ( argc > 1 ) { |
168 | QString command = argv[1]; | 169 | QString command = argv[1]; |
169 | if ( command == "-help" ){ | 170 | if ( command == "-help" ){ |
170 | printf("PWM/PI command line commands:\n"); | 171 | printf("PWM/PI command line commands:\n"); |
171 | printf(" no command: Start PWM/PI in usual way\n"); | 172 | printf(" no command: Start PWM/PI in usual way\n"); |
172 | printf(" -help: This output\n"); | 173 | printf(" -help: This output\n"); |
173 | printf(" PWM/PI is exiting now. Bye!\n"); | 174 | printf(" PWM/PI is exiting now. Bye!\n"); |
174 | exitHelp = true; | 175 | exitHelp = true; |
175 | } | 176 | } |
176 | } | 177 | } |
177 | if ( ! exitHelp ) { | 178 | if ( ! exitHelp ) { |
178 | 179 | ||
179 | PwMApplication a(argc, argv); | 180 | PwMApplication a(argc, argv); |
180 | 181 | ||
181 | KGlobal::setAppName( "pwmanager" ); | 182 | KGlobal::setAppName( "pwmanager" ); |
182 | #ifndef DESKTOP_VERSION | 183 | #ifndef DESKTOP_VERSION |
183 | //qDebug("width %d ",QApplication::desktop()->width() ); | 184 | //qDebug("width %d ",QApplication::desktop()->width() ); |
184 | if ( QApplication::desktop()->width() > 320 ) | 185 | if ( QApplication::desktop()->width() > 320 ) |
185 | KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons22/"); | 186 | KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons22/"); |
186 | else | 187 | else |
187 | KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons16/"); | 188 | KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons16/"); |
188 | #else | 189 | #else |
189 | QString fileName ; | 190 | QString fileName ; |
190 | fileName = qApp->applicationDirPath () + "/kdepim/pwmanager/icons22/"; | 191 | fileName = qApp->applicationDirPath () + "/kdepim/pwmanager/icons22/"; |
191 | KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); | 192 | KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); |
192 | QApplication::addLibraryPath ( qApp->applicationDirPath () ); | 193 | QApplication::addLibraryPath ( qApp->applicationDirPath () ); |
193 | 194 | ||
194 | #endif | 195 | #endif |
195 | KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "pwmanager"))); | 196 | KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "pwmanager"))); |
196 | KPimGlobalPrefs::instance()->setGlobalConfig(); | 197 | KPimGlobalPrefs::instance()->setGlobalConfig(); |
197 | 198 | ||
198 | a.newInstance(); | 199 | a.newInstance(); |
199 | 200 | ||
200 | //US KAddressBookMain m ; | 201 | //US KAddressBookMain m ; |
201 | 202 | ||
202 | //US QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); | 203 | //US QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); |
203 | /*US | 204 | /*US |
204 | #ifndef DESKTOP_VERSION | 205 | #ifndef DESKTOP_VERSION |
205 | a.showMainWidget( &m ); | 206 | a.showMainWidget( &m ); |
206 | #else | 207 | #else |
207 | a.setMainWidget( &m ); | 208 | a.setMainWidget( &m ); |
208 | m.resize (640, 480 ); | 209 | m.resize (640, 480 ); |
209 | m.show(); | 210 | m.show(); |
210 | #endif | 211 | #endif |
211 | */ | 212 | */ |
212 | QObject::connect( &a, SIGNAL( lastWindowClosed()), &a, SLOT (quit())); | 213 | QObject::connect( &a, SIGNAL( lastWindowClosed()), &a, SLOT (quit())); |
213 | a.exec(); | 214 | a.exec(); |
215 | dumpMissing(); | ||
214 | KPimGlobalPrefs::instance()->writeConfig(); | 216 | KPimGlobalPrefs::instance()->writeConfig(); |
215 | } | 217 | } |
216 | qDebug("PWMPI: Bye! "); | 218 | qDebug("PWMPI: Bye! "); |
217 | 219 | ||
218 | #endif | 220 | #endif |
219 | 221 | ||
220 | } | 222 | } |
diff --git a/pwmanager/pwmanager/pwminit.cpp b/pwmanager/pwmanager/pwminit.cpp index 68f3637..0cf248c 100644 --- a/pwmanager/pwmanager/pwminit.cpp +++ b/pwmanager/pwmanager/pwminit.cpp | |||
@@ -142,98 +142,99 @@ void PwMInit::initializeApp() | |||
142 | Configuration::init(); | 142 | Configuration::init(); |
143 | #endif | 143 | #endif |
144 | initDCOP(); | 144 | initDCOP(); |
145 | initKWalletEmu(); | 145 | initKWalletEmu(); |
146 | initKeycard(); | 146 | initKeycard(); |
147 | initTray(); | 147 | initTray(); |
148 | handleCmdLineArgs(); | 148 | handleCmdLineArgs(); |
149 | bool openDeeplocked = false; | 149 | bool openDeeplocked = false; |
150 | if (conf()->confGlobAutostartDeepLocked() || | 150 | if (conf()->confGlobAutostartDeepLocked() || |
151 | savedCmd.open_deeplocked) | 151 | savedCmd.open_deeplocked) |
152 | openDeeplocked = true; | 152 | openDeeplocked = true; |
153 | if ( false ){ | 153 | if ( false ){ |
154 | // LR is not working | 154 | // LR is not working |
155 | //if (conf()->confWndAutoMinimizeOnStart() || | 155 | //if (conf()->confWndAutoMinimizeOnStart() || |
156 | // savedCmd.minToTray) { | 156 | // savedCmd.minToTray) { |
157 | PwMDoc *newDoc = createDoc(); | 157 | PwMDoc *newDoc = createDoc(); |
158 | qDebug(" createDoc()"); | 158 | qDebug(" createDoc()"); |
159 | if (!newDoc->openDocUi(newDoc, | 159 | if (!newDoc->openDocUi(newDoc, |
160 | conf()->confGlobAutoStart(), | 160 | conf()->confGlobAutoStart(), |
161 | openDeeplocked)) { | 161 | openDeeplocked)) { |
162 | delete newDoc; | 162 | delete newDoc; |
163 | } | 163 | } |
164 | 164 | ||
165 | //US ENH for embedded devices: in the case of failure, open a document the default way | 165 | //US ENH for embedded devices: in the case of failure, open a document the default way |
166 | createMainWnd(conf()->confGlobAutoStart(), | 166 | createMainWnd(conf()->confGlobAutoStart(), |
167 | openDeeplocked, | 167 | openDeeplocked, |
168 | true, | 168 | true, |
169 | 0, | 169 | 0, |
170 | savedCmd.minimized); | 170 | savedCmd.minimized); |
171 | 171 | ||
172 | 172 | ||
173 | 173 | ||
174 | 174 | ||
175 | //} | 175 | //} |
176 | } else { | 176 | } else { |
177 | createMainWnd(conf()->confGlobAutoStart(), | 177 | createMainWnd(conf()->confGlobAutoStart(), |
178 | openDeeplocked, | 178 | openDeeplocked, |
179 | true, | 179 | true, |
180 | 0, | 180 | 0, |
181 | savedCmd.minimized); | 181 | savedCmd.minimized); |
182 | } | 182 | } |
183 | runStatus = running; | 183 | runStatus = running; |
184 | } | 184 | } |
185 | 185 | ||
186 | void PwMInit::shutdownApp(int exitStatus) | 186 | void PwMInit::shutdownApp(int exitStatus) |
187 | { | 187 | { |
188 | 188 | ||
189 | 189 | ||
190 | PwM * iii; | 190 | PwM * iii;; |
191 | while ( iii = _mainWndList.first() ) { | 191 | while ( _mainWndList.count() ) { |
192 | iii = _mainWndList.first(); | ||
192 | disconnect(iii, SIGNAL(closed(PwM *)), | 193 | disconnect(iii, SIGNAL(closed(PwM *)), |
193 | this, SLOT(mainWndClosed(PwM *))); | 194 | this, SLOT(mainWndClosed(PwM *))); |
194 | mainWndClosed((iii)); | 195 | mainWndClosed((iii)); |
195 | } | 196 | } |
196 | 197 | ||
197 | printDebug(string("PwMInit::shutdownApp(") | 198 | printDebug(string("PwMInit::shutdownApp(") |
198 | + tostr(exitStatus) + ") called."); | 199 | + tostr(exitStatus) + ") called."); |
199 | PWM_ASSERT((runStatus == running) || (runStatus == init)); | 200 | PWM_ASSERT((runStatus == running) || (runStatus == init)); |
200 | runStatus = shutdown; | 201 | runStatus = shutdown; |
201 | QApplication::exit(exitStatus); | 202 | QApplication::exit(exitStatus); |
202 | /* The destructor of PwMInit is called when control | 203 | /* The destructor of PwMInit is called when control |
203 | * leaves main() | 204 | * leaves main() |
204 | */ | 205 | */ |
205 | } | 206 | } |
206 | 207 | ||
207 | void PwMInit::initPosixSignalHandler() | 208 | void PwMInit::initPosixSignalHandler() |
208 | { | 209 | { |
209 | signal(SIGINT, sig_handler); | 210 | signal(SIGINT, sig_handler); |
210 | signal(SIGTERM, sig_handler); | 211 | signal(SIGTERM, sig_handler); |
211 | } | 212 | } |
212 | 213 | ||
213 | void PwMInit::initDCOP() | 214 | void PwMInit::initDCOP() |
214 | { | 215 | { |
215 | #ifndef PWM_EMBEDDED | 216 | #ifndef PWM_EMBEDDED |
216 | _dcopClient = app->dcopClient(); | 217 | _dcopClient = app->dcopClient(); |
217 | _dcopClient->setNotifications(true); | 218 | _dcopClient->setNotifications(true); |
218 | #endif | 219 | #endif |
219 | 220 | ||
220 | } | 221 | } |
221 | 222 | ||
222 | void PwMInit::initKWalletEmu(bool forceDisable, bool forceReload) | 223 | void PwMInit::initKWalletEmu(bool forceDisable, bool forceReload) |
223 | { | 224 | { |
224 | #ifdef CONFIG_KWALLETIF | 225 | #ifdef CONFIG_KWALLETIF |
225 | if (!conf()->confGlobKwalletEmu() || | 226 | if (!conf()->confGlobKwalletEmu() || |
226 | forceDisable) { | 227 | forceDisable) { |
227 | delete_ifnot_null(_kwalletEmu); | 228 | delete_ifnot_null(_kwalletEmu); |
228 | return; | 229 | return; |
229 | } | 230 | } |
230 | try { | 231 | try { |
231 | if (_kwalletEmu && forceReload) | 232 | if (_kwalletEmu && forceReload) |
232 | delete_and_null(_kwalletEmu); | 233 | delete_and_null(_kwalletEmu); |
233 | if (!_kwalletEmu) | 234 | if (!_kwalletEmu) |
234 | _kwalletEmu = new KWalletEmu(this); | 235 | _kwalletEmu = new KWalletEmu(this); |
235 | } catch (PwMException e) { | 236 | } catch (PwMException e) { |
236 | string errMsg("initializing KWallet emulation failed. ID: "); | 237 | string errMsg("initializing KWallet emulation failed. ID: "); |
237 | errMsg += tostr(static_cast<int>(e.getId())); | 238 | errMsg += tostr(static_cast<int>(e.getId())); |
238 | errMsg += " err-message: "; | 239 | errMsg += " err-message: "; |
239 | errMsg += e.getMessage(); | 240 | errMsg += e.getMessage(); |