-
-
Notifications
You must be signed in to change notification settings - Fork 78
Expand file tree
/
Copy pathDatabaseUrl.h
More file actions
52 lines (43 loc) · 1.57 KB
/
DatabaseUrl.h
File metadata and controls
52 lines (43 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Author: Kang Lin <kl222@126.com>
#pragma once
#include <QIcon>
#include "Database.h"
class CDatabaseUrl : public CDatabase
{
Q_OBJECT
public:
explicit CDatabaseUrl(const QString &szSuffix = QString(),
QObject *parent = nullptr);
struct UrlItem {
int id;
QString szUrl;
QString szTitle;
QIcon icon;
QDateTime visit_time;
UrlItem()
: id(0)
, iconId(0)
{}
int iconId;
};
int AddUrl(const QString& url, const QString& title = QString(), const QIcon& icon = QIcon());
bool DeleteUrl(const QString& url);
bool DeleteUrl(int id);
bool UpdateUrl(const QString& url, const QString& title = QString(), const QIcon& icon = QIcon());
bool UpdateUrl(int id, const QString& title = QString(), const QIcon& icon = QIcon());
[[nodiscard]] UrlItem GetItem(int id);
[[nodiscard]] UrlItem GetItem(const QString& url);
[[nodiscard]] int GetId(const QString& url);
[[nodiscard]] QList<int> GetDomain(const QString& szDomain);
[[nodiscard]] QList<UrlItem> Search(const QString& keyword);
[[nodiscard]] virtual bool ExportToJson(QJsonObject& obj) override;
[[nodiscard]] virtual bool ImportFromJson(const QJsonObject& obj) override;
private:
QString m_szTableName;
CDatabaseIcon m_iconDB;
// CDatabase interface
protected:
[[nodiscard]] virtual bool OnInitializeDatabase() override;
[[nodiscard]] virtual bool OnInitializeSqliteDatabase() override;
[[nodiscard]] virtual bool OnInitializeMySqlDatabase() override;
};