Authored by tcanabrava on Jul 4 2018, 8:12 PM.

Description

Fix KConfig

Summary:
This fixes quite a few bugs and open space for a massive cleanup.
Because the symbols where not exported we recompiled the same object
three times, one for the private library, one for the desktop
application and another for the KPart, all of those having a static
object inside of the same compilation unit - but linked in three
different objects.

This added a static data in three different objects, the object that
was supposed to be a singleton (!) - The result: KonsoleSettings::self()
in mainwindow.cpp had one pointer, in TerminalDisplay had another,
making the singleton useless.

Having just one singleton fixes a major misdesign in Konsole:
There's a call-chain starting from main.cpp that goes thru all objects
changing every setting needed, and most of the calls are just forwarding
calls to another object.

With this fixed we can remove this call-chain, and do a
connect(KonsoleSettings::self(), &KonsoleSettings::settingsChanged(),

...) inside of the object that needs to react to the changed setting

making the code much smaller and easier to figure out what's going
on.

Reviewers: hindenburg, Konsole, KDE Applications, broulik, dfaure, aacid

Reviewed By: dfaure

Subscribers: ngraham, konsole-devel

Tags: Konsole

Differential Revision: https://phabricator.kde.org/D13891

Details

Committed
tcanabravaJul 5 2018, 2:01 PM
Reviewer
dfaure
Differential Revision
D13891: Fix KConfig
Parents
R319:87634bfece85: Merge branch 'revertOverlayScrollbar'
Branches
Unknown
Tags
Unknown