summaryrefslogtreecommitdiffabout
path: root/pwmanager
Unidiff
Diffstat (limited to 'pwmanager') (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/main.cpp2
-rw-r--r--pwmanager/pwmanager/pwminit.cpp5
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"
33void 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
36int PwMApplication::newInstance() 37int 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
52static const char *description = I18N_NOOP("PwManager\n" 53static 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
56static KCmdLineOptions options[] = 57static 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
68static void printDebugConfigureInfo() 69static 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
186void PwMInit::shutdownApp(int exitStatus) 186void 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
207void PwMInit::initPosixSignalHandler() 208void 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
213void PwMInit::initDCOP() 214void 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
222void PwMInit::initKWalletEmu(bool forceDisable, bool forceReload) 223void 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();