63 lines · 1.5 KB · C
RawDownload
////  Bookmarks.h//  interface/src////  Created by David Rowe on 13 Jan 2015.//  Copyright 2015 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// #ifndef hifi_Bookmarks_h#define hifi_Bookmarks_h #include <QMap>#include <QObject>#include <QPointer> class QAction;class QMenu;class Menu;class MenuWrapper; class Bookmarks: public QObject {    Q_OBJECT public:    Bookmarks();     void setupMenus(Menu* menubar, MenuWrapper* menu);     QString addressForBookmark(const QString& name) const;     static const QString HOME_BOOKMARK; private slots:    void bookmarkLocation();    void setHomeLocation();    void teleportToBookmark();    void deleteBookmark();    private:    QVariantMap _bookmarks;  // { name: address, ... }        QPointer<MenuWrapper> _bookmarksMenu;    QPointer<QAction> _deleteBookmarksAction;     const QString BOOKMARKS_FILENAME = "bookmarks.json";    QString _bookmarksFilename;        void insert(const QString& name, const QString& address);  // Overwrites any existing entry with same name.    void remove(const QString& name);    bool contains(const QString& name) const;     void readFromFile();    void persistToFile();     void enableMenuItems(bool enabled);    void addLocationToMenu(Menu* menubar, QString& name, QString& address);    void removeLocationFromMenu(Menu* menubar, QString& name);}; #endif // hifi_Bookmarks_h