[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/kgpg2
From: Rolf Eike Beer <kde () opensource ! sf-tec ! de>
Date: 2008-01-17 17:07:25
Message-ID: 1200589645.492100.15776.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 762676 by dakon:
port deleting keys to model/view
M +33 -80 keysmanager.cpp
M +1 -1 keysmanager.h
--- branches/work/kgpg2/keysmanager.cpp #762675:762676
@@ -2066,46 +2066,41 @@
void KeysManager::confirmdeletekey()
{
- KeyListViewItem *ki = keysList2->currentItem();
+ KgpgCore::KgpgItemType pt;
+ bool same;
+ QList<KGpgNode *> ndlist = iview->selectedNodes(&same, &pt);
+ Q_ASSERT(!ndlist.isEmpty());
- // do not delete a key currently edited in terminal
- if ((ki->keyId() == terminalkey) && (keysList2->selectedItems().count() == 1)) {
- KMessageBox::error(this, i18n("Can not delete key <b>%1</b> while it is \
edited in terminal.", terminalkey), i18n("Delete key"));
- return;
- }
+ // do not delete a key currently edited in terminal
+ if (((pt == ITYPE_PUBLIC) || (pt == ITYPE_PAIR)) && (ndlist.at(0)->getId() == \
terminalkey) && (ndlist.count() == 1)) { + KMessageBox::error(this, i18n("Can not \
delete key <b>%1</b> while it is edited in terminal.", terminalkey), i18n("Delete \
key")); + return;
+ } else if (pt == ITYPE_GROUP) {
+ deleteGroup();
+ return;
+ } else if (!(pt & ITYPE_GROUP) && (pt & ITYPE_SECRET) && (ndlist.count() == 1)) {
+ deleteseckey();
+ }
- if (ki->itemType() & KeyListViewItem::Group)
- {
- deleteGroup();
- return;
- }
+ if (pt & ~ITYPE_PAIR) {
+ KMessageBox::error(this, i18n("You have selected items that are not keys. They can \
not be deleted with this menu entry.", terminalkey), i18n("Delete key")); + return;
+ }
- if ((ki->itemType() & KeyListViewItem::Secret) && \
(keysList2->selectedItems().count() == 1))
- deleteseckey();
- else
- {
- QStringList keysToDelete;
- QString secList;
- QList<KeyListViewItem*> exportList = keysList2->selectedItems();
- bool secretKeyInside = false;
- for (int i = 0; i < exportList.count(); ++i) {
- KeyListViewItem *ki = exportList.at(i);
+ QStringList keysToDelete;
+ QString secList;
- if (ki)
- {
- if (ki->itemType() & KeyListViewItem::Secret)
- {
- secretKeyInside = true;
- secList += ki->text(0) + " (" + ki->text(1) + ")<br/>";
- ki->setSelected(false);
- }
- else if (ki->keyId() != terminalkey)
- keysToDelete += ki->text(0) + " (" + ki->text(1) + ')';
- }
+ bool secretKeyInside = (pt & ITYPE_SECRET);
+ for (int i = 0; i < ndlist.count(); ++i) {
+ KGpgKeyNode *ki = static_cast<KGpgKeyNode *>(ndlist.at(i));
+
+ if (ki->getType() & KeyListViewItem::Secret) {
+ secList += ki->getNameComment();
+ } else if (ki->getId() != terminalkey)
+ keysToDelete += ki->getNameComment();
}
- if (secretKeyInside)
- {
+ if (secretKeyInside) {
int result = KMessageBox::warningContinueCancel(this, i18n("<qt>The \
following are secret key pairs:<br/><b>%1</b>They will not be deleted.</qt>", \
secList)); if (result != KMessageBox::Continue)
return;
@@ -2118,66 +2113,24 @@
if (result != KMessageBox::Continue)
return;
else
- deletekey();
- }
+ deletekey(keysToDelete);
}
-void KeysManager::deletekey()
+void KeysManager::deletekey(const QStringList &keysToDelete)
{
- QList<KGpgNode *> ndlist = iview->selectedNodes();
- QList<KeyListViewItem*> exportList = keysList2->selectedItems();
- if (exportList.count() == 0)
- return;
-
KProcess gp;
gp << KGpgSettings::gpgBinaryPath()
<< "--no-tty"
<< "--no-secmem-warning"
<< "--batch"
<< "--yes"
- << "--delete-key";
+ << "--delete-key"
+ << keysToDelete;
- for (int i = 0; i < exportList.count(); ++i) {
- KeyListViewItem *item = exportList.at(i);
- if (!item)
- continue;
- gp << item->keyId();
- }
-
gp.execute();
imodel->refreshKeys();
- if (keysList2->currentItem())
- {
- KeyListViewItem * myChild = keysList2->currentItem();
- while(!myChild->isVisible())
- {
- myChild = myChild->nextSibling();
- if (!myChild)
- break;
- }
-
- if (!myChild)
- {
- KeyListViewItem * myChild = keysList2->firstChild();
- while(!myChild->isVisible())
- {
- myChild = myChild->nextSibling();
- if (!myChild)
- break;
- }
- }
-
- if (myChild)
- {
- myChild->setSelected(true);
- keysList2->setCurrentItem(myChild);
- }
- }
- else
- stateChanged("empty_list");
-
changeMessage(imodel->statusCountMessage(), 1);
}
--- branches/work/kgpg2/keysmanager.h #762675:762676
@@ -151,7 +151,7 @@
void readOptions();
void slotSetDefKey();
void confirmdeletekey();
- void deletekey();
+ void deletekey(const QStringList &keysToDelete);
void deleteseckey();
void signkey();
void delsignkey();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic