pgLab/pglab/BackupDialog.h

95 lines
1.9 KiB
C
Raw Normal View History

#ifndef BACKUPDIALOG_H
#define BACKUPDIALOG_H
#include <QDialog>
#include <QTextCharFormat>
#include "ConnectionConfig.h"
#include <QProcess>
class QStringList;
2019-07-13 08:45:32 +02:00
class QLabel;
class QPushButton;
class QTabWidget;
class QVBoxLayout;
class QHBoxLayout;
class QComboBox;
class QSpinBox;
class QCheckBox;
class QPlainTextEdit;
class QLineEdit;
class QFormLayout;
class QStackedLayout;
2019-07-13 08:45:32 +02:00
class BackupDialog : public QDialog
{
Q_OBJECT
public:
explicit BackupDialog(QWidget *parent = nullptr);
~BackupDialog();
void ConnectTo(QProcess *process);
void disconnectCurrentProcess();
void setConfig(const ConnectionConfig &cfg);
2019-07-13 08:45:32 +02:00
void retranslateUi();
private:
2019-07-13 08:45:32 +02:00
QProcess *m_process = nullptr;
ConnectionConfig m_config;
QLabel *labelFileName;
2019-07-13 08:45:32 +02:00
QLineEdit *editFilename;
QPushButton *selectDestination;
QHBoxLayout *layoutDestination;
QWidget *widgetDestination;
QPushButton *btnStart;
QWidget *optionsView;
QLabel *labelFormat;
2019-07-13 08:45:32 +02:00
QComboBox *backupFormat;
QLabel *labelJobs;
2019-07-13 08:45:32 +02:00
QSpinBox *jobs;
QCheckBox *chkbxVerbose;
QLabel *labelCompression;
2019-07-13 08:45:32 +02:00
QSpinBox *compression;
QCheckBox *chkbxIncludeBlobs;
QCheckBox *chkbxClean;
QCheckBox *chkbxCreate;
QCheckBox *noOwner;
QCheckBox *oids;
QComboBox *what;
QCheckBox *noAcl;
QWidget *progressView;
2019-07-13 08:45:32 +02:00
QPlainTextEdit *stdOutput;
QTextCharFormat m_OutputOkFormat;
QTextCharFormat m_OutputErrorFormat;
QLabel *labelDataOrSchema;
2019-07-13 08:45:32 +02:00
QPushButton *btnBack;
QPushButton *btnClose;
QStackedLayout *viewStack;
2019-07-13 08:45:32 +02:00
enum class Format {
Normal, Success, Error
};
void writeOutput(const QString &s, Format f = Format::Normal);
void setParams(QStringList &args);
private slots:
void process_readyRead();
void process_errorOccurred(QProcess::ProcessError error);
void process_finished(int exitCode, QProcess::ExitStatus exitStatus);
void on_btnStart_clicked();
void on_backupFormat_currentIndexChanged(int index);
void on_selectDestination_clicked();
void on_btnBack_clicked();
};
#endif // BACKUPDIALOG_H