File indexing completed on 2024-12-08 12:53:40
0001 /* 0002 SPDX-FileCopyrightText: 2022 Nicolas Fella <nicolas.fella@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "colorsandmessageviewstyle.h" 0008 0009 #include <QApplication> 0010 0011 ColorsAndMessageViewStyle::ColorsAndMessageViewStyle() 0012 : QObject() 0013 { 0014 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 0015 connect(qApp, &QApplication::paletteChanged, this, &ColorsAndMessageViewStyle::regenerateColorScheme); 0016 #endif 0017 regenerateColorScheme(); 0018 } 0019 0020 ColorsAndMessageViewStyle &ColorsAndMessageViewStyle::self() 0021 { 0022 static ColorsAndMessageViewStyle c; 0023 return c; 0024 } 0025 0026 KColorScheme ColorsAndMessageViewStyle::schemeView() const 0027 { 0028 return mSchemeView; 0029 } 0030 0031 KColorScheme ColorsAndMessageViewStyle::schemeWindow() const 0032 { 0033 return mSchemeWindow; 0034 } 0035 0036 void ColorsAndMessageViewStyle::regenerateColorScheme() 0037 { 0038 mSchemeView = KColorScheme(); 0039 mSchemeWindow = KColorScheme(QPalette::Active, KColorScheme::Window); 0040 Q_EMIT needToUpdateColors(); 0041 } 0042 0043 bool ColorsAndMessageViewStyle::event(QEvent *e) 0044 { 0045 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) 0046 if (e->type() == QEvent::ApplicationPaletteChange) { 0047 regenerateColorScheme(); 0048 } 0049 #endif 0050 return QObject::event(e); 0051 } 0052 0053 #include "moc_colorsandmessageviewstyle.cpp"