Skip to content

Commit

Permalink
feat: DTK-Changed java-propertyWidget
Browse files Browse the repository at this point in the history
DTK-Changed java-propertyWidget
  • Loading branch information
LiHua000 authored and deepin-mozart committed Nov 23, 2023
1 parent 010d834 commit ca27ed7
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 79 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@
#include "common/toolchain/toolchain.h"
#include "common/widget/pagewidget.h"

#include <QComboBox>
#include <DComboBox>
#include <DLabel>
#include <DLineEdit>
#include <DCheckBox>
#include <DPushButton>
#include <DFileDialog>

#include <QVBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QCheckBox>
#include <QPushButton>
#include <QFileDialog>

DWIDGET_USE_NAMESPACE

static const QString kJrePath = QObject::tr("jre path");
static const QString kJreExecute = QObject::tr("jre execute");
Expand All @@ -26,20 +29,20 @@ static const int kHeadlineWidth = 120;
class GradleDetailPropertyWidgetPrivate
{
friend class GradleDetailPropertyWidget;
QComboBox *jdkVersionComboBox{nullptr};
QComboBox *gradleVersionComboBox{nullptr};
QLineEdit *mainClass{nullptr};
DComboBox *jdkVersionComboBox{nullptr};
DComboBox *gradleVersionComboBox{nullptr};
DLineEdit *mainClass{nullptr};
QSharedPointer<ToolChainData> toolChainData;
QCheckBox *detailBox{nullptr};
QLineEdit *jreEdit{nullptr};
QLineEdit *jreExecuteEdit{nullptr};
QLineEdit *launchCfgPathEdit{nullptr};
QLineEdit *lanuchCfgFileEdit{nullptr};
QLineEdit *dapPackageFileEdit{nullptr};
DCheckBox *detailBox{nullptr};
DLineEdit *jreEdit{nullptr};
DLineEdit *jreExecuteEdit{nullptr};
DLineEdit *launchCfgPathEdit{nullptr};
DLineEdit *lanuchCfgFileEdit{nullptr};
DLineEdit *dapPackageFileEdit{nullptr};
};

