diff --git a/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.cpp b/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.cpp index be60638cbf..a81c65719c 100644 --- a/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.cpp +++ b/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.cpp @@ -21,4 +21,9 @@ namespace O3DE::ProjectManager connect(browseButton, &QPushButton::pressed, this, &FormBrowseEditWidget::HandleBrowseButton); m_frameLayout->addWidget(browseButton); } + + FormBrowseEditWidget::FormBrowseEditWidget(const QString& labelText, QWidget* parent) + : FormBrowseEditWidget(labelText, "", parent) + { + } } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.h b/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.h index 1d698c0052..26dbb43bba 100644 --- a/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.h +++ b/Code/Tools/ProjectManager/Source/FormBrowseEditWidget.h @@ -20,6 +20,7 @@ namespace O3DE::ProjectManager public: explicit FormBrowseEditWidget(const QString& labelText, const QString& valueText = "", QWidget* parent = nullptr); + explicit FormBrowseEditWidget(const QString& labelText = "", QWidget* parent = nullptr); ~FormBrowseEditWidget() = default; protected slots: diff --git a/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.cpp b/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.cpp index 8053cfbfe6..1f3f1e34c1 100644 --- a/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.cpp +++ b/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.cpp @@ -15,8 +15,9 @@ namespace O3DE::ProjectManager { FormFolderBrowseEditWidget::FormFolderBrowseEditWidget(const QString& labelText, const QString& valueText, QWidget* parent) - : FormBrowseEditWidget(labelText, valueText, parent) + : FormBrowseEditWidget(labelText, parent) { + setText(valueText); } void FormFolderBrowseEditWidget::HandleBrowseButton() @@ -30,8 +31,14 @@ namespace O3DE::ProjectManager QString directory = QDir::toNativeSeparators(QFileDialog::getExistingDirectory(this, tr("Browse"), defaultPath)); if (!directory.isEmpty()) { - m_lineEdit->setText(directory); + setText(directory); } } + + void FormFolderBrowseEditWidget::setText(const QString& text) + { + QString path = QDir::toNativeSeparators(text); + FormBrowseEditWidget::setText(path); + } } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.h b/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.h index 5ad3025c39..d8ef5edd4f 100644 --- a/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.h +++ b/Code/Tools/ProjectManager/Source/FormFolderBrowseEditWidget.h @@ -22,6 +22,8 @@ namespace O3DE::ProjectManager explicit FormFolderBrowseEditWidget(const QString& labelText, const QString& valueText = "", QWidget* parent = nullptr); ~FormFolderBrowseEditWidget() = default; + void setText(const QString& text) override; + protected: void HandleBrowseButton() override; }; diff --git a/Code/Tools/ProjectManager/Source/FormLineEditWidget.cpp b/Code/Tools/ProjectManager/Source/FormLineEditWidget.cpp index 25c76ddd6b..11932e6d5b 100644 --- a/Code/Tools/ProjectManager/Source/FormLineEditWidget.cpp +++ b/Code/Tools/ProjectManager/Source/FormLineEditWidget.cpp @@ -123,4 +123,14 @@ namespace O3DE::ProjectManager child->style()->polish(child); } } + + void FormLineEditWidget::setText(const QString& text) + { + m_lineEdit->setText(text); + } + + void FormLineEditWidget::mousePressEvent([[maybe_unused]] QMouseEvent* event) + { + m_lineEdit->setFocus(); + } } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/FormLineEditWidget.h b/Code/Tools/ProjectManager/Source/FormLineEditWidget.h index 2d3802d6f6..cc8c0e3685 100644 --- a/Code/Tools/ProjectManager/Source/FormLineEditWidget.h +++ b/Code/Tools/ProjectManager/Source/FormLineEditWidget.h @@ -15,6 +15,7 @@ QT_FORWARD_DECLARE_CLASS(QLineEdit) QT_FORWARD_DECLARE_CLASS(QLabel) QT_FORWARD_DECLARE_CLASS(QFrame) QT_FORWARD_DECLARE_CLASS(QHBoxLayout) +QT_FORWARD_DECLARE_CLASS(QMouseEvent) namespace AzQtComponents { @@ -39,6 +40,8 @@ namespace O3DE::ProjectManager //! Returns a pointer to the underlying LineEdit. QLineEdit* lineEdit() const; + virtual void setText(const QString& text); + protected: QLabel* m_errorLabel = nullptr; QFrame* m_frame = nullptr; @@ -51,6 +54,8 @@ namespace O3DE::ProjectManager void onFocusOut(); private: + void mousePressEvent(QMouseEvent* event) override; + void refreshStyle(); }; } // namespace O3DE::ProjectManager