File indexing completed on 2024-05-12 16:01:52
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "KisNodeDisplayModeAdapter.h" 0008 #include "kis_config.h" 0009 #include "kis_config_notifier.h" 0010 0011 0012 KisNodeDisplayModeAdapter::KisNodeDisplayModeAdapter(QObject *parent) 0013 : QObject(parent) 0014 { 0015 connect(KisConfigNotifier::instance(), SIGNAL(configChanged()), 0016 SLOT(slotSettingsChanged())); 0017 0018 slotSettingsChangedImpl(true); 0019 } 0020 0021 bool KisNodeDisplayModeAdapter::showRootNode() const 0022 { 0023 return m_showRootNode; 0024 } 0025 0026 void KisNodeDisplayModeAdapter::setShowRootNode(bool value) 0027 { 0028 KisConfig cfg(false); 0029 cfg.setShowRootLayer(value); 0030 slotSettingsChanged(); 0031 } 0032 0033 bool KisNodeDisplayModeAdapter::showGlobalSelectionMask() const 0034 { 0035 return m_showGlobalSelectionMask; 0036 } 0037 0038 void KisNodeDisplayModeAdapter::setShowGlobalSelectionMask(bool value) 0039 { 0040 KisConfig cfg(false); 0041 cfg.setShowGlobalSelection(value); 0042 slotSettingsChanged(); 0043 } 0044 0045 void KisNodeDisplayModeAdapter::slotSettingsChanged() 0046 { 0047 slotSettingsChangedImpl(false); 0048 } 0049 0050 void KisNodeDisplayModeAdapter::slotSettingsChangedImpl(bool suppressSignals) 0051 { 0052 KisConfig cfg(true); 0053 0054 if (m_showGlobalSelectionMask != cfg.showGlobalSelection() || 0055 m_showRootNode != cfg.showRootLayer()) { 0056 0057 m_showGlobalSelectionMask = cfg.showGlobalSelection(); 0058 m_showRootNode = cfg.showRootLayer(); 0059 0060 if (!suppressSignals) { 0061 emit sigNodeDisplayModeChanged(m_showRootNode, m_showGlobalSelectionMask); 0062 } 0063 } 0064 }