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
|