forked from qt-creator/qt-creator
Designer: inline newclasswidget.ui
Change-Id: I85b9633dca0a8424b9a026a50f436aed2b13c5e7 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -12,7 +12,7 @@ add_qtc_plugin(Designer
|
||||
cpp/formclasswizarddialog.cpp cpp/formclasswizarddialog.h
|
||||
cpp/formclasswizardpage.cpp cpp/formclasswizardpage.h
|
||||
cpp/formclasswizardparameters.cpp cpp/formclasswizardparameters.h
|
||||
cpp/newclasswidget.cpp cpp/newclasswidget.h cpp/newclasswidget.ui
|
||||
cpp/newclasswidget.cpp cpp/newclasswidget.h
|
||||
designer_export.h
|
||||
designerconstants.h
|
||||
designercontext.cpp designercontext.h
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include "newclasswidget.h"
|
||||
#include "ui_newclasswidget.h"
|
||||
|
||||
#include <utils/classnamevalidatinglineedit.h>
|
||||
#include <utils/filenamevalidatinglineedit.h>
|
||||
#include <utils/layoutbuilder.h>
|
||||
#include <utils/pathchooser.h>
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QDebug>
|
||||
@@ -26,12 +30,17 @@ namespace Internal {
|
||||
struct NewClassWidgetPrivate {
|
||||
NewClassWidgetPrivate();
|
||||
|
||||
Ui::NewClassWidget m_ui;
|
||||
QString m_headerExtension;
|
||||
QString m_sourceExtension;
|
||||
QString m_formExtension;
|
||||
bool m_valid = false;
|
||||
bool m_classEdited = false;
|
||||
|
||||
ClassNameValidatingLineEdit *m_classLineEdit;
|
||||
FileNameValidatingLineEdit *m_headerFileLineEdit;
|
||||
FileNameValidatingLineEdit *m_sourceFileLineEdit;
|
||||
FileNameValidatingLineEdit *m_formFileLineEdit;
|
||||
PathChooser *m_pathChooser;
|
||||
};
|
||||
|
||||
NewClassWidgetPrivate:: NewClassWidgetPrivate() :
|
||||
@@ -46,37 +55,50 @@ NewClassWidget::NewClassWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
d(new NewClassWidgetPrivate)
|
||||
{
|
||||
d->m_ui.setupUi(this);
|
||||
d->m_classLineEdit = new ClassNameValidatingLineEdit;
|
||||
d->m_classLineEdit->setNamespacesEnabled(true);
|
||||
d->m_headerFileLineEdit = new FileNameValidatingLineEdit;
|
||||
d->m_sourceFileLineEdit = new FileNameValidatingLineEdit;
|
||||
d->m_formFileLineEdit = new FileNameValidatingLineEdit;
|
||||
d->m_pathChooser = new PathChooser;
|
||||
|
||||
d->m_ui.classLineEdit->setNamespacesEnabled(true);
|
||||
setNamesDelimiter(QLatin1String("::"));
|
||||
|
||||
connect(d->m_ui.classLineEdit, &Utils::ClassNameValidatingLineEdit::updateFileName,
|
||||
using namespace Utils::Layouting;
|
||||
Form {
|
||||
tr("&Class name:"), d->m_classLineEdit, br,
|
||||
tr("&Header file:"), d->m_headerFileLineEdit, br,
|
||||
tr("&Source file:"), d->m_sourceFileLineEdit, br,
|
||||
tr("&Form file:"), d->m_formFileLineEdit, br,
|
||||
tr("&Path:"), d->m_pathChooser, br,
|
||||
}.attachTo(this, WithoutMargins);
|
||||
|
||||
connect(d->m_classLineEdit, &ClassNameValidatingLineEdit::updateFileName,
|
||||
this, &NewClassWidget::slotUpdateFileNames);
|
||||
connect(d->m_ui.classLineEdit, &QLineEdit::textEdited,
|
||||
connect(d->m_classLineEdit, &QLineEdit::textEdited,
|
||||
this, &NewClassWidget::classNameEdited);
|
||||
connect(d->m_ui.classLineEdit, &Utils::FancyLineEdit::validChanged,
|
||||
connect(d->m_classLineEdit, &FancyLineEdit::validChanged,
|
||||
this, &NewClassWidget::slotValidChanged);
|
||||
connect(d->m_ui.headerFileLineEdit, &Utils::FancyLineEdit::validChanged,
|
||||
connect(d->m_headerFileLineEdit, &FancyLineEdit::validChanged,
|
||||
this, &NewClassWidget::slotValidChanged);
|
||||
connect(d->m_ui.sourceFileLineEdit, &Utils::FancyLineEdit::validChanged,
|
||||
connect(d->m_sourceFileLineEdit, &FancyLineEdit::validChanged,
|
||||
this, &NewClassWidget::slotValidChanged);
|
||||
connect(d->m_ui.formFileLineEdit, &Utils::FancyLineEdit::validChanged,
|
||||
connect(d->m_formFileLineEdit, &FancyLineEdit::validChanged,
|
||||
this, &NewClassWidget::slotValidChanged);
|
||||
connect(d->m_ui.pathChooser, &Utils::PathChooser::validChanged,
|
||||
connect(d->m_pathChooser, &PathChooser::validChanged,
|
||||
this, &NewClassWidget::slotValidChanged);
|
||||
|
||||
connect(d->m_ui.classLineEdit, &Utils::FancyLineEdit::validReturnPressed,
|
||||
connect(d->m_classLineEdit, &FancyLineEdit::validReturnPressed,
|
||||
this, &NewClassWidget::slotActivated);
|
||||
connect(d->m_ui.headerFileLineEdit, &Utils::FancyLineEdit::validReturnPressed,
|
||||
connect(d->m_headerFileLineEdit, &FancyLineEdit::validReturnPressed,
|
||||
this, &NewClassWidget::slotActivated);
|
||||
connect(d->m_ui.sourceFileLineEdit, &Utils::FancyLineEdit::validReturnPressed,
|
||||
connect(d->m_sourceFileLineEdit, &FancyLineEdit::validReturnPressed,
|
||||
this, &NewClassWidget::slotActivated);
|
||||
connect(d->m_ui.formFileLineEdit, &Utils::FancyLineEdit::validReturnPressed,
|
||||
connect(d->m_formFileLineEdit, &FancyLineEdit::validReturnPressed,
|
||||
this, &NewClassWidget::slotActivated);
|
||||
connect(d->m_ui.formFileLineEdit, &Utils::FancyLineEdit::validReturnPressed,
|
||||
connect(d->m_formFileLineEdit, &FancyLineEdit::validReturnPressed,
|
||||
this, &NewClassWidget::slotActivated);
|
||||
connect(d->m_ui.pathChooser, &Utils::PathChooser::returnPressed,
|
||||
connect(d->m_pathChooser, &PathChooser::returnPressed,
|
||||
this, &NewClassWidget::slotActivated);
|
||||
}
|
||||
|
||||
@@ -96,38 +118,38 @@ void NewClassWidget::setClassName(const QString &suggestedName)
|
||||
{
|
||||
if (debugNewClassWidget)
|
||||
qDebug() << Q_FUNC_INFO << suggestedName << d->m_headerExtension << d->m_sourceExtension;
|
||||
d->m_ui.classLineEdit->setText(
|
||||
d->m_classLineEdit->setText(
|
||||
Utils::ClassNameValidatingLineEdit::createClassName(suggestedName));
|
||||
}
|
||||
|
||||
QString NewClassWidget::className() const
|
||||
{
|
||||
return d->m_ui.classLineEdit->text();
|
||||
return d->m_classLineEdit->text();
|
||||
}
|
||||
|
||||
QString NewClassWidget::sourceFileName() const
|
||||
{
|
||||
return d->m_ui.sourceFileLineEdit->text();
|
||||
return d->m_sourceFileLineEdit->text();
|
||||
}
|
||||
|
||||
QString NewClassWidget::headerFileName() const
|
||||
{
|
||||
return d->m_ui.headerFileLineEdit->text();
|
||||
return d->m_headerFileLineEdit->text();
|
||||
}
|
||||
|
||||
QString NewClassWidget::formFileName() const
|
||||
{
|
||||
return d->m_ui.formFileLineEdit->text();
|
||||
return d->m_formFileLineEdit->text();
|
||||
}
|
||||
|
||||
FilePath NewClassWidget::filePath() const
|
||||
{
|
||||
return d->m_ui.pathChooser->filePath();
|
||||
return d->m_pathChooser->filePath();
|
||||
}
|
||||
|
||||
void NewClassWidget::setFilePath(const FilePath &path)
|
||||
{
|
||||
d->m_ui.pathChooser->setFilePath(path);
|
||||
d->m_pathChooser->setFilePath(path);
|
||||
}
|
||||
|
||||
QString NewClassWidget::sourceExtension() const
|
||||
@@ -162,12 +184,12 @@ QString NewClassWidget::formExtension() const
|
||||
|
||||
void NewClassWidget::setLowerCaseFiles(bool v)
|
||||
{
|
||||
d->m_ui.classLineEdit->setLowerCaseFileName(v);
|
||||
d->m_classLineEdit->setLowerCaseFileName(v);
|
||||
}
|
||||
|
||||
void NewClassWidget::setNamesDelimiter(const QString &delimiter)
|
||||
{
|
||||
d->m_ui.classLineEdit->setNamespaceDelimiter(delimiter);
|
||||
d->m_classLineEdit->setNamespaceDelimiter(delimiter);
|
||||
}
|
||||
|
||||
void NewClassWidget::slotValidChanged()
|
||||
@@ -181,33 +203,36 @@ void NewClassWidget::slotValidChanged()
|
||||
|
||||
bool NewClassWidget::isValid(QString *error) const
|
||||
{
|
||||
if (!d->m_ui.classLineEdit->isValid()) {
|
||||
if (!d->m_classLineEdit->isValid()) {
|
||||
if (error)
|
||||
*error = d->m_ui.classLineEdit->errorMessage();
|
||||
*error = d->m_classLineEdit->errorMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!d->m_ui.headerFileLineEdit->isValid()) {
|
||||
if (!d->m_headerFileLineEdit->isValid()) {
|
||||
if (error)
|
||||
*error = tr("Invalid header file name: \"%1\"").arg(d->m_ui.headerFileLineEdit->errorMessage());
|
||||
*error = tr("Invalid header file name: \"%1\"").
|
||||
arg(d->m_headerFileLineEdit->errorMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!d->m_ui.sourceFileLineEdit->isValid()) {
|
||||
if (!d->m_sourceFileLineEdit->isValid()) {
|
||||
if (error)
|
||||
*error = tr("Invalid source file name: \"%1\"").arg(d->m_ui.sourceFileLineEdit->errorMessage());
|
||||
*error = tr("Invalid source file name: \"%1\"").
|
||||
arg(d->m_sourceFileLineEdit->errorMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!d->m_ui.formFileLineEdit->isValid()) {
|
||||
if (!d->m_formFileLineEdit->isValid()) {
|
||||
if (error)
|
||||
*error = tr("Invalid form file name: \"%1\"").arg(d->m_ui.formFileLineEdit->errorMessage());
|
||||
*error = tr("Invalid form file name: \"%1\"").
|
||||
arg(d->m_formFileLineEdit->errorMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!d->m_ui.pathChooser->isValid()) {
|
||||
if (!d->m_pathChooser->isValid()) {
|
||||
if (error)
|
||||
*error = d->m_ui.pathChooser->errorMessage();
|
||||
*error = d->m_pathChooser->errorMessage();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -218,9 +243,9 @@ void NewClassWidget::slotUpdateFileNames(const QString &baseName)
|
||||
if (debugNewClassWidget)
|
||||
qDebug() << Q_FUNC_INFO << baseName << d->m_headerExtension << d->m_sourceExtension;
|
||||
const QChar dot = QLatin1Char('.');
|
||||
d->m_ui.sourceFileLineEdit->setText(baseName + dot + d->m_sourceExtension);
|
||||
d->m_ui.headerFileLineEdit->setText(baseName + dot + d->m_headerExtension);
|
||||
d->m_ui.formFileLineEdit->setText(baseName + dot + d->m_formExtension);
|
||||
d->m_sourceFileLineEdit->setText(baseName + dot + d->m_sourceExtension);
|
||||
d->m_headerFileLineEdit->setText(baseName + dot + d->m_headerExtension);
|
||||
d->m_formFileLineEdit->setText(baseName + dot + d->m_formExtension);
|
||||
}
|
||||
|
||||
void NewClassWidget::slotActivated()
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Designer::Internal::NewClassWidget</class>
|
||||
<widget class="QWidget" name="Designer::Internal::NewClassWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>300</width>
|
||||
<height>194</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="classNameLabel">
|
||||
<property name="text">
|
||||
<string>&Class name:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>classLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::ClassNameValidatingLineEdit" name="classLineEdit"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="headerLabel">
|
||||
<property name="text">
|
||||
<string>&Header file:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>headerFileLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="Utils::FileNameValidatingLineEdit" name="headerFileLineEdit"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="sourceLabel">
|
||||
<property name="text">
|
||||
<string>&Source file:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>sourceFileLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="Utils::FileNameValidatingLineEdit" name="sourceFileLineEdit"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="formLabel">
|
||||
<property name="text">
|
||||
<string>&Form file:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>formFileLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="Utils::FileNameValidatingLineEdit" name="formFileLineEdit"/>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="pathLabel">
|
||||
<property name="text">
|
||||
<string>&Path:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pathLabel</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="Utils::PathChooser" name="pathChooser" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>Utils::ClassNameValidatingLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header location="global">utils/classnamevalidatinglineedit.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>Utils::FileNameValidatingLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header location="global">utils/filenamevalidatinglineedit.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>Utils::PathChooser</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">utils/pathchooser.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -72,7 +72,7 @@ QtcPlugin {
|
||||
"formclasswizarddialog.cpp", "formclasswizarddialog.h",
|
||||
"formclasswizardpage.cpp", "formclasswizardpage.h",
|
||||
"formclasswizardparameters.cpp", "formclasswizardparameters.h",
|
||||
"newclasswidget.cpp", "newclasswidget.h", "newclasswidget.ui",
|
||||
"newclasswidget.cpp", "newclasswidget.h",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user