summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--pwmanager/pwmanager/commentbox.cpp10
-rw-r--r--pwmanager/pwmanager/commentbox.h4
-rw-r--r--pwmanager/pwmanager/listviewpwm.cpp8
-rw-r--r--pwmanager/pwmanager/listviewpwm.h1
-rw-r--r--pwmanager/pwmanager/pwm.cpp2
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp58
-rw-r--r--pwmanager/pwmanager/pwmdoc.h2
-rw-r--r--pwmanager/pwmanager/pwmview.cpp2
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_0.cpp20
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_0.h4
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_1.cpp19
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_1.h2
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
@@ -228,12 +228,12 @@ QSize CommentBox::size()
#else
CommentBox::CommentBox(QWidget *_parentWidget)
- : QMultiLineEdit(_parentWidget)
+ : QTextBrowser(_parentWidget)
{
- this->setReadOnly(true);
+ //this->setReadOnly(true);
setFocusPolicy( QWidget::ClickFocus );
}
CommentBox::~CommentBox()
@@ -247,11 +247,11 @@ 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
@@ -90,14 +90,14 @@ protected:
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();
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
@@ -40,8 +40,16 @@ 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);
}
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
@@ -32,8 +32,9 @@ public:
ListViewPwM(QWidget *parent = 0, const char *name = 0);
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
@@ -726,8 +726,9 @@ void PwM::editPwd_slot3(const QString *category, const int *index,
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;
}
@@ -743,9 +744,8 @@ void PwM::editPwd_slot3(const QString *category, const int *index,
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);
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
@@ -1240,9 +1240,8 @@ bool PwMDoc::getEntry(unsigned int category, unsigned int index,
d->pw = LOCKED_STRING.latin1();
return true;
}
-
PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos,
string *foundComment)
{
PWM_ASSERT(foundComment);
@@ -1263,8 +1262,65 @@ 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) {
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
@@ -533,8 +533,10 @@ public:
* 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. */
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
@@ -110,9 +110,9 @@ void PwMView::refreshCommentTextEdit(QListViewItem *curItem)
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"
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
@@ -57,14 +57,34 @@ PwMViewStyle_0::PwMViewStyle_0(PwMView *view)
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);
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
@@ -39,8 +39,9 @@ class CommentBox;
class PWMPrefs;
class PwMViewStyle_0 : public QObject
{
+ Q_OBJECT
public:
PwMViewStyle_0(PwMView *view);
~PwMViewStyle_0();
@@ -75,9 +76,10 @@ public:
//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 */
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
@@ -102,15 +102,34 @@ PwMViewStyle_1::PwMViewStyle_1(PwMView *view)
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)
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
@@ -77,8 +77,10 @@ public:
//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);