Branch 'kolab/integration/4.13.0' - akonadi/actionstatemanager.cpp akonadi/calendar akonadi/standardactionmanager.cpp akonadi/standardactionmanager.h
Christian Mollekopf
mollekopf at kolabsys.com
Tue Aug 12 12:39:16 CEST 2014
akonadi/actionstatemanager.cpp | 2 ++
akonadi/calendar/standardcalendaractionmanager.cpp | 8 ++++++++
akonadi/standardactionmanager.cpp | 15 ++++++++++++++-
akonadi/standardactionmanager.h | 2 ++
4 files changed, 26 insertions(+), 1 deletion(-)
New commits:
commit dda34f75b477ffe8f8fed3b2557594f5714ffa23
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date: Tue Aug 12 12:38:00 2014 +0200
New standard action to synchronize the collection tree.
diff --git a/akonadi/actionstatemanager.cpp b/akonadi/actionstatemanager.cpp
index ee12115..3b3813c 100644
--- a/akonadi/actionstatemanager.cpp
+++ b/akonadi/actionstatemanager.cpp
@@ -273,6 +273,7 @@ void ActionStateManager::updateState(const Collection::List &collections, const
enableAction(StandardActionManager::DeleteResources, canDeleteResources);
enableAction(StandardActionManager::ResourceProperties, canConfigureResource);
enableAction(StandardActionManager::SynchronizeResources, canSynchronizeResources);
+ enableAction(StandardActionManager::SynchronizeCollectionTree, canSynchronizeResources);
if (collectionsAreInTrash) {
updateAlternatingAction(StandardActionManager::MoveToTrashRestoreCollectionAlternative);
@@ -343,6 +344,7 @@ void ActionStateManager::updateState(const Collection::List &collections, const
updatePluralLabel(StandardActionManager::SynchronizeCollectionsRecursive, collectionCount);
updatePluralLabel(StandardActionManager::DeleteResources, resourceCollectionCount);
updatePluralLabel(StandardActionManager::SynchronizeResources, resourceCollectionCount);
+ updatePluralLabel(StandardActionManager::SynchronizeCollectionTree, resourceCollectionCount);
}
diff --git a/akonadi/calendar/standardcalendaractionmanager.cpp b/akonadi/calendar/standardcalendaractionmanager.cpp
index 5f1884e..f616599 100644
--- a/akonadi/calendar/standardcalendaractionmanager.cpp
+++ b/akonadi/calendar/standardcalendaractionmanager.cpp
@@ -240,6 +240,13 @@ public:
StandardActionManager::Paste, StandardActionManager::ErrorMessageTitle,
i18n("Paste failed"));
break;
+ case Akonadi::StandardActionManager::SynchronizeCollectionTree:
+ mGenericManager->setActionText(Akonadi::StandardActionManager::SynchronizeCollectionTree,
+ ki18n("Update Available Calendars"));
+ mGenericManager->action(Akonadi::StandardActionManager::SynchronizeCollectionTree)->setWhatsThis(
+ i18n("Updates the tree of available calendars."));
+
+ break;
default:
break;
}
@@ -283,6 +290,7 @@ public:
updateGenericAction(StandardActionManager::MoveToTrashRestoreItem);
updateGenericAction(StandardActionManager::MoveToTrashRestoreItemAlternative);
updateGenericAction(StandardActionManager::SynchronizeFavoriteCollections);
+ updateGenericAction(StandardActionManager::SynchronizeCollectionTree);
}
diff --git a/akonadi/standardactionmanager.cpp b/akonadi/standardactionmanager.cpp
index ebaa306..9cc7f16 100644
--- a/akonadi/standardactionmanager.cpp
+++ b/akonadi/standardactionmanager.cpp
@@ -122,7 +122,8 @@ static const struct {
{ 0, I18N_NOOP("&Restore Collection From Trash"), I18N_NOOP("Restore Collection From Trash"), "view-refresh", 0, 0, ActionAlternative },
{ "akonadi_item_trash_restore", I18N_NOOP("&Restore Item From Trash"), I18N_NOOP("Restore Item From Trash"), "user-trash", 0, SLOT(slotTrashRestoreItem()), ActionWithAlternative },
{ 0, I18N_NOOP("&Restore Item From Trash"), I18N_NOOP("Restore Item From Trash"), "view-refresh", 0, 0, ActionAlternative },
- { "akonadi_collection_sync_favorite_folders", I18N_NOOP("&Synchronize Favorite Folders"), I18N_NOOP("Synchronize Favorite Folders"), "view-refresh", Qt::CTRL + Qt::SHIFT + Qt::Key_L , SLOT(slotSynchronizeFavoriteCollections()), NormalAction }
+ { "akonadi_collection_sync_favorite_folders", I18N_NOOP("&Synchronize Favorite Folders"), I18N_NOOP("Synchronize Favorite Folders"), "view-refresh", Qt::CTRL + Qt::SHIFT + Qt::Key_L , SLOT(slotSynchronizeFavoriteCollections()), NormalAction },
+ { "akonadi_resource_synchronize_collectiontree", I18N_NOOP("Synchronize Folder Tree"), I18N_NOOP("Synchronize"), "view-refresh", 0, SLOT(slotSynchronizeCollectionTree()), NormalAction }
};
static const int numStandardActionData = sizeof standardActionData / sizeof * standardActionData;
@@ -1185,6 +1186,18 @@ public:
}
}
+ void slotSynchronizeCollectionTree()
+ {
+ const AgentInstance::List instances = selectedAgentInstances();
+ if (instances.isEmpty()) {
+ return;
+ }
+
+ foreach (AgentInstance instance, instances) { //krazy:exclude=foreach
+ instance.synchronizeCollectionTree();
+ }
+ }
+
void slotResourceProperties()
{
AgentInstance instance = selectedAgentInstance();
diff --git a/akonadi/standardactionmanager.h b/akonadi/standardactionmanager.h
index 5e1dada..c13f898 100644
--- a/akonadi/standardactionmanager.h
+++ b/akonadi/standardactionmanager.h
@@ -168,6 +168,7 @@ public:
MoveToTrashRestoreItem, ///< Move Item to Trash or Restore it from Trash, needs EntityDeletedAttribute @since 4.8
MoveToTrashRestoreItemAlternative, ///< Helper type for MoveToTrashRestoreItem, do not create directly. Use this to override texts of the restore action. @since 4.8
SynchronizeFavoriteCollections, ///< Synchronize favorite collections @since 4.8
+ SynchronizeCollectionTree, ///< Synchronize collection tree @since 4.15
LastType ///< Marks last action
};
@@ -407,6 +408,7 @@ private:
Q_PRIVATE_SLOT( d, void slotDeleteResource() )
Q_PRIVATE_SLOT( d, void slotResourceProperties() )
Q_PRIVATE_SLOT( d, void slotSynchronizeResource() )
+ Q_PRIVATE_SLOT( d, void slotSynchronizeCollectionTree() )
Q_PRIVATE_SLOT( d, void slotToggleWorkOffline(bool) )
Q_PRIVATE_SLOT( d, void collectionCreationResult(KJob*) )
More information about the commits
mailing list