File indexing completed on 2024-04-28 16:54:22
0001 /* 0002 SPDX-FileCopyrightText: 2008 Dmitry Suzdalev <dimsuz@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "actionstreewidget.h" 0007 0008 ActionsTreeWidget::ActionsTreeWidget(QWidget *parent) 0009 : QTreeWidget(parent) 0010 , m_actionsChanged(-1) 0011 , m_modified(false) 0012 { 0013 // these signals indicate that something was changed in actions tree 0014 0015 connect(this, &ActionsTreeWidget::itemChanged, this, &ActionsTreeWidget::onItemChanged); 0016 QAbstractItemModel *treeModel = model(); 0017 if (treeModel) { 0018 connect(treeModel, &QAbstractItemModel::rowsInserted, this, &ActionsTreeWidget::onItemChanged); 0019 connect(treeModel, &QAbstractItemModel::rowsRemoved, this, &ActionsTreeWidget::onItemChanged); 0020 } 0021 setProperty("kcfg_propertyNotify", true); 0022 } 0023 0024 void ActionsTreeWidget::onItemChanged() 0025 { 0026 setActionsChanged(true); 0027 } 0028 0029 void ActionsTreeWidget::resetModifiedState() 0030 { 0031 m_modified = false; 0032 m_actionsChanged = -1; 0033 } 0034 0035 void ActionsTreeWidget::setActionsChanged(int isChanged) 0036 { 0037 Q_UNUSED(isChanged) 0038 0039 if (!m_modified) { 0040 m_actionsChanged = m_actionsChanged ? 1 : 0; 0041 m_modified = true; 0042 Q_EMIT changed(); 0043 } 0044 } 0045 0046 int ActionsTreeWidget::actionsChanged() const 0047 { 0048 return m_actionsChanged; 0049 }