aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.h
blob: 4d49145c5d243a39d88fbe21669b1006b6f7cf06 (plain) (blame)
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
#ifndef ABOUTDIALOG_H
#define ABOUTDIALOG_H

#include "guiSQLiteStudio_global.h"
#include <QDialog>
#include <QStringList>

namespace Ui {
    class AboutDialog;
}

class GUI_API_EXPORT AboutDialog : public QDialog
{
        Q_OBJECT

    public:
        enum InitialMode
        {
            ABOUT,
            LICENSES
        };

        AboutDialog(InitialMode initialMode, QWidget *parent = 0);
        ~AboutDialog();

    private:
        void init(InitialMode initialMode);
        void buildIndex();
        void addLicense(int row, const QString& title, const QString& contents, const QString& violation);
        QString readFile(const QString& path);

        static QStringList filterResourcePaths(const QStringList& paths);

        Ui::AboutDialog *ui = nullptr;
        QStringList indexContents;
        QString licenseContents;
        QAction* copyAct = nullptr;
};

#endif // ABOUTDIALOG_H