[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [marble] src/lib/marble: Fix bookmark usability issue
From:       Benjamin Kaiser <benjaminjkaiser () gmail ! com>
Date:       2013-12-31 15:32:14
Message-ID: E1Vy1Ik-0008Bl-VP () scm ! kde ! org
[Download RAW message or body]

Git commit 4be7c39c6ac100753e977700dc3212031c383292 by Benjamin Kaiser.
Committed on 31/12/2013 at 15:31.
Pushed by benjaminkaiser into branch 'master'.

Fix bookmark usability issue
GCI TASK: #4953286327140352
REVIEW: #114757

M  +8    -0    src/lib/marble/BookmarkManager.cpp
M  +6    -0    src/lib/marble/BookmarkManager.h
M  +1    -0    src/lib/marble/EditBookmarkDialog.cpp

http://commits.kde.org/marble/4be7c39c6ac100753e977700dc3212031c383292

diff --git a/src/lib/marble/BookmarkManager.cpp b/src/lib/marble/BookmarkManager.cpp
index 95b17e0..f3d3284 100644
--- a/src/lib/marble/BookmarkManager.cpp
+++ b/src/lib/marble/BookmarkManager.cpp
@@ -122,6 +122,7 @@ bool BookmarkManager::loadFile( const QString &relativeFilePath )
         Q_ASSERT( d->m_bookmarkDocument && "d->m_bookmarkDocument is 0 but must not \
be. Please report a bug at http://bugs.kde.org" );  d->m_treeModel->addDocument( \
d->m_bookmarkDocument );  }
+    ensureDefaultFolder();
 
     emit bookmarksChanged();
     return true;
@@ -210,6 +211,13 @@ void BookmarkManager::removeBookmarkFolder( GeoDataFolder \
*folder )  delete folder;
 }
 
+void BookmarkManager::ensureDefaultFolder()
+{
+    if ( d->m_bookmarkDocument->size() == 0 ) {
+        addNewBookmarkFolder( d->m_bookmarkDocument, "Default" );
+    }
+}
+
 void BookmarkManager::removeAllBookmarks()
 {
     d->resetBookmarkDocument();
diff --git a/src/lib/marble/BookmarkManager.h b/src/lib/marble/BookmarkManager.h
index aa5443e..f345560 100644
--- a/src/lib/marble/BookmarkManager.h
+++ b/src/lib/marble/BookmarkManager.h
@@ -85,6 +85,12 @@ class MARBLE_EXPORT BookmarkManager : public QObject
     void removeBookmarkFolder( GeoDataFolder *folder );
 
     /**
+     * @brief checks that there is at least one folder
+     */
+
+    void ensureDefaultFolder();
+
+    /**
       * @brief remove all folders and bookmarks except default folder
       */
     void removeAllBookmarks();
diff --git a/src/lib/marble/EditBookmarkDialog.cpp \
b/src/lib/marble/EditBookmarkDialog.cpp index cdf3b7c..1362c53 100644
--- a/src/lib/marble/EditBookmarkDialog.cpp
+++ b/src/lib/marble/EditBookmarkDialog.cpp
@@ -83,6 +83,7 @@ void EditBookmarkDialogPrivate::initialize()
 
 void EditBookmarkDialogPrivate::initComboBox( const GeoDataContainer* const \
container )  {
+    m_bookmarkManager->ensureDefaultFolder();
     foreach( GeoDataFolder *folder, container->folderList() ) {
         QVariant folderVariant;
         folderVariant.setValue(folder);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic