From c54db06a506e0507b9a1ea8188634e24dbcb9907 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Wed, 31 Jul 2019 23:09:06 +0900 Subject: [PATCH] Improve layout of qrc editor Replace the toplevel horizontal layout with vertical splitter Change-Id: Ia02cb0fb23ff4cb9775ea68e70d7b6e0edfcd7f7 Reviewed-by: Eike Ziller --- src/plugins/coreplugin/minisplitter.cpp | 4 +- src/plugins/coreplugin/minisplitter.h | 2 +- .../resourceeditor/qrceditor/qrceditor.cpp | 25 +- .../resourceeditor/qrceditor/qrceditor.h | 5 +- .../resourceeditor/qrceditor/qrceditor.ui | 225 ++++++++---------- 5 files changed, 115 insertions(+), 146 deletions(-) diff --git a/src/plugins/coreplugin/minisplitter.cpp b/src/plugins/coreplugin/minisplitter.cpp index 6bac3ffdfca..99de649d185 100644 --- a/src/plugins/coreplugin/minisplitter.cpp +++ b/src/plugins/coreplugin/minisplitter.cpp @@ -92,8 +92,8 @@ MiniSplitter::MiniSplitter(QWidget *parent, SplitterStyle style) setProperty("minisplitter", true); } -MiniSplitter::MiniSplitter(Qt::Orientation orientation, SplitterStyle style) - : QSplitter(orientation), +MiniSplitter::MiniSplitter(Qt::Orientation orientation, QWidget *parent, SplitterStyle style) + : QSplitter(orientation, parent), m_style(style) { setHandleWidth(1); diff --git a/src/plugins/coreplugin/minisplitter.h b/src/plugins/coreplugin/minisplitter.h index 712f8f366f4..407e3f250b6 100644 --- a/src/plugins/coreplugin/minisplitter.h +++ b/src/plugins/coreplugin/minisplitter.h @@ -42,7 +42,7 @@ public: enum SplitterStyle {Dark, Light}; MiniSplitter(QWidget *parent = nullptr, SplitterStyle style = Dark); - MiniSplitter(Qt::Orientation orientation, SplitterStyle style = Dark); + MiniSplitter(Qt::Orientation orientation, QWidget *parent = nullptr, SplitterStyle style = Dark); protected: QSplitterHandle *createHandle() override; diff --git a/src/plugins/resourceeditor/qrceditor/qrceditor.cpp b/src/plugins/resourceeditor/qrceditor/qrceditor.cpp index 3c0041be836..8384ab0a34c 100644 --- a/src/plugins/resourceeditor/qrceditor/qrceditor.cpp +++ b/src/plugins/resourceeditor/qrceditor/qrceditor.cpp @@ -39,29 +39,21 @@ using namespace ResourceEditor; using namespace ResourceEditor::Internal; QrcEditor::QrcEditor(RelativeResourceModel *model, QWidget *parent) - : QWidget(parent), + : Core::MiniSplitter(Qt::Vertical, parent), m_treeview(new ResourceView(model, &m_history)) { - m_ui.setupUi(this); - auto layout = new QHBoxLayout; - layout->setSpacing(0); - layout->setMargin(0); - m_ui.centralWidget->setLayout(layout); + addWidget(m_treeview); + auto widget = new QWidget; + m_ui.setupUi(widget); + addWidget(widget); m_treeview->setFrameStyle(QFrame::NoFrame); - layout->addWidget(m_treeview); + connect(m_ui.addPrefixButton, &QAbstractButton::clicked, this, &QrcEditor::onAddPrefix); + connect(m_ui.addFilesButton, &QAbstractButton::clicked, this, &QrcEditor::onAddFiles); connect(m_ui.removeButton, &QAbstractButton::clicked, this, &QrcEditor::onRemove); connect(m_ui.removeNonExistingButton, &QPushButton::clicked, this, &QrcEditor::onRemoveNonExisting); - // 'Add' button with menu - auto addMenu = new QMenu(this); - m_addFileAction = addMenu->addAction(tr("Add Files")); - connect(m_addFileAction, &QAction::triggered, this, &QrcEditor::onAddFiles); - connect(addMenu->addAction(tr("Add Prefix")), &QAction::triggered, - this, &QrcEditor::onAddPrefix); - m_ui.addButton->setMenu(addMenu); - connect(m_treeview, &ResourceView::removeItem, this, &QrcEditor::onRemove); connect(m_treeview->selectionModel(), &QItemSelectionModel::currentChanged, this, &QrcEditor::updateCurrent); @@ -139,8 +131,7 @@ void QrcEditor::updateCurrent() m_currentLanguage = m_treeview->currentLanguage(); m_ui.languageText->setText(m_currentLanguage); - m_ui.addButton->setEnabled(true); - m_addFileAction->setEnabled(isValid); + m_ui.addFilesButton->setEnabled(isValid); m_ui.removeButton->setEnabled(isValid); } diff --git a/src/plugins/resourceeditor/qrceditor/qrceditor.h b/src/plugins/resourceeditor/qrceditor/qrceditor.h index e6f7c1cf8a1..9273f8c6cfd 100644 --- a/src/plugins/resourceeditor/qrceditor/qrceditor.h +++ b/src/plugins/resourceeditor/qrceditor/qrceditor.h @@ -28,13 +28,13 @@ #include "ui_qrceditor.h" #include "resourceview.h" -#include +#include #include namespace ResourceEditor { namespace Internal { -class QrcEditor : public QWidget +class QrcEditor : public Core::MiniSplitter { Q_OBJECT @@ -79,7 +79,6 @@ private: Ui::QrcEditor m_ui; QUndoStack m_history; ResourceView *m_treeview; - QAction *m_addFileAction = nullptr; QString m_currentAlias; QString m_currentPrefix; diff --git a/src/plugins/resourceeditor/qrceditor/qrceditor.ui b/src/plugins/resourceeditor/qrceditor/qrceditor.ui index 5bac2230ce3..98035b4382b 100644 --- a/src/plugins/resourceeditor/qrceditor/qrceditor.ui +++ b/src/plugins/resourceeditor/qrceditor/qrceditor.ui @@ -6,14 +6,17 @@ 0 0 - 491 - 381 + 521 + 180 + + + 0 + 0 + + - - 0 - 0 @@ -27,138 +30,114 @@ 0 - - - - 0 - 0 - - - + + + + + + 0 + 0 + + + + Add Prefix + + + + + + + Add Files + + + + + + + Remove + + + + + + + Remove Missing Files + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - 16777215 - 1 - + + + Properties - - color: #666666 - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - - 6 + + + QLayout::SetMinAndMaxSize - - 6 - - - 6 + + QFormLayout::ExpandingFieldsGrow - - - - - - 0 - 0 - - - - Add - - - - - - - Remove - - - - - - - Remove Missing Files - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + + + Alias: + + + + + - - - Properties + + + Prefix: - - - QLayout::SetMinAndMaxSize - - - QFormLayout::ExpandingFieldsGrow - - - - - Alias: - - - - - - - - - - Prefix: - - - - - - - - - - Language: - - - - - - - + + + + + + + Language: + + + + + + + + + + Qt::Vertical + + + + 0 + 0 + + + +