123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #ifndef CRYINCLUDE_EDITOR_LEVELFILEDIALOG_H
- #define CRYINCLUDE_EDITOR_LEVELFILEDIALOG_H
- #pragma once
- #if !defined(Q_MOC_RUN)
- #include <QDialog>
- #include <QScopedPointer>
- #endif
- namespace Ui {
- class LevelFileDialog;
- }
- class LevelTreeModel;
- class LevelTreeModelFilter;
- class CLevelFileDialog
- : public QDialog
- {
- Q_OBJECT
- public:
- explicit CLevelFileDialog(bool openDialog, QWidget* parent = nullptr);
- ~CLevelFileDialog();
- QString GetFileName() const;
- static bool CheckLevelFolder(const QString folder, QStringList* levelFiles = nullptr);
- protected Q_SLOTS:
- void OnOK();
- void OnCancel();
- void OnTreeSelectionChanged();
- void OnNewFolder();
- void OnFilterChanged();
- void OnNameChanged();
- protected:
- void ReloadTree();
- bool ValidateSaveLevelPath(QString& errorMessage) const;
- bool ValidateLevelPath(const QString& folder) const;
- void SaveLastUsedLevelPath();
- void LoadLastUsedLevelPath();
- private:
- bool eventFilter(QObject* watched, QEvent* event) override;
- QString NameForIndex(const QModelIndex& index) const;
- bool IsValidLevelSelected();
- QString GetLevelPath() const;
- QString GetEnteredPath() const;
- QString GetFileName(QString levelPath);
- QScopedPointer<Ui::LevelFileDialog> ui;
- QString m_fileName;
- QString m_filter;
- const bool m_bOpenDialog;
- LevelTreeModel* const m_model;
- LevelTreeModelFilter* const m_filterModel;
- };
- #endif // CRYINCLUDE_EDITOR_LEVELFILEDIALOG_H
|