author | zautrix <zautrix> | 2005-03-03 13:42:15 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-03 13:42:15 (UTC) |
commit | 91feaad38e5f81063fa496a4e2988aa791267fd1 (patch) (side-by-side diff) | |
tree | fc408221a6b1a664f3574657a336526726aa9ccc | |
parent | 806a806422872b6f31183267c6b084d425458902 (diff) | |
download | kdepimpi-91feaad38e5f81063fa496a4e2988aa791267fd1.zip kdepimpi-91feaad38e5f81063fa496a4e2988aa791267fd1.tar.gz kdepimpi-91feaad38e5f81063fa496a4e2988aa791267fd1.tar.bz2 |
more pw fixes
-rw-r--r-- | pwmanager/pwmanager/commentbox.cpp | 10 | ||||
-rw-r--r-- | pwmanager/pwmanager/commentbox.h | 4 | ||||
-rw-r--r-- | pwmanager/pwmanager/listviewpwm.cpp | 8 | ||||
-rw-r--r-- | pwmanager/pwmanager/listviewpwm.h | 1 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwm.cpp | 2 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmdoc.cpp | 58 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmdoc.h | 2 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmview.cpp | 2 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_0.cpp | 20 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_0.h | 4 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_1.cpp | 19 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmviewstyle_1.h | 2 |
12 files changed, 121 insertions, 11 deletions
diff --git a/pwmanager/pwmanager/commentbox.cpp b/pwmanager/pwmanager/commentbox.cpp index 51f88b2..5416856 100644 --- a/pwmanager/pwmanager/commentbox.cpp +++ b/pwmanager/pwmanager/commentbox.cpp @@ -226,16 +226,16 @@ QSize CommentBox::size() //////////////////////////////////////////////////////////////////////// #else CommentBox::CommentBox(QWidget *_parentWidget) - : QMultiLineEdit(_parentWidget) + : QTextBrowser(_parentWidget) { - this->setReadOnly(true); + //this->setReadOnly(true); setFocusPolicy( QWidget::ClickFocus ); } CommentBox::~CommentBox() { } @@ -245,15 +245,15 @@ void CommentBox::clear() this->hide(); } void CommentBox::setText(const QString &text) { - QMultiLineEdit::setText( text); - if (!this->isVisible()) - this->show(); + QTextBrowser::setText( text); + if (!isVisible()) + show(); } bool CommentBox::getText(QString *text) { *text = this->text(); return true; diff --git a/pwmanager/pwmanager/commentbox.h b/pwmanager/pwmanager/commentbox.h index 352867c..3103353 100644 --- a/pwmanager/pwmanager/commentbox.h +++ b/pwmanager/pwmanager/commentbox.h @@ -88,18 +88,18 @@ protected: QTextEdit *textDta; /** if the comment box is a HTML box, data is stored here */ KHTMLPart *htmlDta; }; #else -#include <qmultilineedit.h> +#include <qtextbrowser.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 +class CommentBox : public QTextBrowser { public: CommentBox(QWidget *_parentWidget); ~CommentBox(); /** clear all data in the comment box */ diff --git a/pwmanager/pwmanager/listviewpwm.cpp b/pwmanager/pwmanager/listviewpwm.cpp index 85e788c..8d46fff 100644 --- a/pwmanager/pwmanager/listviewpwm.cpp +++ b/pwmanager/pwmanager/listviewpwm.cpp @@ -38,12 +38,20 @@ ListViewPwM::ListViewPwM(QWidget *parent, const char *name) } bool ListViewPwM::event(QEvent *e) { if (e->type() == QEvent::LayoutHint) emit layoutChanged(); + if (e->type() == QEvent::KeyPress) { + QKeyEvent* ke = (QKeyEvent*) e; + if ( ke->key() == Qt::Key_Space) { + emit toggleOverview(); + return true; + } + + } return KListView::event(e); } QPixmap * ListViewItemPwM::onPix = 0; QPixmap * ListViewItemPwM::offPix = 0; diff --git a/pwmanager/pwmanager/listviewpwm.h b/pwmanager/pwmanager/listviewpwm.h index e6471c6..840ee73 100644 --- a/pwmanager/pwmanager/listviewpwm.h +++ b/pwmanager/pwmanager/listviewpwm.h @@ -30,12 +30,13 @@ class ListViewPwM : public KListView Q_OBJECT public: ListViewPwM(QWidget *parent = 0, const char *name = 0); signals: void layoutChanged(); + void toggleOverview(); protected: virtual bool event(QEvent *e); }; class ListViewItemPwM : public QCheckListItem diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp index aed8ec0..9187380 100644 --- a/pwmanager/pwmanager/pwm.cpp +++ b/pwmanager/pwmanager/pwm.cpp @@ -724,12 +724,13 @@ void PwM::editPwd_slot3(const QString *category, const int *index, doc->timer()->getLock(DocTimer::id_autoLockTimer); unsigned int curEntryIndex; if (index) { curEntryIndex = *index; } else { if (!(view->getCurEntryIndex(&curEntryIndex))) { + qDebug("couldn't get index. Maybe we have a binary entry here. "); printDebug("couldn't get index. Maybe we have a binary entry here."); doc->timer()->putLock(DocTimer::id_autoLockTimer); return; } } QString curCategory; @@ -741,13 +742,12 @@ void PwM::editPwd_slot3(const QString *category, const int *index, PwMDataItem currItem; if (!doc->getEntry(curCategory, curEntryIndex, &currItem, true)) { doc->timer()->putLock(DocTimer::id_autoLockTimer); return; } BUG_ON(currItem.binary); - AddEntryWndImpl w(doc); w.setCaption( i18n ("Edit password") ); vector<string> catList; doc->getCategoryList(&catList); unsigned i, size = catList.size(); for (i = 0; i < size; ++i) { diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp index 1f15ffd..6fbe110 100644 --- a/pwmanager/pwmanager/pwmdoc.cpp +++ b/pwmanager/pwmanager/pwmdoc.cpp @@ -1238,13 +1238,12 @@ bool PwMDoc::getEntry(unsigned int category, unsigned int index, *d = dti.dta[category].d[index]; if (locked) d->pw = LOCKED_STRING.latin1(); return true; } - PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos, string *foundComment) { PWM_ASSERT(foundComment); unsigned int cat = 0; @@ -1261,12 +1260,69 @@ PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos, } } BUG(); return e_generic; } +PwMerror PwMDoc::getCommentByLvp_long(const QString &category, int listViewPos, + string *foundComment) +{ + PWM_ASSERT(foundComment); + unsigned int cat = 0; + + if (!findCategory(category, &cat)) + return e_invalidArg; + + unsigned int i, entries = numEntries(cat); + for (i = 0; i < entries; ++i) { + if (dti.dta[cat].d[i].listViewPos == listViewPos) { + if (dti.dta[cat].d[i].binary) + return e_binEntry; + PwMCategoryItem* catItem = getCategoryEntry(cat); + QString retval; + QString tempval = QString (dti.dta[cat].d[i].desc.c_str()); + if ( !tempval.isEmpty() ) { + retval += "<b>" +QString ( catItem->desc_text.c_str() )+ ":</b> "+ tempval+"<br>" ; + } + tempval = QString (dti.dta[cat].d[i].name.c_str()); + if ( !tempval.isEmpty() ) { + retval += "<b>" +QString ( catItem->name_text.c_str() ) + ":</b> "+ tempval+"<br>" ; + } + tempval = QString (dti.dta[cat].d[i].pw.c_str()); + if ( !tempval.isEmpty() ) { + if ( dti.dta[cat].d[i].lockStat ) + retval += "<b>" +QString ( catItem->pw_text.c_str() )+ ":</b> " + i18n("<LOCKED>") +"<br>" ; + else + retval += "<b>" +QString ( catItem->pw_text.c_str() )+ ":</b> " + tempval+"<br>" ; + } + tempval = QString (dti.dta[cat].d[i].url.c_str()); + if ( !tempval.isEmpty() ) { + retval += "<b>" +i18n("URL:")+ "</b> " + tempval+"<br>" ; + } + tempval = QString (dti.dta[cat].d[i].launcher.c_str()); + if ( !tempval.isEmpty() ) { + retval += "<b>" +i18n("Launcher:")+ "</b> " + tempval+"<br>" ; + } + tempval = QString (dti.dta[cat].d[i].comment.c_str()); + if ( !tempval.isEmpty() ) { + tempval.replace(QRegExp ( "\n" ), "<br>" ); + retval += "<b>" +i18n("Comment:")+ "</b><br>" + tempval+"<br>" ; + } + + string ret ( retval.latin1() ); + + + // *foundComment = dti.dta[cat].d[i].comment; + *foundComment = ret; + return e_normalEntry; + } + } + BUG(); + return e_generic; +} + bool PwMDoc::compressDta(string *d, char algo) { PWM_ASSERT(d); switch (algo) { case PWM_COMPRESS_GZIP: { CompressGzip comp; diff --git a/pwmanager/pwmanager/pwmdoc.h b/pwmanager/pwmanager/pwmdoc.h index 9fcdda7..45dd729 100644 --- a/pwmanager/pwmanager/pwmdoc.h +++ b/pwmanager/pwmanager/pwmdoc.h @@ -531,12 +531,14 @@ public: PwMDataItem *d, bool unlockIfLocked = false); /** returns the comment-string by looking at the category * and the listViewPos */ PwMerror getCommentByLvp(const QString &category, int listViewPos, string *foundComment); + PwMerror getCommentByLvp_long(const QString &category, int listViewPos, + string *foundComment); /** checks if a password is already available. (currentPw) */ bool isPwAvailable() { return (currentPw != ""); } /** un/lock entry at "index". If needed, ask for password. */ bool lockAt(const QString &category, unsigned int index, bool lock = true); diff --git a/pwmanager/pwmanager/pwmview.cpp b/pwmanager/pwmanager/pwmview.cpp index 7f7dd6f..0092692 100644 --- a/pwmanager/pwmanager/pwmview.cpp +++ b/pwmanager/pwmanager/pwmview.cpp @@ -108,13 +108,13 @@ void PwMView::refreshCommentTextEdit(QListViewItem *curItem) { PWM_ASSERT(commentBox); if (!curItem) return; string comment; PwMerror ret; - ret = document()->getCommentByLvp(getCurrentCategory(), + ret = document()->getCommentByLvp_long(getCurrentCategory(), lv->childCount() - lv->itemIndex(curItem) - 1, &comment); if (ret == e_binEntry) { commentBox->setContent(i18n("This is a binary entry.\n" "It is not a normal password-entry, as it contains " "binary data, which PwManager can't display here.")); diff --git a/pwmanager/pwmanager/pwmviewstyle_0.cpp b/pwmanager/pwmanager/pwmviewstyle_0.cpp index 1fc8a34..d82eb15 100644 --- a/pwmanager/pwmanager/pwmviewstyle_0.cpp +++ b/pwmanager/pwmanager/pwmviewstyle_0.cpp @@ -55,18 +55,38 @@ PwMViewStyle_0::PwMViewStyle_0(PwMView *view) connect(categoriesCombo, SIGNAL(activated(int)), view, SLOT(shiftToView())); connect(renCatButton, SIGNAL(clicked()), view, SLOT(renCatButton_slot())); connect(delCatButton, SIGNAL(clicked()), view, SLOT(delCatButton_slot())); + connect(lv, SIGNAL(toggleOverview()), + this, SLOT(toggleSplitter())); } PwMViewStyle_0::~PwMViewStyle_0() { delete vbox1; } +void PwMViewStyle_0::toggleSplitter() +{ + + QValueList<int> si = splitter1->sizes(); + splitter1->toggle(); + QValueList<int> si2 = splitter1->sizes(); + //qDebug("PwMViewStyle_0::toggleSplitter() %d %d %d %d", si[0],si[1],si2[0],si2[1] ); + if ( si[0] == si2[0] && si[1] == si2[1] && si2[1] == 1 ) { + int diff = si[0]/2; + if ( diff > 200 ) + diff = 200; + si[0] -= diff; + si[1] += diff; + splitter1->toggle(); + splitter1->setSizes( si ); + } + +} void PwMViewStyle_0::delCategory(const QString &cat) { PWM_ASSERT(categoriesCombo); int i, count = categoriesCombo->count(); for (i = 0; i < count; ++i) { diff --git a/pwmanager/pwmanager/pwmviewstyle_0.h b/pwmanager/pwmanager/pwmviewstyle_0.h index bd93c06..6d3c1d1 100644 --- a/pwmanager/pwmanager/pwmviewstyle_0.h +++ b/pwmanager/pwmanager/pwmviewstyle_0.h @@ -37,12 +37,13 @@ class PwMView; class ListViewPwM; class CommentBox; class PWMPrefs; class PwMViewStyle_0 : public QObject { + Q_OBJECT public: PwMViewStyle_0(PwMView *view); ~PwMViewStyle_0(); ListViewPwM * getLv() { return lv; } @@ -73,13 +74,14 @@ public: { 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); - +public slots: + void toggleSplitter(); 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 4a7ffd7..7294f34 100644 --- a/pwmanager/pwmanager/pwmviewstyle_1.cpp +++ b/pwmanager/pwmanager/pwmviewstyle_1.cpp @@ -100,19 +100,38 @@ PwMViewStyle_1::PwMViewStyle_1(PwMView *view) connect(categoriesList, SIGNAL(highlighted(int)), view, SLOT(shiftToView())); connect(categoriesList, SIGNAL(rightButtonClicked(QListBoxItem *, const QPoint &)), this, SLOT(catRightClick(QListBoxItem *, const QPoint &))); + + connect(lv, SIGNAL(toggleOverview()), + this, SLOT(toggleSplitter())); } PwMViewStyle_1::~PwMViewStyle_1() { delete catCtxMenu; delete splitter; } +void PwMViewStyle_1::toggleSplitter() +{ + QValueList<int> si = splitter2->sizes(); + splitter2->toggle(); + QValueList<int> si2 = splitter2->sizes(); + //qDebug("PwMViewStyle_1::toggleSplitter() %d %d %d %d", si[0],si[1],si2[0],si2[1] ); + if ( si[0] == si2[0] && si[1] == si2[1] && si2[1] == 1 ) { + int diff = si[0]/2; + if ( diff > 200 ) + diff = 200; + si[0] -= diff; + si[1] += diff; + splitter2->toggle(); + splitter2->setSizes( si ); + } +} void PwMViewStyle_1::catRightClick(QListBoxItem *item, const QPoint &point) { if (!item) return; catCtxMenu->move(point); diff --git a/pwmanager/pwmanager/pwmviewstyle_1.h b/pwmanager/pwmanager/pwmviewstyle_1.h index a7f100c..4f7a256 100644 --- a/pwmanager/pwmanager/pwmviewstyle_1.h +++ b/pwmanager/pwmanager/pwmviewstyle_1.h @@ -75,12 +75,14 @@ public: { 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); +public slots: + void toggleSplitter(); protected slots: /** user clicked right button in category list */ void catRightClick(QListBoxItem *item, const QPoint &point); protected: /** main list view */ |