GradleDetailPropertyWidget::GradleDetailPropertyWidget(QWidget *parent)
: QWidget(parent)
: DFrame(parent)
, d(new GradleDetailPropertyWidgetPrivate())
{
setupUI();
Expand All @@ -58,35 +61,35 @@ void GradleDetailPropertyWidget::setupUI()
setLayout(vLayout);

QHBoxLayout *hLayout = new QHBoxLayout();
QLabel *label = new QLabel(QLabel::tr("JDK version:"));
DLabel *label = new DLabel(DLabel::tr("JDK version:"));
label->setFixedWidth(kHeadlineWidth);
d->jdkVersionComboBox = new QComboBox();
d->jdkVersionComboBox = new DComboBox();
hLayout->addWidget(label);
hLayout->addWidget(d->jdkVersionComboBox);
vLayout->addLayout(hLayout);

hLayout = new QHBoxLayout();
label = new QLabel(QLabel::tr("Gradle Version: "));
label = new DLabel(DLabel::tr("Gradle Version: "));
label->setFixedWidth(kHeadlineWidth);
d->gradleVersionComboBox = new QComboBox();
d->gradleVersionComboBox = new DComboBox();
hLayout->addWidget(label);
hLayout->addWidget(d->gradleVersionComboBox);
vLayout->addLayout(hLayout);

hLayout = new QHBoxLayout();
label = new QLabel(QLabel::tr("Main Class:"));
label = new DLabel(DLabel::tr("Main Class:"));
label->setFixedWidth(kHeadlineWidth);
d->mainClass = new QLineEdit();
d->mainClass = new DLineEdit();
d->mainClass->setPlaceholderText(tr("Input main class"));
hLayout->addWidget(label);
hLayout->addWidget(d->mainClass);
vLayout->addLayout(hLayout);
vLayout->addStretch(10);

hLayout = new QHBoxLayout();
label = new QLabel(QLabel::tr("Detail output:"));
label = new DLabel(DLabel::tr("Detail output:"));
label->setFixedWidth(kHeadlineWidth);
d->detailBox = new QCheckBox();
d->detailBox = new DCheckBox();
hLayout->addWidget(label);
hLayout->addWidget(d->detailBox);
hLayout->setAlignment(Qt::AlignLeft);
Expand All @@ -96,25 +99,25 @@ void GradleDetailPropertyWidget::setupUI()
auto addGroupWidgets = [this](QVBoxLayout *vLayout, const QString &headLine, QWidget *widget){

QHBoxLayout *hLayout = new QHBoxLayout();
QLabel *label = new QLabel(headLine + ":");
DLabel *label = new DLabel(headLine + ":");
label->setFixedWidth(kHeadlineWidth);

QPushButton *btnBrowser = new QPushButton(this);
DPushButton *btnBrowser = new DPushButton(this);
btnBrowser->setText(tr("Browse..."));
btnBrowser->setObjectName(headLine);
hLayout->addWidget(label);
hLayout->addWidget(widget);
hLayout->addWidget(btnBrowser);
vLayout->addLayout(hLayout);

connect(btnBrowser, &QPushButton::clicked, this, &GradleDetailPropertyWidget::browserFileDialog);
connect(btnBrowser, &DPushButton::clicked, this, &GradleDetailPropertyWidget::browserFileDialog);
};

d->jreEdit = new QLineEdit(this);
d->jreExecuteEdit = new QLineEdit(this);
d->launchCfgPathEdit = new QLineEdit(this);
d->lanuchCfgFileEdit = new QLineEdit(this);
d->dapPackageFileEdit = new QLineEdit(this);
d->jreEdit = new DLineEdit(this);
d->jreExecuteEdit = new DLineEdit(this);
d->launchCfgPathEdit = new DLineEdit(this);
d->lanuchCfgFileEdit = new DLineEdit(this);
d->dapPackageFileEdit = new DLineEdit(this);

addGroupWidgets(vLayout, kJrePath, d->jreEdit);
addGroupWidgets(vLayout, kJreExecute, d->jreExecuteEdit);
Expand All @@ -130,7 +133,7 @@ void GradleDetailPropertyWidget::initData()
bool ret = d->toolChainData->readToolChainData(retMsg);
if (ret) {
const ToolChainData::ToolChains &data = d->toolChainData->getToolChanins();
auto initComboBox = [](QComboBox *comboBox, const ToolChainData::ToolChains &data, const QString &type) {
auto initComboBox = [](DComboBox *comboBox, const ToolChainData::ToolChains &data, const QString &type) {
int index = 0;
ToolChainData::Params params = data.value(type);
for (auto param : params) {
Expand All @@ -151,7 +154,7 @@ void GradleDetailPropertyWidget::setValues(const gradleConfig::ConfigureParam *p
if (!param)
return;

auto initComboBox = [](QComboBox *comboBox, const gradleConfig::ItemInfo &itemInfo) {
auto initComboBox = [](DComboBox *comboBox, const gradleConfig::ItemInfo &itemInfo) {
int count = comboBox->count();
for (int i = 0; i < count; i++) {
ToolChainData::ToolChainParam toolChainParam = qvariant_cast<ToolChainData::ToolChainParam>(comboBox->itemData(i, Qt::UserRole + 1));
Expand Down Expand Up @@ -179,7 +182,7 @@ void GradleDetailPropertyWidget::getValues(gradleConfig::ConfigureParam *param)
if (!param)
return;

auto getValue = [](QComboBox *comboBox, gradleConfig::ItemInfo &itemInfo){
auto getValue = [](DComboBox *comboBox, gradleConfig::ItemInfo &itemInfo){
itemInfo.clear();
int index = comboBox->currentIndex();
if (index > -1) {
Expand All @@ -205,7 +208,7 @@ void GradleDetailPropertyWidget::browserFileDialog()
QObject *senderObj = qobject_cast<QObject *>(sender());
QString senderName = senderObj->objectName();

auto showDirDialog = [this](QLineEdit *widget){
auto showDirDialog = [this](DLineEdit *widget){
QString result = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
widget->text(),
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
Expand All @@ -214,7 +217,7 @@ void GradleDetailPropertyWidget::browserFileDialog()
}
};

auto showFileDialog = [this](QLineEdit *widget){
auto showFileDialog = [this](DLineEdit *widget){
QString result = QFileDialog::getOpenFileName(this, tr("Select File"), widget->text());
if (!result.isEmpty())
widget->setText(result);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@

#include "gradle/project/properties/gradleconfigutil.h"
#include "services/project/projectinfo.h"
#include <DFrame>

class PageWidget;
class GradleDetailPropertyWidgetPrivate;
class GradleDetailPropertyWidget : public QWidget
class GradleDetailPropertyWidget : public DTK_WIDGET_NAMESPACE::DFrame
{
Q_OBJECT
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@
#include "common/toolchain/toolchain.h"
#include "common/widget/pagewidget.h"

#include <QComboBox>
#include <DComboBox>
#include <DLabel>
#include <DLineEdit>
#include <DCheckBox>
#include <DPushButton>
#include <DFileDialog>

#include <QVBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QCheckBox>
#include <QPushButton>
#include <QFileDialog>

DWIDGET_USE_NAMESPACE

static const QString kJrePath = QObject::tr("jre path");
static const QString kJreExecute = QObject::tr("jre execute");
Expand All @@ -26,20 +29,20 @@ static const int kHeadlineWidth = 120;
class MavenDetailPropertyWidgetPrivate
{
friend class MavenDetailPropertyWidget;
QComboBox *jdkVersionComboBox{nullptr};
QComboBox *mvnVersionComboBox{nullptr};
QLineEdit *mainClass{nullptr};
QCheckBox *detailBox{nullptr};
QLineEdit *jreEdit{nullptr};
QLineEdit *jreExecuteEdit{nullptr};
QLineEdit *launchCfgPathEdit{nullptr};
QLineEdit *lanuchCfgFileEdit{nullptr};
QLineEdit *dapPackageFileEdit{nullptr};
DComboBox *jdkVersionComboBox{nullptr};
DComboBox *mvnVersionComboBox{nullptr};
DLineEdit *mainClass{nullptr};
DCheckBox *detailBox{nullptr};
DLineEdit *jreEdit{nullptr};
DLineEdit *jreExecuteEdit{nullptr};
DLineEdit *launchCfgPathEdit{nullptr};
DLineEdit *lanuchCfgFileEdit{nullptr};
DLineEdit *dapPackageFileEdit{nullptr};
QSharedPointer<ToolChainData> toolChainData;
};

MavenDetailPropertyWidget::MavenDetailPropertyWidget(QWidget *parent)
: QWidget(parent)
: DFrame(parent)
, d(new MavenDetailPropertyWidgetPrivate())
{
setupUI();
Expand All @@ -58,35 +61,35 @@ void MavenDetailPropertyWidget::setupUI()
setLayout(vLayout);

QHBoxLayout *hLayout = new QHBoxLayout();
QLabel *label = new QLabel(QLabel::tr("JDK version:"));
DLabel *label = new DLabel(DLabel::tr("JDK version:"));
label->setFixedWidth(kHeadlineWidth);
d->jdkVersionComboBox = new QComboBox();
d->jdkVersionComboBox = new DComboBox();
hLayout->addWidget(label);
hLayout->addWidget(d->jdkVersionComboBox);
vLayout->addLayout(hLayout);

hLayout = new QHBoxLayout();
label = new QLabel(QLabel::tr("Maven Version: "));
label = new DLabel(DLabel::tr("Maven Version: "));
label->setFixedWidth(kHeadlineWidth);
d->mvnVersionComboBox = new QComboBox();
d->mvnVersionComboBox = new DComboBox();
hLayout->addWidget(label);
hLayout->addWidget(d->mvnVersionComboBox);
vLayout->addLayout(hLayout);

hLayout = new QHBoxLayout();
label = new QLabel(QLabel::tr("Main Class:"));
label = new DLabel(DLabel::tr("Main Class:"));
label->setFixedWidth(kHeadlineWidth);
d->mainClass = new QLineEdit();
d->mainClass = new DLineEdit();
d->mainClass->setPlaceholderText(tr("Input main class"));
hLayout->addWidget(label);
hLayout->addWidget(d->mainClass);
vLayout->addLayout(hLayout);
vLayout->addStretch(10);

hLayout = new QHBoxLayout();
label = new QLabel(QLabel::tr("Detail output:"));
label = new DLabel(DLabel::tr("Detail output:"));
label->setFixedWidth(kHeadlineWidth);
d->detailBox = new QCheckBox();
d->detailBox = new DCheckBox();
hLayout->addWidget(label);
hLayout->addWidget(d->detailBox);
hLayout->setAlignment(Qt::AlignLeft);
Expand All @@ -96,25 +99,25 @@ void MavenDetailPropertyWidget::setupUI()
auto addGroupWidgets = [this](QVBoxLayout *vLayout, const QString &headLine, QWidget *widget){

QHBoxLayout *hLayout = new QHBoxLayout();
QLabel *label = new QLabel(headLine + ":");
DLabel *label = new DLabel(headLine + ":");
label->setFixedWidth(kHeadlineWidth);

QPushButton *btnBrowser = new QPushButton(this);
DPushButton *btnBrowser = new DPushButton(this);
btnBrowser->setText(tr("Browse..."));
btnBrowser->setObjectName(headLine);
hLayout->addWidget(label);
hLayout->addWidget(widget);
hLayout->addWidget(btnBrowser);
vLayout->addLayout(hLayout);

connect(btnBrowser, &QPushButton::clicked, this, &MavenDetailPropertyWidget::browserFileDialog);
connect(btnBrowser, &DPushButton::clicked, this, &MavenDetailPropertyWidget::browserFileDialog);
};

d->jreEdit = new QLineEdit(this);
d->jreExecuteEdit = new QLineEdit(this);
d->launchCfgPathEdit = new QLineEdit(this);
d->lanuchCfgFileEdit = new QLineEdit(this);
d->dapPackageFileEdit = new QLineEdit(this);
d->jreEdit = new DLineEdit(this);
d->jreExecuteEdit = new DLineEdit(this);
d->launchCfgPathEdit = new DLineEdit(this);
d->lanuchCfgFileEdit = new DLineEdit(this);
d->dapPackageFileEdit = new DLineEdit(this);

addGroupWidgets(vLayout, kJrePath, d->jreEdit);
addGroupWidgets(vLayout, kJreExecute, d->jreExecuteEdit);
Expand All @@ -130,7 +133,7 @@ void MavenDetailPropertyWidget::initData()
bool ret = d->toolChainData->readToolChainData(retMsg);
if (ret) {
const ToolChainData::ToolChains &data = d->toolChainData->getToolChanins();
auto initComboBox = [](QComboBox *comboBox, const ToolChainData::ToolChains &data, const QString &type) {
auto initComboBox = [](DComboBox *comboBox, const ToolChainData::ToolChains &data, const QString &type) {
int index = 0;
ToolChainData::Params params = data.value(type);
for (auto param : params) {
Expand All @@ -151,7 +154,7 @@ void MavenDetailPropertyWidget::setValues(const mavenConfig::ConfigureParam *par
if (!param)
return;

auto initComboBox = [](QComboBox *comboBox, const mavenConfig::ItemInfo &itemInfo) {
auto initComboBox = [](DComboBox *comboBox, const mavenConfig::ItemInfo &itemInfo) {
int count = comboBox->count();
for (int i = 0; i < count; i++) {
ToolChainData::ToolChainParam toolChainParam = qvariant_cast<ToolChainData::ToolChainParam>(comboBox->itemData(i, Qt::UserRole + 1));
Expand Down Expand Up @@ -179,7 +182,7 @@ void MavenDetailPropertyWidget::getValues(mavenConfig::ConfigureParam *param)
if (!param)
return;

auto getValue = [](QComboBox *comboBox, mavenConfig::ItemInfo &itemInfo){
auto getValue = [](DComboBox *comboBox, mavenConfig::ItemInfo &itemInfo){
itemInfo.clear();
int index = comboBox->currentIndex();
if (index > -1) {
Expand All @@ -205,17 +208,17 @@ void MavenDetailPropertyWidget::browserFileDialog()
QObject *senderObj = qobject_cast<QObject *>(sender());
QString senderName = senderObj->objectName();

auto showDirDialog = [this](QLineEdit *widget){
QString result = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
auto showDirDialog = [this](DLineEdit *widget){
QString result = DFileDialog::getExistingDirectory(this, tr("Open Directory"),
widget->text(),
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
DFileDialog::ShowDirsOnly | DFileDialog::DontResolveSymlinks);
if (!result.isEmpty()) {
widget->setText(result);
}
};

auto showFileDialog = [this](QLineEdit *widget){
QString result = QFileDialog::getOpenFileName(this, tr("Select File"), widget->text());
auto showFileDialog = [this](DLineEdit *widget){
QString result = DFileDialog::getOpenFileName(this, tr("Select File"), widget->text());
if (!result.isEmpty())
widget->setText(result);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@

#include "services/project/projectinfo.h"

#include <DFrame>

class PageWidget;
class MavenDetailPropertyWidgetPrivate;
class MavenDetailPropertyWidget : public QWidget
class MavenDetailPropertyWidget : public DTK_WIDGET_NAMESPACE::DFrame
{
Q_OBJECT
public:
Expand Down

0 comments on commit ca27ed7

Please sign in to comment.