summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp15
-rw-r--r--pwmanager/pwmanager/pwmprefs.cpp1
-rw-r--r--pwmanager/pwmanager/pwmprefs.h4
-rw-r--r--pwmanager/pwmanager/pwmviewstyle.cpp32
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_0.cpp21
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_0.h6
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_1.cpp20
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_1.h5
-rw-r--r--pwmanager/pwmanager/serializer.cpp34
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
@@ -35,29 +35,31 @@
#include "kglobal.h"
#endif
#ifdef CONFIG_KWALLETIF
# include "kwalletemu.h"
#endif // CONFIG_KWALLETIF
#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>
//TODO: reset to its normal value.
#define META_CHECK_TIMER_INTERVAL 10/*300*/ /* sek */
using namespace std;
@@ -1145,32 +1147,43 @@ bool PwMDoc::serializeDta(string *d)
Serializer ser;
if (!ser.serialize(dta))
return false;
d->assign(ser.getXml());
if (!d->size())
return false;
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)
{
PWM_ASSERT(d);
unsigned int cat = 0;
if (!findCategory(category, &cat)) {
BUG();
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
@@ -52,24 +52,25 @@ PWMPrefs::PWMPrefs()
addItemBool( "makeFileBackup", &mMakeFileBackup, CONF_DEFAULT_MAKEFILEBACKUP );
addItemBool( "autostartDeepLocked", &mAutostartDeeplocked, CONF_DEFAULT_AUTOSTART_DEEPL );
addItemBool( "autoDeepLock", &mAutoDeeplock, CONF_DEFAULT_AUTODEEPLOCK );
addItemBool( "kwalletEmu", &mKWalletEmu, CONF_DEFAULT_KWALLETEMU );
addItemBool( "newEntrLockStat", &mNewEntrLockStat, CONF_DEFAULT_NEWENTRLOCKSTAT );
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()
{
}
PWMPrefs *PWMPrefs::instance()
{
if ( !sInstance ) {
#ifdef PWM_EMBEDDED
sInstance = staticDeleter.setObject( new PWMPrefs() );
#else //PWM_EMBEDDED
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
@@ -125,22 +125,26 @@ public:
bool mUnlockOnOpen;
bool mTray;
bool mMakeFileBackup;
bool mAutostartDeeplocked;
bool mAutoDeeplock;
bool mKWalletEmu;
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();
static PWMPrefs *sInstance;
};
#endif
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
@@ -32,27 +32,39 @@
#endif
PwMViewStyle::PwMViewStyle(QWidget *parent, const char *name)
: QWidget(parent, name)
{
curStyle = style_notset;
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)
{
printDebug(string("initializing style ") + tostr(style));
bool wasMaximized = v->isMaximized();
if (v->isVisible())
v->hide();
switch (style) {
@@ -79,26 +91,36 @@ void PwMViewStyle::initStyle(style_t style)
v, SLOT(handleToggle(QListViewItem *)));
connect(lv, SIGNAL(rightButtonClicked(QListViewItem *, const QPoint &, int)),
v, SLOT(handleRightClick(QListViewItem *, const QPoint &, int)));
connect(lv, SIGNAL(clicked(QListViewItem *)),
v, SLOT(refreshCommentTextEdit(QListViewItem *)));
lv->addColumn(i18n("Description"), 180);
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 {
v->show();
}
connect(lv, SIGNAL(layoutChanged()),
v, SLOT(reorgLp()));
}
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
@@ -14,25 +14,25 @@
* This file is originaly based on version 1.0.1 of pwmanager
* and was modified to run on embedded devices that run microkde
*
* $Id$
**************************************************************************/
#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);
hbox1 = new QHBox(vbox1);
hbox1->setSpacing(10);
categoriesTitle = new QLabel(hbox1);
categoriesTitle->setText(i18n("Categories:"));
categoriesCombo = new QComboBox(hbox1);
renCatButton = new QPushButton(i18n("&Rename"), hbox1);
@@ -82,12 +82,31 @@ void PwMViewStyle_0::selectCategory(const QString &cat)
{
PWM_ASSERT(categoriesCombo);
int i, count = categoriesCombo->count();
for (i = 0; i < count; ++i) {
if (categoriesCombo->text(i) == cat) {
categoriesCombo->setCurrentItem(i);
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
@@ -27,24 +27,25 @@
#include <qtextedit.h>
#include <qsplitter.h>
#else
#include <qmultilineedit.h>
#include <KDGanttMinimizeSplitter.h>
#endif
#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();
ListViewPwM * getLv()
{ return lv; }
CommentBox * getCommentBox()
{ return commentBox; }
@@ -62,24 +63,29 @@ public:
/** select the specified category */
void selectCategory(const QString &cat);
/** returns the number of categories in this view.
* This value dosn't say anything about the number of
* categories in the document.
*/
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 */
QLabel *categoriesTitle;
/** hbox1 for widget style */
QHBox *hbox1;
/** vbox1 for widget style */
QVBox *vbox1;
/** splitter for commentTextEdit */
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
@@ -14,24 +14,25 @@
* This file is originaly based on version 1.0.1 of pwmanager
* and was modified to run on embedded devices that run microkde
*
* $Id$
**************************************************************************/
#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()
{
#ifndef PWM_EMBEDDED
splitter = new QSplitter(view);
#else
splitter = new KDGanttMinimizeSplitter( Qt::Horizontal, view);
splitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
@@ -116,15 +117,34 @@ void PwMViewStyle_1::selectCategory(const QString &cat)
PWM_ASSERT(categoriesList);
int i, count = categoriesList->count();
for (i = 0; i < count; ++i) {
if (categoriesList->text(i) == cat) {
categoriesList->setCurrentItem(i);
return;
}
}
// 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
@@ -28,24 +28,25 @@
#else
#include <qmultilineedit.h>
#include <KDGanttMinimizeSplitter.h>
#endif
#include <qlabel.h>
#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);
~PwMViewStyle_1();
ListViewPwM * getLv()
{ return lv; }
CommentBox * getCommentBox()
{ return commentBox; }
@@ -64,24 +65,28 @@ public:
/** select the specified category */
void selectCategory(const QString &cat);
/** returns the number of categories in this view.
* This value dosn't say anything about the number of
* categories in the document.
*/
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 */
ListViewPwM *lv;
#ifndef PWM_EMBEDDED
/** main splitter widget */
QSplitter *splitter;
/** commentTextEdit splitter */
QSplitter *splitter2;
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
@@ -395,62 +395,48 @@ bool Serializer::extractMeta(const QDomNode &n,
} else if (name == META_UPDATE_DATE) {
dta->update = QDateTime::fromString(val, Qt::ISODate);
} 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());
}
#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;
}
bool Serializer::checkValid()
{
PWM_ASSERT(domDoc);
QDomElement root(domDoc->documentElement());
if (root.nodeName() != ROOT_MAGIC_NEW &&
root.nodeName() != ROOT_MAGIC_OLD) {