summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-09-29 23:57:50 (UTC)
committer ulf69 <ulf69>2004-09-29 23:57:50 (UTC)
commit1bcba53b99411b8af139c8c62d2a5b26ba4a4721 (patch) (side-by-side diff)
tree6bbe50d7df09e0da3cce98d34e0c2894155bf5a4
parent21e794339f8988d9c370bebec45f60f2918fb671 (diff)
downloadkdepimpi-1bcba53b99411b8af139c8c62d2a5b26ba4a4721.zip
kdepimpi-1bcba53b99411b8af139c8c62d2a5b26ba4a4721.tar.gz
kdepimpi-1bcba53b99411b8af139c8c62d2a5b26ba4a4721.tar.bz2
optimization of the commentview. Coordinates are now stored at programend
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/addentrywnd_emb.cpp20
-rw-r--r--pwmanager/pwmanager/addentrywnd_emb.h5
-rw-r--r--pwmanager/pwmanager/addentrywndimpl.cpp22
-rw-r--r--pwmanager/pwmanager/addentrywndimpl.h2
-rw-r--r--pwmanager/pwmanager/commentbox.cpp87
-rw-r--r--pwmanager/pwmanager/commentbox.h40
-rw-r--r--pwmanager/pwmanager/pwmanagerE.pro3
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp4
-rw-r--r--pwmanager/pwmanager/pwmprefs.cpp3
-rw-r--r--pwmanager/pwmanager/pwmprefs.h1
-rw-r--r--pwmanager/pwmanager/pwmviewstyle.cpp4
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_1.cpp6
12 files changed, 132 insertions, 65 deletions
diff --git a/pwmanager/pwmanager/addentrywnd_emb.cpp b/pwmanager/pwmanager/addentrywnd_emb.cpp
index ed02e6d..dd09d13 100644
--- a/pwmanager/pwmanager/addentrywnd_emb.cpp
+++ b/pwmanager/pwmanager/addentrywnd_emb.cpp
@@ -30,12 +30,13 @@ $Id$
#include <qtabwidget.h>
#include <qgroupbox.h>
#include <klocale.h>
#include <kcombobox.h>
#include <klineedit.h>
#include <qpushbutton.h>
+#include <qmultilineedit.h>
/*
* Constructs a addEntryWnd as a child of 'parent', with the
* name 'name' and widget flags set to 'f'.
*
* The dialog will by default be modeless, unless you set 'modal' to
@@ -115,27 +116,14 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
layout = new QGridLayout( tab2, 3, 1 );
layout->setMargin( KDialogBase::marginHintSmall() );
layout->setSpacing( KDialogBase::spacingHintSmall() );
i = 0;
-
-
- groupBox1 = new QGroupBox( tab2, "groupBox1" );
- commentDummy = new QLabel( groupBox1, "commentDummy" );
- commentDummy->setText( QString::null );
-
- groupBox1->setTitle( i18n( "Comment:" ) );
-
- layout->addMultiCellWidget( groupBox1, i, i, 0, 1 );
- i++;
-
-
- advancedCommentButton = new QPushButton( i18n("advanced comment"), groupBox1, "advancedCommentButton" );
- advancedCommentButton->setToggleButton( FALSE );
- layout->addMultiCellWidget( advancedCommentButton, i, i, 0, 1 );
+ commentTextEdit = new QMultiLineEdit(tab2);
+ layout->addMultiCellWidget( commentTextEdit, i, i, 0, 0 );
i++;
mTabWidget->addTab( tab2, i18n( "&Comments" ) );
@@ -175,14 +163,12 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
mTabWidget->addTab( tab3, i18n( "&Launcher" ) );
// signals and slots connections
connect( generateButton, SIGNAL( clicked() ), this, SLOT( generateButton_slot() ) );
connect( revealButton, SIGNAL( toggled(bool) ), this, SLOT( revealButton_slot() ) );
- connect( advancedCommentButton, SIGNAL( toggled(bool) ), this, SLOT( advancedCommentButton_slot(bool) ) );
-
}
/*
* Destroys the object and frees any allocated resources
*/
addEntryWnd::~addEntryWnd()
diff --git a/pwmanager/pwmanager/addentrywnd_emb.h b/pwmanager/pwmanager/addentrywnd_emb.h
index e368721..83761dc 100644
--- a/pwmanager/pwmanager/addentrywnd_emb.h
+++ b/pwmanager/pwmanager/addentrywnd_emb.h
@@ -35,12 +35,13 @@ class QGridLayout;
class QSpacerItem;
class KLineEdit;
class QPushButton;
class KComboBox;
class QLabel;
class QGroupBox;
+class QMultiLineEdit;
class addEntryWnd : public KDialogBase
{
Q_OBJECT
public:
@@ -53,15 +54,13 @@ public:
KComboBox* categoryComboBox;
KLineEdit* usernameLineEdit;
KLineEdit* pwLineEdit;
KLineEdit* urlLineEdit;
QPushButton* revealButton;
- QGroupBox* groupBox1;
- QLabel* commentDummy;
- QPushButton* advancedCommentButton;
+ QMultiLineEdit* commentTextEdit;
public slots:
virtual void revealButton_slot();
virtual void generateButton_slot();
virtual void advancedCommentButton_slot(bool on);
diff --git a/pwmanager/pwmanager/addentrywndimpl.cpp b/pwmanager/pwmanager/addentrywndimpl.cpp
index ffd301f..d47f32c 100644
--- a/pwmanager/pwmanager/addentrywndimpl.cpp
+++ b/pwmanager/pwmanager/addentrywndimpl.cpp
@@ -30,31 +30,37 @@
#include <kmessagebox.h>
#include <klocale.h>
#include <qpushbutton.h>
#include <qlabel.h>
+#include <qlayout.h>
+
#ifndef PWM_EMBEDDED
AddEntryWndImpl::AddEntryWndImpl()
: addEntryWnd( 0, "AddEntryWndImpl", TRUE)
#else
AddEntryWndImpl::AddEntryWndImpl( QWidget* parent, const char* name)
: addEntryWnd( parent, name)
#endif
{
+#ifndef PWM_EMBEDDED
editAdvCommentButton = 0;
commentTextEdit = 0;
+#endif
switchComment(false);
pwGen = new PwGenWndImpl(this);
}
AddEntryWndImpl::~AddEntryWndImpl()
{
+#ifndef PWM_EMBEDDED
delete_ifnot_null(editAdvCommentButton);
delete_ifnot_null(commentTextEdit);
+#endif
delete pwGen;
}
#ifdef PWM_EMBEDDED
void AddEntryWndImpl::slotOk()
{
@@ -130,36 +136,46 @@ void AddEntryWndImpl::generateButton_slot()
return;
setPassword(pwGen->getPassword());
}
QString AddEntryWndImpl::getComment()
{
+#ifndef PWM_EMBEDDED
if (isAdvancedComment()) {
return advCommentDta;
}
+#endif
return commentTextEdit->text();
}
void AddEntryWndImpl::setComment(const QString &comm)
{
+#ifndef PWM_EMBEDDED
if (HtmlGen::isHtml(comm)) {
advancedCommentButton->setOn(true);
advCommentDta = comm;
} else {
advancedCommentButton->setOn(false);
commentTextEdit->setText(comm);
}
+#else
+ commentTextEdit->setText(comm);
+#endif
}
void AddEntryWndImpl::advancedCommentButton_slot(bool on)
{
+#ifndef PWM_EMBEDDED
switchComment(on);
+#endif
}
void AddEntryWndImpl::switchComment(bool toAdvanced)
{
+#ifndef PWM_EMBEDDED
+
useAdvComment = toAdvanced;
if (toAdvanced) {
if (commentTextEdit) {
savedCommentText = commentTextEdit->text();
delete_and_null(commentTextEdit);
}
@@ -172,22 +188,20 @@ void AddEntryWndImpl::switchComment(bool toAdvanced)
this, SLOT(editAdvCommentButton_slot()));
editAdvCommentButton->show();
} else {
delete_ifnot_null(editAdvCommentButton);
if (commentTextEdit)
return;
-#ifndef PWM_EMBEDDED
+
commentTextEdit = new QTextEdit(commentDummy);
commentTextEdit->setTextFormat(Qt::PlainText);
-#else
- commentTextEdit = new QMultiLineEdit(commentDummy);
-#endif
commentTextEdit->resize(commentDummy->size());
commentTextEdit->setText(savedCommentText);
commentTextEdit->show();
}
+#endif
}
void AddEntryWndImpl::editAdvCommentButton_slot()
{
#ifndef PWM_EMBEDDED
AdvCommEditImpl editor(this);
diff --git a/pwmanager/pwmanager/addentrywndimpl.h b/pwmanager/pwmanager/addentrywndimpl.h
index 622e9d2..ce9a594 100644
--- a/pwmanager/pwmanager/addentrywndimpl.h
+++ b/pwmanager/pwmanager/addentrywndimpl.h
@@ -109,13 +109,13 @@ protected:
protected:
QPushButton *editAdvCommentButton;
#ifndef PWM_EMBEDDED
QTextEdit *commentTextEdit;
#else
- QMultiLineEdit * commentTextEdit;
+ //nothing here
#endif
/** saved data from normal comment text edit box */
QString savedCommentText;
/** use an advanced comment? */
bool useAdvComment;
/** data of advanced comment (if available) */
diff --git a/pwmanager/pwmanager/commentbox.cpp b/pwmanager/pwmanager/commentbox.cpp
index 280b139..4a76f36 100644
--- a/pwmanager/pwmanager/commentbox.cpp
+++ b/pwmanager/pwmanager/commentbox.cpp
@@ -28,20 +28,21 @@
#include <khtmlview.h>
#include <qtextedit.h>
#else
#include <qmultilineedit.h>
#endif
+
+
+#ifndef PWM_EMBEDDED
CommentBox::CommentBox(QWidget *_parentWidget)
{
PWM_ASSERT(_parentWidget);
parentWidget = _parentWidget;
textDta = 0;
-#ifndef PWM_EMBEDDED
htmlDta = 0;
-#endif
mode = mode_notSet;
}
CommentBox::~CommentBox()
{
clearText();
@@ -50,24 +51,23 @@ CommentBox::~CommentBox()
void CommentBox::clear()
{
clearText();
clearHtml();
mode = mode_notSet;
+ this->hide();
}
void CommentBox::clearText()
{
delete_ifnot_null(textDta);
}
void CommentBox::clearHtml()
{
-#ifndef PWM_EMBEDDED
delete_ifnot_null(htmlDta);
-#endif
}
void CommentBox::setText(const QString &text)
{
switchTo(mode_text);
PWM_ASSERT(textDta);
@@ -88,37 +88,33 @@ bool CommentBox::getText(QString *text)
*text = textDta->text();
return true;
}
void CommentBox::setHtml(QString code)
{
-#ifndef PWM_EMBEDDED
switchTo(mode_html);
PWM_ASSERT(htmlDta);
if (!HtmlGen::replaceSSDummy(&code))
printWarn("CommentBox::setHtml(): replaceSSDummy() failed!");
htmlDta->begin();
htmlDta->write(code);
htmlDta->end();
htmlDta->show();
-#endif
}
void CommentBox::setContent(const QString &dta)
{
// if there's no data, hide the comment-box
if (dta.isEmpty()) {
clear();
return;
}
-#ifndef PWM_EMBEDDED
if (HtmlGen::isHtml(dta)) {
setHtml(dta);
return;
}
-#endif
// we assume it's plain text
setText(dta);
}
void CommentBox::switchTo(commentBoxMode newMode)
{
@@ -137,27 +133,21 @@ void CommentBox::switchTo(commentBoxMode newMode)
break;
}
// setup new mode
switch (newMode) {
case mode_text:
-#ifndef PWM_EMBEDDED
textDta = new QTextEdit(parentWidget);
textDta->setTextFormat(Qt::PlainText);
-#else
- textDta = new QMultiLineEdit(parentWidget);
-#endif
textDta->setReadOnly(true);
textDta->show();
break;
case mode_html:
-#ifndef PWM_EMBEDDED
htmlDta = new KHTMLPart(parentWidget, 0,
parentWidget);
htmlDta->show();
-#endif
break;
default:
BUG();
break;
}
@@ -169,34 +159,31 @@ void CommentBox::show()
switch (mode) {
case mode_text:
PWM_ASSERT(textDta);
textDta->show();
break;
case mode_html:
-#ifndef PWM_EMBEDDED
PWM_ASSERT(htmlDta);
htmlDta->show();
-#endif
break;
default:
break;
}
+
}
void CommentBox::hide()
{
switch (mode) {
case mode_text:
PWM_ASSERT(textDta);
textDta->hide();
break;
case mode_html:
-#ifndef PWM_EMBEDDED
PWM_ASSERT(htmlDta);
htmlDta->hide();
-#endif
break;
default:
break;
}
}
@@ -205,34 +192,90 @@ void CommentBox::resize(const QSize &size)
switch (mode) {
case mode_text:
PWM_ASSERT(textDta);
textDta->resize(size);
break;
case mode_html:
-#ifndef PWM_EMBEDDED
PWM_ASSERT(htmlDta);
htmlDta->view()->resize(size);
-#endif
break;
default:
break;
}
+
}
QSize CommentBox::size()
{
switch (mode) {
case mode_text:
PWM_ASSERT(textDta);
return textDta->size();
break;
case mode_html:
-#ifndef PWM_EMBEDDED
PWM_ASSERT(htmlDta);
return htmlDta->view()->size();
-#endif
break;
default:
break;
}
+
return QSize();
}
+
+
+////////////////////////////////////////////////////////////////////////
+
+#else
+
+CommentBox::CommentBox(QWidget *_parentWidget)
+ : QMultiLineEdit(_parentWidget)
+
+{
+ this->setReadOnly(true);
+}
+
+CommentBox::~CommentBox()
+{
+}
+
+void CommentBox::clear()
+{
+ this->hide();
+}
+
+
+void CommentBox::setText(const QString &text)
+{
+ QMultiLineEdit::setText(i18n("Comment") + ": " + text);
+ if (!this->isVisible())
+ this->show();
+}
+
+bool CommentBox::getText(QString *text)
+{
+ *text = this->text();
+ return true;
+}
+
+void CommentBox::setContent(const QString &dta)
+{
+ // if there's no data, hide the comment-box
+ if (dta.isEmpty()) {
+ clear();
+ return;
+ }
+
+ // we assume it's plain text
+ setText(dta);
+}
+
+#endif
+
+
+
+
+
+
+
+
+
diff --git a/pwmanager/pwmanager/commentbox.h b/pwmanager/pwmanager/commentbox.h
index a220acd..352867c 100644
--- a/pwmanager/pwmanager/commentbox.h
+++ b/pwmanager/pwmanager/commentbox.h
@@ -19,20 +19,19 @@
#ifndef COMMENTBOX_H
#define COMMENTBOX_H
#include <qstring.h>
#include <qsize.h>
-
class QWidget;
class QTextEdit;
-class QMultiLineEdit;
class KHTMLPart;
-/** Implementation of the advanced HTML comment box */
-class CommentBox
+#ifndef PWM_EMBEDDED
+
+class CommentBox
{
protected:
enum commentBoxMode
{
mode_notSet = 0,
mode_text,
@@ -82,19 +81,44 @@ protected:
protected:
/** parent widget for this comment box */
QWidget *parentWidget;
/** current comment box usage type */
commentBoxMode mode;
-#ifndef PWM_EMBEDDED
/** if the comment box is a normal textbox, data is stored here */
QTextEdit *textDta;
/** if the comment box is a HTML box, data is stored here */
KHTMLPart *htmlDta;
+};
+
#else
- /** if the comment box is a normal textbox, data is stored here */
- QMultiLineEdit *textDta;
-#endif
+#include <qmultilineedit.h>
+/** Implementation of the advanced HTML comment box */
+//US ENH: CommentBox must be derived from QWidget, to allow the splitter to set a initial size
+// without conflicting with the two display modes
+
+class CommentBox : public QMultiLineEdit
+{
+public:
+ CommentBox(QWidget *_parentWidget);
+ ~CommentBox();
+
+ /** clear all data in the comment box */
+ void clear();
+ /** if neccessary switch to text-mode and
+ * insert this text into the comment box
+ */
+ void setText(const QString &text);
+ /** get the text of the comment box.
+ * If it's not in text-mode it returns false
+ */
+ bool getText(QString *text);
+ /** if neccessary switch to HTML-mode and
+ * insert this html code into the comment box
+ */
+ void setContent(const QString &dta);
};
+#endif
+
#endif
diff --git a/pwmanager/pwmanager/pwmanagerE.pro b/pwmanager/pwmanager/pwmanagerE.pro
index 3bcf679..4e482ca 100644
--- a/pwmanager/pwmanager/pwmanagerE.pro
+++ b/pwmanager/pwmanager/pwmanagerE.pro
@@ -5,13 +5,14 @@ CONFIG += qt warn_on
TARGET = pwmpi
OBJECTS_DIR = obj/$(PLATFORM)
MOC_DIR = moc/$(PLATFORM)
DESTDIR=$(QPEDIR)/bin
INCLUDEPATH += . ../../qtcompat ../../qtcompat/xml ../../libkdepim ../../microkde ../../microkde/kdecore ../../microkde/kdeui ../../microkde/kutils $(QPEDIR)/include
-DEFINES += PWM_EMBEDDED PWM_DEBUG
+DEFINES += PWM_EMBEDDED CONFIG_DEBUG
+
LIBS += -lmicrokde
LIBS += -lmicroqtcompat
LIBS += -lmicrokdepim
LIBS += -L$(QPEDIR)/lib
LIBS += -lqpe
LIBS += -lbz2
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp
index c167c2c..1b6d36f 100644
--- a/pwmanager/pwmanager/pwmdoc.cpp
+++ b/pwmanager/pwmanager/pwmdoc.cpp
@@ -41,14 +41,12 @@
#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>
//US#include <iostream>
#include <algorithm>
@@ -1168,14 +1166,12 @@ bool PwMDoc::deSerializeDta(const string *d, bool entriesLocked)
}
#else
Serializer ser(d->c_str());
ser.setDefaultLockStat(entriesLocked);
if (!ser.deSerialize(&dta))
return false;
- else
- return false;
#endif
emitDataChanged(this);
return true;
}
diff --git a/pwmanager/pwmanager/pwmprefs.cpp b/pwmanager/pwmanager/pwmprefs.cpp
index d3847f6..7fd347f 100644
--- a/pwmanager/pwmanager/pwmprefs.cpp
+++ b/pwmanager/pwmanager/pwmprefs.cpp
@@ -58,13 +58,14 @@ 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 );
+ addItemIntList( "commentSplitter", &mCommentSplitter );
+ addItemIntList( "categorySplitter", &mCategorySplitter );
}
PWMPrefs::~PWMPrefs()
{
}
diff --git a/pwmanager/pwmanager/pwmprefs.h b/pwmanager/pwmanager/pwmprefs.h
index 6a89d10..9fed7d2 100644
--- a/pwmanager/pwmanager/pwmprefs.h
+++ b/pwmanager/pwmanager/pwmprefs.h
@@ -133,12 +133,13 @@ public:
int mMainViewStyle;
bool mAutoMinimizeOnStart;
bool mClose;
//US ENH
QValueList<int> mCommentSplitter;
+ QValueList<int> mCategorySplitter;
// US introduce a nonconst way to return the config object.
KConfig* getConfig();
private:
diff --git a/pwmanager/pwmanager/pwmviewstyle.cpp b/pwmanager/pwmanager/pwmviewstyle.cpp
index 9704615..0af1473 100644
--- a/pwmanager/pwmanager/pwmviewstyle.cpp
+++ b/pwmanager/pwmanager/pwmviewstyle.cpp
@@ -52,13 +52,13 @@ PwMViewStyle::~PwMViewStyle()
break;
default:
BUG();
}
- PWMPrefs::instance()->getConfig()->sync();
+ PWMPrefs::instance()->writeConfig();
delete_ifnot_null(s0);
delete_ifnot_null(s1);
}
void PwMViewStyle::initStyle(style_t style)
@@ -98,13 +98,13 @@ void PwMViewStyle::initStyle(style_t style)
lv->addColumn(i18n("Password"), 150);
lv->addColumn(i18n("URL"), 180);
lv->addColumn(i18n("Launcher"), 120);
v->tmpReEnableSort();
//US ENH : load the size of the listviewcolumns
- switch (style)
+ switch (curStyle)
{
case style_0:
s0->restoreSettings(PWMPrefs::instance());
break;
case style_1:
s1->restoreSettings(PWMPrefs::instance());
diff --git a/pwmanager/pwmanager/pwmviewstyle_1.cpp b/pwmanager/pwmanager/pwmviewstyle_1.cpp
index 8b2d6d3..374c698 100644
--- a/pwmanager/pwmanager/pwmviewstyle_1.cpp
+++ b/pwmanager/pwmanager/pwmviewstyle_1.cpp
@@ -51,22 +51,22 @@ PwMViewStyle_1::PwMViewStyle_1(PwMView *view)
//US topLayout->addWidget(mMiniSplitter );
#endif
lv = new ListViewPwM(splitter2);
commentBox = new CommentBox(splitter2);
// set sizes and styles
- commentBox->resize(commentBox->size().width(), 60);
+ //US commentBox->resize(commentBox->size().width(), 60);
QValueList<int> sizes;
#ifndef PWM_EMBEDDED
sizes.push_back(INITIAL_CATEGORIES_WIDTH);
sizes.push_back(view->height() - INITIAL_CATEGORIES_WIDTH);
#else
sizes.append(INITIAL_CATEGORIES_WIDTH);
sizes.append(view->height() - INITIAL_CATEGORIES_WIDTH);
#endif
- splitter->setSizes(sizes);
+ //US splitter->setSizes(sizes);
categoriesTitle->setAlignment(Qt::AlignHCenter);
#ifndef PWM_EMBEDDED
categoriesTitle->setFrameShape(QFrame::MenuBarPanel);
#else
categoriesTitle->setFrameShape(QFrame::StyledPanel);
#endif
@@ -128,21 +128,23 @@ void PwMViewStyle_1::selectCategory(const QString &cat)
//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");
+ splitter->setSizes( prefs->mCategorySplitter );
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->mCategorySplitter = splitter->sizes();
prefs->mCommentSplitter = splitter2->sizes();
}
#ifndef PWM_EMBEDDED