Code is way simpler now, a lot of duplicated code is removed
from TerminalDisplay, and the behavior is split into the
hotSpot classes instead of having TerminalDisplay be a god class
that knows how to handle everything.
This also simplifies creation of new filters
FilterChain contains all the hotspots, it's the best place
to calculate the collective region. This removes code from
the TerminalDisplay, and that's much needed.
This was harder than I tought. Because of the static initialization
static linkage order, we ended up having two different values of
a static variable on the code, that where supposedly only one.
https://stackoverflow.com/questions/26547454/static-variable-is-initialized-twice
The choosen change: Use OBJECT instead of STATIC for linking also
made me fix a few other profile headers to use the correct folder.
The only real thing a favorite profile does is to be accessible
from the Settings -> Profile menu. This simplifies a lot of code
and makes the flow of settings more what the user expects.
Next: Merge ProfileManager & ProfileModel
The code that managed the profile model currently is done
inside of the ProfileSettings, and thus unusable out
of it. Since I want to make it easier to select a profile
this needs to split.
It's also a bad code style to mix interface and code
- Make it confirm to the Label HIG (must start with a verb)
- Remove the redundant word "Current", which is implied
- Add the word "Rename" for clarity
- Rename the name of the resulting dialog for clarity
BUG: 426344
FIXED-IN: 20.12
This pulls in ECM 5.38 which requires a change of add_test()s
This update is needed to port from KToolInvocation::kdeinitExec to
KIO::CommandLauncherJob
Note that the values I chose are a bit random. I just picked what I found
visually appealing (aspect ratio wise) and tried not to choose a to big
size, since I don't want to break things on smaller resolutions or annoy
people who do not like the terminal overlapping to much space.
With this values, Konsole uses about a quarter of the screen on a FHD
resolution, which I consider a standard resolution nowadays.
For more discussion about this also have a look at the relevant MR where
it has been reacted to some comments mentioning possible problems:
https://invent.kde.org/utilities/konsole/-/merge_requests/125