#pragma once #include "kml/types.hpp" #include #include #include #include class QTreeWidget; class QTreeWidgetItem; class QLabel; class QPushButton; class Framework; namespace qt { class BookmarkDialog : public QDialog { Q_OBJECT public: BookmarkDialog(QWidget * parent, Framework & framework); void ShowModal(); private slots: void OnItemClick(QTreeWidgetItem * item, int column); void OnCloseClick(); void OnImportClick(); void OnExportClick(); void OnDeleteClick(); private: void FillTree(); QTreeWidgetItem * CreateTreeItem(std::string const & title, QTreeWidgetItem * parent); void OnAsyncLoadingStarted(); void OnAsyncLoadingFinished(); void OnAsyncLoadingFileSuccess(std::string const & fileName, bool isTemporaryFile); void OnAsyncLoadingFileError(std::string const & fileName, bool isTemporaryFile); QTreeWidget * m_tree; Framework & m_framework; std::unordered_map m_categories; std::unordered_map m_bookmarks; std::unordered_map m_tracks; }; } // namespace qt