28 #ifndef dooble_history_h 29 #define dooble_history_h 31 #include <QAtomicInteger> 33 #include <QReadWriteLock> 34 #include <QSqlDatabase> 36 #include <QWebEngineHistoryItem> 39 class QStandardItemModel;
40 typedef QList<QPair<QIcon, QString> > QListPairIconString;
41 typedef QList<QUrl> QListUrl;
42 typedef QList<QVector<QByteArray> > QListVectorByteArray;
62 QHash<QUrl, QHash<dooble_history::HistoryItem, QVariant> >
64 QList<QAction *> last_n_actions(
int n)
const;
65 QStandardItemModel *favorites_model(
void)
const;
66 bool is_favorite(
const QUrl &url)
const;
69 void purge_favorites(
void);
70 void purge_history(
void);
71 void remove_favorite(
const QUrl &url);
72 void remove_items_list(
const QList<QUrl> &url);
73 void save_favicon(
const QIcon &icon,
const QUrl &url);
74 void save_favorite(
const QUrl &url,
bool state);
75 void save_item(
const QIcon &icon,
76 const QWebEngineHistoryItem &item,
80 QAtomicInteger<short> m_interrupt;
81 QFuture<void> m_populate_future;
82 QFuture<void> m_purge_future;
83 QHash<QUrl, QHash<HistoryItem, QVariant> > m_history;
84 QMultiMap<QDateTime, QUrl> m_history_date_time;
85 QStandardItemModel *m_favorites_model;
87 mutable QReadWriteLock m_history_mutex;
88 void create_tables(QSqlDatabase &db);
89 void populate(
const QByteArray &authentication_key,
90 const QByteArray &encryption_key);
91 void purge(
const QByteArray &authentication_key,
92 const QByteArray &encryption_key);
93 void update_favorite(
const QHash<HistoryItem, QVariant> &hash);
96 void slot_populate(
void);
97 void slot_populated_favorites(
const QListVectorByteArray &favorites);
98 void slot_remove_items(
const QListUrl &urls);
99 void slot_purge_timer_timeout(
void);
102 void icon_updated(
const QIcon &icon,
const QUrl &url);
103 void item_updated(
const QIcon &icon,
const QWebEngineHistoryItem &item);
104 void new_item(
const QIcon &icon,
const QWebEngineHistoryItem &item);
105 void populated(
const QListPairIconString &list);
106 void populated(
void);
107 void populated_favorites(
const QListVectorByteArray &favorites);
108 void remove_items(
const QListUrl &urls);
Definition: dooble_history.h:44