12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #include "ProjectView.h"
- #include "ProjectListWidget.h"
- #include "RenameWidget.h"
- #include <Widgets/Button.h>
- #include <Widgets/LineEdit.h>
- #include <QBoxLayout>
- #include <QLabel>
- ProjectView::ProjectView(QWidget *parent) : QWidget(parent)
- {
- initialize();
- initLayout();
- connectSiganlsAndSlots();
- }
- void ProjectView::initialize()
- {
- m_hBoxLayout = new QHBoxLayout(this);
- m_listWidget = new QWidget(this);
- m_listWidget->setFixedWidth(300);
- QPalette pal(m_listWidget->palette());
- pal.setColor(QPalette::Background, QColor("#f3f3f3"));
- m_listWidget->setAutoFillBackground(true);
- m_listWidget->setPalette(pal);
- m_listLayout = new QVBoxLayout(m_listWidget);
- m_buttonLayout = new QHBoxLayout();
- m_searchLineEdit = new LineEdit(this);
- m_searchLineEdit->setIsClearButtonEnabled(true);
- m_searchLineEdit->setPlaceholderText("搜索工程");
- m_renameButton = new ToolButton(NEWFLICON(FluentIcon, EDIT), this);
- m_renameButton->setToolTip("修改工程名");
- m_newProjButton = new ToolButton(NEWFLICON(FluentIcon, ADD), this);
- m_newProjButton->setToolTip("新建工程");
- m_deleteButton = new ToolButton(NEWFLICON(FluentIcon, DELETE), this);
- m_deleteButton->setToolTip("删除工程");
- m_projListWidget = new ProjectListWidget(this);
- m_projDetailWidget = new QWidget(this);
- m_projLayout = new QVBoxLayout();
- m_projNameLabel = new QLabel(this);
- m_projNameLabel->setText("工程名");
- m_renameWidget = new RenameWidget(this);
- }
- void ProjectView::initLayout()
- {
- m_hBoxLayout->setMargin(0);
- m_hBoxLayout->addWidget(m_listWidget);
- m_listLayout->addLayout(m_buttonLayout);
- m_buttonLayout->addWidget(m_searchLineEdit);
- m_buttonLayout->addWidget(m_newProjButton);
- m_buttonLayout->addWidget(m_renameButton);
- m_buttonLayout->addWidget(m_deleteButton);
- m_listLayout->addWidget(m_projListWidget);
- m_hBoxLayout->addWidget(m_projDetailWidget);
- m_projDetailWidget->setLayout(m_projLayout);
- m_projLayout->addWidget(m_projNameLabel, Qt::AlignTop);
- }
- void ProjectView::connectSiganlsAndSlots()
- {
- connect(m_renameButton, &ToolButton::clicked, this, &ProjectView::showRenameWidget);
- }
- void ProjectView::showRenameWidget()
- {
- if (m_renameWidget->isVisible() == false) {
- m_renameWidget->clearInputs();
- m_renameWidget->show();
- }
- }
|