File indexing completed on 2024-05-12 15:56:57
0001 /* 0002 * SPDX-FileCopyrightText: 2007 Adrian Page <adrian@pagenet.plus.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "kis_config_notifier.h" 0007 0008 #include <QGlobalStatic> 0009 0010 #include <kis_debug.h> 0011 #include "kis_signal_compressor.h" 0012 0013 Q_GLOBAL_STATIC(KisConfigNotifier, s_instance) 0014 0015 struct KisConfigNotifier::Private 0016 { 0017 Private() : dropFramesModeCompressor(300, KisSignalCompressor::FIRST_ACTIVE) {} 0018 0019 KisSignalCompressor dropFramesModeCompressor; 0020 }; 0021 0022 KisConfigNotifier::KisConfigNotifier() 0023 : m_d(new Private) 0024 { 0025 connect(&m_d->dropFramesModeCompressor, SIGNAL(timeout()), SIGNAL(dropFramesModeChanged())); 0026 } 0027 0028 KisConfigNotifier::~KisConfigNotifier() 0029 { 0030 dbgRegistry << "deleting KisConfigNotifier"; 0031 } 0032 0033 KisConfigNotifier *KisConfigNotifier::instance() 0034 { 0035 return s_instance; 0036 } 0037 0038 void KisConfigNotifier::notifyConfigChanged(void) 0039 { 0040 emit configChanged(); 0041 } 0042 0043 void KisConfigNotifier::notifyDropFramesModeChanged() 0044 { 0045 m_d->dropFramesModeCompressor.start(); 0046 } 0047 0048 void KisConfigNotifier::notifyPixelGridModeChanged() 0049 { 0050 emit pixelGridModeChanged(); 0051 }