aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-photo/mainUI.h
blob: 610ec3f2f49fcee4815f9c0b8507b038181b6090 (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//===========================================
//  Lumina-Desktop source code
//  Copyright (c) 2018, Loïc Bartoletti
//  Available under the 3-clause BSD license
//  See the LICENSE file for full details
//===========================================
#ifndef _LUMINA_PHOTO_MAIN_UI_H
#define _LUMINA_PHOTO_MAIN_UI_H

#include "PhotoView.h"
#include <QAction>
#include <QGraphicsScene>
#include <QMainWindow>
#include <QString>
#include <QStringList>
#include <QSettings>


namespace Ui
{
class MainUI;
};

class MainUI : public QMainWindow
{
    Q_OBJECT
    public:
    MainUI ();
    ~MainUI ();

    void loadArguments (QStringList);

private:
    Ui::MainUI *ui;

    void setupConnections ();
    void setupIcons ();
    void setupFilters();

    bool loadFile (const QString); // simplification for loading files

    QGraphicsScene *graphicsScene;
    QImage actualImage;

    QStringList files;
    int idx = 0;

    QStringList mimeTypeFiltersReader;
    QStringList mimeTypeFiltersWriter;

    QString ppath; //previous file path
    QString pfilter; //previous filter
    QSettings *settings;

private slots:
    void open ();
    bool save();
    void print();
    void closeApplication ();

    // Toolbar actions
    void fitZoomToggled ();
    void normalZoomToggled ();
    void zoomOutToggled ();
    void zoomInToggled ();
    void nextToggled ();
    void backToggled ();
    void lastToggled ();
    void firstToggled ();
};

#endif
bgstack15