In Marble's settings there is a button in the Synchronization tab to trigger a manual sync of owncloud bookmarks. Extend it such that when clicked once it is disabled and only enabled again when the synchronization is completed successfully, or after a timeout of 30 seconds.
Relevant files to look at are QtMainWindow.cpp, QtMarbleConfigDialog.cpp, maybe MarbleCloudSyncSettingswidget.ui and the files in src/lib/marble/cloudsync.
Git commit 06b61c35d1fa7d9e750ef9a28b9f9fe662a72022 by Illya Kovalevskyy. Committed on 20/11/2013 at 19:57. Pushed by kovalevskyy into branch 'master'. Manual owncloud sync button is freezed right way Once you start manual sync, 'Sync now' button is disabled and will be enabled again as soon as sync had finished or after 30s timout REVIEW: 113955 M +5 -1 src/apps/marble-qt/QtMainWindow.cpp M +33 -3 src/lib/marble/QtMarbleConfigDialog.cpp M +9 -1 src/lib/marble/QtMarbleConfigDialog.h M +1 -1 src/lib/marble/cloudsync/BookmarkSyncManager.cpp http://commits.kde.org/marble/06b61c35d1fa7d9e750ef9a28b9f9fe662a72022