From 91feaad38e5f81063fa496a4e2988aa791267fd1 Mon Sep 17 00:00:00 2001 From: zautrix Date: Thu, 03 Mar 2005 13:42:15 +0000 Subject: more pw fixes --- (limited to 'pwmanager') 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 @@ -229,10 +229,10 @@ QSize CommentBox::size() #else CommentBox::CommentBox(QWidget *_parentWidget) - : QMultiLineEdit(_parentWidget) + : QTextBrowser(_parentWidget) { - this->setReadOnly(true); + //this->setReadOnly(true); setFocusPolicy( QWidget::ClickFocus ); } @@ -248,9 +248,9 @@ void CommentBox::clear() 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) 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 @@ -91,12 +91,12 @@ protected: }; #else -#include +#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 +class CommentBox : public QTextBrowser { public: CommentBox(QWidget *_parentWidget); 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 @@ -41,6 +41,14 @@ 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); } 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 @@ -33,6 +33,7 @@ public: signals: void layoutChanged(); + void toggleOverview(); protected: virtual bool event(QEvent *e); 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 @@ -727,6 +727,7 @@ void PwM::editPwd_slot3(const QString *category, const int *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; @@ -744,7 +745,6 @@ void PwM::editPwd_slot3(const QString *category, const int *index, return; } BUG_ON(currItem.binary); - AddEntryWndImpl w(doc); w.setCaption( i18n ("Edit password") ); vector catList; 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 @@ -1241,7 +1241,6 @@ bool PwMDoc::getEntry(unsigned int category, unsigned int index, return true; } - PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos, string *foundComment) { @@ -1264,6 +1263,63 @@ PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos, 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 += "" +QString ( catItem->desc_text.c_str() )+ ": "+ tempval+"
" ; + } + tempval = QString (dti.dta[cat].d[i].name.c_str()); + if ( !tempval.isEmpty() ) { + retval += "" +QString ( catItem->name_text.c_str() ) + ": "+ tempval+"
" ; + } + tempval = QString (dti.dta[cat].d[i].pw.c_str()); + if ( !tempval.isEmpty() ) { + if ( dti.dta[cat].d[i].lockStat ) + retval += "" +QString ( catItem->pw_text.c_str() )+ ": " + i18n("") +"
" ; + else + retval += "" +QString ( catItem->pw_text.c_str() )+ ": " + tempval+"
" ; + } + tempval = QString (dti.dta[cat].d[i].url.c_str()); + if ( !tempval.isEmpty() ) { + retval += "" +i18n("URL:")+ " " + tempval+"
" ; + } + tempval = QString (dti.dta[cat].d[i].launcher.c_str()); + if ( !tempval.isEmpty() ) { + retval += "" +i18n("Launcher:")+ " " + tempval+"
" ; + } + tempval = QString (dti.dta[cat].d[i].comment.c_str()); + if ( !tempval.isEmpty() ) { + tempval.replace(QRegExp ( "\n" ), "
" ); + retval += "" +i18n("Comment:")+ "
" + tempval+"
" ; + } + + 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); 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 @@ -534,6 +534,8 @@ public: */ 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 != ""); } 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 @@ -111,7 +111,7 @@ void PwMView::refreshCommentTextEdit(QListViewItem *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) { 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 @@ -58,12 +58,32 @@ PwMViewStyle_0::PwMViewStyle_0(PwMView *view) 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 si = splitter1->sizes(); + splitter1->toggle(); + QValueList 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) { 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 @@ -40,6 +40,7 @@ class PWMPrefs; class PwMViewStyle_0 : public QObject { + Q_OBJECT public: PwMViewStyle_0(PwMView *view); ~PwMViewStyle_0(); @@ -76,7 +77,8 @@ public: void restoreSettings(PWMPrefs* prefs); void saveSettings(PWMPrefs* prefs); - +public slots: + void toggleSplitter(); protected: /** main list view */ ListViewPwM *lv; 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 @@ -103,6 +103,9 @@ PwMViewStyle_1::PwMViewStyle_1(PwMView *view) SIGNAL(rightButtonClicked(QListBoxItem *, const QPoint &)), this, SLOT(catRightClick(QListBoxItem *, const QPoint &))); + + connect(lv, SIGNAL(toggleOverview()), + this, SLOT(toggleSplitter())); } PwMViewStyle_1::~PwMViewStyle_1() @@ -110,6 +113,22 @@ PwMViewStyle_1::~PwMViewStyle_1() delete catCtxMenu; delete splitter; } +void PwMViewStyle_1::toggleSplitter() +{ + QValueList si = splitter2->sizes(); + splitter2->toggle(); + QValueList 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) { 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 @@ -78,6 +78,8 @@ public: 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); -- cgit v0.9.0.2