[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/akonadi
From: Volker Krause <vkrause () kde ! org>
Date: 2008-03-08 14:12:29
Message-ID: 1204985549.787555.28176.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 783527 by vkrause:
Add item deletion action.
M +3 -0 clients/akonadiconsole/akonadiconsoleui.rc
M +22 -0 libakonadi/standardactionmanager.cpp
M +4 -0 libakonadi/standardactionmanager.h
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/akonadiconsoleui.rc \
#783526:783527 @@ -19,6 +19,8 @@
</Menu>
<Menu name="item"><text>&Item</text>
<Action name="akonadi_item_copy"/>
+ <Separator/>
+ <Action name="akonadi_item_delete"/>
</Menu>
</MenuBar>
@@ -38,6 +40,7 @@
<Menu name="akonadi_itemview_contextmenu">
<Action name="akonadi_item_copy"/>
<Action name="akonadi_paste"/>
+ <Action name="akonadi_item_delete"/>
</Menu>
</kpartgui>
--- trunk/KDE/kdepim/akonadi/libakonadi/standardactionmanager.cpp #783526:783527
@@ -24,6 +24,8 @@
#include <libakonadi/collectiondeletejob.h>
#include <libakonadi/collectionmodel.h>
#include <libakonadi/collectionpropertiesdialog.h>
+#include <libakonadi/itemdeletejob.h>
+#include <libakonadi/itemmodel.h>
#include <libakonadi/pastehelper.h>
#include <libakonadi/subscriptiondialog.h>
@@ -57,6 +59,7 @@
{ "akonadi_collection_properties", I18N_NOOP("Folder &Properties..."), \
"configure", 0, SLOT(slotCollectionProperties()) }, { "akonadi_item_copy", 0, \
"edit-copy", 0, SLOT(slotCopyItems()) }, { "akonadi_paste", I18N_NOOP("&Paste"), \
"edit-paste", Qt::CTRL + Qt::Key_V, SLOT(slotPaste()) }, + { "akonadi_item_delete", \
0, "edit-delete", Qt::Key_Delete, SLOT(slotDeleteItems()) }, { \
"akonadi_manage_local_subscriptions", I18N_NOOP("Manage Local &Subscriptions..."), 0, \
0, SLOT(slotLocalSubscription()) } };
static const int numActionData = sizeof actionData / sizeof *actionData;
@@ -76,6 +79,7 @@
pluralLabels.insert( StandardActionManager::CopyCollections, ki18np( "&Copy \
Folder", "&Copy %1 Folders" ) );
pluralLabels.insert( StandardActionManager::CopyItems, ki18np( "&Copy Item", \
"&Copy %1 Items" ) ); + pluralLabels.insert( StandardActionManager::DeleteItems, \
ki18np( "&Delete Item", "&Delete %1 Items" ) ); }
void enableAction( StandardActionManager::Type type, bool enable )
@@ -140,9 +144,11 @@
}
enableAction( CopyItems, multiItemSelected );
+ enableAction( DeleteItems, multiItemSelected );
updatePluralLabel( CopyCollections, colCount );
updatePluralLabel( CopyItems, itemCount );
+ updatePluralLabel( DeleteItems, itemCount );
emit q->actionStateUpdated();
}
@@ -233,6 +239,22 @@
q->connect( job, SIGNAL(result(KJob*)), q, SLOT(pasteResult(KJob*)) );
}
+ void slotDeleteItems()
+ {
+ if ( KMessageBox::questionYesNo( parentWidget,
+ i18n( "Do you really want to delete all selected items?" ),
+ i18n("Delete?"), KStandardGuiItem::del(), KStandardGuiItem::cancel(),
+ QString(), KMessageBox::Dangerous ) != KMessageBox::Yes )
+ return;
+
+ Q_ASSERT( itemSelectionModel );
+
+ // TODO: fix this once ItemStoreJob can handle item lists
+ foreach ( const QModelIndex index, itemSelectionModel->selectedRows() ) {
+ new ItemDeleteJob( DataReference( index.data( ItemModel::IdRole ).toInt(), \
QString() ), q ); + }
+ }
+
void slotLocalSubscription()
{
SubscriptionDialog* dlg = new SubscriptionDialog( parentWidget );
--- trunk/KDE/kdepim/akonadi/libakonadi/standardactionmanager.h #783526:783527
@@ -59,7 +59,9 @@
- Deletion of selected collections (@c akonadi_collection_delete)
- Synchronization of selected collections (@c akonadi_collection_sync)
- Showing the collection properties dialog for the current collection (@c \
akonadi_collection_properties) + - Copying of selected items (@c akonadi_itemcopy)
- Pasting collections, items or raw data (@c akonadi_paste)
+ - Deleting of selected items (@c akonadi_item_delete)
- Managing local subscriptions (@c akonadi_manage_local_subscriptions)
The following example shows how to use standard actions in your application:
@@ -89,6 +91,7 @@
CollectionProperties,
CopyItems,
Paste,
+ DeleteItems,
ManageLocalSubscriptions,
LastType
};
@@ -172,6 +175,7 @@
Q_PRIVATE_SLOT( d, void slotCollectionProperties() )
Q_PRIVATE_SLOT( d, void slotCopyItems() )
Q_PRIVATE_SLOT( d, void slotPaste() )
+ Q_PRIVATE_SLOT( d, void slotDeleteItems() )
Q_PRIVATE_SLOT( d, void slotLocalSubscription() )
Q_PRIVATE_SLOT( d, void collectionCreationResult(KJob*) )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic