-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 @@ #include <qdatetime.h> #include <qsize.h> #include <qfileinfo.h> #include <qfile.h> +#define __USE_GNU +#define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> -#include <iostream> +//US#include <iostream> #include <algorithm> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <stdint.h> @@ -1151,20 +1153,31 @@ bool PwMDoc::serializeDta(string *d) return true; } bool PwMDoc::deSerializeDta(const string *d, bool entriesLocked) { PWM_ASSERT(d); +#ifndef PWM_EMBEDDED try { + Serializer ser(d->c_str()); ser.setDefaultLockStat(entriesLocked); if (!ser.deSerialize(&dta)) return false; } catch (PwMException) { return false; } +#else + Serializer ser(d->c_str()); + ser.setDefaultLockStat(entriesLocked); + if (!ser.deSerialize(&dta)) + return false; + else + return false; +#endif + emitDataChanged(this); return true; } bool PwMDoc::getEntry(const QString &category, unsigned int index, 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() KPrefs::setCurrentGroup( "Wnd" ); addItemSize( "MainWndSize", &mMainWndSize); addItemInt( "MainViewStyle", &mMainViewStyle, CONF_DEFAULT_MAINVIEWSTYLE ); addItemBool( "autoMinimizeOnStart", &mAutoMinimizeOnStart, CONF_DEFAULT_AUTOMINIMIZE ); addItemBool( "close", &mClose, CONF_DEFAULT_WNDCLOSE ); + addItemIntList( "CommentSplitter", &mCommentSplitter ); } PWMPrefs::~PWMPrefs() { } 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: bool mNewEntrLockStat; QSize mMainWndSize; int mMainViewStyle; bool mAutoMinimizeOnStart; bool mClose; + //US ENH + QValueList<int> mCommentSplitter; + + // US introduce a nonconst way to return the config object. KConfig* getConfig(); private: PWMPrefs(); 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) s0 = 0; s1 = 0; } PwMViewStyle::~PwMViewStyle() { - //US ENH : load and store the size of the listviewcolumns - lv->saveLayout(conf()->getConfig(), "listview"); - conf()->getConfig()->sync(); + //US ENH : store the size of the listviewcolumns + switch (curStyle) + { + case style_0: + s0->saveSettings(PWMPrefs::instance()); + break; + case style_1: + s1->saveSettings(PWMPrefs::instance()); + break; + default: + BUG(); + } + + + PWMPrefs::instance()->getConfig()->sync(); delete_ifnot_null(s0); delete_ifnot_null(s1); } void PwMViewStyle::initStyle(style_t style) @@ -85,14 +97,24 @@ void PwMViewStyle::initStyle(style_t style) lv->addColumn(i18n("Username"), 150); lv->addColumn(i18n("Password"), 150); lv->addColumn(i18n("URL"), 180); lv->addColumn(i18n("Launcher"), 120); v->tmpReEnableSort(); - //US ENH : load and store the size of the listviewcolumns - lv->restoreLayout(conf()->getConfig(), "listview"); + //US ENH : load the size of the listviewcolumns + switch (style) + { + case style_0: + s0->restoreSettings(PWMPrefs::instance()); + break; + case style_1: + s1->restoreSettings(PWMPrefs::instance()); + break; + default: + BUG(); + } resizeView(v->size()); v->updateView(); if (wasMaximized) { v->showMaximized(); } 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 @@ #include "pwmviewstyle_0.h" #include "pwmview.h" #include "listviewpwm.h" #include "commentbox.h" #include <klocale.h> - +#include "pwmprefs.h" PwMViewStyle_0::PwMViewStyle_0(PwMView *view) : QObject() { vbox1 = new QVBox(view); vbox1->setSpacing(3); @@ -88,6 +88,25 @@ void PwMViewStyle_0::selectCategory(const QString &cat) return; } } // fall back to 0 categoriesCombo->setCurrentItem(0); } + + +//US ENH: I need a place to load the view dependend settings. Eg. splittersize +void PwMViewStyle_0::restoreSettings(PWMPrefs* prefs) +{ + //load and store the size of the listviewcolumns + lv->restoreLayout(prefs->getConfig(), "listview"); + splitter1->setSizes( prefs->mCommentSplitter ); + +} + +//US ENH: I need a place to load the view dependend settings. Eg. splittersize +void PwMViewStyle_0::saveSettings(PWMPrefs* prefs) +{ + //store the size of the listviewcolumns + lv->saveLayout(prefs->getConfig(), "listview"); + prefs->mCommentSplitter = splitter1->sizes(); + +} 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 @@ #include <qlabel.h> #include <qcombobox.h> class PwMView; class ListViewPwM; class CommentBox; +class PWMPrefs; class PwMViewStyle_0 : public QObject { public: PwMViewStyle_0(PwMView *view); ~PwMViewStyle_0(); @@ -68,12 +69,17 @@ public: int numCategories() { return categoriesCombo->count(); } /** resize the view */ void resize(const QSize &size) { vbox1->resize(size); } + //US ENH: I need a place to load the view dependend settings. Eg. splittersize + void restoreSettings(PWMPrefs* prefs); + void saveSettings(PWMPrefs* prefs); + + protected: /** main list view */ ListViewPwM *lv; /** categories combo-box */ QComboBox *categoriesCombo; /** 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 @@ #include "pwmviewstyle_1.h" #include "pwmview.h" #include "listviewpwm.h" #include "commentbox.h" #include <klocale.h> +#include "pwmprefs.h" #define INITIAL_CATEGORIES_WIDTH 100 PwMViewStyle_1::PwMViewStyle_1(PwMView *view) : QObject() { @@ -122,9 +123,28 @@ void PwMViewStyle_1::selectCategory(const QString &cat) } } // fall back to 0 categoriesList->setCurrentItem(0); } +//US ENH: I need a place to load the view dependend settings. Eg. splittersize +void PwMViewStyle_1::restoreSettings(PWMPrefs* prefs) +{ + //load and store the size of the listviewcolumns + lv->restoreLayout(prefs->getConfig(), "listview"); + splitter2->setSizes( prefs->mCommentSplitter ); + +} + +//US ENH: I need a place to load the view dependend settings. Eg. splittersize +void PwMViewStyle_1::saveSettings(PWMPrefs* prefs) +{ + //store the size of the listviewcolumns + lv->saveLayout(prefs->getConfig(), "listview"); + prefs->mCommentSplitter = splitter2->sizes(); + +} + + #ifndef PWM_EMBEDDED #include "pwmviewstyle_1.moc" #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 @@ #include <qlistbox.h> #include <qpopupmenu.h> class PwMView; class ListViewPwM; class CommentBox; +class PWMPrefs; class PwMViewStyle_1 : public QObject { Q_OBJECT public: PwMViewStyle_1(PwMView *view); @@ -70,12 +71,16 @@ public: int numCategories() { return categoriesList->count(); } /** resize the view */ void resize(const QSize &size) { splitter->resize(size); } + //US ENH: I need a place to load the view dependend settings. Eg. splittersize + void restoreSettings(PWMPrefs* prefs); + void saveSettings(PWMPrefs* prefs); + protected slots: /** user clicked right button in category list */ void catRightClick(QListBoxItem *item, const QPoint &point); protected: /** 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, } else { printDebug(string("extractMeta(): invalid: ") + name.latin1()); } #else - QDateTime m_dt; - - if ((name == META_CREATE_DATE) || - (name == META_VALID_DATE) || - (name == META_EXPIRE_DATE) || - (name == META_UPDATE_DATE)) - { - int pos = val.find("T"); - QString date = val.left(pos); - QString time = val.mid(pos+1); - qDebug("Serializer::extractMeta from %s to date=%s ,time=%s",val.latin1(), date.latin1(), time.latin1() ); - bool ok1, ok2; - - QDate m_date = KGlobal::locale()->readDate(date, &ok1); - QTime m_time = KGlobal::locale()->readTime(time, &ok2); - if ((ok1 == false) || (ok2 == false)) - qDebug("Serializer::extractMeta invalid date or time !!!!!!!!!!!!!"); - m_dt.setDate(m_date); - m_dt.setTime(m_time); - } + bool ok = true; if (name == META_CREATE_DATE) { - dta->create = m_dt; + dta->create = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); } else if (name == META_VALID_DATE) { - dta->valid = m_dt; + dta->valid = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); } else if (name == META_EXPIRE_DATE) { - dta->expire = m_dt; + dta->expire = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); } else if (name == META_UPDATE_DATE) { - dta->update = m_dt; + dta->update = KGlobal::locale()->readDateTime(val, KLocale::ISODate, &ok); } else if (name == META_UPDATE_INT) { dta->updateInt = strtoul(val.latin1(), 0, 10); } else if (name == META_UNIQUEID) { dta->uniqueid = unescapeEntryData(val).latin1(); } else { printDebug(string("extractMeta(): invalid: ") + name.latin1()); } + + if (ok == false) + qDebug("Serializer::extractMeta invalid date or time !!!!!!!!!!!!!"); + + #endif cur = cur.nextSibling(); } return true; } |