File: mainwindowimpl.h

package info (click to toggle)
converseen 0.9.5.2-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 2,108 kB
  • ctags: 458
  • sloc: cpp: 2,976; xml: 59; makefile: 16; ansic: 9
file content (156 lines) | stat: -rwxr-xr-x 4,512 bytes parent folder | download
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/*
* This file is part of Converseen, an open-source batch image converter
* and resizer.
*
* (C) Francesco Mondello 2009-2016
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*
* Contact e-mail: Faster <faster3ck@gmail.com>
*
*/

#ifndef MAINWINDOWIMPL_H
#define MAINWINDOWIMPL_H

#include <QMainWindow>
#include <QFileInfo>
#include <QList>
#include <QSettings>
#include <QDropEvent>
#include <QFileDialog>
#include <QMessageBox>
#include <QFileDialog>
#include <QInputDialog>
#include <QDesktopServices>
#include <QUrl>
#include "ui_mainwindow.h"
#include "converter.h"
#include "dialogquality.h"
#include "dialogconversionstatus.h"
#include "pixtreewidget.h"
#include "mylabelpreviewer.h"
#include "cachingsystem.h"

class QDropEvent;

class MainWindowImpl : public QMainWindow, public Ui::MainWindow
{
    Q_OBJECT
public:
    MainWindowImpl( QWidget * parent = 0, Qt::WindowFlags f = 0 );
    ~MainWindowImpl();
    void importListFromArgv(QString fileName);

private:
    void createActions();
    void setupMenu();
    void createContextMenu();
    void setFileInList(QString fileName);
    bool checkDuplicates(QStringList fileNames, int e);
    void convert();
    void fillTreeView();
    void loadFormats();
    void loadOptions();
    void loadQuality();

    void deleteItems(int selectedItems);

    void loadPreview(QString fileName);
    void showPreviewAndInfos();   // quello che succede alla selezione dell'item.

    void resetDisplays();

    void checkVersion();

    void saveSettings();    // This method is called when the program is closed

    QString renameFileNameOnPrefixSuffix(QString oldFileName);
    QString renameFileNameOnProgressiveN(QString oldFileName);
    QString destinationPath();

    QList<ImageAttributes> *iAList;

    Converter *convertThread;
    DialogConversionStatus *dlgCStatus;
    int curr_index;             // Indice dell'immagine che si sta processando dalla lista iAList

    int jpgQuality;             // Imposta la qualità jpg anche nel file ini
    int pngQuality;             // Imposta la qualità png anche nel file ini
    int img_width,img_height;  /* vengono riempiti solo quando un'immagine è selezionata.
                                  Riempire con dati su ImageAttributes potrebbe essere lento e non conveniente! */
    int new_img_width,new_img_height; /* Vengono riempiti con numeri che rappresentano i pixel dato che non capisco come
                                         si passa la corretta percentuale in virgola mobile a geometry*/
    double m_xResolution, m_yResolution;

    bool abort_all;

    int m_progressiveNren;      // Incremented when the progressive number renaming is checked

    QString m_bgColor;

    FilterTypes m_resamplingFilter;

private slots:
    void loadFiles(QStringList fileNames);
    void openFiles();
    void addFiles();
    void importIcoFile();
    void importPdfFile();

    void openMultipageFile(QString fileName);   // !
    void elabora();
    void setCurrentDirectory();
    void openOutDirectory();
    void removeItems();
    void removeAllItems();
    void setQuality();
    void selectGeometryUnit(QString unit);
    void relativeSizeW();
    void relativeSizeH();

    void showImageInformations(int orig_w, int orig_h, double orig_dens_x, double orig_dens_y);

    void onItemSelection();
    void editSettings();

    void about();

    void enableRenameLine();
    void enableShowPreview();
    void enableProgressiveSpin();

    void showNewSizePreview();

    void onPushResetClick();

    void startConversion();
    void nextConversion(int conv_status);

    void overwriteDialog(QString baseName);

    void stopProcess();
    void errorMessage(QString err_status);

    void choseBackgroundColor();

    void openPaypalLink();
    void openFlattrLink();

    void checkForUpdates();
    void bugReport();

    void setRelativeSizeCheckboxes(int state);
};
#endif // MAINWINDOWIMPL_H