diff --git a/src/Gui/DlgParameter.ui b/src/Gui/DlgParameter.ui
index 761b9db7a5..1f2ff08707 100644
--- a/src/Gui/DlgParameter.ui
+++ b/src/Gui/DlgParameter.ui
@@ -36,6 +36,16 @@
6
+ -
+
+
+ Sorted
+
+
+ true
+
+
+
-
diff --git a/src/Gui/DlgParameterImp.cpp b/src/Gui/DlgParameterImp.cpp
index 5b169fa7bb..1ad8b1e75a 100644
--- a/src/Gui/DlgParameterImp.cpp
+++ b/src/Gui/DlgParameterImp.cpp
@@ -63,11 +63,18 @@ DlgParameterImp::DlgParameterImp( QWidget* parent, Qt::WindowFlags fl )
, ui(new Ui_DlgParameter)
{
ui->setupUi(this);
- QStringList groupLabels;
+ ui->checkSort->setVisible(false); // for testing
+
+ QStringList groupLabels;
groupLabels << tr( "Group" );
paramGroup = new ParameterGroup(ui->splitter3);
paramGroup->setHeaderLabels(groupLabels);
paramGroup->setRootIsDecorated(false);
+#if QT_VERSION >= 0x050000
+ paramGroup->setSortingEnabled(true);
+ paramGroup->sortByColumn(0, Qt::AscendingOrder);
+ paramGroup->header()->setProperty("showSortIndicator", QVariant(true));
+#endif
QStringList valueLabels;
valueLabels << tr( "Name" ) << tr( "Type" ) << tr( "Value" );
@@ -77,6 +84,7 @@ DlgParameterImp::DlgParameterImp( QWidget* parent, Qt::WindowFlags fl )
#if QT_VERSION >= 0x050000
paramValue->header()->setSectionResizeMode(0, QHeaderView::Stretch);
paramValue->setSortingEnabled(true);
+ paramValue->sortByColumn(0, Qt::AscendingOrder);
paramValue->header()->setProperty("showSortIndicator", QVariant(true));
#else
paramValue->header()->setResizeMode(0, QHeaderView::Stretch);
@@ -144,6 +152,21 @@ void DlgParameterImp::changeEvent(QEvent *e)
}
}
+void DlgParameterImp::on_checkSort_toggled(bool on)
+{
+#if QT_VERSION >= 0x050000
+ paramGroup->setSortingEnabled(on);
+ paramGroup->sortByColumn(0, Qt::AscendingOrder);
+ paramGroup->header()->setProperty("showSortIndicator", QVariant(on));
+#endif
+
+#if QT_VERSION >= 0x050000
+ paramValue->setSortingEnabled(on);
+ paramValue->sortByColumn(0, Qt::AscendingOrder);
+ paramValue->header()->setProperty("showSortIndicator", QVariant(on));
+#endif
+}
+
void DlgParameterImp::on_closeButton_clicked()
{
close();
diff --git a/src/Gui/DlgParameterImp.h b/src/Gui/DlgParameterImp.h
index 2f86121ae2..fdea01bb3a 100644
--- a/src/Gui/DlgParameterImp.h
+++ b/src/Gui/DlgParameterImp.h
@@ -61,6 +61,7 @@ protected Q_SLOTS:
void onGroupSelected(QTreeWidgetItem *);
void on_closeButton_clicked();
+ void on_checkSort_toggled(bool);
protected:
void changeEvent(QEvent *e);