flherne created this revision. flherne added a reviewer: Frameworks. flherne set the repository for this revision to R265 KConfigWidgets. Restricted Application added a project: Frameworks.
REVISION SUMMARY [RFC] KColorSchemeManager::activateScheme() sets a custom path for the application's color scheme, with qApp->setProperty("KDE_COLOR_SCHEME_PATH", index.data(Qt::UserRole)); Currently, the KColorScheme() and KStatefulBrush() constructors will ignore this and use only the system color scheme, unless an application-specifiic config is explicitly loaded and passed in by the caller. This is problematic, because all callers I've seen assume that the default is to match the //application// scheme (usually this is equivalent, because few applications use KColorSchemeManager). For example, when the application of a KTextEditor widget or KonsolePart has an opposite color scheme to the system, the Find bars are unreadable: https://bugs.kde.org/373764 This patch makes KColorScheme() match the application scheme by default when this differs from the system scheme, which seems preferable to adding the same code in hundreds of callers. BUG: 373764 TEST PLAN It works... I haven't looked at proper tests yet. REPOSITORY R265 KConfigWidgets REVISION DETAIL https://phabricator.kde.org/D4637 AFFECTED FILES src/kcolorscheme.cpp src/kcolorscheme.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: flherne, #frameworks