File indexing completed on 2024-04-21 03:49:29
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2010 Dennis Nienhüser <nienhueser@kde.org> 0004 // 0005 0006 #ifndef MARBLE_BOOKMARKMANAGERDIALOG_H 0007 #define MARBLE_BOOKMARKMANAGERDIALOG_H 0008 0009 #include "ui_BookmarkManagerDialog.h" 0010 #include "marble_export.h" 0011 0012 #include <QDialog> 0013 0014 namespace Marble 0015 { 0016 0017 class GeoDataDocument; 0018 class GeoDataContainer; 0019 class MarbleModel; 0020 class BookmarkManagerDialogPrivate; 0021 0022 class MARBLE_EXPORT BookmarkManagerDialog : public QDialog, private Ui::UiBookmarkManagerDialog 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 /** Constructor. The model is used to retrieve the bookmark manager */ 0028 explicit BookmarkManagerDialog( MarbleModel* model, QWidget *parent = nullptr ); 0029 0030 /** Destructor */ 0031 ~BookmarkManagerDialog() override; 0032 0033 void setButtonBoxVisible( bool visible ); 0034 0035 private Q_SLOTS: 0036 void saveBookmarks(); 0037 0038 void exportBookmarks(); 0039 0040 void importBookmarks(); 0041 0042 private: 0043 Q_PRIVATE_SLOT( d, void updateButtonState() ) 0044 0045 Q_PRIVATE_SLOT( d, void addNewFolder() ) 0046 0047 Q_PRIVATE_SLOT( d, void renameFolder() ) 0048 0049 Q_PRIVATE_SLOT( d, void deleteFolder() ) 0050 0051 Q_PRIVATE_SLOT( d, void editBookmark() ) 0052 0053 Q_PRIVATE_SLOT( d, void deleteBookmark() ) 0054 0055 Q_PRIVATE_SLOT( d, void handleFolderSelection( const QModelIndex &index ) ) 0056 0057 Q_PRIVATE_SLOT( d, void discardChanges() ) 0058 0059 Q_DISABLE_COPY( BookmarkManagerDialog ) 0060 BookmarkManagerDialogPrivate* const d; 0061 friend class BookmarkManagerDialogPrivate; 0062 }; 0063 0064 } 0065 #endif