FileActionDialog now supports variable modal buttons
FossilOrigin-Name: d80b84c6b58b7daf71174d32a8c33cab0e2aabac
This commit is contained in:
parent
24a4e07ed2
commit
3d0827763e
@ -1,9 +1,11 @@
|
|||||||
|
#include <QCheckBox>
|
||||||
#include "FileActionDialog.h"
|
#include "FileActionDialog.h"
|
||||||
#include "ui_FileActionDialog.h"
|
#include "ui_FileActionDialog.h"
|
||||||
|
|
||||||
FileActionDialog::FileActionDialog(QWidget *parent, const QString &title, const QString &message, const QStringList &files, const QString &checkBoxText, bool *checkBoxResult) :
|
FileActionDialog::FileActionDialog(QWidget *parent, const QString &title, const QString &message, const QStringList &listData, const QString &checkBoxText, bool *checkBoxResult) :
|
||||||
QDialog(parent, Qt::Sheet),
|
QDialog(parent, Qt::Sheet),
|
||||||
ui(new Ui::FileActionDialog)
|
ui(new Ui::FileActionDialog),
|
||||||
|
clickedButton(QDialogButtonBox::NoButton)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
setWindowTitle(title);
|
setWindowTitle(title);
|
||||||
@ -20,9 +22,8 @@ FileActionDialog::FileActionDialog(QWidget *parent, const QString &title, const
|
|||||||
ui->verticalLayout->insertWidget(2, checkBox);
|
ui->verticalLayout->insertWidget(2, checkBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach(const QString &s, listData)
|
||||||
for(QStringList::const_iterator it=files.begin(); it!=files.end(); ++it)
|
itemModel.appendRow(new QStandardItem(s));
|
||||||
itemModel.appendRow(new QStandardItem(*it));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FileActionDialog::~FileActionDialog()
|
FileActionDialog::~FileActionDialog()
|
||||||
@ -30,9 +31,9 @@ FileActionDialog::~FileActionDialog()
|
|||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FileActionDialog::run(QWidget *parent, const QString &title, const QString &message, const QStringList &files, const QString &checkBoxText, bool *checkBoxResult)
|
bool FileActionDialog::run(QWidget *parent, const QString &title, const QString &message, const QStringList &listData, const QString &checkBoxText, bool *checkBoxResult)
|
||||||
{
|
{
|
||||||
FileActionDialog dlg(parent, title, message, files, checkBoxText, checkBoxResult);
|
FileActionDialog dlg(parent, title, message, listData, checkBoxText, checkBoxResult);
|
||||||
int res = dlg.exec();
|
int res = dlg.exec();
|
||||||
|
|
||||||
if(!checkBoxText.isEmpty() && checkBoxResult && dlg.checkBox)
|
if(!checkBoxText.isEmpty() && checkBoxResult && dlg.checkBox)
|
||||||
@ -40,3 +41,19 @@ bool FileActionDialog::run(QWidget *parent, const QString &title, const QString
|
|||||||
|
|
||||||
return res == QDialog::Accepted;
|
return res == QDialog::Accepted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDialogButtonBox::StandardButton FileActionDialog::runStandardButtons(QWidget *parent, StandardButtons buttons, const QString &title, const QString &message, const QStringList &listData)
|
||||||
|
{
|
||||||
|
FileActionDialog dlg(parent, title, message, listData);
|
||||||
|
dlg.ui->buttonBox->setStandardButtons(buttons);
|
||||||
|
|
||||||
|
dlg.exec();
|
||||||
|
return dlg.clickedButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FileActionDialog::on_buttonBox_clicked(QAbstractButton *button)
|
||||||
|
{
|
||||||
|
// Retrieve the flag corresponding to the standard clicked
|
||||||
|
clickedButton = ui->buttonBox->standardButton(button);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
#include <QCheckBox>
|
#include <QDialogButtonBox>
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class FileActionDialog;
|
class FileActionDialog;
|
||||||
@ -12,18 +12,27 @@ namespace Ui {
|
|||||||
class FileActionDialog : public QDialog
|
class FileActionDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit FileActionDialog(QWidget *parent, const QString &title, const QString &message, const QStringList &files, const QString &checkBoxText=QString(), bool *checkBoxResult=0);
|
explicit FileActionDialog(QWidget *parent, const QString &title, const QString &message, const QStringList &listData, const QString &checkBoxText=QString(), bool *checkBoxResult=0);
|
||||||
~FileActionDialog();
|
~FileActionDialog();
|
||||||
|
|
||||||
static bool run(QWidget *parent, const QString &title, const QString &message, const QStringList &files, const QString &checkBoxText=QString(), bool *checkBoxResult=0);
|
static bool run(QWidget *parent, const QString &title, const QString &message, const QStringList &listData, const QString &checkBoxText=QString(), bool *checkBoxResult=0);
|
||||||
|
|
||||||
|
typedef QDialogButtonBox::StandardButton StandardButton;
|
||||||
|
typedef QDialogButtonBox::StandardButtons StandardButtons;
|
||||||
|
|
||||||
|
static StandardButton runStandardButtons(QWidget *parent, StandardButtons, const QString &title, const QString &message, const QStringList &listData);
|
||||||
|
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_buttonBox_clicked(QAbstractButton *button);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::FileActionDialog *ui;
|
Ui::FileActionDialog *ui;
|
||||||
QStandardItemModel itemModel;
|
QStandardItemModel itemModel;
|
||||||
QCheckBox *checkBox;
|
class QCheckBox *checkBox;
|
||||||
bool *checkBoxResult;
|
bool *checkBoxResult;
|
||||||
|
StandardButton clickedButton;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FILEACTIONDIALOG_H
|
#endif // FILEACTIONDIALOG_H
|
||||||
|
@ -48,9 +48,6 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="standardButtons">
|
<property name="standardButtons">
|
||||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
</property>
|
</property>
|
||||||
|
16
manifest
16
manifest
@ -1,11 +1,11 @@
|
|||||||
C Removed\sclone\srepository\scommand\s(for\snow)
|
C FileActionDialog\snow\ssupports\svariable\smodal\sbuttons\n
|
||||||
D 2011-08-06T08:52:52.947
|
D 2011-08-06T15:34:40.595
|
||||||
F CommitDialog.cpp a1fcdc94933f4e1a144224c7c70f1e067d3ee31e
|
F CommitDialog.cpp a1fcdc94933f4e1a144224c7c70f1e067d3ee31e
|
||||||
F CommitDialog.h 0550b1b652924ae54b6f6c9274cad2d4c491808a
|
F CommitDialog.h 0550b1b652924ae54b6f6c9274cad2d4c491808a
|
||||||
F CommitDialog.ui 5067623f6af6f5a42c87df903278e383e945e154
|
F CommitDialog.ui 5067623f6af6f5a42c87df903278e383e945e154
|
||||||
F FileActionDialog.cpp ed26a6f9dd1debd6926d4bbff7ba18acb63dacc0
|
F FileActionDialog.cpp 629f29f676f3e547965f350fb9a4ee5797cc3e0b
|
||||||
F FileActionDialog.h 873a9f720753a37d67071563ed7954f91b0d4699
|
F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce
|
||||||
F FileActionDialog.ui 3d4f7ad0665d51dc3ba405edbc472dd317138c5f
|
F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7
|
||||||
F MainWindow.cpp 96ce6b4bb5ee66f04a43e2171b20e8ee510a5ac7
|
F MainWindow.cpp 96ce6b4bb5ee66f04a43e2171b20e8ee510a5ac7
|
||||||
F MainWindow.h 8a23caf1a70d41fe60a25894649a88b1efb851ba
|
F MainWindow.h 8a23caf1a70d41fe60a25894649a88b1efb851ba
|
||||||
F MainWindow.ui 9f901c1f06b24df3cbd36d5349ffe0d82896c05b
|
F MainWindow.ui 9f901c1f06b24df3cbd36d5349ffe0d82896c05b
|
||||||
@ -173,7 +173,7 @@ F icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b
|
|||||||
F icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
|
F icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
|
||||||
F main.cpp aed85ed9766ddb8685e300e8ca4a0dc193ae2586
|
F main.cpp aed85ed9766ddb8685e300e8ca4a0dc193ae2586
|
||||||
F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53
|
F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53
|
||||||
P 797c2e6a66cb336351d569ab80737a7e491403f0
|
P 665b2ad1b609530a9c2c2815e143213e5e691100
|
||||||
R b71e721aa96a201b7c70272083f26743
|
R 1f233c6d016ce42191b217639282c217
|
||||||
U kostas
|
U kostas
|
||||||
Z 5723c9d6f3d128a270ccbc410612a6ae
|
Z f4122d426b89a67b7273148c8690abf1
|
||||||
|
@ -1 +1 @@
|
|||||||
665b2ad1b609530a9c2c2815e143213e5e691100
|
d80b84c6b58b7daf71174d32a8c33cab0e2aabac
|
Loading…
x
Reference in New Issue
Block a user