Age | Commit message (Collapse) | Author |
|
NO_CHANGELOG
|
|
NO_CHANGELOG
|
|
Fix some clazy warnings, and some other minor code optimisations.
NO_CHANGELOG
|
|
* Doxygen sections instead of markdown list items and HTML headers
* More descriptive section titles
* HTML Definition list instead of a wide HTML table for compiler options
* HTML Definition list instead of a markdown item list for data types
* Syntax highlighting for examples
|
|
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
|
|
This commit refactors the code a bit to define the window geometry
strings in one place and uses a common method to read and write them.
This makes future changes much less fragile and fixes a pre-existing bug
that had gone un-noticed which caused window positions to not be saved
on a per-resolution basis in addition to a per-display-arrangement
basis. Old strings are used if available to that people don't lose their
saved position data the first time they upgrade to KF 5.79.
|
|
The maximization string was being saved to the config file including
the connected screens, but the code to read it was not, and was also
looking for the old incorrect format. This could have resulted in old
config values being used forever, and the window always being opened
in a maximized state.
BUG: 430521
FIXED-IN: 5.79
|
|
Frameworks will be Frameworks 6 at some point and there is no good reason to have the major version in the variable name.
Given this is purely internal we can to this now, making it a bit more future-proof
GIT_SILENT
NO_CHANGELOG
|
|
KDEWIN_LIBRARIES is never defined
|
|
I stored a file's lastModified() into KConfig, to compare with it
again on next start, and the loss of milliseconds made the code think
the timestamps didn't match, even when they did.
|
|
In C++20 there are new classes that have member functions named emit().
c.f.:
https://lists.qt-project.org/pipermail/development/2020-February/038812.html
https://en.cppreference.com/w/cpp/io/basic_osyncstream/emit
GIT_SILENT
|
|
In Qt6 QTextCodec/QTextStream::setCodec is replaced with
QTextStream::setEncoding(QStringConverter::Encoding)
Also UTF-8 is the new default for QTextStream.
|
|
NO_CHANGELOG
|
|
NO_CHANGELOG
|
|
Using QMutex in recursive mode is deprecated.
|
|
|
|
Forward declaring it breaks with Qt6
|
|
|
|
The latter breaks with Qt6
|
|
When a window is closed while maximized, we write a special string to
the config file so that it gets restored in its maximized state. But we
don't ever delete that thing when the window is un-maximized and closed
again, causing the window to always be maximized when launched.
BUG: 426813
FIXED-IN: 5.78
|
|
All other resolutions are stored in the form of width x height, but a
silly transposition error had the maximized strong being height x width.
That's fixed now.
|
|
The feature to make windows remember their sizes and positions across
screen layouts relied on calling QScreen::name() to identify screens.
Unfortunately this function returns garbage on Windows; see
https://bugreports.qt.io/browse/QTBUG-74317
So on Windows, let's identify displays by serial number as a workaround.
BUG: 429943
FIXED-IN: 5.78
|
|
GIT_SILENT
|
|
See https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/4
(*) by me :-)
|
|
Without this, bNotify was not set on copies, making Notify a noop.
CCBUG: 428771
|
|
No caller cares for success flag, so this just has confused human code
readers for now.
NO_CHANGELOG
|
|
|
|
https://techbase.kde.org/Development/Tools/Using_kconf_update#Debugging_and_testing
describes how to run repeated tests of kconf_update scripts in --testmode.
It is necessary to delete update group flags from kconf_updaterc,
which is inconvenient.
With this patch, kconf_update will not use kconf_updaterc when in --testmode,
so this step is no longer necessary.
Additionally, running all installed update scripts automatically
is no longer possible in --testmode, since that is probably only useful
if you have your home directory in ~/.qttest/config/.
I don’t expect problems, since this affects only --testmode, and the update group
flags are still present in the modified config files themselves.
|
|
|
|
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
|
|
config paths.
Since windows has some generic config paths that are parents of other generic config paths
e.g. c:/CraftRoot/build/_/<hash>/build/bin followed by c:/CraftRoot/build/_/<hash>/build/bin/data
we need to search for locations from the last location to the first.
|
|
genshortcutents.cpp disappeared from kdoctools during preparations
of kdelibs for KDE Frameworks
(commits.kde.org/kdelibs/64537ae5bf1a4e91ba99befc016e67e8e0c9dff0)
Cmp. also http://lists.kde.org/?t=137113303000003&r=1&w=2
|
|
It doesn't need to be public since it's just an internal convenience
function. So let's make it static.
BUG: 425953
|
|
|
|
GIT_SILENT
|
|
Needs to be added at end of list for ABI reasons.
GIT_SILENT
|
|
|
|
|
|
|
|
GIT_SILENT
|
|
5.64 added an isDefault method however this doesn't suffice for usage in
KConfigDialogManager which compares a current value to the default.
KConfigDialogManager currently uses a hack with side effects.
Exposing the value directly solves that.
|
|
This is done for window positions, so it should also be done for
window sizes. The combination of both should substantially improve the
use case of maintaining a consistent window arrangement for multiple
display setups (e.g. laptop and laptop + external screen).
|
|
Right now it's duplicated twice, and once we add per-screen-arrangement
memory for window sizes as well, it will be duplicated four times unless
we put it into a function.
|
|
"QtPrivate::DeprecatedRefClassBehavior::warn|?libKF5ConfigCore.so.5?|?libKF5ConfigCore.so.5?
Using QCharRef with an index pointing outside the valid range of a
QString. The corresponding behavior is deprecated, and will be changed
in a future version of Qt."
We try to access to an invalid index.
|
|
We have a huge amount of standard shortcuts. By adding the ability to divide
them into categories, they can be presented to the user in a way that enables
them to easier find the shortcut that they want. Internally some shortcuts were
already grouped but that seems to have stopped for the later additions. (The
related standard actions from KConfigWidgets also seem to have this not exposed
internal grouping.)
See plasma-desktop!26
|
|
|
|
These functions allow an application to save and restore the positions
of its windows. Positions are stored on a per-screen-arrangement basis.
For example with a single screen connected, the config file would have
entries like this in it:
eDP-1 XPosition=140
eDP-1 YPosition=340
When a second screen is connected, the following gets saved:
eDP-1 HDMI-1 XPosition=3878
eDP-1 HDMI-1 YPosition=29
This ensures that each separate screen arrangement can have its own
saved window position, which is handy for the use case where you have a
laptop that you plug into an external screen some of the time. It also
allows the position to get restored to the correct screen when there are
multiple screens.
This is a necessary first step to getting KDE apps to save their window
positions on X11 The next step would be calling the new functions from
KXMLGui and Kirigami apps, and then porting all apps that manually invoke
KWindowConfig::saveWindowSize() and KWindowConfig::restoreWindowSize()
to also invoke KWindowConfig::saveWindowPosition() and
KWindowConfig::restoreWindowPosition() in the same places.
The functions only work on X11 or other non-Wayland platforms. On
Wayland, the compositor has sole dominion over window positioning so a
compositor-specific solution much be adopted instead, such as
https://bugs.kde.org/show_bug.cgi?id=15329.
CCBUG: 415150
|
|
When running unit tests, usually QStandardPaths TestMode is enabled so as
not to mess up the config files in the home dir of the dev running the unit
tests; sGlobalFileName, a global static, was defined only once, which meant
that if KSharedConfig::openConfig() is called before the unit test has had
a chance to call QStandardPaths::setTestModeEnabled(true), then sGlobalFileName
will go on referring to the wrong kdeglobals file (as can be seen in
dfaure's debugging of the issue at [1]). Change the code so as to
detect QStandardPaths TestMode status and change sGlobalFileName as needed.
All unit tests still pass.
[1] https://invent.kde.org/frameworks/kio/-/merge_requests/77#note_74124
|
|
While the API might have been once designed to allow random byte strings
to be used as ids and only converted QString to UTF-8, the current
implementation in many places assumes the byte strings passed via
const char* or QByteArray are also in of UTF-8 encoding
(or at least ASCII7-only).
See e.g. KConfigGroup::entryMap() or KConfigGroup::name().
Stating the supported encoding explicitly should avoid any misassumptions.
|
|
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
|