-rw-r--r-- | pwmanager/pwmanager/pwmdoc.cpp | 15 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmprefs.cpp | 1 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmprefs.h | 4 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle.cpp | 32 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_0.cpp | 21 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_0.h | 6 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_1.cpp | 20 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_1.h | 5 | ||||
-rw-r--r-- | pwmanager/pwmanager/serializer.cpp | 34 |
9 files changed, 107 insertions, 31 deletions
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp index 9fe4809..c167c2c 100644 --- a/pwmanager/pwmanager/pwmdoc.cpp +++ b/pwmanager/pwmanager/pwmdoc.cpp | |||
@@ -41,17 +41,19 @@ | |||
41 | 41 | ||
42 | #include <qdatetime.h> | 42 | #include <qdatetime.h> |
43 | #include <qsize.h> | 43 | #include <qsize.h> |
44 | #include <qfileinfo.h> | 44 | #include <qfileinfo.h> |
45 | #include <qfile.h> | 45 | #include <qfile.h> |
46 | 46 | ||
47 | #define __USE_GNU | ||
48 | #define _GNU_SOURCE | ||
47 | #include <stdio.h> | 49 | #include <stdio.h> |
48 | #include <stdlib.h> | 50 | #include <stdlib.h> |
49 | #include <errno.h> | 51 | #include <errno.h> |
50 | #include <string.h> | 52 | #include <string.h> |
51 | #include <iostream> | 53 | //US#include <iostream> |
52 | #include <algorithm> | 54 | #include <algorithm> |
53 | #include <sys/types.h> | 55 | #include <sys/types.h> |
54 | #include <sys/stat.h> | 56 | #include <sys/stat.h> |
55 | #include <unistd.h> | 57 | #include <unistd.h> |
56 | #include <stdint.h> | 58 | #include <stdint.h> |
57 | 59 | ||
@@ -1151,20 +1153,31 @@ bool PwMDoc::serializeDta(string *d) | |||
1151 | return true; | 1153 | return true; |
1152 | } | 1154 | } |
1153 | 1155 | ||
1154 | bool PwMDoc::deSerializeDta(const string *d, bool entriesLocked) | 1156 | bool PwMDoc::deSerializeDta(const string *d, bool entriesLocked) |
1155 | { | 1157 | { |
1156 | PWM_ASSERT(d); | 1158 | PWM_ASSERT(d); |
1159 | #ifndef PWM_EMBEDDED | ||
1157 | try { | 1160 | try { |
1161 | |||
1158 | Serializer ser(d->c_str()); | 1162 | Serializer ser(d->c_str()); |
1159 | ser.setDefaultLockStat(entriesLocked); | 1163 | ser.setDefaultLockStat(entriesLocked); |
1160 | if (!ser.deSerialize(&dta)) | 1164 | if (!ser.deSerialize(&dta)) |
1161 | return false; | 1165 | return false; |
1162 | } catch (PwMException) { | 1166 | } catch (PwMException) { |
1163 | return false; | 1167 | return false; |
1164 | } | 1168 | } |
1169 | #else | ||
1170 | Serializer ser(d->c_str()); | ||
1171 | ser.setDefaultLockStat(entriesLocked); | ||
1172 | if (!ser.deSerialize(&dta)) | ||
1173 | return false; | ||
1174 | else | ||
1175 | return false; | ||
1176 | #endif | ||
1177 | |||
1165 | emitDataChanged(this); | 1178 | emitDataChanged(this); |
1166 | return true; | 1179 | return true; |
1167 | } | 1180 | } |
1168 | 1181 | ||
1169 | bool PwMDoc::getEntry(const QString &category, unsigned int index, | 1182 | bool PwMDoc::getEntry(const QString &category, unsigned int index, |
1170 | PwMDataItem * d, bool unlockIfLocked) | 1183 | PwMDataItem * d, bool unlockIfLocked) |
diff --git a/pwmanager/pwmanager/pwmprefs.cpp b/pwmanager/pwmanager/pwmprefs.cpp index 5779ecc..d3847f6 100644 --- a/pwmanager/pwmanager/pwmprefs.cpp +++ b/pwmanager/pwmanager/pwmprefs.cpp | |||
@@ -58,12 +58,13 @@ PWMPrefs::PWMPrefs() | |||
58 | KPrefs::setCurrentGroup( "Wnd" ); | 58 | KPrefs::setCurrentGroup( "Wnd" ); |
59 | 59 | ||
60 | addItemSize( "MainWndSize", &mMainWndSize); | 60 | addItemSize( "MainWndSize", &mMainWndSize); |
61 | addItemInt( "MainViewStyle", &mMainViewStyle, CONF_DEFAULT_MAINVIEWSTYLE ); | 61 | addItemInt( "MainViewStyle", &mMainViewStyle, CONF_DEFAULT_MAINVIEWSTYLE ); |
62 | addItemBool( "autoMinimizeOnStart", &mAutoMinimizeOnStart, CONF_DEFAULT_AUTOMINIMIZE ); | 62 | addItemBool( "autoMinimizeOnStart", &mAutoMinimizeOnStart, CONF_DEFAULT_AUTOMINIMIZE ); |
63 | addItemBool( "close", &mClose, CONF_DEFAULT_WNDCLOSE ); | 63 | addItemBool( "close", &mClose, CONF_DEFAULT_WNDCLOSE ); |
64 | addItemIntList( "CommentSplitter", &mCommentSplitter ); | ||
64 | } | 65 | } |
65 | 66 | ||
66 | PWMPrefs::~PWMPrefs() | 67 | PWMPrefs::~PWMPrefs() |
67 | { | 68 | { |
68 | } | 69 | } |
69 | 70 | ||
diff --git a/pwmanager/pwmanager/pwmprefs.h b/pwmanager/pwmanager/pwmprefs.h index bf7d8b1..6a89d10 100644 --- a/pwmanager/pwmanager/pwmprefs.h +++ b/pwmanager/pwmanager/pwmprefs.h | |||
@@ -131,12 +131,16 @@ public: | |||
131 | bool mNewEntrLockStat; | 131 | bool mNewEntrLockStat; |
132 | QSize mMainWndSize; | 132 | QSize mMainWndSize; |
133 | int mMainViewStyle; | 133 | int mMainViewStyle; |
134 | bool mAutoMinimizeOnStart; | 134 | bool mAutoMinimizeOnStart; |
135 | bool mClose; | 135 | bool mClose; |
136 | 136 | ||
137 | //US ENH | ||
138 | QValueList<int> mCommentSplitter; | ||
139 | |||
140 | |||
137 | // US introduce a nonconst way to return the config object. | 141 | // US introduce a nonconst way to return the config object. |
138 | KConfig* getConfig(); | 142 | KConfig* getConfig(); |
139 | 143 | ||
140 | private: | 144 | private: |
141 | PWMPrefs(); | 145 | PWMPrefs(); |
142 | 146 | ||
diff --git a/pwmanager/pwmanager/pwmviewstyle.cpp b/pwmanager/pwmanager/pwmviewstyle.cpp index 51d8f6c..9704615 100644 --- a/pwmanager/pwmanager/pwmviewstyle.cpp +++ b/pwmanager/pwmanager/pwmviewstyle.cpp | |||
@@ -38,15 +38,27 @@ PwMViewStyle::PwMViewStyle(QWidget *parent, const char *name) | |||
38 | s0 = 0; | 38 | s0 = 0; |
39 | s1 = 0; | 39 | s1 = 0; |
40 | } | 40 | } |
41 | 41 | ||
42 | PwMViewStyle::~PwMViewStyle() | 42 | PwMViewStyle::~PwMViewStyle() |
43 | { | 43 | { |
44 | //US ENH : load and store the size of the listviewcolumns | 44 | //US ENH : store the size of the listviewcolumns |
45 | lv->saveLayout(conf()->getConfig(), "listview"); | 45 | switch (curStyle) |
46 | conf()->getConfig()->sync(); | 46 | { |
47 | case style_0: | ||
48 | s0->saveSettings(PWMPrefs::instance()); | ||
49 | break; | ||
50 | case style_1: | ||
51 | s1->saveSettings(PWMPrefs::instance()); | ||
52 | break; | ||
53 | default: | ||
54 | BUG(); | ||
55 | } | ||
56 | |||
57 | |||
58 | PWMPrefs::instance()->getConfig()->sync(); | ||
47 | 59 | ||
48 | delete_ifnot_null(s0); | 60 | delete_ifnot_null(s0); |
49 | delete_ifnot_null(s1); | 61 | delete_ifnot_null(s1); |
50 | } | 62 | } |
51 | 63 | ||
52 | void PwMViewStyle::initStyle(style_t style) | 64 | void PwMViewStyle::initStyle(style_t style) |
@@ -85,14 +97,24 @@ void PwMViewStyle::initStyle(style_t style) | |||
85 | lv->addColumn(i18n("Username"), 150); | 97 | lv->addColumn(i18n("Username"), 150); |
86 | lv->addColumn(i18n("Password"), 150); | 98 | lv->addColumn(i18n("Password"), 150); |
87 | lv->addColumn(i18n("URL"), 180); | 99 | lv->addColumn(i18n("URL"), 180); |
88 | lv->addColumn(i18n("Launcher"), 120); | 100 | lv->addColumn(i18n("Launcher"), 120); |
89 | v->tmpReEnableSort(); | 101 | v->tmpReEnableSort(); |
90 | 102 | ||
91 | //US ENH : load and store the size of the listviewcolumns | 103 | //US ENH : load the size of the listviewcolumns |
92 | lv->restoreLayout(conf()->getConfig(), "listview"); | 104 | switch (style) |
105 | { | ||
106 | case style_0: | ||
107 | s0->restoreSettings(PWMPrefs::instance()); | ||
108 | break; | ||
109 | case style_1: | ||
110 | s1->restoreSettings(PWMPrefs::instance()); | ||
111 | break; | ||
112 | default: | ||
113 | BUG(); | ||
114 | } | ||
93 | 115 | ||
94 | resizeView(v->size()); | 116 | resizeView(v->size()); |
95 | v->updateView(); | 117 | v->updateView(); |
96 | if (wasMaximized) { | 118 | if (wasMaximized) { |
97 | v->showMaximized(); | 119 | v->showMaximized(); |
98 | } else { | 120 | } else { |
diff --git a/pwmanager/pwmanager/pwmviewstyle_0.cpp b/pwmanager/pwmanager/pwmviewstyle_0.cpp index 6d46ac6..7262684 100644 --- a/pwmanager/pwmanager/pwmviewstyle_0.cpp +++ b/pwmanager/pwmanager/pwmviewstyle_0.cpp | |||
@@ -20,13 +20,13 @@ | |||
20 | #include "pwmviewstyle_0.h" | 20 | #include "pwmviewstyle_0.h" |
21 | #include "pwmview.h" | 21 | #include "pwmview.h" |
22 | #include "listviewpwm.h" | 22 | #include "listviewpwm.h" |
23 | #include "commentbox.h" | 23 | #include "commentbox.h" |
24 | 24 | ||
25 | #include <klocale.h> | 25 | #include <klocale.h> |
26 | 26 | #include "pwmprefs.h" | |
27 | 27 | ||
28 | PwMViewStyle_0::PwMViewStyle_0(PwMView *view) | 28 | PwMViewStyle_0::PwMViewStyle_0(PwMView *view) |
29 | : QObject() | 29 | : QObject() |
30 | { | 30 | { |
31 | vbox1 = new QVBox(view); | 31 | vbox1 = new QVBox(view); |
32 | vbox1->setSpacing(3); | 32 | vbox1->setSpacing(3); |
@@ -88,6 +88,25 @@ void PwMViewStyle_0::selectCategory(const QString &cat) | |||
88 | return; | 88 | return; |
89 | } | 89 | } |
90 | } | 90 | } |
91 | // fall back to 0 | 91 | // fall back to 0 |
92 | categoriesCombo->setCurrentItem(0); | 92 | categoriesCombo->setCurrentItem(0); |
93 | } | 93 | } |
94 | |||
95 | |||
96 | //US ENH: I need a place to load the view dependend settings. Eg. splittersize | ||
97 | void PwMViewStyle_0::restoreSettings(PWMPrefs* prefs) | ||
98 | { | ||
99 | //load and store the size of the listviewcolumns | ||
100 | lv->restoreLayout(prefs->getConfig(), "listview"); | ||
101 | splitter1->setSizes( prefs->mCommentSplitter ); | ||
102 | |||
103 | } | ||
104 | |||
105 | //US ENH: I need a place to load the view dependend settings. Eg. splittersize | ||
106 | void PwMViewStyle_0::saveSettings(PWMPrefs* prefs) | ||
107 | { | ||
108 | //store the size of the listviewcolumns | ||
109 | lv->saveLayout(prefs->getConfig(), "listview"); | ||
110 | prefs->mCommentSplitter = splitter1->sizes(); | ||
111 | |||
112 | } | ||
diff --git a/pwmanager/pwmanager/pwmviewstyle_0.h b/pwmanager/pwmanager/pwmviewstyle_0.h index cc564c3..bd93c06 100644 --- a/pwmanager/pwmanager/pwmviewstyle_0.h +++ b/pwmanager/pwmanager/pwmviewstyle_0.h | |||
@@ -33,12 +33,13 @@ | |||
33 | #include <qlabel.h> | 33 | #include <qlabel.h> |
34 | #include <qcombobox.h> | 34 | #include <qcombobox.h> |
35 | 35 | ||
36 | class PwMView; | 36 | class PwMView; |
37 | class ListViewPwM; | 37 | class ListViewPwM; |
38 | class CommentBox; | 38 | class CommentBox; |
39 | class PWMPrefs; | ||
39 | 40 | ||
40 | class PwMViewStyle_0 : public QObject | 41 | class PwMViewStyle_0 : public QObject |
41 | { | 42 | { |
42 | public: | 43 | public: |
43 | PwMViewStyle_0(PwMView *view); | 44 | PwMViewStyle_0(PwMView *view); |
44 | ~PwMViewStyle_0(); | 45 | ~PwMViewStyle_0(); |
@@ -68,12 +69,17 @@ public: | |||
68 | int numCategories() | 69 | int numCategories() |
69 | { return categoriesCombo->count(); } | 70 | { return categoriesCombo->count(); } |
70 | /** resize the view */ | 71 | /** resize the view */ |
71 | void resize(const QSize &size) | 72 | void resize(const QSize &size) |
72 | { vbox1->resize(size); } | 73 | { vbox1->resize(size); } |
73 | 74 | ||
75 | //US ENH: I need a place to load the view dependend settings. Eg. splittersize | ||
76 | void restoreSettings(PWMPrefs* prefs); | ||
77 | void saveSettings(PWMPrefs* prefs); | ||
78 | |||
79 | |||
74 | protected: | 80 | protected: |
75 | /** main list view */ | 81 | /** main list view */ |
76 | ListViewPwM *lv; | 82 | ListViewPwM *lv; |
77 | /** categories combo-box */ | 83 | /** categories combo-box */ |
78 | QComboBox *categoriesCombo; | 84 | QComboBox *categoriesCombo; |
79 | /** title string for the categories combo or list box */ | 85 | /** title string for the categories combo or list box */ |
diff --git a/pwmanager/pwmanager/pwmviewstyle_1.cpp b/pwmanager/pwmanager/pwmviewstyle_1.cpp index 4c24bc4..8b2d6d3 100644 --- a/pwmanager/pwmanager/pwmviewstyle_1.cpp +++ b/pwmanager/pwmanager/pwmviewstyle_1.cpp | |||
@@ -20,12 +20,13 @@ | |||
20 | #include "pwmviewstyle_1.h" | 20 | #include "pwmviewstyle_1.h" |
21 | #include "pwmview.h" | 21 | #include "pwmview.h" |
22 | #include "listviewpwm.h" | 22 | #include "listviewpwm.h" |
23 | #include "commentbox.h" | 23 | #include "commentbox.h" |
24 | 24 | ||
25 | #include <klocale.h> | 25 | #include <klocale.h> |
26 | #include "pwmprefs.h" | ||
26 | 27 | ||
27 | #define INITIAL_CATEGORIES_WIDTH100 | 28 | #define INITIAL_CATEGORIES_WIDTH100 |
28 | 29 | ||
29 | PwMViewStyle_1::PwMViewStyle_1(PwMView *view) | 30 | PwMViewStyle_1::PwMViewStyle_1(PwMView *view) |
30 | : QObject() | 31 | : QObject() |
31 | { | 32 | { |
@@ -122,9 +123,28 @@ void PwMViewStyle_1::selectCategory(const QString &cat) | |||
122 | } | 123 | } |
123 | } | 124 | } |
124 | // fall back to 0 | 125 | // fall back to 0 |
125 | categoriesList->setCurrentItem(0); | 126 | categoriesList->setCurrentItem(0); |
126 | } | 127 | } |
127 | 128 | ||
129 | //US ENH: I need a place to load the view dependend settings. Eg. splittersize | ||
130 | void PwMViewStyle_1::restoreSettings(PWMPrefs* prefs) | ||
131 | { | ||
132 | //load and store the size of the listviewcolumns | ||
133 | lv->restoreLayout(prefs->getConfig(), "listview"); | ||
134 | splitter2->setSizes( prefs->mCommentSplitter ); | ||
135 | |||
136 | } | ||
137 | |||
138 | //US ENH: I need a place to load the view dependend settings. Eg. splittersize | ||
139 | void PwMViewStyle_1::saveSettings(PWMPrefs* prefs) | ||
140 | { | ||
141 | //store the size of the listviewcolumns | ||
142 | lv->saveLayout(prefs->getConfig(), "listview"); | ||
143 | prefs->mCommentSplitter = splitter2->sizes(); | ||
144 | |||
145 | } | ||
146 | |||
147 | |||
128 | #ifndef PWM_EMBEDDED | 148 | #ifndef PWM_EMBEDDED |
129 | #include "pwmviewstyle_1.moc" | 149 | #include "pwmviewstyle_1.moc" |
130 | #endif | 150 | #endif |
diff --git a/pwmanager/pwmanager/pwmviewstyle_1.h b/pwmanager/pwmanager/pwmviewstyle_1.h index a50f587..a7f100c 100644 --- a/pwmanager/pwmanager/pwmviewstyle_1.h +++ b/pwmanager/pwmanager/pwmviewstyle_1.h | |||
@@ -34,12 +34,13 @@ | |||
34 | #include <qlistbox.h> | 34 | #include <qlistbox.h> |
35 | #include <qpopupmenu.h> | 35 | #include <qpopupmenu.h> |
36 | 36 | ||
37 | class PwMView; | 37 | class PwMView; |
38 | class ListViewPwM; | 38 | class ListViewPwM; |
39 | class CommentBox; | 39 | class CommentBox; |
40 | class PWMPrefs; | ||
40 | 41 | ||
41 | class PwMViewStyle_1 : public QObject | 42 | class PwMViewStyle_1 : public QObject |
42 | { | 43 | { |
43 | Q_OBJECT | 44 | Q_OBJECT |
44 | public: | 45 | public: |
45 | PwMViewStyle_1(PwMView *view); | 46 | PwMViewStyle_1(PwMView *view); |
@@ -70,12 +71,16 @@ public: | |||
70 | int numCategories() | 71 | int numCategories() |
71 | { return categoriesList->count(); } | 72 | { return categoriesList->count(); } |
72 | /** resize the view */ | 73 | /** resize the view */ |
73 | void resize(const QSize &size) | 74 | void resize(const QSize &size) |
74 | { splitter->resize(size); } | 75 | { splitter->resize(size); } |
75 | 76 | ||
77 | //US ENH: I need a place to load the view dependend settings. Eg. splittersize | ||
78 | void restoreSettings(PWMPrefs* prefs); | ||
79 | void saveSettings(PWMPrefs* prefs); | ||
80 | |||
76 | protected slots: | 81 | protected slots: |
77 | /** user clicked right button in category list */ | 82 | /** user clicked right button in category list */ |
78 | void catRightClick(QListBoxItem *item, const QPoint &point); | 83 | void catRightClick(QListBoxItem *item, const QPoint &point); |
79 | 84 | ||
80 | protected: | 85 | protected: |
81 | /** main list view */ | 86 | /** main list view */ |
diff --git a/pwmanager/pwmanager/serializer.cpp b/pwmanager/pwmanager/serializer.cpp index 9377e3d..a54ba8a 100644 --- a/pwmanager/pwmanager/serializer.cpp +++ b/pwmanager/pwmanager/serializer.cpp | |||
@@ -401,50 +401,36 @@ bool Serializer::extractMeta(const QDomNode &n, | |||
401 | } else { | 401 | } else { |
402 | printDebug(string("extractMeta(): invalid: ") | 402 | printDebug(string("extractMeta(): invalid: ") |
403 | + name.latin1()); | 403 | + name.latin1()); |
404 | } | 404 | } |
405 | #else | 405 | #else |
406 | 406 | ||
407 | QDateTime m_dt; | ||
408 | |||
409 | if ((name == META_CREATE_DATE) || | ||
410 | (name == META_VALID_DATE) || | ||
411 | (name == META_EXPIRE_DATE) || | ||
412 | (name == META_UPDATE_DATE)) | ||
413 | { | ||
414 | int pos = val.find("T"); | ||
415 | QString date = val.left(pos); | ||
416 | QString time = val.mid(pos+1); | ||
417 | qDebug("Serializer::extractMeta from %s to date=%s ,time=%s",val.latin1(), date.latin1(), time.latin1() ); | ||
418 | bool ok1, ok2; | ||
419 | |||
420 | QDate m_date = KGlobal::locale()->readDate(date, &ok1); | ||
421 | QTime m_time = KGlobal::locale()->readTime(time, &ok2); | ||
422 | if ((ok1 == false) || (ok2 == false)) | ||
423 | qDebug("Serializer::extractMeta invalid date or time !!!!!!!!!!!!!"); | ||
424 | m_dt.setDate(m_date); | ||
425 | m_dt.setTime(m_time); | ||
426 | } | ||
427 | 407 | ||
408 | bool ok = true; | ||
428 | 409 | ||
429 | if (name == META_CREATE_DATE) { | 410 | if (name == META_CREATE_DATE) { |
430 | dta->create = m_dt; | 411 | dta->create = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); |
431 | } else if (name == META_VALID_DATE) { | 412 | } else if (name == META_VALID_DATE) { |
432 | dta->valid = m_dt; | 413 | dta->valid = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); |
433 | } else if (name == META_EXPIRE_DATE) { | 414 | } else if (name == META_EXPIRE_DATE) { |
434 | dta->expire = m_dt; | 415 | dta->expire = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); |
435 | } else if (name == META_UPDATE_DATE) { | 416 | } else if (name == META_UPDATE_DATE) { |
436 | dta->update = m_dt; | 417 | dta->update = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); |
437 | } else if (name == META_UPDATE_INT) { | 418 | } else if (name == META_UPDATE_INT) { |
438 | dta->updateInt = strtoul(val.latin1(), 0, 10); | 419 | dta->updateInt = strtoul(val.latin1(), 0, 10); |
439 | } else if (name == META_UNIQUEID) { | 420 | } else if (name == META_UNIQUEID) { |
440 | dta->uniqueid = unescapeEntryData(val).latin1(); | 421 | dta->uniqueid = unescapeEntryData(val).latin1(); |
441 | } else { | 422 | } else { |
442 | printDebug(string("extractMeta(): invalid: ") | 423 | printDebug(string("extractMeta(): invalid: ") |
443 | + name.latin1()); | 424 | + name.latin1()); |
444 | } | 425 | } |
426 | |||
427 | if (ok == false) | ||
428 | qDebug("Serializer::extractMeta invalid date or time !!!!!!!!!!!!!"); | ||
429 | |||
430 | |||
445 | #endif | 431 | #endif |
446 | cur = cur.nextSibling(); | 432 | cur = cur.nextSibling(); |
447 | } | 433 | } |
448 | return true; | 434 | return true; |
449 | } | 435 | } |
450 | 436 | ||