Skip to content

Commit 7052500

Browse files
committed
Change menu style
1 parent 4e587aa commit 7052500

File tree

1 file changed

+24
-28
lines changed

1 file changed

+24
-28
lines changed

src/DataFlowGraphicsScene.cpp

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <QtWidgets/QTreeView>
1616
#include <QStandardItem>
1717
#include <QPushButton>
18+
#include <QGridLayout>
1819

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

85+
QWidget *menuWidget = new QWidget();
86+
QGridLayout *layout = new QGridLayout(menuWidget);
87+
layout->setContentsMargins(0, 0, 0, 0);
88+
layout->setSpacing(3);
89+
8490
// Add filterbox to the context menu
85-
auto* txtBox = new QLineEdit(modelMenu);
91+
QLineEdit* txtBox = new QLineEdit();
8692
txtBox->setPlaceholderText(QStringLiteral("Filter"));
8793
txtBox->setClearButtonEnabled(true);
94+
txtBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
95+
layout->addWidget(txtBox, 0, 0);
8896

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

95102
// Add result treeview to the context menu
96-
QTreeView* treeView = new QTreeView(modelMenu);
103+
QTreeView* treeView = new QTreeView();
97104
treeView->header()->close();
98-
105+
layout->addWidget(treeView, 1, 0, 1, 2);
99106
QStandardItemModel* treeModel = new QStandardItemModel(treeView);
100107

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

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

117113
auto registry = _graphModel.dataModelRegistry();
118114

@@ -144,6 +140,12 @@ createSceneMenu(QPointF const scenePos)
144140
treeView->setModel(treeModel);
145141
treeView->expandAll();
146142

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

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

0 commit comments

Comments
 (0)