From a1e30fef1c32123a9496efd7d6f1e5f5cf60ff32 Mon Sep 17 00:00:00 2001 From: tariq Date: Wed, 15 Feb 2006 14:12:11 +0000 Subject: [PATCH] context menu for EntryView git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@42 b624d157-de02-0410-bad0-e51aec6abb33 --- src/lib/EntryView.cpp | 31 +++++++++++++++++++++++++++++++ src/lib/EntryView.h | 5 +++++ src/mainwindow.cpp | 10 ++++++++++ 3 files changed, 46 insertions(+) diff --git a/src/lib/EntryView.cpp b/src/lib/EntryView.cpp index d71813d..2dd91e0 100644 --- a/src/lib/EntryView.cpp +++ b/src/lib/EntryView.cpp @@ -32,8 +32,39 @@ KeepassEntryView::KeepassEntryView(QWidget* parent):QTreeWidget(parent){ CurrentGroup=0; updateColumns(); header()->setResizeMode(QHeaderView::Stretch); +ContextMenu=new QMenu(this); } + +void KeepassEntryView::contextMenuEvent(QContextMenuEvent* e){ +if(itemAt(e->pos())){ + EntryViewItem* item=(EntryViewItem*)itemAt(e->pos()); + if(selectedItems().size()==0){ + setItemSelected(item,true);} + else{ + bool AlreadySelected=false; + for(int i=0;iaccept(); +ContextMenu->popup(e->globalPos()); +} + + + void KeepassEntryView::updateItems(){ clear(); Items.clear(); diff --git a/src/lib/EntryView.h b/src/lib/EntryView.h index a5bc118..4d7e6db 100644 --- a/src/lib/EntryView.h +++ b/src/lib/EntryView.h @@ -20,7 +20,9 @@ #ifndef _ENTRY_VIEW_H_ #define _ENTRY_VIEW_H_ +#include #include +#include #include "../PwManager.h" class EntryViewItem; @@ -35,8 +37,11 @@ public: void showSearchResults(QList& results); PwDatabase* db; vectorItems; + QMenu *ContextMenu; private: int CurrentGroup; +protected: + virtual void contextMenuEvent(QContextMenuEvent *event); }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f2ed47e..60e3d1a 100755 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -169,6 +169,16 @@ void KeepassMainWindow::setupMenus(){ GroupView->ContextMenu->addSeparator(); GroupView->ContextMenu->addAction(EditGroupSearchAction); + EntryView->ContextMenu->addAction(EditPasswordToClipboardAction); + EntryView->ContextMenu->addAction(EditUsernameToClipboardAction); + EntryView->ContextMenu->addAction(EditOpenUrlAction); + EntryView->ContextMenu->addAction(EditSaveAttachmentAction); + EntryView->ContextMenu->addSeparator(); + EntryView->ContextMenu->addAction(EditNewEntryAction); + EntryView->ContextMenu->addAction(EditEditEntryAction); + EntryView->ContextMenu->addAction(EditCloneEntryAction); + EntryView->ContextMenu->addAction(EditDeleteEntryAction); + ViewHidePasswordsAction->setChecked(config.ListView_HidePasswords); ViewHideUsernamesAction->setChecked(config.ListView_HideUsernames); ViewColumnsTitleAction->setChecked(config.Columns[0]);