|
@@ -21,6 +21,7 @@
|
|
|
// Qt includes
|
|
|
#include <QAction>
|
|
|
#include <QDebug>
|
|
|
+#include <QHeaderView>
|
|
|
#include <QPainter>
|
|
|
#include <QSortFilterProxyModel>
|
|
|
#include <QStandardItem>
|
|
@@ -72,6 +73,7 @@ void ctkActionsWidgetPrivate::setupUI()
|
|
|
this->ActionsTreeView = new QTreeView(q);
|
|
|
QVBoxLayout* layout = new QVBoxLayout(q);
|
|
|
layout->addWidget(this->ActionsTreeView);
|
|
|
+ layout->setContentsMargins(0,0,0,0);
|
|
|
q->setLayout(layout);
|
|
|
this->ActionsTreeView->setModel(this->SortFilterActionsProxyModel);
|
|
|
this->ActionsTreeView->setAlternatingRowColors(true);
|
|
@@ -162,17 +164,22 @@ void ctkActionsWidget::addAction(QAction* action, const QString& group)
|
|
|
d->ActionsTreeView->expand(
|
|
|
d->SortFilterActionsProxyModel->mapFromSource(d->ActionsModel->indexFromItem(actionGroupItem)));
|
|
|
}
|
|
|
- d->ActionsTreeView->resizeColumnToContents(0);
|
|
|
+ d->ActionsTreeView->resizeColumnToContents(ctkActionsWidget::NameColumn);
|
|
|
+ d->ActionsTreeView->resizeColumnToContents(ctkActionsWidget::DetailsColumn);
|
|
|
connect(action, SIGNAL(changed()), this, SLOT(updateAction()));
|
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
void ctkActionsWidget::addActions(QList<QAction*> actions, const QString& group)
|
|
|
{
|
|
|
+ Q_D(ctkActionsWidget);
|
|
|
+ bool wasSortinEnabled = d->ActionsTreeView->isSortingEnabled();
|
|
|
+ d->ActionsTreeView->setSortingEnabled(false);
|
|
|
foreach(QAction* action, actions)
|
|
|
{
|
|
|
this->addAction(action, group);
|
|
|
}
|
|
|
+ d->ActionsTreeView->setSortingEnabled(wasSortinEnabled);
|
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
@@ -240,6 +247,22 @@ bool ctkActionsWidget::areMenuActionsVisible()const
|
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
+void ctkActionsWidget::setSortColumn(int column)
|
|
|
+{
|
|
|
+ Q_D(ctkActionsWidget);
|
|
|
+ d->ActionsTreeView->sortByColumn(column, Qt::AscendingOrder);
|
|
|
+ d->ActionsTreeView->setSortingEnabled(column != -1);
|
|
|
+}
|
|
|
+
|
|
|
+//-----------------------------------------------------------------------------
|
|
|
+int ctkActionsWidget::sortColumn()const
|
|
|
+{
|
|
|
+ Q_D(const ctkActionsWidget);
|
|
|
+ return d->ActionsTreeView->isSortingEnabled() ?
|
|
|
+ d->ActionsTreeView->header()->sortIndicatorSection() : -1;
|
|
|
+}
|
|
|
+
|
|
|
+//-----------------------------------------------------------------------------
|
|
|
void ctkActionsWidget::updateAction()
|
|
|
{
|
|
|
Q_D(ctkActionsWidget);
|