From 1bcba53b99411b8af139c8c62d2a5b26ba4a4721 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Wed, 29 Sep 2004 23:57:50 +0000 Subject: optimization of the commentview. Coordinates are now stored at programend --- (limited to 'pwmanager') 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 @@ -33,6 +33,7 @@ $Id$ #include #include #include +#include /* * Constructs a addEntryWnd as a child of 'parent', with the @@ -118,21 +119,8 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name) 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++; @@ -178,8 +166,6 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name) // 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) ) ); - } /* 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 @@ -38,6 +38,7 @@ class QPushButton; class KComboBox; class QLabel; class QGroupBox; +class QMultiLineEdit; class addEntryWnd : public KDialogBase { @@ -56,9 +57,7 @@ public: KLineEdit* urlLineEdit; QPushButton* revealButton; - QGroupBox* groupBox1; - QLabel* commentDummy; - QPushButton* advancedCommentButton; + QMultiLineEdit* commentTextEdit; public slots: virtual void revealButton_slot(); 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 @@ -33,6 +33,8 @@ #include #include +#include + #ifndef PWM_EMBEDDED AddEntryWndImpl::AddEntryWndImpl() @@ -42,16 +44,20 @@ 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; } @@ -133,14 +139,17 @@ void AddEntryWndImpl::generateButton_slot() 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; @@ -148,15 +157,22 @@ void AddEntryWndImpl::setComment(const QString &comm) 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) { @@ -175,16 +191,14 @@ void AddEntryWndImpl::switchComment(bool toAdvanced) 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() 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 @@ -112,7 +112,7 @@ protected: #ifndef PWM_EMBEDDED QTextEdit *commentTextEdit; #else - QMultiLineEdit * commentTextEdit; + //nothing here #endif /** saved data from normal comment text edit box */ QString savedCommentText; 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 @@ -31,14 +31,15 @@ #include #endif + + +#ifndef PWM_EMBEDDED CommentBox::CommentBox(QWidget *_parentWidget) { PWM_ASSERT(_parentWidget); parentWidget = _parentWidget; textDta = 0; -#ifndef PWM_EMBEDDED htmlDta = 0; -#endif mode = mode_notSet; } @@ -53,6 +54,7 @@ void CommentBox::clear() clearText(); clearHtml(); mode = mode_notSet; + this->hide(); } void CommentBox::clearText() @@ -62,9 +64,7 @@ void CommentBox::clearText() void CommentBox::clearHtml() { -#ifndef PWM_EMBEDDED delete_ifnot_null(htmlDta); -#endif } void CommentBox::setText(const QString &text) @@ -91,7 +91,6 @@ bool CommentBox::getText(QString *text) void CommentBox::setHtml(QString code) { -#ifndef PWM_EMBEDDED switchTo(mode_html); PWM_ASSERT(htmlDta); if (!HtmlGen::replaceSSDummy(&code)) @@ -100,7 +99,6 @@ void CommentBox::setHtml(QString code) htmlDta->write(code); htmlDta->end(); htmlDta->show(); -#endif } void CommentBox::setContent(const QString &dta) @@ -110,12 +108,10 @@ void CommentBox::setContent(const QString &dta) clear(); return; } -#ifndef PWM_EMBEDDED if (HtmlGen::isHtml(dta)) { setHtml(dta); return; } -#endif // we assume it's plain text setText(dta); } @@ -140,21 +136,15 @@ void CommentBox::switchTo(commentBoxMode newMode) // 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(); @@ -172,14 +162,13 @@ void CommentBox::show() textDta->show(); break; case mode_html: -#ifndef PWM_EMBEDDED PWM_ASSERT(htmlDta); htmlDta->show(); -#endif break; default: break; } + } void CommentBox::hide() @@ -190,10 +179,8 @@ void CommentBox::hide() textDta->hide(); break; case mode_html: -#ifndef PWM_EMBEDDED PWM_ASSERT(htmlDta); htmlDta->hide(); -#endif break; default: break; @@ -208,14 +195,13 @@ void CommentBox::resize(const QSize &size) textDta->resize(size); break; case mode_html: -#ifndef PWM_EMBEDDED PWM_ASSERT(htmlDta); htmlDta->view()->resize(size); -#endif break; default: break; } + } QSize CommentBox::size() @@ -226,13 +212,70 @@ QSize CommentBox::size() 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 @@ -22,14 +22,13 @@ #include #include - 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 @@ -85,16 +84,41 @@ protected: 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 +/** 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 @@ -8,7 +8,8 @@ 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 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 @@ -44,8 +44,6 @@ #include #include -#define __USE_GNU -#define _GNU_SOURCE #include #include #include @@ -1171,8 +1169,6 @@ bool PwMDoc::deSerializeDta(const string *d, bool entriesLocked) ser.setDefaultLockStat(entriesLocked); if (!ser.deSerialize(&dta)) return false; - else - return false; #endif emitDataChanged(this); 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 @@ -61,7 +61,8 @@ PWMPrefs::PWMPrefs() 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 @@ -136,6 +136,7 @@ public: //US ENH QValueList mCommentSplitter; + QValueList mCategorySplitter; // US introduce a nonconst way to return the config object. 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 @@ -55,7 +55,7 @@ PwMViewStyle::~PwMViewStyle() } - PWMPrefs::instance()->getConfig()->sync(); + PWMPrefs::instance()->writeConfig(); delete_ifnot_null(s0); delete_ifnot_null(s1); @@ -101,7 +101,7 @@ void PwMViewStyle::initStyle(style_t style) v->tmpReEnableSort(); //US ENH : load the size of the listviewcolumns - switch (style) + switch (curStyle) { case style_0: s0->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 @@ -54,7 +54,7 @@ PwMViewStyle_1::PwMViewStyle_1(PwMView *view) 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 sizes; #ifndef PWM_EMBEDDED sizes.push_back(INITIAL_CATEGORIES_WIDTH); @@ -63,7 +63,7 @@ PwMViewStyle_1::PwMViewStyle_1(PwMView *view) 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); @@ -131,6 +131,7 @@ 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 ); } @@ -140,6 +141,7 @@ 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(); } -- cgit v0.9.0.2