-rw-r--r-- | pwmanager/pwmanager/pwm.cpp | 52 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwm.h | 39 |
2 files changed, 79 insertions, 12 deletions
diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp index cd56399..ac2e66e 100644 --- a/pwmanager/pwmanager/pwm.cpp +++ b/pwmanager/pwmanager/pwm.cpp | |||
@@ -5,527 +5,528 @@ | |||
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 | #include <klocale.h> | 20 | #include <klocale.h> |
21 | #include <klistview.h> | 21 | #include <klistview.h> |
22 | #include <ktoolbar.h> | 22 | #include <ktoolbar.h> |
23 | #include <kfiledialog.h> | 23 | #include <kfiledialog.h> |
24 | #include <kiconloader.h> | 24 | #include <kiconloader.h> |
25 | #include <kmessagebox.h> | 25 | #include <kmessagebox.h> |
26 | 26 | ||
27 | #ifndef PWM_EMBEDDED | 27 | #ifndef PWM_EMBEDDED |
28 | #include <kmenubar.h> | 28 | #include <kmenubar.h> |
29 | #include <kstatusbar.h> | 29 | #include <kstatusbar.h> |
30 | #include <dcopclient.h> | 30 | #include <dcopclient.h> |
31 | #include "configwndimpl.h" | 31 | #include "configwndimpl.h" |
32 | #include "configuration.h" | 32 | #include "configuration.h" |
33 | #else | 33 | #else |
34 | #include <qmenubar.h> | 34 | #include <qmenubar.h> |
35 | #include <qmessagebox.h> | 35 | #include <qmessagebox.h> |
36 | #include <pwmprefs.h> | 36 | #include <pwmprefs.h> |
37 | #include <kpimglobalprefs.h> | 37 | #include <kpimglobalprefs.h> |
38 | #include <kcmconfigs/kcmpwmconfig.h> | 38 | #include <kcmconfigs/kcmpwmconfig.h> |
39 | #include <kcmconfigs/kcmkdepimconfig.h> | 39 | #include <kcmconfigs/kcmkdepimconfig.h> |
40 | #include <kcmultidialog.h> | 40 | #include <kcmultidialog.h> |
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | #include <qpixmap.h> | 43 | #include <qpixmap.h> |
44 | #include <qcheckbox.h> | 44 | #include <qcheckbox.h> |
45 | #include <qspinbox.h> | 45 | #include <qspinbox.h> |
46 | #include <qlineedit.h> | 46 | #include <qlineedit.h> |
47 | #include <qfileinfo.h> | 47 | #include <qfileinfo.h> |
48 | #include <qclipboard.h> | 48 | #include <qclipboard.h> |
49 | 49 | ||
50 | 50 | ||
51 | #include <stdio.h> | 51 | #include <stdio.h> |
52 | 52 | ||
53 | #include "pwm.h" | 53 | #include "pwm.h" |
54 | #include "pwminit.h" | 54 | #include "pwminit.h" |
55 | #include "pwmprint.h" | 55 | #include "pwmprint.h" |
56 | #include "addentrywndimpl.h" | 56 | #include "addentrywndimpl.h" |
57 | #include "globalstuff.h" | 57 | #include "globalstuff.h" |
58 | #include "findwndimpl.h" | 58 | #include "findwndimpl.h" |
59 | 59 | ||
60 | #ifdef CONFIG_KWALLETIF | 60 | #ifdef CONFIG_KWALLETIF |
61 | # include "kwalletif.h" | 61 | # include "kwalletif.h" |
62 | # include "kwalletemu.h" | 62 | # include "kwalletemu.h" |
63 | #endif | 63 | #endif |
64 | #ifdef CONFIG_KEYCARD | 64 | #ifdef CONFIG_KEYCARD |
65 | # include "pwmkeycard.h" | 65 | # include "pwmkeycard.h" |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | 68 | ||
69 | #define DEFAULT_SIZE (QSize(700, 400)) | 69 | #define DEFAULT_SIZE (QSize(700, 400)) |
70 | 70 | ||
71 | // Button IDs for "file" popup menu | 71 | // Button IDs for "file" popup menu |
72 | enum { | 72 | enum { |
73 | BUTTON_POPUP_FILE_NEW = 0, | 73 | BUTTON_POPUP_FILE_NEW = 0, |
74 | BUTTON_POPUP_FILE_OPEN, | 74 | BUTTON_POPUP_FILE_OPEN, |
75 | BUTTON_POPUP_FILE_CLOSE, | 75 | BUTTON_POPUP_FILE_CLOSE, |
76 | BUTTON_POPUP_FILE_SAVE, | 76 | BUTTON_POPUP_FILE_SAVE, |
77 | BUTTON_POPUP_FILE_SAVEAS, | 77 | BUTTON_POPUP_FILE_SAVEAS, |
78 | BUTTON_POPUP_FILE_EXPORT, | 78 | BUTTON_POPUP_FILE_EXPORT, |
79 | BUTTON_POPUP_FILE_IMPORT, | 79 | BUTTON_POPUP_FILE_IMPORT, |
80 | BUTTON_POPUP_FILE_PRINT, | 80 | BUTTON_POPUP_FILE_PRINT, |
81 | BUTTON_POPUP_FILE_QUIT | 81 | BUTTON_POPUP_FILE_QUIT |
82 | }; | 82 | }; |
83 | // Button IDs for "manage" popup menu | 83 | // Button IDs for "manage" popup menu |
84 | enum { | 84 | enum { |
85 | BUTTON_POPUP_MANAGE_ADD = 0, | 85 | BUTTON_POPUP_MANAGE_ADD = 0, |
86 | BUTTON_POPUP_MANAGE_EDIT, | 86 | BUTTON_POPUP_MANAGE_EDIT, |
87 | BUTTON_POPUP_MANAGE_DEL, | 87 | BUTTON_POPUP_MANAGE_DEL, |
88 | BUTTON_POPUP_MANAGE_CHANGEMP | 88 | BUTTON_POPUP_MANAGE_CHANGEMP |
89 | }; | 89 | }; |
90 | // Button IDs for chipcard popup menu | 90 | // Button IDs for chipcard popup menu |
91 | enum { | 91 | enum { |
92 | #ifdef CONFIG_KEYCARD | 92 | #ifdef CONFIG_KEYCARD |
93 | BUTTON_POPUP_CHIPCARD_GENNEW = 0, | 93 | BUTTON_POPUP_CHIPCARD_GENNEW = 0, |
94 | BUTTON_POPUP_CHIPCARD_DEL, | 94 | BUTTON_POPUP_CHIPCARD_DEL, |
95 | BUTTON_POPUP_CHIPCARD_READID, | 95 | BUTTON_POPUP_CHIPCARD_READID, |
96 | BUTTON_POPUP_CHIPCARD_SAVEBACKUP, | 96 | BUTTON_POPUP_CHIPCARD_SAVEBACKUP, |
97 | BUTTON_POPUP_CHIPCARD_REPLAYBACKUP | 97 | BUTTON_POPUP_CHIPCARD_REPLAYBACKUP |
98 | #else // CONFIG_KEYCARD | 98 | #else // CONFIG_KEYCARD |
99 | BUTTON_POPUP_CHIPCARD_NO = 0 | 99 | BUTTON_POPUP_CHIPCARD_NO = 0 |
100 | #endif // CONFIG_KEYCARD | 100 | #endif // CONFIG_KEYCARD |
101 | }; | 101 | }; |
102 | // Button IDs for "view" popup menu | 102 | // Button IDs for "view" popup menu |
103 | enum { | 103 | enum { |
104 | BUTTON_POPUP_VIEW_FIND = 0, | 104 | BUTTON_POPUP_VIEW_FIND = 0, |
105 | BUTTON_POPUP_VIEW_LOCK, | 105 | BUTTON_POPUP_VIEW_LOCK, |
106 | BUTTON_POPUP_VIEW_DEEPLOCK, | 106 | BUTTON_POPUP_VIEW_DEEPLOCK, |
107 | BUTTON_POPUP_VIEW_UNLOCK | 107 | BUTTON_POPUP_VIEW_UNLOCK |
108 | }; | 108 | }; |
109 | // Button IDs for "options" popup menu | 109 | // Button IDs for "options" popup menu |
110 | enum { | 110 | enum { |
111 | BUTTON_POPUP_OPTIONS_CONFIG = 0 | 111 | BUTTON_POPUP_OPTIONS_CONFIG = 0 |
112 | }; | 112 | }; |
113 | // Button IDs for "export" popup menu (in "file" popup menu) | 113 | // Button IDs for "export" popup menu (in "file" popup menu) |
114 | enum { | 114 | enum { |
115 | BUTTON_POPUP_EXPORT_TEXT = 0, | 115 | BUTTON_POPUP_EXPORT_TEXT = 0, |
116 | BUTTON_POPUP_EXPORT_GPASMAN | 116 | BUTTON_POPUP_EXPORT_GPASMAN |
117 | #ifdef CONFIG_KWALLETIF | 117 | #ifdef CONFIG_KWALLETIF |
118 | ,BUTTON_POPUP_EXPORT_KWALLET | 118 | ,BUTTON_POPUP_EXPORT_KWALLET |
119 | #endif | 119 | #endif |
120 | }; | 120 | }; |
121 | // Button IDs for "import" popup menu (in "file" popup menu) | 121 | // Button IDs for "import" popup menu (in "file" popup menu) |
122 | enum { | 122 | enum { |
123 | BUTTON_POPUP_IMPORT_TEXT = 0, | 123 | BUTTON_POPUP_IMPORT_TEXT = 0, |
124 | BUTTON_POPUP_IMPORT_GPASMAN | 124 | BUTTON_POPUP_IMPORT_GPASMAN |
125 | #ifdef CONFIG_KWALLETIF | 125 | #ifdef CONFIG_KWALLETIF |
126 | ,BUTTON_POPUP_IMPORT_KWALLET | 126 | ,BUTTON_POPUP_IMPORT_KWALLET |
127 | #endif | 127 | #endif |
128 | }; | 128 | }; |
129 | 129 | ||
130 | #ifdef PWM_EMBEDDED | 130 | #ifdef PWM_EMBEDDED |
131 | // Button IDs for "help" popup menu | 131 | // Button IDs for "help" popup menu |
132 | enum { | 132 | enum { |
133 | BUTTON_POPUP_HELP_LICENSE = 0, | 133 | BUTTON_POPUP_HELP_LICENSE = 0, |
134 | BUTTON_POPUP_HELP_FAQ, | 134 | BUTTON_POPUP_HELP_FAQ, |
135 | BUTTON_POPUP_HELP_ABOUT | 135 | BUTTON_POPUP_HELP_ABOUT |
136 | }; | 136 | }; |
137 | #endif | 137 | #endif |
138 | 138 | ||
139 | // Button IDs for toolbar | 139 | // Button IDs for toolbar |
140 | enum { | 140 | enum { |
141 | BUTTON_TOOL_NEW = 0, | 141 | BUTTON_TOOL_NEW = 0, |
142 | BUTTON_TOOL_OPEN, | 142 | BUTTON_TOOL_OPEN, |
143 | BUTTON_TOOL_SAVE, | 143 | BUTTON_TOOL_SAVE, |
144 | BUTTON_TOOL_SAVEAS, | 144 | BUTTON_TOOL_SAVEAS, |
145 | BUTTON_TOOL_PRINT, | 145 | BUTTON_TOOL_PRINT, |
146 | BUTTON_TOOL_ADD, | 146 | BUTTON_TOOL_ADD, |
147 | BUTTON_TOOL_EDIT, | 147 | BUTTON_TOOL_EDIT, |
148 | BUTTON_TOOL_DEL, | 148 | BUTTON_TOOL_DEL, |
149 | BUTTON_TOOL_FIND, | 149 | BUTTON_TOOL_FIND, |
150 | BUTTON_TOOL_LOCK, | 150 | BUTTON_TOOL_LOCK, |
151 | BUTTON_TOOL_DEEPLOCK, | 151 | BUTTON_TOOL_DEEPLOCK, |
152 | BUTTON_TOOL_UNLOCK | 152 | BUTTON_TOOL_UNLOCK |
153 | }; | 153 | }; |
154 | 154 | ||
155 | 155 | ||
156 | PwM::PwM(PwMInit *_init, PwMDoc *doc, | 156 | PwM::PwM(PwMInit *_init, PwMDoc *doc, |
157 | bool virginity, | 157 | bool virginity, |
158 | QWidget *parent, const char *name) | 158 | QWidget *parent, const char *name) |
159 | : KMainWindow(parent, name) | 159 | : KMainWindow(parent, name) |
160 | , forceQuit (false) | 160 | , forceQuit (false) |
161 | , forceMinimizeToTray (false) | 161 | , forceMinimizeToTray (false) |
162 | { | 162 | { |
163 | init = _init; | 163 | init = _init; |
164 | connect(doc, SIGNAL(docClosed(PwMDoc *)), | 164 | connect(doc, SIGNAL(docClosed(PwMDoc *)), |
165 | this, SLOT(docClosed(PwMDoc *))); | 165 | this, SLOT(docClosed(PwMDoc *))); |
166 | initMenubar(); | 166 | initMenubar(); |
167 | initToolbar(); | 167 | initToolbar(); |
168 | initMetrics(); | 168 | initMetrics(); |
169 | setVirgin(virginity); | 169 | setVirgin(virginity); |
170 | setFocusPolicy(QWidget::WheelFocus); | 170 | setFocusPolicy(QWidget::WheelFocus); |
171 | #ifndef PWM_EMBEDDED | 171 | #ifndef PWM_EMBEDDED |
172 | statusBar()->show(); | 172 | statusBar()->show(); |
173 | #endif | 173 | #endif |
174 | view = makeNewListView(doc); | 174 | view = makeNewListView(doc); |
175 | setCentralWidget(view); | 175 | setCentralWidget(view); |
176 | updateCaption(); | 176 | updateCaption(); |
177 | showStatMsg(i18n("Ready.")); | 177 | showStatMsg(i18n("Ready.")); |
178 | } | 178 | } |
179 | 179 | ||
180 | PwM::~PwM() | 180 | PwM::~PwM() |
181 | { | 181 | { |
182 | disconnect(curDoc(), SIGNAL(docClosed(PwMDoc *)), | 182 | disconnect(curDoc(), SIGNAL(docClosed(PwMDoc *)), |
183 | this, SLOT(docClosed(PwMDoc *))); | 183 | this, SLOT(docClosed(PwMDoc *))); |
184 | conf()->confWndMainWndSize(size()); | 184 | conf()->confWndMainWndSize(size()); |
185 | emit closed(this); | 185 | emit closed(this); |
186 | delete view; | 186 | delete view; |
187 | } | 187 | } |
188 | 188 | ||
189 | void PwM::initMenubar() | 189 | void PwM::initMenubar() |
190 | { | 190 | { |
191 | KIconLoader* picons; | 191 | KIconLoader* picons; |
192 | #ifndef PWM_EMBEDDED | 192 | #ifndef PWM_EMBEDDED |
193 | KIconLoader icons; | 193 | KIconLoader icons; |
194 | picons = &icons; | 194 | picons = &icons; |
195 | #else | 195 | #else |
196 | picons = KGlobal::iconLoader(); | 196 | picons = KGlobal::iconLoader(); |
197 | |||
198 | |||
199 | syncPopup = new KPopupMenu(this); | ||
200 | |||
201 | syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::PWMPI, PWMPrefs::instance(), syncPopup); | ||
202 | syncManager->setBlockSave(false); | ||
203 | |||
204 | connect ( syncPopup, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); | ||
205 | syncManager->fillSyncMenu(); | ||
206 | |||
197 | #endif | 207 | #endif |
198 | filePopup = new KPopupMenu(this); | 208 | filePopup = new KPopupMenu(this); |
199 | importPopup = new KPopupMenu(filePopup); | 209 | importPopup = new KPopupMenu(filePopup); |
200 | exportPopup = new KPopupMenu(filePopup); | 210 | exportPopup = new KPopupMenu(filePopup); |
201 | managePopup = new KPopupMenu(this); | 211 | managePopup = new KPopupMenu(this); |
202 | #ifdef CONFIG_KEYCARD | 212 | #ifdef CONFIG_KEYCARD |
203 | chipcardPopup = new KPopupMenu(this); | 213 | chipcardPopup = new KPopupMenu(this); |
204 | #endif // CONFIG_KEYCARD | 214 | #endif // CONFIG_KEYCARD |
205 | viewPopup = new KPopupMenu(this); | 215 | viewPopup = new KPopupMenu(this); |
206 | optionsPopup = new KPopupMenu(this); | 216 | optionsPopup = new KPopupMenu(this); |
207 | #ifdef PWM_EMBEDDED | 217 | |
208 | syncPopup = new KPopupMenu(this); | ||
209 | #endif | ||
210 | // "file" popup menu | 218 | // "file" popup menu |
211 | filePopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), | 219 | filePopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), |
212 | i18n("&New"), this, | 220 | i18n("&New"), this, |
213 | SLOT(new_slot()), 0, BUTTON_POPUP_FILE_NEW); | 221 | SLOT(new_slot()), 0, BUTTON_POPUP_FILE_NEW); |
214 | filePopup->insertItem(QIconSet(picons->loadIcon("fileopen", KIcon::Small)), | 222 | filePopup->insertItem(QIconSet(picons->loadIcon("fileopen", KIcon::Small)), |
215 | i18n("&Open"), this, | 223 | i18n("&Open"), this, |
216 | SLOT(open_slot()), 0, BUTTON_POPUP_FILE_OPEN); | 224 | SLOT(open_slot()), 0, BUTTON_POPUP_FILE_OPEN); |
217 | filePopup->insertItem(QIconSet(picons->loadIcon("fileclose", KIcon::Small)), | 225 | filePopup->insertItem(QIconSet(picons->loadIcon("fileclose", KIcon::Small)), |
218 | i18n("&Close"), this, | 226 | i18n("&Close"), this, |
219 | SLOT(close_slot()), 0, BUTTON_POPUP_FILE_CLOSE); | 227 | SLOT(close_slot()), 0, BUTTON_POPUP_FILE_CLOSE); |
220 | filePopup->insertSeparator(); | 228 | filePopup->insertSeparator(); |
221 | filePopup->insertItem(QIconSet(picons->loadIcon("filesave", KIcon::Small)), | 229 | filePopup->insertItem(QIconSet(picons->loadIcon("filesave", KIcon::Small)), |
222 | i18n("&Save"), this, | 230 | i18n("&Save"), this, |
223 | SLOT(save_slot()), 0, BUTTON_POPUP_FILE_SAVE); | 231 | SLOT(save_slot()), 0, BUTTON_POPUP_FILE_SAVE); |
224 | filePopup->insertItem(QIconSet(picons->loadIcon("filesaveas", KIcon::Small)), | 232 | filePopup->insertItem(QIconSet(picons->loadIcon("filesaveas", KIcon::Small)), |
225 | i18n("Save &as..."), | 233 | i18n("Save &as..."), |
226 | this, SLOT(saveAs_slot()), 0, | 234 | this, SLOT(saveAs_slot()), 0, |
227 | BUTTON_POPUP_FILE_SAVEAS); | 235 | BUTTON_POPUP_FILE_SAVEAS); |
228 | filePopup->insertSeparator(); | 236 | filePopup->insertSeparator(); |
229 | // "file/export" popup menu | 237 | // "file/export" popup menu |
230 | exportPopup->insertItem(i18n("&Text-file..."), this, | 238 | exportPopup->insertItem(i18n("&Text-file..."), this, |
231 | SLOT(exportToText()), 0, BUTTON_POPUP_EXPORT_TEXT); | 239 | SLOT(exportToText()), 0, BUTTON_POPUP_EXPORT_TEXT); |
232 | exportPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, | 240 | exportPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, |
233 | SLOT(exportToGpasman()), 0, BUTTON_POPUP_EXPORT_GPASMAN); | 241 | SLOT(exportToGpasman()), 0, BUTTON_POPUP_EXPORT_GPASMAN); |
234 | #ifdef CONFIG_KWALLETIF | 242 | #ifdef CONFIG_KWALLETIF |
235 | exportPopup->insertItem(i18n("&KWallet..."), this, | 243 | exportPopup->insertItem(i18n("&KWallet..."), this, |
236 | SLOT(exportToKWallet()), 0, BUTTON_POPUP_EXPORT_KWALLET); | 244 | SLOT(exportToKWallet()), 0, BUTTON_POPUP_EXPORT_KWALLET); |
237 | #endif | 245 | #endif |
238 | filePopup->insertItem(QIconSet(picons->loadIcon("fileexport", KIcon::Small)), | 246 | filePopup->insertItem(QIconSet(picons->loadIcon("fileexport", KIcon::Small)), |
239 | i18n("E&xport"), exportPopup, | 247 | i18n("E&xport"), exportPopup, |
240 | BUTTON_POPUP_FILE_EXPORT); | 248 | BUTTON_POPUP_FILE_EXPORT); |
241 | // "file/import" popup menu | 249 | // "file/import" popup menu |
242 | importPopup->insertItem(i18n("&Text-file..."), this, | 250 | importPopup->insertItem(i18n("&Text-file..."), this, |
243 | SLOT(importFromText()), 0, BUTTON_POPUP_IMPORT_TEXT); | 251 | SLOT(importFromText()), 0, BUTTON_POPUP_IMPORT_TEXT); |
244 | importPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, | 252 | importPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, |
245 | SLOT(importFromGpasman()), 0, BUTTON_POPUP_IMPORT_GPASMAN); | 253 | SLOT(importFromGpasman()), 0, BUTTON_POPUP_IMPORT_GPASMAN); |
246 | #ifdef CONFIG_KWALLETIF | 254 | #ifdef CONFIG_KWALLETIF |
247 | importPopup->insertItem(i18n("&KWallet..."), this, | 255 | importPopup->insertItem(i18n("&KWallet..."), this, |
248 | SLOT(importKWallet()), 0, BUTTON_POPUP_IMPORT_KWALLET); | 256 | SLOT(importKWallet()), 0, BUTTON_POPUP_IMPORT_KWALLET); |
249 | #endif | 257 | #endif |
250 | filePopup->insertItem(QIconSet(picons->loadIcon("fileimport", KIcon::Small)), | 258 | filePopup->insertItem(QIconSet(picons->loadIcon("fileimport", KIcon::Small)), |
251 | i18n("I&mport"), importPopup, | 259 | i18n("I&mport"), importPopup, |
252 | BUTTON_POPUP_FILE_IMPORT); | 260 | BUTTON_POPUP_FILE_IMPORT); |
253 | filePopup->insertSeparator(); | 261 | filePopup->insertSeparator(); |
254 | filePopup->insertItem(QIconSet(picons->loadIcon("fileprint", KIcon::Small)), | 262 | filePopup->insertItem(QIconSet(picons->loadIcon("fileprint", KIcon::Small)), |
255 | i18n("&Print..."), this, | 263 | i18n("&Print..."), this, |
256 | SLOT(print_slot()), 0, BUTTON_POPUP_FILE_PRINT); | 264 | SLOT(print_slot()), 0, BUTTON_POPUP_FILE_PRINT); |
257 | filePopup->insertSeparator(); | 265 | filePopup->insertSeparator(); |
258 | filePopup->insertItem(QIconSet(picons->loadIcon("exit", KIcon::Small)), | 266 | filePopup->insertItem(QIconSet(picons->loadIcon("exit", KIcon::Small)), |
259 | i18n("&Quit"), this, | 267 | i18n("&Quit"), this, |
260 | SLOT(quitButton_slot()), 0, BUTTON_POPUP_FILE_QUIT); | 268 | SLOT(quitButton_slot()), 0, BUTTON_POPUP_FILE_QUIT); |
261 | menuBar()->insertItem(i18n("&File"), filePopup); | 269 | menuBar()->insertItem(i18n("&File"), filePopup); |
262 | // "manage" popup menu | 270 | // "manage" popup menu |
263 | managePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)), | 271 | managePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)), |
264 | i18n("&Add password"), this, | 272 | i18n("&Add password"), this, |
265 | SLOT(addPwd_slot()), 0, | 273 | SLOT(addPwd_slot()), 0, |
266 | BUTTON_POPUP_MANAGE_ADD); | 274 | BUTTON_POPUP_MANAGE_ADD); |
267 | managePopup->insertItem(QIconSet(picons->loadIcon("edit", KIcon::Small)), | 275 | managePopup->insertItem(QIconSet(picons->loadIcon("edit", KIcon::Small)), |
268 | i18n("&Edit"), this, SLOT(editPwd_slot()), 0, | 276 | i18n("&Edit"), this, SLOT(editPwd_slot()), 0, |
269 | BUTTON_POPUP_MANAGE_EDIT); | 277 | BUTTON_POPUP_MANAGE_EDIT); |
270 | managePopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), | 278 | managePopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), |
271 | i18n("&Delete"), this, SLOT(deletePwd_slot()), | 279 | i18n("&Delete"), this, SLOT(deletePwd_slot()), |
272 | 0, BUTTON_POPUP_MANAGE_DEL); | 280 | 0, BUTTON_POPUP_MANAGE_DEL); |
273 | managePopup->insertSeparator(); | 281 | managePopup->insertSeparator(); |
274 | managePopup->insertItem(QIconSet(picons->loadIcon("rotate", KIcon::Small)), | 282 | managePopup->insertItem(QIconSet(picons->loadIcon("rotate", KIcon::Small)), |
275 | i18n("Change &Master Password"), this, | 283 | i18n("Change &Master Password"), this, |
276 | SLOT(changeMasterPwd_slot()), 0, | 284 | SLOT(changeMasterPwd_slot()), 0, |
277 | BUTTON_POPUP_MANAGE_CHANGEMP); | 285 | BUTTON_POPUP_MANAGE_CHANGEMP); |
278 | menuBar()->insertItem(i18n("&Manage"), managePopup); | 286 | menuBar()->insertItem(i18n("&Manage"), managePopup); |
279 | // "chipcard" popup menu | 287 | // "chipcard" popup menu |
280 | #ifdef CONFIG_KEYCARD | 288 | #ifdef CONFIG_KEYCARD |
281 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), | 289 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), |
282 | i18n("&Generate new key-card"), this, | 290 | i18n("&Generate new key-card"), this, |
283 | SLOT(genNewCard_slot()), 0, | 291 | SLOT(genNewCard_slot()), 0, |
284 | BUTTON_POPUP_CHIPCARD_GENNEW); | 292 | BUTTON_POPUP_CHIPCARD_GENNEW); |
285 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), | 293 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), |
286 | i18n("&Erase key-card"), this, | 294 | i18n("&Erase key-card"), this, |
287 | SLOT(eraseCard_slot()), 0, | 295 | SLOT(eraseCard_slot()), 0, |
288 | BUTTON_POPUP_CHIPCARD_DEL); | 296 | BUTTON_POPUP_CHIPCARD_DEL); |
289 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("", KIcon::Small)), | 297 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("", KIcon::Small)), |
290 | i18n("Read card-&ID"), this, | 298 | i18n("Read card-&ID"), this, |
291 | SLOT(readCardId_slot()), 0, | 299 | SLOT(readCardId_slot()), 0, |
292 | BUTTON_POPUP_CHIPCARD_READID); | 300 | BUTTON_POPUP_CHIPCARD_READID); |
293 | chipcardPopup->insertSeparator(); | 301 | chipcardPopup->insertSeparator(); |
294 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("2rightarrow", KIcon::Small)), | 302 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("2rightarrow", KIcon::Small)), |
295 | i18n("&Make card backup-image"), this, | 303 | i18n("&Make card backup-image"), this, |
296 | SLOT(makeCardBackup_slot()), 0, | 304 | SLOT(makeCardBackup_slot()), 0, |
297 | BUTTON_POPUP_CHIPCARD_SAVEBACKUP); | 305 | BUTTON_POPUP_CHIPCARD_SAVEBACKUP); |
298 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("2leftarrow", KIcon::Small)), | 306 | chipcardPopup->insertItem(QIconSet(picons->loadIcon("2leftarrow", KIcon::Small)), |
299 | i18n("&Replay card backup-image"), this, | 307 | i18n("&Replay card backup-image"), this, |
300 | SLOT(replayCardBackup_slot()), 0, | 308 | SLOT(replayCardBackup_slot()), 0, |
301 | BUTTON_POPUP_CHIPCARD_REPLAYBACKUP); | 309 | BUTTON_POPUP_CHIPCARD_REPLAYBACKUP); |
302 | menuBar()->insertItem(i18n("&Chipcard manager"), chipcardPopup); | 310 | menuBar()->insertItem(i18n("&Chipcard manager"), chipcardPopup); |
303 | #endif // CONFIG_KEYCARD | 311 | #endif // CONFIG_KEYCARD |
304 | // "view" popup menu | 312 | // "view" popup menu |
305 | viewPopup->insertItem(QIconSet(picons->loadIcon("find", KIcon::Small)), | 313 | viewPopup->insertItem(QIconSet(picons->loadIcon("find", KIcon::Small)), |
306 | i18n("&Find"), this, | 314 | i18n("&Find"), this, |
307 | SLOT(find_slot()), 0, BUTTON_POPUP_VIEW_FIND); | 315 | SLOT(find_slot()), 0, BUTTON_POPUP_VIEW_FIND); |
308 | viewPopup->insertSeparator(); | 316 | viewPopup->insertSeparator(); |
309 | viewPopup->insertItem(QIconSet(picons->loadIcon("halfencrypted", KIcon::Small)), | 317 | viewPopup->insertItem(QIconSet(picons->loadIcon("halfencrypted", KIcon::Small)), |
310 | i18n("&Lock all entries"), this, | 318 | i18n("&Lock all entries"), this, |
311 | SLOT(lockWnd_slot()), 0, | 319 | SLOT(lockWnd_slot()), 0, |
312 | BUTTON_POPUP_VIEW_LOCK); | 320 | BUTTON_POPUP_VIEW_LOCK); |
313 | viewPopup->insertItem(QIconSet(picons->loadIcon("encrypted", KIcon::Small)), | 321 | viewPopup->insertItem(QIconSet(picons->loadIcon("encrypted", KIcon::Small)), |
314 | i18n("&Deep-lock all entries"), this, | 322 | i18n("&Deep-lock all entries"), this, |
315 | SLOT(deepLockWnd_slot()), 0, | 323 | SLOT(deepLockWnd_slot()), 0, |
316 | BUTTON_POPUP_VIEW_DEEPLOCK); | 324 | BUTTON_POPUP_VIEW_DEEPLOCK); |
317 | viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)), | 325 | viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)), |
318 | i18n("&Unlock all entries"), this, | 326 | i18n("&Unlock all entries"), this, |
319 | SLOT(unlockWnd_slot()), 0, | 327 | SLOT(unlockWnd_slot()), 0, |
320 | BUTTON_POPUP_VIEW_UNLOCK); | 328 | BUTTON_POPUP_VIEW_UNLOCK); |
321 | menuBar()->insertItem(i18n("&View"), viewPopup); | 329 | menuBar()->insertItem(i18n("&View"), viewPopup); |
322 | // "options" popup menu | 330 | // "options" popup menu |
323 | optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), | 331 | optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), |
324 | i18n("&Configure..."), this, | 332 | i18n("&Configure..."), this, |
325 | SLOT(config_slot()), | 333 | SLOT(config_slot()), |
326 | BUTTON_POPUP_OPTIONS_CONFIG); | 334 | BUTTON_POPUP_OPTIONS_CONFIG); |
327 | menuBar()->insertItem(i18n("&Options"), optionsPopup); | 335 | menuBar()->insertItem(i18n("&Options"), optionsPopup); |
328 | // "help" popup menu | 336 | // "help" popup menu |
329 | #ifndef PWM_EMBEDDED | 337 | #ifndef PWM_EMBEDDED |
330 | helpPopup = helpMenu(QString::null, false); | 338 | helpPopup = helpMenu(QString::null, false); |
331 | #else | 339 | #else |
332 | Popup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), | 340 | menuBar()->insertItem(i18n("&Sync"), syncPopup); |
333 | i18n("&Configure..."), this, | ||
334 | SLOT(config_slot()), | ||
335 | BUTTON_POPUP_OPTIONS_CONFIG); | ||
336 | connect ( syncMenu, SIGNAL( activated ( int ) ), this, SLOT (slotSyncMenu( int ) ) ); | ||
337 | fillSyncMenu(); | ||
338 | |||
339 | menuBar()->insertItem(i18n("&Syncronize"), syncPopup); | ||
340 | 341 | ||
341 | 342 | ||
342 | 343 | ||
343 | 344 | ||
344 | 345 | ||
345 | helpPopup = new KPopupMenu(this); | 346 | helpPopup = new KPopupMenu(this); |
346 | 347 | ||
347 | 348 | ||
348 | helpPopup->insertItem(i18n("&License"), this, | 349 | helpPopup->insertItem(i18n("&License"), this, |
349 | SLOT(showLicense_slot()), 0, | 350 | SLOT(showLicense_slot()), 0, |
350 | BUTTON_POPUP_HELP_LICENSE); | 351 | BUTTON_POPUP_HELP_LICENSE); |
351 | 352 | ||
352 | helpPopup->insertItem(i18n("&Faq"), this, | 353 | helpPopup->insertItem(i18n("&Faq"), this, |
353 | SLOT(faq_slot()), 0, | 354 | SLOT(faq_slot()), 0, |
354 | BUTTON_POPUP_HELP_FAQ); | 355 | BUTTON_POPUP_HELP_FAQ); |
355 | 356 | ||
356 | helpPopup->insertItem(i18n("&About PwManager"), this, | 357 | helpPopup->insertItem(i18n("&About PwManager"), this, |
357 | SLOT(createAboutData_slot()), 0, | 358 | SLOT(createAboutData_slot()), 0, |
358 | BUTTON_POPUP_HELP_ABOUT); | 359 | BUTTON_POPUP_HELP_ABOUT); |
359 | 360 | ||
360 | #endif | 361 | #endif |
361 | menuBar()->insertItem(i18n("&Help"), helpPopup); | 362 | menuBar()->insertItem(i18n("&Help"), helpPopup); |
362 | 363 | ||
363 | } | 364 | } |
364 | 365 | ||
365 | void PwM::initToolbar() | 366 | void PwM::initToolbar() |
366 | { | 367 | { |
367 | KIconLoader* picons; | 368 | KIconLoader* picons; |
368 | #ifndef PWM_EMBEDDED | 369 | #ifndef PWM_EMBEDDED |
369 | KIconLoader icons; | 370 | KIconLoader icons; |
370 | picons = &icons; | 371 | picons = &icons; |
371 | #else | 372 | #else |
372 | picons = KGlobal::iconLoader(); | 373 | picons = KGlobal::iconLoader(); |
373 | #endif | 374 | #endif |
374 | 375 | ||
375 | #ifdef PWM_EMBEDDED | 376 | #ifdef PWM_EMBEDDED |
376 | if ( QApplication::desktop()->width() > 320 ) | 377 | if ( QApplication::desktop()->width() > 320 ) |
377 | #endif | 378 | #endif |
378 | { | 379 | { |
379 | toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar), | 380 | toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar), |
380 | BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this, | 381 | BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this, |
381 | SLOT(new_slot()), true, i18n("New")); | 382 | SLOT(new_slot()), true, i18n("New")); |
382 | toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar), | 383 | toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar), |
383 | BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this, | 384 | BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this, |
384 | SLOT(open_slot()), true, i18n("Open")); | 385 | SLOT(open_slot()), true, i18n("Open")); |
385 | toolBar()->insertSeparator(); | 386 | toolBar()->insertSeparator(); |
386 | } | 387 | } |
387 | toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar), | 388 | toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar), |
388 | BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this, | 389 | BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this, |
389 | SLOT(save_slot()), true, i18n("Save")); | 390 | SLOT(save_slot()), true, i18n("Save")); |
390 | toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar), | 391 | toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar), |
391 | BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this, | 392 | BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this, |
392 | SLOT(saveAs_slot()), true, i18n("Save as")); | 393 | SLOT(saveAs_slot()), true, i18n("Save as")); |
393 | toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar), | 394 | toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar), |
394 | BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this, | 395 | BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this, |
395 | SLOT(print_slot()), true, i18n("Print...")); | 396 | SLOT(print_slot()), true, i18n("Print...")); |
396 | toolBar()->insertSeparator(); | 397 | toolBar()->insertSeparator(); |
397 | toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar), | 398 | toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar), |
398 | BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this, | 399 | BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this, |
399 | SLOT(addPwd_slot()), true, | 400 | SLOT(addPwd_slot()), true, |
400 | i18n("Add password")); | 401 | i18n("Add password")); |
401 | toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar), | 402 | toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar), |
402 | BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this, | 403 | BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this, |
403 | SLOT(editPwd_slot()), true, | 404 | SLOT(editPwd_slot()), true, |
404 | i18n("Edit password")); | 405 | i18n("Edit password")); |
405 | toolBar()->insertButton(picons->loadIcon("editdelete", KIcon::Toolbar), | 406 | toolBar()->insertButton(picons->loadIcon("editdelete", KIcon::Toolbar), |
406 | BUTTON_TOOL_DEL, SIGNAL(clicked(int)), this, | 407 | BUTTON_TOOL_DEL, SIGNAL(clicked(int)), this, |
407 | SLOT(deletePwd_slot()), true, | 408 | SLOT(deletePwd_slot()), true, |
408 | i18n("Delete password")); | 409 | i18n("Delete password")); |
409 | toolBar()->insertSeparator(); | 410 | toolBar()->insertSeparator(); |
410 | toolBar()->insertButton(picons->loadIcon("find", KIcon::Toolbar), | 411 | toolBar()->insertButton(picons->loadIcon("find", KIcon::Toolbar), |
411 | BUTTON_TOOL_FIND, SIGNAL(clicked(int)), this, | 412 | BUTTON_TOOL_FIND, SIGNAL(clicked(int)), this, |
412 | SLOT(find_slot()), true, i18n("Find entry")); | 413 | SLOT(find_slot()), true, i18n("Find entry")); |
413 | toolBar()->insertSeparator(); | 414 | toolBar()->insertSeparator(); |
414 | toolBar()->insertButton(picons->loadIcon("halfencrypted", KIcon::Toolbar), | 415 | toolBar()->insertButton(picons->loadIcon("halfencrypted", KIcon::Toolbar), |
415 | BUTTON_TOOL_LOCK, SIGNAL(clicked(int)), this, | 416 | BUTTON_TOOL_LOCK, SIGNAL(clicked(int)), this, |
416 | SLOT(lockWnd_slot()), true, | 417 | SLOT(lockWnd_slot()), true, |
417 | i18n("Lock all entries")); | 418 | i18n("Lock all entries")); |
418 | toolBar()->insertButton(picons->loadIcon("encrypted", KIcon::Toolbar), | 419 | toolBar()->insertButton(picons->loadIcon("encrypted", KIcon::Toolbar), |
419 | BUTTON_TOOL_DEEPLOCK, SIGNAL(clicked(int)), this, | 420 | BUTTON_TOOL_DEEPLOCK, SIGNAL(clicked(int)), this, |
420 | SLOT(deepLockWnd_slot()), true, | 421 | SLOT(deepLockWnd_slot()), true, |
421 | i18n("Deep-Lock all entries")); | 422 | i18n("Deep-Lock all entries")); |
422 | toolBar()->insertButton(picons->loadIcon("decrypted", KIcon::Toolbar), | 423 | toolBar()->insertButton(picons->loadIcon("decrypted", KIcon::Toolbar), |
423 | BUTTON_TOOL_UNLOCK, SIGNAL(clicked(int)), this, | 424 | BUTTON_TOOL_UNLOCK, SIGNAL(clicked(int)), this, |
424 | SLOT(unlockWnd_slot()), true, | 425 | SLOT(unlockWnd_slot()), true, |
425 | i18n("Unlock all entries")); | 426 | i18n("Unlock all entries")); |
426 | } | 427 | } |
427 | 428 | ||
428 | void PwM::initMetrics() | 429 | void PwM::initMetrics() |
429 | { | 430 | { |
430 | QSize s = conf()->confWndMainWndSize(); | 431 | QSize s = conf()->confWndMainWndSize(); |
431 | if (s.isValid()) | 432 | if (s.isValid()) |
432 | resize(s); | 433 | resize(s); |
433 | else | 434 | else |
434 | resize(DEFAULT_SIZE); | 435 | resize(DEFAULT_SIZE); |
435 | } | 436 | } |
436 | 437 | ||
437 | void PwM::updateCaption() | 438 | void PwM::updateCaption() |
438 | { | 439 | { |
439 | setPlainCaption(curDoc()->getTitle() + " - " PROG_NAME " " PACKAGE_VER); | 440 | setPlainCaption(curDoc()->getTitle() + " - " PROG_NAME " " PACKAGE_VER); |
440 | } | 441 | } |
441 | 442 | ||
442 | void PwM::hideEvent(QHideEvent *) | 443 | void PwM::hideEvent(QHideEvent *) |
443 | { | 444 | { |
444 | if (isMinimized()) { | 445 | if (isMinimized()) { |
445 | if (init->tray()) { | 446 | if (init->tray()) { |
446 | forceMinimizeToTray = true; | 447 | forceMinimizeToTray = true; |
447 | close(); | 448 | close(); |
448 | } | 449 | } |
449 | int mmlock = conf()->confGlobMinimizeLock(); | 450 | int mmlock = conf()->confGlobMinimizeLock(); |
450 | switch (mmlock) { | 451 | switch (mmlock) { |
451 | case 0: // don't lock anything | 452 | case 0: // don't lock anything |
452 | break; | 453 | break; |
453 | case 1: {// normal lock | 454 | case 1: {// normal lock |
454 | curDoc()->lockAll(true); | 455 | curDoc()->lockAll(true); |
455 | break; | 456 | break; |
456 | } case 2: {// deep-lock | 457 | } case 2: {// deep-lock |
457 | curDoc()->deepLock(); | 458 | curDoc()->deepLock(); |
458 | break; | 459 | break; |
459 | } default: | 460 | } default: |
460 | WARN(); | 461 | WARN(); |
461 | } | 462 | } |
462 | } | 463 | } |
463 | } | 464 | } |
464 | 465 | ||
465 | void PwM::setVirgin(bool v) | 466 | void PwM::setVirgin(bool v) |
466 | { | 467 | { |
467 | if (virgin == v) | 468 | if (virgin == v) |
468 | return; | 469 | return; |
469 | virgin = v; | 470 | virgin = v; |
470 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVE, !v); | 471 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVE, !v); |
471 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVEAS, !v); | 472 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVEAS, !v); |
472 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_EXPORT, !v); | 473 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_EXPORT, !v); |
473 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_PRINT, !v); | 474 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_PRINT, !v); |
474 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_EDIT, !v); | 475 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_EDIT, !v); |
475 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_DEL, !v); | 476 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_DEL, !v); |
476 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_CHANGEMP, !v); | 477 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_CHANGEMP, !v); |
477 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_LOCK, !v); | 478 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_LOCK, !v); |
478 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_DEEPLOCK, !v); | 479 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_DEEPLOCK, !v); |
479 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_UNLOCK, !v); | 480 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_UNLOCK, !v); |
480 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_FIND, !v); | 481 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_FIND, !v); |
481 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVE, !v); | 482 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVE, !v); |
482 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVEAS, !v); | 483 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVEAS, !v); |
483 | toolBar()->setItemEnabled(BUTTON_TOOL_PRINT, !v); | 484 | toolBar()->setItemEnabled(BUTTON_TOOL_PRINT, !v); |
484 | toolBar()->setItemEnabled(BUTTON_TOOL_EDIT, !v); | 485 | toolBar()->setItemEnabled(BUTTON_TOOL_EDIT, !v); |
485 | toolBar()->setItemEnabled(BUTTON_TOOL_DEL, !v); | 486 | toolBar()->setItemEnabled(BUTTON_TOOL_DEL, !v); |
486 | toolBar()->setItemEnabled(BUTTON_TOOL_LOCK, !v); | 487 | toolBar()->setItemEnabled(BUTTON_TOOL_LOCK, !v); |
487 | toolBar()->setItemEnabled(BUTTON_TOOL_DEEPLOCK, !v); | 488 | toolBar()->setItemEnabled(BUTTON_TOOL_DEEPLOCK, !v); |
488 | toolBar()->setItemEnabled(BUTTON_TOOL_UNLOCK, !v); | 489 | toolBar()->setItemEnabled(BUTTON_TOOL_UNLOCK, !v); |
489 | toolBar()->setItemEnabled(BUTTON_TOOL_FIND, !v); | 490 | toolBar()->setItemEnabled(BUTTON_TOOL_FIND, !v); |
490 | } | 491 | } |
491 | 492 | ||
492 | void PwM::new_slot() | 493 | void PwM::new_slot() |
493 | { | 494 | { |
494 | init->createMainWnd(); | 495 | init->createMainWnd(); |
495 | } | 496 | } |
496 | 497 | ||
497 | //US ENH | 498 | //US ENH |
498 | void PwM::open_slot() | 499 | void PwM::open_slot() |
499 | { | 500 | { |
500 | open_slot(""); | 501 | open_slot(""); |
501 | } | 502 | } |
502 | 503 | ||
503 | void PwM::open_slot(QString fn) | 504 | void PwM::open_slot(QString fn) |
504 | { | 505 | { |
505 | openDoc(fn); | 506 | openDoc(fn); |
506 | } | 507 | } |
507 | 508 | ||
508 | PwMDoc * PwM::openDoc(QString filename, bool openDeepLocked) | 509 | PwMDoc * PwM::openDoc(QString filename, bool openDeepLocked) |
509 | { | 510 | { |
510 | if (!isVirgin()) { | 511 | if (!isVirgin()) { |
511 | // open the document in a new window. | 512 | // open the document in a new window. |
512 | PwM *newInstance = init->createMainWnd(); | 513 | PwM *newInstance = init->createMainWnd(); |
513 | PwMDoc *newDoc = newInstance->openDoc(filename, openDeepLocked); | 514 | PwMDoc *newDoc = newInstance->openDoc(filename, openDeepLocked); |
514 | if (!newDoc) { | 515 | if (!newDoc) { |
515 | newInstance->setForceQuit(true); | 516 | newInstance->setForceQuit(true); |
516 | delete_and_null(newInstance); | 517 | delete_and_null(newInstance); |
517 | } | 518 | } |
518 | return newDoc; | 519 | return newDoc; |
519 | } | 520 | } |
520 | 521 | ||
521 | if (!curDoc()->openDocUi(curDoc(), filename, openDeepLocked)) | 522 | if (!curDoc()->openDocUi(curDoc(), filename, openDeepLocked)) |
522 | return 0; | 523 | return 0; |
523 | showStatMsg(i18n("Successfully opened file.")); | 524 | showStatMsg(i18n("Successfully opened file.")); |
524 | updateCaption(); | 525 | updateCaption(); |
525 | setVirgin(false); | 526 | setVirgin(false); |
526 | return curDoc(); | 527 | return curDoc(); |
527 | } | 528 | } |
528 | 529 | ||
529 | PwMView * PwM::makeNewListView(PwMDoc *doc) | 530 | PwMView * PwM::makeNewListView(PwMDoc *doc) |
530 | { | 531 | { |
531 | PwMView *ret = new PwMView(this, this, doc); | 532 | PwMView *ret = new PwMView(this, this, doc); |
@@ -1128,198 +1129,227 @@ bool PwM::importKWallet() | |||
1128 | // import the data to a new window. | 1129 | // import the data to a new window. |
1129 | PwM *newInstance = init->createMainWnd(); | 1130 | PwM *newInstance = init->createMainWnd(); |
1130 | bool ok = newInstance->importKWallet(); | 1131 | bool ok = newInstance->importKWallet(); |
1131 | if (!ok) { | 1132 | if (!ok) { |
1132 | newInstance->setForceQuit(true); | 1133 | newInstance->setForceQuit(true); |
1133 | delete_and_null(newInstance); | 1134 | delete_and_null(newInstance); |
1134 | goto exit_fail; | 1135 | goto exit_fail; |
1135 | } else { | 1136 | } else { |
1136 | goto exit_ok; | 1137 | goto exit_ok; |
1137 | } | 1138 | } |
1138 | } | 1139 | } |
1139 | } | 1140 | } |
1140 | curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); | 1141 | curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); |
1141 | if (!walletIf.kwalletImport(curDoc())) { | 1142 | if (!walletIf.kwalletImport(curDoc())) { |
1142 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); | 1143 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); |
1143 | showStatMsg(i18n("KWallet import failed")); | 1144 | showStatMsg(i18n("KWallet import failed")); |
1144 | goto exit_fail; | 1145 | goto exit_fail; |
1145 | } | 1146 | } |
1146 | KMessageBox::information(this, | 1147 | KMessageBox::information(this, |
1147 | i18n("Successfully imported the KWallet data " | 1148 | i18n("Successfully imported the KWallet data " |
1148 | "into the current document."), | 1149 | "into the current document."), |
1149 | i18n("successfully imported")); | 1150 | i18n("successfully imported")); |
1150 | showStatMsg(i18n("successfully imported")); | 1151 | showStatMsg(i18n("successfully imported")); |
1151 | setVirgin(false); | 1152 | setVirgin(false); |
1152 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); | 1153 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); |
1153 | 1154 | ||
1154 | exit_ok: | 1155 | exit_ok: |
1155 | init->initKWalletEmu(); | 1156 | init->initKWalletEmu(); |
1156 | return true; | 1157 | return true; |
1157 | 1158 | ||
1158 | exit_fail: | 1159 | exit_fail: |
1159 | init->initKWalletEmu(); | 1160 | init->initKWalletEmu(); |
1160 | #endif // CONFIG_KWALLETIF | 1161 | #endif // CONFIG_KWALLETIF |
1161 | return false; | 1162 | return false; |
1162 | } | 1163 | } |
1163 | 1164 | ||
1164 | void PwM::print_slot() | 1165 | void PwM::print_slot() |
1165 | { | 1166 | { |
1166 | curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); | 1167 | curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); |
1167 | #ifndef PWM_EMBEDDED | 1168 | #ifndef PWM_EMBEDDED |
1168 | PwMPrint p(curDoc(), this); | 1169 | PwMPrint p(curDoc(), this); |
1169 | p.printNow(); | 1170 | p.printNow(); |
1170 | #else | 1171 | #else |
1171 | qDebug("PwM::print_slot , PRINTING IS NOT IMPLEMENTED"); | 1172 | qDebug("PwM::print_slot , PRINTING IS NOT IMPLEMENTED"); |
1172 | #endif | 1173 | #endif |
1173 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); | 1174 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); |
1174 | } | 1175 | } |
1175 | 1176 | ||
1176 | void PwM::genNewCard_slot() | 1177 | void PwM::genNewCard_slot() |
1177 | { | 1178 | { |
1178 | #ifdef CONFIG_KEYCARD | 1179 | #ifdef CONFIG_KEYCARD |
1179 | init->keycard()->genNewCard(); | 1180 | init->keycard()->genNewCard(); |
1180 | #endif | 1181 | #endif |
1181 | } | 1182 | } |
1182 | 1183 | ||
1183 | void PwM::eraseCard_slot() | 1184 | void PwM::eraseCard_slot() |
1184 | { | 1185 | { |
1185 | #ifdef CONFIG_KEYCARD | 1186 | #ifdef CONFIG_KEYCARD |
1186 | init->keycard()->eraseCard(); | 1187 | init->keycard()->eraseCard(); |
1187 | #endif | 1188 | #endif |
1188 | } | 1189 | } |
1189 | 1190 | ||
1190 | void PwM::readCardId_slot() | 1191 | void PwM::readCardId_slot() |
1191 | { | 1192 | { |
1192 | #ifdef CONFIG_KEYCARD | 1193 | #ifdef CONFIG_KEYCARD |
1193 | init->keycard()->displayKey(); | 1194 | init->keycard()->displayKey(); |
1194 | #endif | 1195 | #endif |
1195 | } | 1196 | } |
1196 | 1197 | ||
1197 | void PwM::makeCardBackup_slot() | 1198 | void PwM::makeCardBackup_slot() |
1198 | { | 1199 | { |
1199 | #ifdef CONFIG_KEYCARD | 1200 | #ifdef CONFIG_KEYCARD |
1200 | init->keycard()->makeBackupImage(); | 1201 | init->keycard()->makeBackupImage(); |
1201 | #endif | 1202 | #endif |
1202 | } | 1203 | } |
1203 | 1204 | ||
1204 | void PwM::replayCardBackup_slot() | 1205 | void PwM::replayCardBackup_slot() |
1205 | { | 1206 | { |
1206 | #ifdef CONFIG_KEYCARD | 1207 | #ifdef CONFIG_KEYCARD |
1207 | init->keycard()->replayBackupImage(); | 1208 | init->keycard()->replayBackupImage(); |
1208 | #endif | 1209 | #endif |
1209 | } | 1210 | } |
1210 | 1211 | ||
1211 | void PwM::execLauncher_slot() | 1212 | void PwM::execLauncher_slot() |
1212 | { | 1213 | { |
1213 | PWM_ASSERT(curDoc()); | 1214 | PWM_ASSERT(curDoc()); |
1214 | if (curDoc()->isDeepLocked()) | 1215 | if (curDoc()->isDeepLocked()) |
1215 | return; | 1216 | return; |
1216 | unsigned int curEntryIndex; | 1217 | unsigned int curEntryIndex; |
1217 | if (!view->getCurEntryIndex(&curEntryIndex)) | 1218 | if (!view->getCurEntryIndex(&curEntryIndex)) |
1218 | return; | 1219 | return; |
1219 | bool ret = curDoc()->execLauncher(view->getCurrentCategory(), | 1220 | bool ret = curDoc()->execLauncher(view->getCurrentCategory(), |
1220 | curEntryIndex); | 1221 | curEntryIndex); |
1221 | if (ret) | 1222 | if (ret) |
1222 | showStatMsg(i18n("Executed the \"Launcher\".")); | 1223 | showStatMsg(i18n("Executed the \"Launcher\".")); |
1223 | else | 1224 | else |
1224 | showStatMsg(i18n("ERROR: Couldn't execute the \"Launcher\"!")); | 1225 | showStatMsg(i18n("ERROR: Couldn't execute the \"Launcher\"!")); |
1225 | } | 1226 | } |
1226 | 1227 | ||
1227 | void PwM::goToURL_slot() | 1228 | void PwM::goToURL_slot() |
1228 | { | 1229 | { |
1229 | PWM_ASSERT(curDoc()); | 1230 | PWM_ASSERT(curDoc()); |
1230 | if (curDoc()->isDeepLocked()) | 1231 | if (curDoc()->isDeepLocked()) |
1231 | return; | 1232 | return; |
1232 | unsigned int curEntryIndex; | 1233 | unsigned int curEntryIndex; |
1233 | if (!view->getCurEntryIndex(&curEntryIndex)) | 1234 | if (!view->getCurEntryIndex(&curEntryIndex)) |
1234 | return; | 1235 | return; |
1235 | bool ret = curDoc()->goToURL(view->getCurrentCategory(), | 1236 | bool ret = curDoc()->goToURL(view->getCurrentCategory(), |
1236 | curEntryIndex); | 1237 | curEntryIndex); |
1237 | if (ret) | 1238 | if (ret) |
1238 | showStatMsg(i18n("started browser with current URL.")); | 1239 | showStatMsg(i18n("started browser with current URL.")); |
1239 | else | 1240 | else |
1240 | showStatMsg(i18n("ERROR: Couldn't start browser! Maybe invalid URL?")); | 1241 | showStatMsg(i18n("ERROR: Couldn't start browser! Maybe invalid URL?")); |
1241 | } | 1242 | } |
1242 | 1243 | ||
1243 | void PwM::copyToClipboard(const QString &s) | 1244 | void PwM::copyToClipboard(const QString &s) |
1244 | { | 1245 | { |
1245 | QClipboard *cb = QApplication::clipboard(); | 1246 | QClipboard *cb = QApplication::clipboard(); |
1246 | #ifndef PWM_EMBEDDED | 1247 | #ifndef PWM_EMBEDDED |
1247 | if (cb->supportsSelection()) | 1248 | if (cb->supportsSelection()) |
1248 | cb->setText(s, QClipboard::Selection); | 1249 | cb->setText(s, QClipboard::Selection); |
1249 | cb->setText(s, QClipboard::Clipboard); | 1250 | cb->setText(s, QClipboard::Clipboard); |
1250 | #else | 1251 | #else |
1251 | cb->setText(s); | 1252 | cb->setText(s); |
1252 | 1253 | ||
1253 | #endif | 1254 | #endif |
1254 | 1255 | ||
1255 | } | 1256 | } |
1256 | 1257 | ||
1257 | void PwM::showStatMsg(const QString &msg) | 1258 | void PwM::showStatMsg(const QString &msg) |
1258 | { | 1259 | { |
1259 | #ifndef PWM_EMBEDDED | 1260 | #ifndef PWM_EMBEDDED |
1260 | KStatusBar *statBar = statusBar(); | 1261 | KStatusBar *statBar = statusBar(); |
1261 | statBar->message(msg, STATUSBAR_MSG_TIMEOUT * 1000); | 1262 | statBar->message(msg, STATUSBAR_MSG_TIMEOUT * 1000); |
1262 | #else | 1263 | #else |
1263 | qDebug("Statusbar : %s",msg.latin1()); | 1264 | qDebug("Statusbar : %s",msg.latin1()); |
1264 | #endif | 1265 | #endif |
1265 | } | 1266 | } |
1266 | 1267 | ||
1267 | void PwM::focusInEvent(QFocusEvent *e) | 1268 | void PwM::focusInEvent(QFocusEvent *e) |
1268 | { | 1269 | { |
1269 | if (e->gotFocus()) { | 1270 | if (e->gotFocus()) { |
1270 | emit gotFocus(this); | 1271 | emit gotFocus(this); |
1271 | } else if (e->lostFocus()) { | 1272 | } else if (e->lostFocus()) { |
1272 | emit lostFocus(this); | 1273 | emit lostFocus(this); |
1273 | } | 1274 | } |
1274 | } | 1275 | } |
1275 | 1276 | ||
1276 | 1277 | ||
1277 | #ifdef PWM_EMBEDDED | 1278 | #ifdef PWM_EMBEDDED |
1278 | 1279 | ||
1279 | void PwM::showLicense_slot() | 1280 | void PwM::showLicense_slot() |
1280 | { | 1281 | { |
1281 | KApplication::showLicence(); | 1282 | KApplication::showLicence(); |
1282 | } | 1283 | } |
1283 | 1284 | ||
1284 | void PwM::faq_slot() | 1285 | void PwM::faq_slot() |
1285 | { | 1286 | { |
1286 | KApplication::showFile( "PWM/Pi FAQ", "kdepim/pwmanager/pwmanagerFAQ.txt" ); | 1287 | KApplication::showFile( "PWM/Pi FAQ", "kdepim/pwmanager/pwmanagerFAQ.txt" ); |
1287 | } | 1288 | } |
1288 | 1289 | ||
1289 | void PwM::createAboutData_slot() | 1290 | void PwM::createAboutData_slot() |
1290 | { | 1291 | { |
1291 | QString version; | 1292 | QString version; |
1292 | #include <../version> | 1293 | #include <../version> |
1293 | QMessageBox::about( this, "About PwManager/Pi", | 1294 | QMessageBox::about( this, "About PwManager/Pi", |
1294 | "PwManager/Platform-independent\n" | 1295 | "PwManager/Platform-independent\n" |
1295 | "(PWM/Pi) " +version + " - " + | 1296 | "(PWM/Pi) " +version + " - " + |
1296 | #ifdef DESKTOP_VERSION | 1297 | #ifdef DESKTOP_VERSION |
1297 | "Desktop Edition\n" | 1298 | "Desktop Edition\n" |
1298 | #else | 1299 | #else |
1299 | "PDA-Edition\n" | 1300 | "PDA-Edition\n" |
1300 | "for: Zaurus 5500 / 7x0 / 8x0\n" | 1301 | "for: Zaurus 5500 / 7x0 / 8x0\n" |
1301 | #endif | 1302 | #endif |
1302 | 1303 | ||
1303 | "(c) 2004 Ulf Schenk\n" | 1304 | "(c) 2004 Ulf Schenk\n" |
1304 | "(c) 2004 Lutz Rogowski\n" | 1305 | "(c) 2004 Lutz Rogowski\n" |
1305 | "(c) 1997-2004, The KDE PIM Team\n" | 1306 | "(c) 1997-2004, The KDE PIM Team\n" |
1306 | 1307 | ||
1307 | "(c) Michael Buesch - main programming\nand current maintainer\nmbuesch@freenet.de\n" | 1308 | "(c) Michael Buesch - main programming\nand current maintainer\nmbuesch@freenet.de\n" |
1308 | "Matt Scifo - mscifo@o1.com\n" | 1309 | "Matt Scifo - mscifo@o1.com\n" |
1309 | "Elias Probst - elias.probst@gmx.de\n" | 1310 | "Elias Probst - elias.probst@gmx.de\n" |
1310 | "George Staikos - staikos@kde.org\n" | 1311 | "George Staikos - staikos@kde.org\n" |
1311 | "Matthew Palmer - mjp16@uow.edu.au\n" | 1312 | "Matthew Palmer - mjp16@uow.edu.au\n" |
1312 | "Olivier Sessink - gpasman@nl.linux.org\n" | 1313 | "Olivier Sessink - gpasman@nl.linux.org\n" |
1313 | "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n" | 1314 | "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n" |
1314 | "Troy Engel - tengel@sonic.net\n" | 1315 | "Troy Engel - tengel@sonic.net\n" |
1315 | "Wickey - wickey@gmx.at\n" | 1316 | "Wickey - wickey@gmx.at\n" |
1316 | "Ian MacGregor - original documentation author.\n" | 1317 | "Ian MacGregor - original documentation author.\n" |
1317 | ); | 1318 | ); |
1318 | } | 1319 | } |
1319 | 1320 | ||
1321 | |||
1322 | //this are the overwritten callbackmethods from the syncinterface | ||
1323 | bool PwM::sync(KSyncManager* manager, QString filename, int mode) | ||
1324 | { | ||
1325 | return true; | ||
1326 | } | ||
1327 | |||
1328 | bool PwM::syncExternal(KSyncManager* manager, QString resource) | ||
1329 | { | ||
1330 | return true; | ||
1331 | } | ||
1332 | |||
1333 | //called by the syncmanager to indicate that the work has to marked as dirty. | ||
1334 | void PwM::sync_setModified() | ||
1335 | { | ||
1336 | } | ||
1337 | |||
1338 | //called by the syncmanager to ask if the dirty flag is set. | ||
1339 | bool PwM::sync_isModified() | ||
1340 | { | ||
1341 | } | ||
1342 | |||
1343 | //called by the syncmanager to indicate that the work has to be saved. | ||
1344 | void PwM::sync_save() | ||
1345 | { | ||
1346 | } | ||
1347 | |||
1348 | |||
1349 | |||
1320 | #endif | 1350 | #endif |
1321 | 1351 | ||
1322 | 1352 | ||
1323 | #ifndef PWM_EMBEDDED | 1353 | #ifndef PWM_EMBEDDED |
1324 | #include "pwm.moc" | 1354 | #include "pwm.moc" |
1325 | #endif | 1355 | #endif |
diff --git a/pwmanager/pwmanager/pwm.h b/pwmanager/pwmanager/pwm.h index 36a8b5b..2fe7352 100644 --- a/pwmanager/pwmanager/pwm.h +++ b/pwmanager/pwmanager/pwm.h | |||
@@ -1,261 +1,298 @@ | |||
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_H | 20 | #ifndef __PWM_H |
21 | #define __PWM_H | 21 | #define __PWM_H |
22 | 22 | ||
23 | 23 | ||
24 | #include <kpopupmenu.h> | 24 | #include <kpopupmenu.h> |
25 | #include <klistview.h> | 25 | #include <klistview.h> |
26 | #include <kmainwindow.h> | 26 | #include <kmainwindow.h> |
27 | 27 | ||
28 | #ifndef PWM_EMBEDDED | 28 | #ifndef PWM_EMBEDDED |
29 | #include <kwin.h> | 29 | #include <kwin.h> |
30 | #include <kapp.h> | 30 | #include <kapp.h> |
31 | #include <kdeversion.h> | 31 | #include <kdeversion.h> |
32 | #else | 32 | #else |
33 | #include <ksyncmanager.h> | ||
33 | #endif | 34 | #endif |
34 | 35 | ||
35 | #include <kaction.h> | 36 | #include <kaction.h> |
36 | 37 | ||
37 | |||
38 | #include <qglobal.h> | 38 | #include <qglobal.h> |
39 | 39 | ||
40 | #include "pwmview.h" | 40 | #include "pwmview.h" |
41 | #include "pwmexception.h" | 41 | #include "pwmexception.h" |
42 | 42 | ||
43 | 43 | ||
44 | /** timeout for displaying a message on the status-bar (in seconds) */ | 44 | /** timeout for displaying a message on the status-bar (in seconds) */ |
45 | #define STATUSBAR_MSG_TIMEOUT5 | 45 | #define STATUSBAR_MSG_TIMEOUT5 |
46 | 46 | ||
47 | 47 | ||
48 | class PwMInit; | 48 | class PwMInit; |
49 | class KSyncManager; | ||
49 | 50 | ||
50 | /** PwM is the base class of the project */ | 51 | /** PwM is the base class of the project */ |
52 | #ifndef PWM_EMBEDDED | ||
53 | //MOC_SKIP_BEGIN | ||
51 | class PwM : public KMainWindow | 54 | class PwM : public KMainWindow |
55 | //MOC_SKIP_END | ||
56 | #else | ||
57 | class PwM : public KMainWindow, public KSyncInterface | ||
58 | #endif | ||
52 | { | 59 | { |
53 | Q_OBJECT | 60 | Q_OBJECT |
54 | public: | 61 | public: |
55 | friend class PwMView; | 62 | friend class PwMView; |
56 | /** construtor */ | 63 | /** construtor */ |
57 | PwM(PwMInit *_init, PwMDoc *doc, | 64 | PwM(PwMInit *_init, PwMDoc *doc, |
58 | bool virginity = true, | 65 | bool virginity = true, |
59 | QWidget* parent = 0, const char *name = 0); | 66 | QWidget* parent = 0, const char *name = 0); |
60 | /** destructor */ | 67 | /** destructor */ |
61 | ~PwM(); | 68 | ~PwM(); |
62 | 69 | ||
63 | /** copy some text to the global clipboard */ | 70 | /** copy some text to the global clipboard */ |
64 | static void copyToClipboard(const QString &s); | 71 | static void copyToClipboard(const QString &s); |
65 | 72 | ||
66 | /** returns pointer to the view */ | 73 | /** returns pointer to the view */ |
67 | PwMView * curView() | 74 | PwMView * curView() |
68 | { return view; } | 75 | { return view; } |
69 | /** returns pointer to the currently using document. */ | 76 | /** returns pointer to the currently using document. */ |
70 | PwMDoc * curDoc() | 77 | PwMDoc * curDoc() |
71 | { return curView()->document(); } | 78 | { return curView()->document(); } |
72 | /** open a new doc with the given filename */ | 79 | /** open a new doc with the given filename */ |
73 | PwMDoc * openDoc(QString filename, bool openDeepLocked = false); | 80 | PwMDoc * openDoc(QString filename, bool openDeepLocked = false); |
74 | /** show a message on the global status bar. | 81 | /** show a message on the global status bar. |
75 | * The message times out after some seconds. | 82 | * The message times out after some seconds. |
76 | */ | 83 | */ |
77 | void showStatMsg(const QString &msg); | 84 | void showStatMsg(const QString &msg); |
78 | /** ask the user where to save the doc (if it has not been saved, yet) | 85 | /** ask the user where to save the doc (if it has not been saved, yet) |
79 | * and write the data to disk. | 86 | * and write the data to disk. |
80 | */ | 87 | */ |
81 | bool save(); | 88 | bool save(); |
82 | /** ask the user where to save the doc | 89 | /** ask the user where to save the doc |
83 | * and write the data to disk. | 90 | * and write the data to disk. |
84 | */ | 91 | */ |
85 | bool saveAs(); | 92 | bool saveAs(); |
86 | /** force quit. Quit this window, always! Don't minimize it */ | 93 | /** force quit. Quit this window, always! Don't minimize it */ |
87 | bool isForceQuit() | 94 | bool isForceQuit() |
88 | { return forceQuit; } | 95 | { return forceQuit; } |
89 | /** set forceQuit */ | 96 | /** set forceQuit */ |
90 | void setForceQuit(bool force) | 97 | void setForceQuit(bool force) |
91 | { forceQuit = force; } | 98 | { forceQuit = force; } |
92 | /** force minimize this window */ | 99 | /** force minimize this window */ |
93 | bool isForceMinimizeToTray() | 100 | bool isForceMinimizeToTray() |
94 | { return forceMinimizeToTray; } | 101 | { return forceMinimizeToTray; } |
95 | /** set forceMinimizeToTray */ | 102 | /** set forceMinimizeToTray */ |
96 | void setForceMinimizeToTray(bool force) | 103 | void setForceMinimizeToTray(bool force) |
97 | { forceMinimizeToTray = force; } | 104 | { forceMinimizeToTray = force; } |
98 | 105 | ||
99 | public slots: | 106 | public slots: |
100 | /** file/new triggered */ | 107 | /** file/new triggered */ |
101 | void new_slot(); | 108 | void new_slot(); |
102 | /** file/open triggered */ | 109 | /** file/open triggered */ |
103 | //US ENH | 110 | //US ENH |
104 | void open_slot(); | 111 | void open_slot(); |
105 | void open_slot(QString fn); | 112 | void open_slot(QString fn); |
106 | /** file/close triggered */ | 113 | /** file/close triggered */ |
107 | void close_slot(); | 114 | void close_slot(); |
108 | /** file/quit triggered */ | 115 | /** file/quit triggered */ |
109 | void quitButton_slot(); | 116 | void quitButton_slot(); |
110 | /** file/save triggered */ | 117 | /** file/save triggered */ |
111 | void save_slot(); | 118 | void save_slot(); |
112 | /** file/saveAs triggered */ | 119 | /** file/saveAs triggered */ |
113 | void saveAs_slot(); | 120 | void saveAs_slot(); |
114 | /** file/export/text triggered */ | 121 | /** file/export/text triggered */ |
115 | void exportToText(); | 122 | void exportToText(); |
116 | /** file/export/gpasman triggered */ | 123 | /** file/export/gpasman triggered */ |
117 | void exportToGpasman(); | 124 | void exportToGpasman(); |
118 | /** file/export/kwallet triggered */ | 125 | /** file/export/kwallet triggered */ |
119 | void exportToKWallet(); | 126 | void exportToKWallet(); |
120 | /** file/import/text triggered */ | 127 | /** file/import/text triggered */ |
121 | bool importFromText(); | 128 | bool importFromText(); |
122 | /** file/import/gpasman triggered */ | 129 | /** file/import/gpasman triggered */ |
123 | bool importFromGpasman(); | 130 | bool importFromGpasman(); |
124 | /** file/import/kwallet triggered */ | 131 | /** file/import/kwallet triggered */ |
125 | bool importKWallet(); | 132 | bool importKWallet(); |
126 | /** file/print triggered */ | 133 | /** file/print triggered */ |
127 | void print_slot(); | 134 | void print_slot(); |
128 | /** manage/add triggered */ | 135 | /** manage/add triggered */ |
129 | //US ENH : changed code to run with older MOC | 136 | //US ENH : changed code to run with older MOC |
130 | void addPwd_slot(); | 137 | void addPwd_slot(); |
131 | void addPwd_slot(QString *pw, PwMDoc *_doc); | 138 | void addPwd_slot(QString *pw, PwMDoc *_doc); |
132 | /** manage/edit triggered */ | 139 | /** manage/edit triggered */ |
133 | //US ENH : changed code to run with older MOC | 140 | //US ENH : changed code to run with older MOC |
134 | void editPwd_slot(); | 141 | void editPwd_slot(); |
135 | void editPwd_slot(const QString *category); | 142 | void editPwd_slot(const QString *category); |
136 | void editPwd_slot(const QString *category = 0, const int *index = 0, | 143 | void editPwd_slot(const QString *category = 0, const int *index = 0, |
137 | PwMDoc *_doc = 0); | 144 | PwMDoc *_doc = 0); |
138 | /** manage/delete triggered */ | 145 | /** manage/delete triggered */ |
139 | void deletePwd_slot(); | 146 | void deletePwd_slot(); |
140 | /** execute the "Launcher" entry */ | 147 | /** execute the "Launcher" entry */ |
141 | void execLauncher_slot(); | 148 | void execLauncher_slot(); |
142 | /** open browser with URL entry */ | 149 | /** open browser with URL entry */ |
143 | void goToURL_slot(); | 150 | void goToURL_slot(); |
144 | /** manage/changeMasterPwd triggered */ | 151 | /** manage/changeMasterPwd triggered */ |
145 | void changeMasterPwd_slot(); | 152 | void changeMasterPwd_slot(); |
146 | /** lock current document */ | 153 | /** lock current document */ |
147 | void lockWnd_slot(); | 154 | void lockWnd_slot(); |
148 | /** deeplock current document */ | 155 | /** deeplock current document */ |
149 | void deepLockWnd_slot(); | 156 | void deepLockWnd_slot(); |
150 | /** window/unlock triggered */ | 157 | /** window/unlock triggered */ |
151 | void unlockWnd_slot(); | 158 | void unlockWnd_slot(); |
152 | /** find item */ | 159 | /** find item */ |
153 | void find_slot(); | 160 | void find_slot(); |
154 | /** configure clicked */ | 161 | /** configure clicked */ |
155 | void config_slot(); | 162 | void config_slot(); |
156 | /** (de)activate the "change master pw" button in the menu-bar */ | 163 | /** (de)activate the "change master pw" button in the menu-bar */ |
157 | void activateMpButton(bool activate = true); | 164 | void activateMpButton(bool activate = true); |
158 | /** generate a new chipcard */ | 165 | /** generate a new chipcard */ |
159 | void genNewCard_slot(); | 166 | void genNewCard_slot(); |
160 | /** completely erase the current card */ | 167 | /** completely erase the current card */ |
161 | void eraseCard_slot(); | 168 | void eraseCard_slot(); |
162 | /** returns the ID number of the current card */ | 169 | /** returns the ID number of the current card */ |
163 | void readCardId_slot(); | 170 | void readCardId_slot(); |
164 | /** make backup image of the current card */ | 171 | /** make backup image of the current card */ |
165 | void makeCardBackup_slot(); | 172 | void makeCardBackup_slot(); |
166 | /** write backup image to current card */ | 173 | /** write backup image to current card */ |
167 | void replayCardBackup_slot(); | 174 | void replayCardBackup_slot(); |
168 | 175 | ||
169 | #ifdef PWM_EMBEDDED | 176 | #ifdef PWM_EMBEDDED |
170 | void showLicense_slot(); | 177 | void showLicense_slot(); |
171 | void faq_slot(); | 178 | void faq_slot(); |
172 | void createAboutData_slot(); | 179 | void createAboutData_slot(); |
173 | #endif | 180 | #endif |
174 | 181 | ||
175 | protected: | 182 | protected: |
176 | /** is this window virgin? */ | 183 | /** is this window virgin? */ |
177 | bool isVirgin() | 184 | bool isVirgin() |
178 | { return virgin; } | 185 | { return virgin; } |
179 | /** add/remove virginity */ | 186 | /** add/remove virginity */ |
180 | void setVirgin(bool v); | 187 | void setVirgin(bool v); |
181 | /** initialize the menubar */ | 188 | /** initialize the menubar */ |
182 | void initMenubar(); | 189 | void initMenubar(); |
183 | /** initialize the toolbar */ | 190 | /** initialize the toolbar */ |
184 | void initToolbar(); | 191 | void initToolbar(); |
185 | /** initialize the window-metrics */ | 192 | /** initialize the window-metrics */ |
186 | void initMetrics(); | 193 | void initMetrics(); |
187 | /** close-event */ | 194 | /** close-event */ |
188 | void closeEvent(QCloseEvent *e); | 195 | void closeEvent(QCloseEvent *e); |
189 | /** creates a new PwM-ListView and returns it */ | 196 | /** creates a new PwM-ListView and returns it */ |
190 | PwMView * makeNewListView(PwMDoc *doc); | 197 | PwMView * makeNewListView(PwMDoc *doc); |
191 | /** Window hide-event */ | 198 | /** Window hide-event */ |
192 | void hideEvent(QHideEvent *); | 199 | void hideEvent(QHideEvent *); |
193 | /** is this window minimized? */ | 200 | /** is this window minimized? */ |
194 | bool isMinimized() | 201 | bool isMinimized() |
195 | { | 202 | { |
196 | #ifndef PWM_EMBEDDED | 203 | #ifndef PWM_EMBEDDED |
197 | #if KDE_VERSION >= KDE_MAKE_VERSION(3, 2, 0) | 204 | #if KDE_VERSION >= KDE_MAKE_VERSION(3, 2, 0) |
198 | return KWin::windowInfo(winId()).isMinimized(); | 205 | return KWin::windowInfo(winId()).isMinimized(); |
199 | #else // KDE_VERSION | 206 | #else // KDE_VERSION |
200 | return KWin::info(winId()).isIconified(); | 207 | return KWin::info(winId()).isIconified(); |
201 | #endif // KDE_VERSION | 208 | #endif // KDE_VERSION |
202 | #else | 209 | #else |
203 | return false; | 210 | return false; |
204 | #endif | 211 | #endif |
205 | } | 212 | } |
206 | /** window got the focus */ | 213 | /** window got the focus */ |
207 | void focusInEvent(QFocusEvent *e); | 214 | void focusInEvent(QFocusEvent *e); |
208 | /** update the caption string */ | 215 | /** update the caption string */ |
209 | void updateCaption(); | 216 | void updateCaption(); |
210 | #ifdef CONFIG_KWALLETIF | 217 | #ifdef CONFIG_KWALLETIF |
211 | /** check if kwalletemu is enabled and ask the user what to do */ | 218 | /** check if kwalletemu is enabled and ask the user what to do */ |
212 | bool checkAndAskForKWalletEmu(); | 219 | bool checkAndAskForKWalletEmu(); |
213 | #endif // CONFIG_KWALLETIF | 220 | #endif // CONFIG_KWALLETIF |
214 | 221 | ||
215 | protected slots: | 222 | protected slots: |
216 | /** doc got closed */ | 223 | /** doc got closed */ |
217 | void docClosed(PwMDoc *doc); | 224 | void docClosed(PwMDoc *doc); |
218 | 225 | ||
219 | signals: | 226 | signals: |
220 | /** window got closed (by user or someone else) */ | 227 | /** window got closed (by user or someone else) */ |
221 | void closed(PwM *wnd); | 228 | void closed(PwM *wnd); |
222 | /** window got the focus (was brought to foreground) */ | 229 | /** window got the focus (was brought to foreground) */ |
223 | void gotFocus(PwM *wnd); | 230 | void gotFocus(PwM *wnd); |
224 | /** window lost the focus */ | 231 | /** window lost the focus */ |
225 | void lostFocus(PwM *wnd); | 232 | void lostFocus(PwM *wnd); |
226 | 233 | ||
227 | protected: | 234 | protected: |
228 | /** pointer to the view active in this KMainWindow */ | 235 | /** pointer to the view active in this KMainWindow */ |
229 | PwMView *view; | 236 | PwMView *view; |
230 | /** pointer to the init class */ | 237 | /** pointer to the init class */ |
231 | PwMInit *init; | 238 | PwMInit *init; |
232 | /** has this window already lost its virginity? | 239 | /** has this window already lost its virginity? |
233 | * Means is there an open working document | 240 | * Means is there an open working document |
234 | */ | 241 | */ |
235 | bool virgin; | 242 | bool virgin; |
236 | /** "file" popup-menu */ | 243 | /** "file" popup-menu */ |
237 | KPopupMenu *filePopup; | 244 | KPopupMenu *filePopup; |
238 | 245 | ||
239 | /** "manage" popup-menu */ | 246 | /** "manage" popup-menu */ |
240 | KPopupMenu *managePopup; | 247 | KPopupMenu *managePopup; |
241 | #ifdef CONFIG_KEYCARD | 248 | #ifdef CONFIG_KEYCARD |
242 | /** "chipcard" popup-menu */ | 249 | /** "chipcard" popup-menu */ |
243 | KPopupMenu *chipcardPopup; | 250 | KPopupMenu *chipcardPopup; |
244 | #endif // CONFIG_KEYCARD | 251 | #endif // CONFIG_KEYCARD |
245 | /** "view" popup-menu */ | 252 | /** "view" popup-menu */ |
246 | KPopupMenu *viewPopup; | 253 | KPopupMenu *viewPopup; |
247 | /** "options" popup-menu */ | 254 | /** "options" popup-menu */ |
248 | KPopupMenu *optionsPopup; | 255 | KPopupMenu *optionsPopup; |
249 | /** "help" popup-menu */ | 256 | /** "help" popup-menu */ |
250 | KPopupMenu *helpPopup; | 257 | KPopupMenu *helpPopup; |
251 | /** "export" popup-menu */ | 258 | /** "export" popup-menu */ |
252 | KPopupMenu *exportPopup; | 259 | KPopupMenu *exportPopup; |
253 | /** "import" popup-menu */ | 260 | /** "import" popup-menu */ |
254 | KPopupMenu *importPopup; | 261 | KPopupMenu *importPopup; |
255 | /** force quit this window? */ | 262 | /** force quit this window? */ |
256 | bool forceQuit; | 263 | bool forceQuit; |
257 | /** force minimize this window to the tray */ | 264 | /** force minimize this window to the tray */ |
258 | bool forceMinimizeToTray; | 265 | bool forceMinimizeToTray; |
266 | |||
267 | |||
268 | |||
269 | |||
270 | private: | ||
271 | #ifdef PWM_EMBEDDED | ||
272 | //this are the overwritten callbackmethods from the syncinterface | ||
273 | virtual bool sync(KSyncManager* manager, QString filename, int mode); | ||
274 | virtual bool syncExternal(KSyncManager* manager, QString resource); | ||
275 | |||
276 | //called by the syncmanager to indicate that the work has to marked as dirty. | ||
277 | virtual void sync_setModified(); | ||
278 | //called by the syncmanager to ask if the dirty flag is set. | ||
279 | virtual bool sync_isModified(); | ||
280 | //called by the syncmanager to indicate that the work has to be saved. | ||
281 | virtual void sync_save(); | ||
282 | |||
283 | // LR ******************************* | ||
284 | // sync stuff! | ||
285 | QPopupMenu *syncPopup; | ||
286 | KSyncManager* syncManager; | ||
287 | #endif | ||
288 | |||
289 | |||
290 | |||
291 | |||
292 | |||
293 | |||
294 | |||
295 | |||
259 | }; | 296 | }; |
260 | 297 | ||
261 | #endif | 298 | #endif |