summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-09-29 23:57:50 (UTC)
committer ulf69 <ulf69>2004-09-29 23:57:50 (UTC)
commit1bcba53b99411b8af139c8c62d2a5b26ba4a4721 (patch) (unidiff)
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$
30#include <qtabwidget.h> 30#include <qtabwidget.h>
31#include <qgroupbox.h> 31#include <qgroupbox.h>
32#include <klocale.h> 32#include <klocale.h>
33#include <kcombobox.h> 33#include <kcombobox.h>
34#include <klineedit.h> 34#include <klineedit.h>
35#include <qpushbutton.h> 35#include <qpushbutton.h>
36#include <qmultilineedit.h>
36 37
37/* 38/*
38 * Constructs a addEntryWnd as a child of 'parent', with the 39 * Constructs a addEntryWnd as a child of 'parent', with the
39 * name 'name' and widget flags set to 'f'. 40 * name 'name' and widget flags set to 'f'.
40 * 41 *
41 * The dialog will by default be modeless, unless you set 'modal' to 42 * The dialog will by default be modeless, unless you set 'modal' to
@@ -115,27 +116,14 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
115 116
116 layout = new QGridLayout( tab2, 3, 1 ); 117 layout = new QGridLayout( tab2, 3, 1 );
117 layout->setMargin( KDialogBase::marginHintSmall() ); 118 layout->setMargin( KDialogBase::marginHintSmall() );
118 layout->setSpacing( KDialogBase::spacingHintSmall() ); 119 layout->setSpacing( KDialogBase::spacingHintSmall() );
119 i = 0; 120 i = 0;
120 121
121 122 commentTextEdit = new QMultiLineEdit(tab2);
122 123 layout->addMultiCellWidget( commentTextEdit, i, i, 0, 0 );
123 groupBox1 = new QGroupBox( tab2, "groupBox1" );
124 commentDummy = new QLabel( groupBox1, "commentDummy" );
125 commentDummy->setText( QString::null );
126
127 groupBox1->setTitle( i18n( "Comment:" ) );
128
129 layout->addMultiCellWidget( groupBox1, i, i, 0, 1 );
130 i++;
131
132
133 advancedCommentButton = new QPushButton( i18n("advanced comment"), groupBox1, "advancedCommentButton" );
134 advancedCommentButton->setToggleButton( FALSE );
135 layout->addMultiCellWidget( advancedCommentButton, i, i, 0, 1 );
136 i++; 124 i++;
137 125
138 126
139 mTabWidget->addTab( tab2, i18n( "&Comments" ) ); 127 mTabWidget->addTab( tab2, i18n( "&Comments" ) );
140 128
141 129
@@ -175,14 +163,12 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
175 163
176 mTabWidget->addTab( tab3, i18n( "&Launcher" ) ); 164 mTabWidget->addTab( tab3, i18n( "&Launcher" ) );
177 165
178 // signals and slots connections 166 // signals and slots connections
179 connect( generateButton, SIGNAL( clicked() ), this, SLOT( generateButton_slot() ) ); 167 connect( generateButton, SIGNAL( clicked() ), this, SLOT( generateButton_slot() ) );
180 connect( revealButton, SIGNAL( toggled(bool) ), this, SLOT( revealButton_slot() ) ); 168 connect( revealButton, SIGNAL( toggled(bool) ), this, SLOT( revealButton_slot() ) );
181 connect( advancedCommentButton, SIGNAL( toggled(bool) ), this, SLOT( advancedCommentButton_slot(bool) ) );
182
183} 169}
184 170
185/* 171/*
186 * Destroys the object and frees any allocated resources 172 * Destroys the object and frees any allocated resources
187 */ 173 */
188addEntryWnd::~addEntryWnd() 174addEntryWnd::~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;
35class QSpacerItem; 35class QSpacerItem;
36class KLineEdit; 36class KLineEdit;
37class QPushButton; 37class QPushButton;
38class KComboBox; 38class KComboBox;
39class QLabel; 39class QLabel;
40class QGroupBox; 40class QGroupBox;
41class QMultiLineEdit;
41 42
42class addEntryWnd : public KDialogBase 43class addEntryWnd : public KDialogBase
43{ 44{
44 Q_OBJECT 45 Q_OBJECT
45 46
46public: 47public:
@@ -53,15 +54,13 @@ public:
53 KComboBox* categoryComboBox; 54 KComboBox* categoryComboBox;
54 KLineEdit* usernameLineEdit; 55 KLineEdit* usernameLineEdit;
55 KLineEdit* pwLineEdit; 56 KLineEdit* pwLineEdit;
56 KLineEdit* urlLineEdit; 57 KLineEdit* urlLineEdit;
57 58
58 QPushButton* revealButton; 59 QPushButton* revealButton;
59 QGroupBox* groupBox1; 60 QMultiLineEdit* commentTextEdit;
60 QLabel* commentDummy;
61 QPushButton* advancedCommentButton;
62 61
63public slots: 62public slots:
64 virtual void revealButton_slot(); 63 virtual void revealButton_slot();
65 virtual void generateButton_slot(); 64 virtual void generateButton_slot();
66 virtual void advancedCommentButton_slot(bool on); 65 virtual void advancedCommentButton_slot(bool on);
67 66
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 @@
30 30
31#include <kmessagebox.h> 31#include <kmessagebox.h>
32#include <klocale.h> 32#include <klocale.h>
33 33
34#include <qpushbutton.h> 34#include <qpushbutton.h>
35#include <qlabel.h> 35#include <qlabel.h>
36#include <qlayout.h>
37
36 38
37#ifndef PWM_EMBEDDED 39#ifndef PWM_EMBEDDED
38AddEntryWndImpl::AddEntryWndImpl() 40AddEntryWndImpl::AddEntryWndImpl()
39 : addEntryWnd( 0, "AddEntryWndImpl", TRUE) 41 : addEntryWnd( 0, "AddEntryWndImpl", TRUE)
40#else 42#else
41AddEntryWndImpl::AddEntryWndImpl( QWidget* parent, const char* name) 43AddEntryWndImpl::AddEntryWndImpl( QWidget* parent, const char* name)
42 : addEntryWnd( parent, name) 44 : addEntryWnd( parent, name)
43#endif 45#endif
44{ 46{
47#ifndef PWM_EMBEDDED
45 editAdvCommentButton = 0; 48 editAdvCommentButton = 0;
46 commentTextEdit = 0; 49 commentTextEdit = 0;
50#endif
47 switchComment(false); 51 switchComment(false);
48 pwGen = new PwGenWndImpl(this); 52 pwGen = new PwGenWndImpl(this);
49} 53}
50 54
51AddEntryWndImpl::~AddEntryWndImpl() 55AddEntryWndImpl::~AddEntryWndImpl()
52{ 56{
57#ifndef PWM_EMBEDDED
53 delete_ifnot_null(editAdvCommentButton); 58 delete_ifnot_null(editAdvCommentButton);
54 delete_ifnot_null(commentTextEdit); 59 delete_ifnot_null(commentTextEdit);
60#endif
55 delete pwGen; 61 delete pwGen;
56} 62}
57 63
58#ifdef PWM_EMBEDDED 64#ifdef PWM_EMBEDDED
59void AddEntryWndImpl::slotOk() 65void AddEntryWndImpl::slotOk()
60{ 66{
@@ -130,36 +136,46 @@ void AddEntryWndImpl::generateButton_slot()
130 return; 136 return;
131 setPassword(pwGen->getPassword()); 137 setPassword(pwGen->getPassword());
132} 138}
133 139
134QString AddEntryWndImpl::getComment() 140QString AddEntryWndImpl::getComment()
135{ 141{
142#ifndef PWM_EMBEDDED
136 if (isAdvancedComment()) { 143 if (isAdvancedComment()) {
137 return advCommentDta; 144 return advCommentDta;
138 } 145 }
146#endif
139 return commentTextEdit->text(); 147 return commentTextEdit->text();
140} 148}
141 149
142void AddEntryWndImpl::setComment(const QString &comm) 150void AddEntryWndImpl::setComment(const QString &comm)
143{ 151{
152#ifndef PWM_EMBEDDED
144 if (HtmlGen::isHtml(comm)) { 153 if (HtmlGen::isHtml(comm)) {
145 advancedCommentButton->setOn(true); 154 advancedCommentButton->setOn(true);
146 advCommentDta = comm; 155 advCommentDta = comm;
147 } else { 156 } else {
148 advancedCommentButton->setOn(false); 157 advancedCommentButton->setOn(false);
149 commentTextEdit->setText(comm); 158 commentTextEdit->setText(comm);
150 } 159 }
160#else
161 commentTextEdit->setText(comm);
162#endif
151} 163}
152 164
153void AddEntryWndImpl::advancedCommentButton_slot(bool on) 165void AddEntryWndImpl::advancedCommentButton_slot(bool on)
154{ 166{
167#ifndef PWM_EMBEDDED
155 switchComment(on); 168 switchComment(on);
169#endif
156} 170}
157 171
158void AddEntryWndImpl::switchComment(bool toAdvanced) 172void AddEntryWndImpl::switchComment(bool toAdvanced)
159{ 173{
174#ifndef PWM_EMBEDDED
175
160 useAdvComment = toAdvanced; 176 useAdvComment = toAdvanced;
161 if (toAdvanced) { 177 if (toAdvanced) {
162 if (commentTextEdit) { 178 if (commentTextEdit) {
163 savedCommentText = commentTextEdit->text(); 179 savedCommentText = commentTextEdit->text();
164 delete_and_null(commentTextEdit); 180 delete_and_null(commentTextEdit);
165 } 181 }
@@ -172,22 +188,20 @@ void AddEntryWndImpl::switchComment(bool toAdvanced)
172 this, SLOT(editAdvCommentButton_slot())); 188 this, SLOT(editAdvCommentButton_slot()));
173 editAdvCommentButton->show(); 189 editAdvCommentButton->show();
174 } else { 190 } else {
175 delete_ifnot_null(editAdvCommentButton); 191 delete_ifnot_null(editAdvCommentButton);
176 if (commentTextEdit) 192 if (commentTextEdit)
177 return; 193 return;
178#ifndef PWM_EMBEDDED 194
179 commentTextEdit = new QTextEdit(commentDummy); 195 commentTextEdit = new QTextEdit(commentDummy);
180 commentTextEdit->setTextFormat(Qt::PlainText); 196 commentTextEdit->setTextFormat(Qt::PlainText);
181#else
182 commentTextEdit = new QMultiLineEdit(commentDummy);
183#endif
184 commentTextEdit->resize(commentDummy->size()); 197 commentTextEdit->resize(commentDummy->size());
185 commentTextEdit->setText(savedCommentText); 198 commentTextEdit->setText(savedCommentText);
186 commentTextEdit->show(); 199 commentTextEdit->show();
187 } 200 }
201#endif
188} 202}
189 203
190void AddEntryWndImpl::editAdvCommentButton_slot() 204void AddEntryWndImpl::editAdvCommentButton_slot()
191{ 205{
192#ifndef PWM_EMBEDDED 206#ifndef PWM_EMBEDDED
193 AdvCommEditImpl editor(this); 207 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:
109 109
110protected: 110protected:
111 QPushButton *editAdvCommentButton; 111 QPushButton *editAdvCommentButton;
112#ifndef PWM_EMBEDDED 112#ifndef PWM_EMBEDDED
113 QTextEdit *commentTextEdit; 113 QTextEdit *commentTextEdit;
114#else 114#else
115 QMultiLineEdit * commentTextEdit; 115 //nothing here
116#endif 116#endif
117 /** saved data from normal comment text edit box */ 117 /** saved data from normal comment text edit box */
118 QString savedCommentText; 118 QString savedCommentText;
119 /** use an advanced comment? */ 119 /** use an advanced comment? */
120 bool useAdvComment; 120 bool useAdvComment;
121 /** data of advanced comment (if available) */ 121 /** 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 @@
28#include <khtmlview.h> 28#include <khtmlview.h>
29#include <qtextedit.h> 29#include <qtextedit.h>
30#else 30#else
31#include <qmultilineedit.h> 31#include <qmultilineedit.h>
32#endif 32#endif
33 33
34
35
36#ifndef PWM_EMBEDDED
34CommentBox::CommentBox(QWidget *_parentWidget) 37CommentBox::CommentBox(QWidget *_parentWidget)
35{ 38{
36 PWM_ASSERT(_parentWidget); 39 PWM_ASSERT(_parentWidget);
37 parentWidget = _parentWidget; 40 parentWidget = _parentWidget;
38 textDta = 0; 41 textDta = 0;
39#ifndef PWM_EMBEDDED
40 htmlDta = 0; 42 htmlDta = 0;
41#endif
42 mode = mode_notSet; 43 mode = mode_notSet;
43} 44}
44 45
45CommentBox::~CommentBox() 46CommentBox::~CommentBox()
46{ 47{
47 clearText(); 48 clearText();
@@ -50,24 +51,23 @@ CommentBox::~CommentBox()
50 51
51void CommentBox::clear() 52void CommentBox::clear()
52{ 53{
53 clearText(); 54 clearText();
54 clearHtml(); 55 clearHtml();
55 mode = mode_notSet; 56 mode = mode_notSet;
57 this->hide();
56} 58}
57 59
58void CommentBox::clearText() 60void CommentBox::clearText()
59{ 61{
60 delete_ifnot_null(textDta); 62 delete_ifnot_null(textDta);
61} 63}
62 64
63void CommentBox::clearHtml() 65void CommentBox::clearHtml()
64{ 66{
65#ifndef PWM_EMBEDDED
66 delete_ifnot_null(htmlDta); 67 delete_ifnot_null(htmlDta);
67#endif
68} 68}
69 69
70void CommentBox::setText(const QString &text) 70void CommentBox::setText(const QString &text)
71{ 71{
72 switchTo(mode_text); 72 switchTo(mode_text);
73 PWM_ASSERT(textDta); 73 PWM_ASSERT(textDta);
@@ -88,37 +88,33 @@ bool CommentBox::getText(QString *text)
88 *text = textDta->text(); 88 *text = textDta->text();
89 return true; 89 return true;
90} 90}
91 91
92void CommentBox::setHtml(QString code) 92void CommentBox::setHtml(QString code)
93{ 93{
94#ifndef PWM_EMBEDDED
95 switchTo(mode_html); 94 switchTo(mode_html);
96 PWM_ASSERT(htmlDta); 95 PWM_ASSERT(htmlDta);
97 if (!HtmlGen::replaceSSDummy(&code)) 96 if (!HtmlGen::replaceSSDummy(&code))
98 printWarn("CommentBox::setHtml(): replaceSSDummy() failed!"); 97 printWarn("CommentBox::setHtml(): replaceSSDummy() failed!");
99 htmlDta->begin(); 98 htmlDta->begin();
100 htmlDta->write(code); 99 htmlDta->write(code);
101 htmlDta->end(); 100 htmlDta->end();
102 htmlDta->show(); 101 htmlDta->show();
103#endif
104} 102}
105 103
106void CommentBox::setContent(const QString &dta) 104void CommentBox::setContent(const QString &dta)
107{ 105{
108 // if there's no data, hide the comment-box 106 // if there's no data, hide the comment-box
109 if (dta.isEmpty()) { 107 if (dta.isEmpty()) {
110 clear(); 108 clear();
111 return; 109 return;
112 } 110 }
113#ifndef PWM_EMBEDDED
114 if (HtmlGen::isHtml(dta)) { 111 if (HtmlGen::isHtml(dta)) {
115 setHtml(dta); 112 setHtml(dta);
116 return; 113 return;
117 } 114 }
118#endif
119 // we assume it's plain text 115 // we assume it's plain text
120 setText(dta); 116 setText(dta);
121} 117}
122 118
123void CommentBox::switchTo(commentBoxMode newMode) 119void CommentBox::switchTo(commentBoxMode newMode)
124{ 120{
@@ -137,27 +133,21 @@ void CommentBox::switchTo(commentBoxMode newMode)
137 break; 133 break;
138 } 134 }
139 135
140 // setup new mode 136 // setup new mode
141 switch (newMode) { 137 switch (newMode) {
142 case mode_text: 138 case mode_text:
143#ifndef PWM_EMBEDDED
144 textDta = new QTextEdit(parentWidget); 139 textDta = new QTextEdit(parentWidget);
145 textDta->setTextFormat(Qt::PlainText); 140 textDta->setTextFormat(Qt::PlainText);
146#else
147 textDta = new QMultiLineEdit(parentWidget);
148#endif
149 textDta->setReadOnly(true); 141 textDta->setReadOnly(true);
150 textDta->show(); 142 textDta->show();
151 break; 143 break;
152 case mode_html: 144 case mode_html:
153#ifndef PWM_EMBEDDED
154 htmlDta = new KHTMLPart(parentWidget, 0, 145 htmlDta = new KHTMLPart(parentWidget, 0,
155 parentWidget); 146 parentWidget);
156 htmlDta->show(); 147 htmlDta->show();
157#endif
158 break; 148 break;
159 default: 149 default:
160 BUG(); 150 BUG();
161 break; 151 break;
162 } 152 }
163 153
@@ -169,34 +159,31 @@ void CommentBox::show()
169 switch (mode) { 159 switch (mode) {
170 case mode_text: 160 case mode_text:
171 PWM_ASSERT(textDta); 161 PWM_ASSERT(textDta);
172 textDta->show(); 162 textDta->show();
173 break; 163 break;
174 case mode_html: 164 case mode_html:
175#ifndef PWM_EMBEDDED
176 PWM_ASSERT(htmlDta); 165 PWM_ASSERT(htmlDta);
177 htmlDta->show(); 166 htmlDta->show();
178#endif
179 break; 167 break;
180 default: 168 default:
181 break; 169 break;
182 } 170 }
171
183} 172}
184 173
185void CommentBox::hide() 174void CommentBox::hide()
186{ 175{
187 switch (mode) { 176 switch (mode) {
188 case mode_text: 177 case mode_text:
189 PWM_ASSERT(textDta); 178 PWM_ASSERT(textDta);
190 textDta->hide(); 179 textDta->hide();
191 break; 180 break;
192 case mode_html: 181 case mode_html:
193#ifndef PWM_EMBEDDED
194 PWM_ASSERT(htmlDta); 182 PWM_ASSERT(htmlDta);
195 htmlDta->hide(); 183 htmlDta->hide();
196#endif
197 break; 184 break;
198 default: 185 default:
199 break; 186 break;
200 } 187 }
201} 188}
202 189
@@ -205,34 +192,90 @@ void CommentBox::resize(const QSize &size)
205 switch (mode) { 192 switch (mode) {
206 case mode_text: 193 case mode_text:
207 PWM_ASSERT(textDta); 194 PWM_ASSERT(textDta);
208 textDta->resize(size); 195 textDta->resize(size);
209 break; 196 break;
210 case mode_html: 197 case mode_html:
211#ifndef PWM_EMBEDDED
212 PWM_ASSERT(htmlDta); 198 PWM_ASSERT(htmlDta);
213 htmlDta->view()->resize(size); 199 htmlDta->view()->resize(size);
214#endif
215 break; 200 break;
216 default: 201 default:
217 break; 202 break;
218 } 203 }
204
219} 205}
220 206
221QSize CommentBox::size() 207QSize CommentBox::size()
222{ 208{
223 switch (mode) { 209 switch (mode) {
224 case mode_text: 210 case mode_text:
225 PWM_ASSERT(textDta); 211 PWM_ASSERT(textDta);
226 return textDta->size(); 212 return textDta->size();
227 break; 213 break;
228 case mode_html: 214 case mode_html:
229#ifndef PWM_EMBEDDED
230 PWM_ASSERT(htmlDta); 215 PWM_ASSERT(htmlDta);
231 return htmlDta->view()->size(); 216 return htmlDta->view()->size();
232#endif
233 break; 217 break;
234 default: 218 default:
235 break; 219 break;
236 } 220 }
221
237 return QSize(); 222 return QSize();
238} 223}
224
225
226////////////////////////////////////////////////////////////////////////
227
228#else
229
230CommentBox::CommentBox(QWidget *_parentWidget)
231 : QMultiLineEdit(_parentWidget)
232
233{
234 this->setReadOnly(true);
235}
236
237CommentBox::~CommentBox()
238{
239}
240
241void CommentBox::clear()
242{
243 this->hide();
244}
245
246
247void CommentBox::setText(const QString &text)
248{
249 QMultiLineEdit::setText(i18n("Comment") + ": " + text);
250 if (!this->isVisible())
251 this->show();
252}
253
254bool CommentBox::getText(QString *text)
255{
256 *text = this->text();
257 return true;
258}
259
260void CommentBox::setContent(const QString &dta)
261{
262 // if there's no data, hide the comment-box
263 if (dta.isEmpty()) {
264 clear();
265 return;
266 }
267
268 // we assume it's plain text
269 setText(dta);
270}
271
272#endif
273
274
275
276
277
278
279
280
281
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 @@
19 19
20#ifndef COMMENTBOX_H 20#ifndef COMMENTBOX_H
21#define COMMENTBOX_H 21#define COMMENTBOX_H
22 22
23#include <qstring.h> 23#include <qstring.h>
24#include <qsize.h> 24#include <qsize.h>
25
26class QWidget; 25class QWidget;
27class QTextEdit; 26class QTextEdit;
28class QMultiLineEdit;
29class KHTMLPart; 27class KHTMLPart;
30 28
31/** Implementation of the advanced HTML comment box */ 29#ifndef PWM_EMBEDDED
32class CommentBox 30
31class CommentBox
33{ 32{
34protected: 33protected:
35 enum commentBoxMode 34 enum commentBoxMode
36 { 35 {
37 mode_notSet = 0, 36 mode_notSet = 0,
38 mode_text, 37 mode_text,
@@ -82,19 +81,44 @@ protected:
82 81
83protected: 82protected:
84 /** parent widget for this comment box */ 83 /** parent widget for this comment box */
85 QWidget *parentWidget; 84 QWidget *parentWidget;
86 /** current comment box usage type */ 85 /** current comment box usage type */
87 commentBoxMode mode; 86 commentBoxMode mode;
88#ifndef PWM_EMBEDDED
89 /** if the comment box is a normal textbox, data is stored here */ 87 /** if the comment box is a normal textbox, data is stored here */
90 QTextEdit *textDta; 88 QTextEdit *textDta;
91 /** if the comment box is a HTML box, data is stored here */ 89 /** if the comment box is a HTML box, data is stored here */
92 KHTMLPart *htmlDta; 90 KHTMLPart *htmlDta;
91};
92
93#else 93#else
94 /** if the comment box is a normal textbox, data is stored here */ 94#include <qmultilineedit.h>
95 QMultiLineEdit *textDta; 95/** Implementation of the advanced HTML comment box */
96#endif 96//US ENH: CommentBox must be derived from QWidget, to allow the splitter to set a initial size
97// without conflicting with the two display modes
98
99class CommentBox : public QMultiLineEdit
100{
101public:
102 CommentBox(QWidget *_parentWidget);
103 ~CommentBox();
104
105 /** clear all data in the comment box */
106 void clear();
107 /** if neccessary switch to text-mode and
108 * insert this text into the comment box
109 */
110 void setText(const QString &text);
111 /** get the text of the comment box.
112 * If it's not in text-mode it returns false
113 */
114 bool getText(QString *text);
115 /** if neccessary switch to HTML-mode and
116 * insert this html code into the comment box
117 */
118 void setContent(const QString &dta);
97 119
98}; 120};
121#endif
122
99 123
100#endif 124#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
5 TARGET = pwmpi 5 TARGET = pwmpi
6OBJECTS_DIR = obj/$(PLATFORM) 6OBJECTS_DIR = obj/$(PLATFORM)
7MOC_DIR = moc/$(PLATFORM) 7MOC_DIR = moc/$(PLATFORM)
8DESTDIR=$(QPEDIR)/bin 8DESTDIR=$(QPEDIR)/bin
9 9
10INCLUDEPATH += . ../../qtcompat ../../qtcompat/xml ../../libkdepim ../../microkde ../../microkde/kdecore ../../microkde/kdeui ../../microkde/kutils $(QPEDIR)/include 10INCLUDEPATH += . ../../qtcompat ../../qtcompat/xml ../../libkdepim ../../microkde ../../microkde/kdecore ../../microkde/kdeui ../../microkde/kutils $(QPEDIR)/include
11DEFINES += PWM_EMBEDDED PWM_DEBUG 11DEFINES += PWM_EMBEDDED CONFIG_DEBUG
12
12LIBS += -lmicrokde 13LIBS += -lmicrokde
13LIBS += -lmicroqtcompat 14LIBS += -lmicroqtcompat
14LIBS += -lmicrokdepim 15LIBS += -lmicrokdepim
15LIBS += -L$(QPEDIR)/lib 16LIBS += -L$(QPEDIR)/lib
16LIBS += -lqpe 17LIBS += -lqpe
17LIBS += -lbz2 18LIBS += -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 @@
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
49#include <stdio.h> 47#include <stdio.h>
50#include <stdlib.h> 48#include <stdlib.h>
51#include <errno.h> 49#include <errno.h>
52#include <string.h> 50#include <string.h>
53//US#include <iostream> 51//US#include <iostream>
54#include <algorithm> 52#include <algorithm>
@@ -1168,14 +1166,12 @@ bool PwMDoc::deSerializeDta(const string *d, bool entriesLocked)
1168 } 1166 }
1169#else 1167#else
1170 Serializer ser(d->c_str()); 1168 Serializer ser(d->c_str());
1171 ser.setDefaultLockStat(entriesLocked); 1169 ser.setDefaultLockStat(entriesLocked);
1172 if (!ser.deSerialize(&dta)) 1170 if (!ser.deSerialize(&dta))
1173 return false; 1171 return false;
1174 else
1175 return false;
1176#endif 1172#endif
1177 1173
1178 emitDataChanged(this); 1174 emitDataChanged(this);
1179 return true; 1175 return true;
1180} 1176}
1181 1177
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()
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 addItemIntList( "commentSplitter", &mCommentSplitter );
65 addItemIntList( "categorySplitter", &mCategorySplitter );
65} 66}
66 67
67PWMPrefs::~PWMPrefs() 68PWMPrefs::~PWMPrefs()
68{ 69{
69} 70}
70 71
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:
133 int mMainViewStyle; 133 int mMainViewStyle;
134 bool mAutoMinimizeOnStart; 134 bool mAutoMinimizeOnStart;
135 bool mClose; 135 bool mClose;
136 136
137 //US ENH 137 //US ENH
138 QValueList<int> mCommentSplitter; 138 QValueList<int> mCommentSplitter;
139 QValueList<int> mCategorySplitter;
139 140
140 141
141 // US introduce a nonconst way to return the config object. 142 // US introduce a nonconst way to return the config object.
142 KConfig* getConfig(); 143 KConfig* getConfig();
143 144
144 private: 145 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()
52 break; 52 break;
53 default: 53 default:
54 BUG(); 54 BUG();
55 } 55 }
56 56
57 57
58 PWMPrefs::instance()->getConfig()->sync(); 58 PWMPrefs::instance()->writeConfig();
59 59
60 delete_ifnot_null(s0); 60 delete_ifnot_null(s0);
61 delete_ifnot_null(s1); 61 delete_ifnot_null(s1);
62} 62}
63 63
64void PwMViewStyle::initStyle(style_t style) 64void PwMViewStyle::initStyle(style_t style)
@@ -98,13 +98,13 @@ void PwMViewStyle::initStyle(style_t style)
98 lv->addColumn(i18n("Password"), 150); 98 lv->addColumn(i18n("Password"), 150);
99 lv->addColumn(i18n("URL"), 180); 99 lv->addColumn(i18n("URL"), 180);
100 lv->addColumn(i18n("Launcher"), 120); 100 lv->addColumn(i18n("Launcher"), 120);
101 v->tmpReEnableSort(); 101 v->tmpReEnableSort();
102 102
103 //US ENH : load the size of the listviewcolumns 103 //US ENH : load the size of the listviewcolumns
104 switch (style) 104 switch (curStyle)
105 { 105 {
106 case style_0: 106 case style_0:
107 s0->restoreSettings(PWMPrefs::instance()); 107 s0->restoreSettings(PWMPrefs::instance());
108 break; 108 break;
109 case style_1: 109 case style_1:
110 s1->restoreSettings(PWMPrefs::instance()); 110 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)
51 51
52 //US topLayout->addWidget(mMiniSplitter ); 52 //US topLayout->addWidget(mMiniSplitter );
53#endif 53#endif
54 lv = new ListViewPwM(splitter2); 54 lv = new ListViewPwM(splitter2);
55 commentBox = new CommentBox(splitter2); 55 commentBox = new CommentBox(splitter2);
56 // set sizes and styles 56 // set sizes and styles
57 commentBox->resize(commentBox->size().width(), 60); 57 //UScommentBox->resize(commentBox->size().width(), 60);
58 QValueList<int> sizes; 58 QValueList<int> sizes;
59#ifndef PWM_EMBEDDED 59#ifndef PWM_EMBEDDED
60 sizes.push_back(INITIAL_CATEGORIES_WIDTH); 60 sizes.push_back(INITIAL_CATEGORIES_WIDTH);
61 sizes.push_back(view->height() - INITIAL_CATEGORIES_WIDTH); 61 sizes.push_back(view->height() - INITIAL_CATEGORIES_WIDTH);
62#else 62#else
63 sizes.append(INITIAL_CATEGORIES_WIDTH); 63 sizes.append(INITIAL_CATEGORIES_WIDTH);
64 sizes.append(view->height() - INITIAL_CATEGORIES_WIDTH); 64 sizes.append(view->height() - INITIAL_CATEGORIES_WIDTH);
65#endif 65#endif
66 splitter->setSizes(sizes); 66 //USsplitter->setSizes(sizes);
67 categoriesTitle->setAlignment(Qt::AlignHCenter); 67 categoriesTitle->setAlignment(Qt::AlignHCenter);
68#ifndef PWM_EMBEDDED 68#ifndef PWM_EMBEDDED
69 categoriesTitle->setFrameShape(QFrame::MenuBarPanel); 69 categoriesTitle->setFrameShape(QFrame::MenuBarPanel);
70#else 70#else
71 categoriesTitle->setFrameShape(QFrame::StyledPanel); 71 categoriesTitle->setFrameShape(QFrame::StyledPanel);
72#endif 72#endif
@@ -128,21 +128,23 @@ void PwMViewStyle_1::selectCategory(const QString &cat)
128 128
129//US ENH: I need a place to load the view dependend settings. Eg. splittersize 129//US ENH: I need a place to load the view dependend settings. Eg. splittersize
130void PwMViewStyle_1::restoreSettings(PWMPrefs* prefs) 130void PwMViewStyle_1::restoreSettings(PWMPrefs* prefs)
131{ 131{
132 //load and store the size of the listviewcolumns 132 //load and store the size of the listviewcolumns
133 lv->restoreLayout(prefs->getConfig(), "listview"); 133 lv->restoreLayout(prefs->getConfig(), "listview");
134 splitter->setSizes( prefs->mCategorySplitter );
134 splitter2->setSizes( prefs->mCommentSplitter ); 135 splitter2->setSizes( prefs->mCommentSplitter );
135 136
136} 137}
137 138
138//US ENH: I need a place to load the view dependend settings. Eg. splittersize 139//US ENH: I need a place to load the view dependend settings. Eg. splittersize
139void PwMViewStyle_1::saveSettings(PWMPrefs* prefs) 140void PwMViewStyle_1::saveSettings(PWMPrefs* prefs)
140{ 141{
141 //store the size of the listviewcolumns 142 //store the size of the listviewcolumns
142 lv->saveLayout(prefs->getConfig(), "listview"); 143 lv->saveLayout(prefs->getConfig(), "listview");
144 prefs->mCategorySplitter = splitter->sizes();
143 prefs->mCommentSplitter = splitter2->sizes(); 145 prefs->mCommentSplitter = splitter2->sizes();
144 146
145} 147}
146 148
147 149
148#ifndef PWM_EMBEDDED 150#ifndef PWM_EMBEDDED