Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PIM
KDE PIM Runtime
Commits
e8cd852b
Commit
e8cd852b
authored
Oct 06, 2020
by
Shashwat Jolly
Browse files
Update collection mtime while adding, changing or removing collections
parent
9a0972b1
Changes
1
Hide whitespace changes
Inline
Side-by-side
resources/etesync/etesyncresource.cpp
View file @
e8cd852b
...
...
@@ -576,9 +576,11 @@ void EteSyncResource::collectionAdded(const Akonadi::Collection &collection, con
EtebaseCollectionManagerPtr
collectionManager
(
etebase_account_get_collection_manager
(
mClientState
->
account
()));
// Create metadata
int64_t
modificationTimeSinceEpoch
=
QDateTime
::
currentMSecsSinceEpoch
();
const
QString
type
=
getEtebaseTypeForCollection
(
collection
);
EtebaseCollectionMetadataPtr
collectionMetaData
(
etebase_collection_metadata_new
(
type
,
collection
.
displayName
()));
etebase_collection_metadata_set_color
(
collectionMetaData
.
get
(),
ETESYNC_DEFAULT_COLLECTION_COLOR
);
etebase_collection_metadata_set_mtime
(
collectionMetaData
.
get
(),
&
modificationTimeSinceEpoch
);
qCDebug
(
ETESYNC_LOG
)
<<
"Created metadata"
;
...
...
@@ -652,10 +654,14 @@ void EteSyncResource::collectionChanged(const Akonadi::Collection &collection)
}
// Update metadata
EtebaseCollectionMetadataPtr
collectionMetadata
(
etebase_collection_get_meta
(
etesyncCollection
.
get
()));
EtebaseCollectionMetadataPtr
collectionMetaData
(
etebase_collection_get_meta
(
etesyncCollection
.
get
()));
// mtime
int64_t
modificationTimeSinceEpoch
=
QDateTime
::
currentMSecsSinceEpoch
();
etebase_collection_metadata_set_mtime
(
collectionMetaData
.
get
(),
&
modificationTimeSinceEpoch
);
// Name
etebase_collection_metadata_set_name
(
collectionMeta
d
ata
.
get
(),
collection
.
displayName
());
etebase_collection_metadata_set_name
(
collectionMeta
D
ata
.
get
(),
collection
.
displayName
());
// Color
auto
journalColor
=
ETESYNC_DEFAULT_COLLECTION_COLOR
;
...
...
@@ -665,10 +671,10 @@ void EteSyncResource::collectionChanged(const Akonadi::Collection &collection)
journalColor
=
colorAttr
->
color
().
name
();
}
}
etebase_collection_metadata_set_color
(
collectionMeta
d
ata
.
get
(),
journalColor
);
etebase_collection_metadata_set_color
(
collectionMeta
D
ata
.
get
(),
journalColor
);
// Set metadata
etebase_collection_set_meta
(
etesyncCollection
.
get
(),
collectionMeta
d
ata
.
get
());
etebase_collection_set_meta
(
etesyncCollection
.
get
(),
collectionMeta
D
ata
.
get
());
// Upload to server
if
(
etebase_collection_manager_upload
(
collectionManager
.
get
(),
etesyncCollection
.
get
(),
NULL
))
{
...
...
@@ -705,6 +711,13 @@ void EteSyncResource::collectionRemoved(const Akonadi::Collection &collection)
return
;
}
// Update metadata
EtebaseCollectionMetadataPtr
collectionMetaData
(
etebase_collection_get_meta
(
etesyncCollection
.
get
()));
// mtime
int64_t
modificationTimeSinceEpoch
=
QDateTime
::
currentMSecsSinceEpoch
();
etebase_collection_metadata_set_mtime
(
collectionMetaData
.
get
(),
&
modificationTimeSinceEpoch
);
// Set collection deleted
etebase_collection_delete
(
etesyncCollection
.
get
());
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment