MinetestMapperGUI/configdialog.h

60 lines
1.3 KiB
C
Raw Permalink Normal View History

#ifndef CONFIGDIALOG_H
#define CONFIGDIALOG_H
2017-03-06 01:00:41 -08:00
#include "minetestmapperexe.h"
#include <QDialog>
#include <QMap>
#include <QString>
namespace Ui {
class ConfigDialog;
}
class MainWindow;
struct ConfigSettings
{
QString mapperPath;
2019-03-29 09:27:24 -07:00
static QStringList getMapperExecutables();
static QString getDefaultMapperExecutable();
static const QString defaultMapperExecutableName;
static QStringList predefinedMapperLocations;
private:
2019-03-29 09:27:24 -07:00
struct InitStatics { InitStatics(); };
static const InitStatics initStatics;
friend struct InitStatics;
static void addMapperExecutablesToList(QStringList &existingList, QStringList &pathList);
};
class ConfigDialog : public QDialog
{
Q_OBJECT
public:
2019-03-29 09:23:22 -07:00
explicit ConfigDialog(const ConfigSettings &settings, MainWindow *app, QWidget *parent = nullptr);
2019-03-29 09:35:10 -07:00
~ConfigDialog() override;
ConfigSettings getSettings() const;
void setSettings(const ConfigSettings &value);
private:
Ui::ConfigDialog *ui;
QStringList executableList;
ConfigSettings settings;
MainWindow *application;
protected slots:
private slots:
void on_browseMapper_clicked();
void on_path_Minetestmapper_currentIndexChanged(int index);
void on_buttonBox_clicked(QAbstractButton *button);
};
#endif // CONFIGDIALOG_H