porymap/include/ui/newnamedialog.h

41 lines
818 B
C
Raw Normal View History

2024-12-10 23:22:22 +00:00
#ifndef NEWNAMEDIALOG_H
#define NEWNAMEDIALOG_H
/*
This is a generic dialog for requesting a new unique name from the user.
*/
#include <QDialog>
#include <QAbstractButton>
class Project;
namespace Ui {
class NewNameDialog;
}
class NewNameDialog : public QDialog
{
Q_OBJECT
public:
2024-12-14 21:25:11 +00:00
explicit NewNameDialog(const QString &label, const QString &prefix = "", Project *project = nullptr, QWidget *parent = nullptr);
2024-12-10 23:22:22 +00:00
~NewNameDialog();
virtual void accept() override;
signals:
void applied(const QString &newName);
private:
Ui::NewNameDialog *ui;
Project *project = nullptr;
2024-12-14 21:25:11 +00:00
const QString namePrefix;
2024-12-10 23:22:22 +00:00
bool validateName(bool allowEmpty = false);
void onNameChanged(const QString &name);
void dialogButtonClicked(QAbstractButton *button);
};
#endif // NEWNAMEDIALOG_H