Commit 2673646c authored by shibakaneki's avatar shibakaneki

Added the files update dialog

parent 0f4f8277
#include <QMessageBox>
#include <QFileDialog>
#include "UBUpdateDlg.h"
UBUpdateDlg::UBUpdateDlg(QWidget *parent, int nbFiles, const QString& bkpPath)
: QDialog(parent)
, mpDlgBttn(NULL)
{
setFixedSize(400, 110);
setModal(true);
setWindowTitle(tr("Document updater"));
setLayout(&mLayout);
QString str = QString::number(nbFiles);
str.append(tr(" files require an update."));
mNbFilesLabel.setText(str);
mLayout.addWidget(&mNbFilesLabel);
mBkpLabel.setText(tr("Backup path: "));
mBkpPath.setText(bkpPath);
mBrowseBttn.setText(tr("Browse"));
mHLayout.addWidget(&mBkpLabel);
mHLayout.addWidget(&mBkpPath, 1);
mHLayout.addWidget(&mBrowseBttn);
mLayout.addLayout(&mHLayout);
mpDlgBttn = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
mLayout.addWidget(mpDlgBttn);
mpDlgBttn->button(QDialogButtonBox::Ok)->setText(tr("Update"));
mpDlgBttn->button(QDialogButtonBox::Cancel)->setText("Remind me later");
QObject::connect(&mBrowseBttn, SIGNAL(clicked()), this, SLOT(onBrowse()));
QObject::connect(mpDlgBttn, SIGNAL(accepted()), this, SLOT(onUpdate()));
QObject::connect(mpDlgBttn, SIGNAL(rejected()), this, SLOT(reject()));
}
UBUpdateDlg::~UBUpdateDlg()
{
if(NULL != mpDlgBttn)
{
delete mpDlgBttn;
mpDlgBttn = NULL;
}
}
void UBUpdateDlg::onBrowse()
{
QString qsSelectedDir;
qsSelectedDir = QFileDialog::getExistingDirectory(this, tr("Select a backup folder"), mBkpPath.text());
mBkpPath.setText(qsSelectedDir);
}
void UBUpdateDlg::onUpdate()
{
emit updateFiles();
}
void UBUpdateDlg::onFilesUpdated(bool bResult)
{
QString qsMsg;
if(bResult)
{
qsMsg = tr("Files update successful");
}
else
{
qsMsg = tr("An error occured during the update. The files have not been affected.");
}
QMessageBox::information(this, tr("Files update results"), qsMsg, QMessageBox::Ok);
}
QString UBUpdateDlg::backupPath()
{
return mBkpPath.text();
}
#ifndef UBUPDATEDLG_H
#define UBUPDATEDLG_H
#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QLineEdit>
#include <QDialogButtonBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
class UBUpdateDlg : public QDialog
{
Q_OBJECT
public:
UBUpdateDlg(QWidget *parent = 0, int nbFiles = 0, const QString& bkpPath = "");
~UBUpdateDlg();
QString backupPath();
public slots:
void onFilesUpdated(bool bResult);
signals:
void updateFiles();
private slots:
void onBrowse();
void onUpdate();
private:
QLabel mNbFilesLabel;
QLabel mBkpLabel;
QLineEdit mBkpPath;
QPushButton mBrowseBttn;
QDialogButtonBox* mpDlgBttn;
QVBoxLayout mLayout;
QHBoxLayout mHLayout;
};
#endif // UBUPDATEDLG_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment