]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/dialogs/BookmarksDialog.h
Add dragging and dropping of bookmarks.
[PrivacyBrowserPC.git] / src / dialogs / BookmarksDialog.h
index 3e2713e4c39ee974944146a6d3ec7d683bbfbaa8..e81d0b41cf008f38ce07e398a67eae0b69c5b2a9 100644 (file)
 
 // Application headers.
 #include "structs/BookmarkStruct.h"
+#include "widgets/DraggableTreeView.h"
 
 // Qt toolkit headers.
 #include <QDialog>
+#include <QItemSelectionModel>
 #include <QStandardItem>
 
 class BookmarksDialog : public QDialog
@@ -34,7 +36,13 @@ class BookmarksDialog : public QDialog
 
 public:
     // The primary constructor.
-    explicit BookmarksDialog();
+    explicit BookmarksDialog(QIcon currentWebsiteFavoriteIcon);
+
+    // The public constants.
+    static const int BOOKMARK_NAME_COLUMN = 0;
+    static const int BOOKMARK_URL_COLUMN = 1;
+    static const int DATABASE_ID_COLUMN = 2;
+    static const int DISPLAY_ORDER = 3;
 
 signals:
     // The signals.
@@ -42,6 +50,23 @@ signals:
 
 private Q_SLOTS:
     // The private slots.
+    void deleteItems() const;
+    void refreshBookmarks() const;
+    void showAddBookmarkDialog() const;
+    void showEditDialog();
     void updateBookmarkFromTree(QStandardItem *modifiedStandardItem);
+    void updateUi() const;
+
+private:
+    // The private functions.
+    void populateBookmarks() const;
+
+    // The private variables.
+    QPushButton *deleteItemsButtonPointer;
+    QPushButton *editButtonPointer;
+    QStandardItemModel *treeModelPointer;
+    QItemSelectionModel *treeSelectionModelPointer;
+    DraggableTreeView *draggableTreeViewPointer;
+    QIcon websiteFavoriteIcon;
 };
 #endif