mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
/* |
|
SPDX-FileCopyrightText: 2008 Dmitry Suzdalev <[email protected]> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
#include "actionstreewidget.h" |
|
|
|
ActionsTreeWidget::ActionsTreeWidget(QWidget *parent) |
|
: QTreeWidget(parent) |
|
, m_actionsChanged(-1) |
|
, m_modified(false) |
|
{ |
|
// these signals indicate that something was changed in actions tree |
|
|
|
connect(this, &ActionsTreeWidget::itemChanged, this, &ActionsTreeWidget::onItemChanged); |
|
QAbstractItemModel *treeModel = model(); |
|
if (treeModel) { |
|
connect(treeModel, &QAbstractItemModel::rowsInserted, this, &ActionsTreeWidget::onItemChanged); |
|
connect(treeModel, &QAbstractItemModel::rowsRemoved, this, &ActionsTreeWidget::onItemChanged); |
|
} |
|
setProperty("kcfg_propertyNotify", true); |
|
} |
|
|
|
void ActionsTreeWidget::onItemChanged() |
|
{ |
|
setActionsChanged(true); |
|
} |
|
|
|
void ActionsTreeWidget::resetModifiedState() |
|
{ |
|
m_modified = false; |
|
m_actionsChanged = -1; |
|
} |
|
|
|
void ActionsTreeWidget::setActionsChanged(int isChanged) |
|
{ |
|
Q_UNUSED(isChanged) |
|
|
|
if (!m_modified) { |
|
m_actionsChanged = m_actionsChanged ? 1 : 0; |
|
m_modified = true; |
|
Q_EMIT changed(); |
|
} |
|
} |
|
|
|
int ActionsTreeWidget::actionsChanged() const |
|
{ |
|
return m_actionsChanged; |
|
}
|
|
|