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
|
#include <QFileInfo>
#include <QLayout>
#include <QDialogButtonBox>
#include <QPushButton>
#include "ui_FileLoaderDialog.h"
class File_loader_dialog : public QDialog, private Ui::FileLoaderDialog
{
Q_OBJECT
public:
File_loader_dialog(QWidget* parent = nullptr)
: QDialog(parent)
{
setupUi(this);
}
static
std::pair<QString,bool>
getItem(QWidget* parent, QString filename, const QStringList& item_list, bool* ok)
{
File_loader_dialog dialog(parent);
dialog.buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
dialog.buttonBox->button(QDialogButtonBox::Ok)->setFocus();
dialog.pluginBox->addItems(item_list);
dialog.label->setText(tr("Available loaders for %1 :").arg(filename));
QFileInfo fileinfo(filename);
dialog.alwaysUse->setText(tr("Use for &all *.%1 files in this session").arg(fileinfo.completeSuffix()) );
*ok = dialog.exec();
return std::make_pair(
dialog.pluginBox->currentText(),
dialog.alwaysUse->isChecked()
);
}
};
|