Skip to content

Commit fa8f258

Browse files
committed
Change menu style
1 parent 2ec1301 commit fa8f258

1 file changed

Lines changed: 24 additions & 28 deletions

File tree

src/DataFlowGraphicsScene.cpp

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <QtWidgets/QTreeView>
1515
#include <QStandardItem>
1616
#include <QPushButton>
17+
#include <QGridLayout>
1718

1819
#include <QtCore/QBuffer>
1920
#include <QtCore/QByteArray>
@@ -80,38 +81,33 @@ createSceneMenu(QPointF const scenePos)
8081
{
8182
QMenu* modelMenu = new QMenu();
8283

84+
QWidget *menuWidget = new QWidget();
85+
QGridLayout *layout = new QGridLayout(menuWidget);
86+
layout->setContentsMargins(0, 0, 0, 0);
87+
layout->setSpacing(3);
88+
8389
// Add filterbox to the context menu
84-
auto* txtBox = new QLineEdit(modelMenu);
90+
QLineEdit* txtBox = new QLineEdit();
8591
txtBox->setPlaceholderText(QStringLiteral("Filter"));
8692
txtBox->setClearButtonEnabled(true);
93+
txtBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
94+
layout->addWidget(txtBox, 0, 0);
8795

88-
auto* txtBoxAction = new QWidgetAction(modelMenu);
89-
txtBoxAction->setDefaultWidget(txtBox);
90-
91-
// 1.
92-
modelMenu->addAction(txtBoxAction);
96+
// Add sort button
97+
QPushButton* sortButton = new QPushButton("Sort");
98+
sortButton->setCheckable(true);
99+
layout->addWidget(sortButton, 0, 1);
93100

94101
// Add result treeview to the context menu
95-
QTreeView* treeView = new QTreeView(modelMenu);
102+
QTreeView* treeView = new QTreeView();
96103
treeView->header()->close();
97-
104+
layout->addWidget(treeView, 1, 0, 1, 2);
98105
QStandardItemModel* treeModel = new QStandardItemModel(treeView);
99106

100-
auto* treeViewAction = new QWidgetAction(modelMenu);
101-
treeViewAction->setDefaultWidget(treeView);
102-
103-
// 2.
104-
modelMenu->addAction(treeViewAction);
107+
auto* menuWidgetAction = new QWidgetAction(menuWidget);
108+
menuWidgetAction->setDefaultWidget(menuWidget);
105109

106-
// Add sort Button
107-
auto* sortButton = new QPushButton("Sort");
108-
sortButton->setCheckable(true);
109-
110-
auto* sortButtonAction = new QWidgetAction(modelMenu);
111-
sortButtonAction->setDefaultWidget(sortButton);
112-
113-
// 3.
114-
modelMenu->addAction(sortButtonAction);
110+
modelMenu->addAction(menuWidgetAction);
115111

116112
auto registry = _graphModel.dataModelRegistry();
117113

@@ -143,6 +139,12 @@ createSceneMenu(QPointF const scenePos)
143139
treeView->setModel(treeModel);
144140
treeView->expandAll();
145141

142+
if (_sortMenu)
143+
{
144+
sortButton->setChecked(_sortMenu);
145+
treeView->sortByColumn(0, Qt::AscendingOrder);
146+
}
147+
146148
connect(sortButton, &QPushButton::clicked, this,
147149
[treeModel, treeView](bool checked)
148150
{
@@ -153,12 +155,6 @@ createSceneMenu(QPointF const scenePos)
153155
treeView->sortByColumn(0, Qt::AscendingOrder);
154156
});
155157

156-
if (_sortMenu)
157-
{
158-
sortButton->setChecked(_sortMenu);
159-
treeView->sortByColumn(0, Qt::AscendingOrder);
160-
}
161-
162158
connect(treeView, &QTreeView::clicked,
163159
[this,
164160
modelMenu,

0 commit comments

Comments
 (0)