File: File_loader_dialog.h

package info (click to toggle)
cgal 6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 144,912 kB
  • sloc: cpp: 810,858; ansic: 208,477; sh: 493; python: 411; makefile: 286; javascript: 174
file content (35 lines) | stat: -rw-r--r-- 1,061 bytes parent folder | download
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()
      );
    }

};