Commit graph

898 commits

Author SHA1 Message Date
Albert Astals Cid
e144748c7a Add some const &
Summary:
Won't make things go much faster since everything that was
being passed by value is refcounted but still const & is a bit faster
than refcounting

For shared pointers instead of adding const & we move them into the
destination variable saving some cpu usage but at the same time making
clear the pointer is being stored by not being const &

Reviewers: zzag

Reviewed By: zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D25022
2019-10-30 19:23:01 +01:00
Nate Graham
9e9c9a68bd Merge branch 'Plasma/5.17' 2019-10-28 12:46:04 -06:00
Nate Graham
a151edd29b [kcmkwin/kwindecoration] Fix default window size in KCMShell
This also fixes a binding loop.

BUG: 413557
FIXED-IN: 5.17.2
2019-10-28 12:43:33 -06:00
Kai Uwe Broulik
95385e81da Merge branch 'Plasma/5.17' 2019-10-23 13:49:08 +02:00
Kai Uwe Broulik
2ce1d99221 [kcmkwin/kwindecoration] Elide "theme default border size" CheckBox
Otherwise the layout explodes.
Unfortunately it seems Layouts don't shrink the items within even if there's not enough room at all, so I need this fillWidth + maximumWidth workaround.

Differential Revision: https://phabricator.kde.org/D24885
2019-10-23 13:48:21 +02:00
l10n daemon script
fe27d39b5c SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-10-17 05:41:38 +02:00
Vlad Zahorodnii
62a7db7028 Use nullptr everywhere
Summary:
Because KWin is a very old project, we use three kinds of null pointer
literals: 0, NULL, and nullptr. Since C++11, it's recommended to use
nullptr keyword.

This change converts all usages of 0 and NULL literal to nullptr. Even
though it breaks git history, we need to do it in order to have consistent
code as well to ease code reviews (it's very tempting for some people to
add unrelated changes to their patches, e.g. converting NULL to nullptr).

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson, romangg

Reviewed By: #kwin, davidedmundson, romangg

Subscribers: romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23618
2019-09-19 17:48:21 +03:00
Vlad Zahorodnii
dcf91d4321 Cleanup style in CMakeLists.txt files
We have lots of inconsistency at the moment in CMakeLists.txt files. Most
of it is due to kwin being a very old project. This change hopefully fixes
all of it.
2019-09-17 16:03:05 +03:00
Nate Graham
35f6f79dda [kcmkwin/kwindecoration] Slightly improve tab bar's integration with frame
Summary:
The QML Window Decorations KCM uses a fake tab bar with code copied from Plasma-pa, due
to the lack of a real QML tab widget (see https://bugs.kde.org/show_bug.cgi?id=394296).
As a result, we have to manufacture our own by combining a TabBar with a frame in which
the content sits, and any change made to one needs to be applied to the other as well.

The Plasma-pa version just received a minor change in D22533. This patch implements the
same change for the Window Decorations KCM so they don't look inconsistent with one
another.

Test Plan: Before-and-afters are identical to the images in D22533

Reviewers: #kwin, #vdg, filipf

Reviewed By: #vdg, filipf

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22886
2019-08-01 16:44:28 -06:00
Vlad Zagorodniy
8af2fa73dc Run clang-tidy with modernize-use-override check
Summary:
Currently code base of kwin can be viewed as two pieces. One is very
ancient, and the other one is more modern, which uses new C++ features.

The main problem with the ancient code is that it was written before
C++11 era. So, no override or final keywords, lambdas, etc.

Quite recently, KDE compiler settings were changed to show a warning if
a virtual method has missing override keyword. As you might have already
guessed, this fired back at us because of that ancient code. We had
about 500 new compiler warnings.

A "solution" was proposed to that problem - disable -Wno-suggest-override
and the other similar warning for clang. It's hard to call a solution
because those warnings are disabled not only for the old code, but also
for new. This is not what we want!

The main argument for not actually fixing the problem was that git
history will be screwed as well because of human factor. While good git
history is a very important thing, we should not go crazy about it and
block every change that somehow alters git history. git blame allows to
specify starting revision for a reason.

The other argument (human factor) can be easily solved by using tools
such as clang-tidy. clang-tidy is a clang-based linter for C++. It can
be used for various things, e.g. fixing coding style(e.g. add missing
braces to if statements, readability-braces-around-statements check),
or in our case add missing override keywords.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, apol, romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22371
2019-07-22 20:03:22 +03:00
l10n daemon script
93ab16b995 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-07-18 05:28:09 +02:00
Vlad Zagorodniy
4f76e5f6c5 Don't use deprecated QPalette::background()
Summary:
QPalette::background() is deprecated since long time ago. It is advised
to use QPalette::window() instead.

Reviewers: #kwin, apol

Reviewed By: apol

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22373
2019-07-10 22:49:40 +03:00
Vlad Zagorodniy
d0865f2163 Fix -Wredundant-move
Summary:
    /home/vlad/Workspace/KDE/src/kde/workspace/kwin/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp: In member function ‘virtual std::unique_ptr<KDecoration2::DecoratedClientPrivate> KDecoration2::Preview::PreviewBridge::createClient(KDecoration2::DecoratedClient*, KDecoration2::Decoration*)’:
    /home/vlad/Workspace/KDE/src/kde/workspace/kwin/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp:63:21: warning: redundant move in return statement [-Wredundant-move]
       63 |     return std::move(ptr);
          |            ~~~~~~~~~^~~~~
    /home/vlad/Workspace/KDE/src/kde/workspace/kwin/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp:63:21: note: remove ‘std::move’ call
    /home/vlad/Workspace/KDE/src/kde/workspace/kwin/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp: In member function ‘virtual std::unique_ptr<KDecoration2::DecorationSettingsPrivate> KDecoration2::Preview::PreviewBridge::settings(KDecoration2::DecorationSettings*)’:
    /home/vlad/Workspace/KDE/src/kde/workspace/kwin/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp:81:21: warning: redundant move in return statement [-Wredundant-move]
       81 |     return std::move(ptr);
          |            ~~~~~~~~~^~~~~

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22357
2019-07-10 00:31:28 +03:00
Vlad Zagorodniy
c7639fd7ed Port away from deprecated headers
Summary: Headers like stdio.h are deprecated in C++.

Test Plan:
Compiles.

clangd no longer spews these warnings

{F6997789, size=full}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22351
2019-07-09 23:59:07 +03:00
Bhushan Shah
4f2a8711a4 Hide some of kwin kcm on mobile
Summary:
- Window decorations, useless, since we use maximized and borderless
  windows
- Virtual Desktop, odd concept to be useful on mobile
- KWin Effects, doesn't have much of usecase on mobile

Reviewers: nicolasfella, davidedmundson

Reviewed By: davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22336
2019-07-09 12:30:59 +05:30
l10n daemon script
46106bdae0 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-07-07 05:24:04 +02:00
l10n daemon script
e9840c5ba6 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-06-25 05:20:51 +02:00
l10n daemon script
e4ba37109f SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-06-09 05:13:32 +02:00
Roman Gilg
d51b8dc093 [decorations] Let KDecoration plugins recommend a border size per default
Summary:
This is an alternative solution to T8707 and in comparision to D13276 a less
drastic change to KWin's default behavior.

Instead of changing the border size default for all KDecoration plugins by
switching the default from border size Normal to None introduce new
functionality, which allows a KDecoration plugin to recommend a border size in
its metadata. By default KWin listens for these recommendations and sets the
border size accordingly.

If there is no metadata recommending a border size, KWin falls back to the
current setting of Normal sized borders.

A user is able to override the recommendations from the KCM, which has been
extended accordingly.

Test Plan: Manually with adjusted metadata of Breeze.

Reviewers: #kwin, #plasma, #vdg, ngraham

Reviewed By: #vdg, ngraham

Subscribers: hpereiradacosta, filipf, anemeth, davidedmundson, abetts, graesslin, ngraham, zzag, kwin

Tags: #kwin

Maniphest Tasks: T8707

Differential Revision: https://phabricator.kde.org/D13284
2019-06-06 22:24:45 +02:00
l10n daemon script
c62650394f SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-05-31 05:14:47 +02:00
Antonio Rojas
94d2fea23a Move knsrc files to the new location
Instead of the old legacy /etc/xdg location

Differential Revision: https://phabricator.kde.org/D21254
2019-05-17 18:56:27 +02:00
Nate Graham
48cacae8cf [kcmkwin/kwindecoration] Refine drag-and-drop button UI
Summary:
- Reduce the fake titlebar's height so it matches the real titlebar a bit better
- Reduce background opacity while dropping button to diminish visual noise
- Increase label size
- Re-word label for greater clarity
- Remove redundant icon (the text is enough)

BUG: 407109
FIXED-IN: 5.16.0

Test Plan: {F6804068, size=full}

Reviewers: #vdg, #kwin, GB_2, davidedmundson

Reviewed By: #vdg, #kwin, GB_2, davidedmundson

Subscribers: GB_2, abetts, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D20968
2019-05-02 17:07:22 -06:00
l10n daemon script
ef3f1e57ba SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-04-12 05:58:07 +02:00
l10n daemon script
0196b6f29a SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-03-30 06:07:26 +01:00
Volker Krause
008143c9db Update URLs to use https
Summary: Largely done automatically using the tools from D19996.

Reviewers: yurchor, zzag

Reviewed By: yurchor, zzag

Subscribers: zzag, yurchor, kwin, kde-doc-english

Tags: #kwin, #documentation

Differential Revision: https://phabricator.kde.org/D20017
2019-03-25 19:26:23 +01:00
l10n daemon script
9fd4cc33b0 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-03-25 06:01:07 +01:00
l10n daemon script
e7d3099ddd SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-03-22 05:46:39 +01:00
Björn Feber
5eb28512dd Use new window decoration theme icon for the Window Decorations KCM 2019-03-15 14:18:21 +01:00
Kai Uwe Broulik
bc25e7c474 [kcmkwin/kwindecoration] Use new API to set cell size properly
Thanks to 5cfdbaa4b081a030a01477fd13c20f710fe58d4b in kdeclarative the implicitCellWidth
and implicitCellHeight of the GridView can be adjusted without hacks.

Differential Revision: https://phabricator.kde.org/D19729
2019-03-14 09:34:48 +01:00
Kai Uwe Broulik
50e74c5517 [kcmkwin/kwindecoration] Set implicit size
Ensures the KCM opens with a sane default size when opened standalone via kcmshell

Differential Revision: https://phabricator.kde.org/D19730
2019-03-14 09:34:27 +01:00
l10n daemon script
d92791af07 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-03-07 05:55:07 +01:00
Vlad Zagorodniy
82b3e2a63a Resurrect show tooltips option
Summary:
In KDE 4, there was a very handy option to disable decoration tooltips.
Decoration tooltips were lost in transition to KDE Plasma 5, and so
the option.

Given that decoration tooltips were brought back to KDE Plasma 5, "Show
decoration button tooltips" option can be still useful for people(like me)
who may wish to disable them because of personal preference.

Reviewers: #kwin, broulik, mart

Reviewed By: #kwin, mart

Subscribers: ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19152
2019-03-05 00:38:55 +02:00
l10n daemon script
d0c9f7285a SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-03-03 05:40:16 +01:00
l10n daemon script
10e0b28626 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-25 05:52:34 +01:00
l10n daemon script
40477aff2d SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-22 05:41:10 +01:00
l10n daemon script
66faa480d4 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-21 06:35:42 +01:00
l10n daemon script
66e7212a4b SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-16 05:46:17 +01:00
Nate Graham
c55568fd80 [kcmkwin/decorations] Use correct header text
Summary: The header text is supposed to be the KCM's name, not a duplicate of the tooltip text.

Test Plan: {F6615111, size=full}

Reviewers: #vdg, GB_2

Reviewed By: #vdg, GB_2

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T10273

Differential Revision: https://phabricator.kde.org/D19018
2019-02-14 10:33:54 -07:00
l10n daemon script
87917677d6 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-14 05:43:32 +01:00
l10n daemon script
beb35d8b8f SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-13 05:59:41 +01:00
Valerio Pilo
31dcf51c88 [kcmkwin/kwindecoration] Fix Get Hot New Stuff
Summary:
Found better categories for GHNS v3: looks like only Aurorae is supported?

Also refresh the themes when you close the GHNS window, in case something was downloaded.

Test Plan: Open GHNS, download new theme, close GHNS -> new theme visible

Reviewers: leinir, graesslin, #kwin, davidedmundson

Reviewed By: leinir, #kwin, davidedmundson

Subscribers: ngraham, cfeck, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18935
2019-02-12 16:21:11 +01:00
David Faure
1b316b6b69 Merge branch 'Plasma/5.15' 2019-02-12 08:56:17 +01:00
l10n daemon script
3e09342c5e SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-12 05:48:29 +01:00
Victor Ruzhykh
0cf7cca2ab Make the new Window Decoration KCM translatable
Differential Revision: https://phabricator.kde.org/D18931
2019-02-11 20:12:41 +02:00
Valerio Pilo
8350c0f2ce [kcmkwin/kwindecoration] Rewrite the KWin decorations settings as a ConfigModule
Summary:
* Wrote new KCM based on KQuickAddons::ConfigModule.
* Remade QMLs for Buttons and Themes tabs.
* Updated bridge model code for new plugin lookup API (fixes warnings).
* Fixed decoration shadow changing messing with the previews sizes.
* Fixed button drag and drop issues (see D18104).
* Fixed default settings button behavior and detection of settings changes.
* Updated Get Hot New Stuff.
* Removed apply button in previewbridge.cpp: After applying changes, a theme's KCModule is invalidated.

BUG: 389431
BUG: 350122
BUG: 346222
BUG: 342816
BUG: 397595

{F6574963} | {F6574962} | {F6574961} | {F6574960}

Test Plan:
* Verified saving and loading for every setting
* Checked shadows of Breeze and Oxygen
* Tested all possible drag&drop operations on both sides of the fake titlebar
* Changed color schemes (with `kcmshell5 colors`) while showing the Themes tab to see if all previews update correctly their palettes
* Tested on a fresh Neon-developer account, via kcmshell and systemsettings

Reviewers: #vdg, abetts, ngraham, #kwin, davidedmundson

Reviewed By: #vdg, #kwin, davidedmundson

Subscribers: zzag, GB_2, ngraham, broulik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18458
2019-02-10 13:01:04 +01:00
l10n daemon script
b7f6e57eff SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-01-14 05:39:00 +01:00
Filip Fila
81781683d3 [kcmkwin/decoration] Add ellipsis to window decoration search
Summary: This patch adds an ellipsis to the search function in Window Decorations.

Reviewers: #kwin, #vdg, #plasma, zzag, ngraham

Reviewed By: #kwin, #vdg, #plasma, zzag, ngraham

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T10258

Differential Revision: https://phabricator.kde.org/D18050
2019-01-11 17:42:09 +01:00
David Edmundson
14b827daaa [kcmkwin/kwindecoration] Fix save of theme name
Summary:
If a user saves a decoration that has a plugin but no theme we currently
delete the entry saving just the plugin/library.

This is an issue as on load we call:

    const QString plugin = config.readEntry("library", s_defaultPlugin);
    const QString theme = config.readEntry("theme", s_defaultTheme);

That would give us a non-default library with the default theme name,
which would be invalid.

If compiled with Breeze s_defaultTheme is blank so this ends up being
effectively the same thing. In the normal case it will neither break
nor fix anything.

Test Plan:
None.
Just happened to see it when doing a code review.

Reviewers: #kwin, vpilo

Reviewed By: vpilo

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18146
2019-01-10 15:30:59 +00:00
Valerio Pilo
e6c0680100 [kcmkwin/kwindecoration] Fix visuals of KCM decorations' buttons tab
Summary:
BUG: 346222
BUG: 399992
BUG: 356076
FIXED-IN: 5.15

The QML changes make the tab look and feel less awful:
* make the fake window borders stand out less
* add margins to drop area to make it easier to drop buttons on the title bar (fixing 346222)
* change cursor to a non-pointing one [1]

[1] Drag&drop: When dropping, we receive the position of the button being dropped,
not of the cursor. The two can be far (when starting drag by moving the cursor fast):
which makes the whole experience very confusing, as the user means to drop at cursor location.

Test Plan: Tested drag/drop: same (messy) behavior as before, but can now drop more loosely around titlebar items

Reviewers: #vdg, #kwin, ngraham

Reviewed By: #vdg, ngraham

Subscribers: davidedmundson, ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17982
2019-01-08 15:15:56 +01:00
Valerio Pilo
ef1692eea6 [kcmkwin/kwindecoration] Set current decoration index on start
Summary:
Fixes the preselected decoration style on module load.

Also:
* Prevent the module state to be set to modified on resize.
* Fix QML errors in logs.

Reviewers: davidedmundson

Reviewed By: davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17775
2019-01-03 15:26:46 +01:00
l10n daemon script
ba0b34c755 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-11-22 06:02:11 +01:00
l10n daemon script
892851fff3 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-11-02 06:01:53 +01:00
l10n daemon script
a5b03f74ee SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-11-01 05:58:11 +01:00
Nate Graham
9a59e3fb6c [KCMs] move GHNS buttons to the normal location
Summary:
All other KCMs have their {nav Get New [things]...} buttons in the bottom-right corner. This patch adjusts KWin's KCMs to adopt the same convention there too.

With this patch, all KCMs will have their GHNS buttons in the same location.

Closes T9954

Test Plan:
{F6375278}

{F6375277}

{F6375276}

{F6375275}

Reviewers: #kwin, #vdg, zzag

Reviewed By: #kwin, zzag

Subscribers: Codezela, kwin, kde-doc-english

Tags: #kwin, #documentation

Maniphest Tasks: T9954

Differential Revision: https://phabricator.kde.org/D16537
2018-10-31 07:29:22 -06:00
Yuri Chornoivan
bf58da3e9a Fix minor EBN issues 2018-08-29 21:02:16 +03:00
Vlad Zagorodniy
7746b3304e Merge branch 'Plasma/5.13' 2018-08-15 11:34:19 +03:00
Vlad Zagorodniy
fca9dbd011 Merge branch 'Plasma/5.12' into Plasma/5.13 2018-08-15 11:34:03 +03:00
Bo Simonsen
22d898399b [kcmkwin] Use QtQuick.Controls 2.0 for Label and TextField
Summary:
Using QtQuick.Controls for Label and TextField can result in blurry font rendering for a fractional scaling (e.g. 1,5). There is a work around for QtQuick.Controls 2.x therefore using QtQuick.Controls 2.0 for Label and TextField resolves the problem

BUG: 366451

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: ngraham, zzag, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14495
2018-08-15 11:31:00 +03:00
Alistair Francis
d7a1e33683 [kcmkwin/kwindecoration] Add missing QT include
Summary: Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14173
2018-07-26 10:04:41 -07:00
Alistair Francis
d723ce2c40 [kcmkwin/kwindecoration] Add missing QT include
Summary: Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14173
2018-07-26 10:01:41 -07:00
l10n daemon script
8dfd4c04dd SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-07-23 07:12:23 +02:00
l10n daemon script
3b3aa82f58 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-07-23 05:24:40 +02:00
l10n daemon script
3eaf1a9972 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-07-22 07:44:41 +02:00
Vlad Zagorodniy
a453925306 Fix KDeclarative::setupBindings() deprecation warnings
Reviewers: #kwin, mart

Reviewed By: #kwin, mart

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13835
2018-07-02 12:46:00 +03:00
l10n daemon script
b6f22a98a7 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-18 07:51:12 +02:00
l10n daemon script
d8addb6b3a SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-18 07:25:30 +02:00
l10n daemon script
6b0d2fc027 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-18 05:35:02 +02:00
Vlad Zagorodniy
d50f28033a [kcmkwin/kwindecoration] Properly render shadows with big tiles
Summary:
Decoration KCM module doesn't render properly shadows with big tiles.
This change tries to address that problem by clipping overlaps, similar
to the OpenGL backend.

Before

{F5734862, layout=center, size=full}

After

{F5734863, layout=center, size=full}

Test Plan:
* apply a given patch https://raw.githubusercontent.com/zzag/repo/sources/arch/breeze/refine-decoration-shadows.patch to breeze
* go to System Settings/Application Style/Window Decorations

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: abetts, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10942
2018-06-07 12:47:01 +03:00
David Edmundson
52e42df9d6 Clean up kwindecoration KCM qml code
Summary:
Remove all instances of anchors in a layout.
This is undefined behaviour (even if it happens to work) and results in
a warning in 5.11.

Resulted in some shuffling about, but generally cleaner code.

Visually looks the same

Test Plan:
Added some buttons
Dragged and dropped some buttons out of the top header
Still got my "drop here to remove button" hint with the same opacities

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12284
2018-04-18 10:57:30 +01:00
Nathaniel Graham
7cde4b1028 Make the Window Decoration themes' Configure buttons more obvious
Summary:
As documented via bug reports and online support requests, many users have difficulty learning that window decorations are customizable, because they don't notice or understand the little icon-only button in the bottom-left corner of each theme preview.

This patch centers the buttons and adds text including the theme name , making it obvious what the buttons are for.

Also, clicking on one of the buttons now automatically selects its corresponding theme, because configuring an un-selected theme doesn't make a lot of sense and could lead to user confusion once this UI is more obvious and widely-used.

BUG: 390245

Test Plan:
{F5761897}

- Clicked on the configure buttons; each one selects its parent theme and opens its configuration dialog

Reviewers: #kwin, #plasma, #vdg, cfeck, graesslin

Reviewed By: #kwin, #plasma, graesslin

Subscribers: richardbowen, zzag, kigwana, rkflx, matheusm, fabianr, abetts, Fuchs, graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D11201
2018-03-28 11:33:50 -06:00
Martin Flöser
8245a74b31 Make it possible to compile 5.12 branch with a kdecoration from master
Summary:
KDecoration has two new pure virtual methods. Due to that one cannot
build KWin in the stable branch. This makes bug fixing rather cumbersome
as one also needs to switch the kdecoration branch.

This rather unusual change for a stable branch improves the
compatibility by adding the new virtual methods without doing anything
and without marking them as override, so that the code can compile with
a kdecoration from 5.12 and a kdecoration from master.

Test Plan: 5.12 branch compiles with kdecoration master branch

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10296
2018-02-07 19:43:53 +01:00
Martin Flöser
04d8434a09 KWin: tooltips
Summary:
BUG: 383040

KDecoration part of the patch:
https://phabricator.kde.org/D7246

Reviewers: graesslin

Reviewed By: graesslin

Subscribers: cfeck, graesslin, luebking, broulik, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9294
2018-01-18 19:59:17 +01:00
l10n daemon script
be4cde23ec SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-12-20 07:06:47 +01:00
David Edmundson
1d3d4b1013 Cleanup color scheme manager part of KCM Deco code
Summary:
PreviewCient is internal to the KCM, it's not used by actual decorations
where we need API compatibility.
This property is not used by the KCM.

The current code parses every color scheme config file for every
decoration. This is one of the big contributing factors to this KCM
being a bit sluggish.

It was effectively deprecated in 2015 when a decoration palette was
introduced. If we wanted to add colorscheme functionality in the KCM,
we'd use that instead at a previewclient level.

Test Plan:
Found this was a problem with hotspot
Grepped code for usage
Ran KCM

Reviewers: #plasma

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9239
2017-12-09 00:16:13 +00:00
l10n daemon script
b1aa4e84ef SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-10-16 05:07:40 +02:00
l10n daemon script
5a7d6d3df9 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-08-28 04:30:46 +02:00
l10n daemon script
e3024908f5 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-06-10 04:29:59 +02:00
David Edmundson
55f2e72ce7 Merge branch 'Plasma/5.8' into Plasma/5.9 2017-04-13 11:55:52 +01:00
David Edmundson
f5a43877a9 Sort the themes in decoration KCM
Summary:
Even though we're using a QSortFilterProxy model, by default it doesn't
actually sort anything until instructed to.

This patch turns sorting on.

Test Plan:
Opened the KCM
Looked at it

Reviewers: #plasma, mart

Reviewed By: mart

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5407
2017-04-13 11:54:44 +01:00
David Edmundson
3709996f8a Fix KWin decoration KCM showing correct index at startup
Summary:
The KCM has a context property of the currently set theme index. This is
set before the decorations model is populated, so it is currently always
-1.

This model is populated after the constructor but before
KCModule::load().

KCModule::load is called from KCModule::showEvent so before
QQuickGridView will start doing anything with delegates.

This fixes the problem simply and also avoid parsing the config file
multiple times.

This bug was introduced in 5.9.4:

Someone made a (tested) change to make sure the view scrolled to the
right place on startup.
I then made a (tested) commit fixing the crash on exit
The author then updated his patch to my changes, but now in a way that
didn't work.

Test Plan:
Opened system settings module with a million decorations.
The correct entry was visible and highlighted.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5401
2017-04-13 11:54:39 +01:00
Vladyslav Tronko
1bfe1164f4 Fix crash on dragging titlebar buttons in System Settings
Summary:
Currently, if user tries to move one of buttons to the left, ending up
dragging one button onto another, crash occurs.

In addition, this patch replaces verbose replacement(remove/insert) with
more elegant QVector<T>::move(int, int)

BUG: 374153
FIXED-IN: 5.8.7

Reviewers: graesslin, #kwin

Reviewed By: graesslin, #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5117
2017-04-12 18:16:52 +01:00
Anthony Fieroni
c3362fe866 [kcm_kwindecoration] Respect theme colors in buttons
https://phabricator.kde.org/D5116

Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
2017-04-12 18:16:41 +01:00
l10n daemon script
26ca314687 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-03-25 06:02:34 +01:00
Vladyslav Tronko
c947e0a601 Fix crash on dragging titlebar buttons in System Settings
Summary:
Currently, if user tries to move one of buttons to the left, ending up
dragging one button onto another, crash occurs.

In addition, this patch replaces verbose replacement(remove/insert) with
more elegant QVector<T>::move(int, int)

BUG: 374153
FIXED-IN: 5.8.7

Reviewers: graesslin, #kwin

Reviewed By: graesslin, #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5117
2017-03-24 17:04:09 +01:00
l10n daemon script
8725f2441e SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-03-22 05:17:38 +01:00
Anthony Fieroni
f0b3be5844 [kcm_kwindecoration] Respect theme colors in buttons
https://phabricator.kde.org/D5116

Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
2017-03-21 20:56:25 +02:00
Marco Martin
6673f713bb move the view at the correct index at startup
Summary:
using the same trick as elsewhere, set the currentIndex
and move the view to currentIndex right at startup
the only way to be sure is onContentHeightChanged
as there are no signals for when "the view has been
populated and settled up"

Test Plan:
the view is at the right state since the first frame shown,
no more jumping around effect

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D4703
2017-02-24 15:52:00 +01:00
Marco Martin
892f398b10 move the view at the correct index at startup
Summary:
using the same trick as elsewhere, set the currentIndex
and move the view to currentIndex right at startup
the only way to be sure is onContentHeightChanged
as there are no signals for when "the view has been
populated and settled up"

Test Plan:
the view is at the right state since the first frame shown,
no more jumping around effect

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D4703
2017-02-24 15:51:53 +01:00
l10n daemon script
bb4005ec50 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2017-02-23 08:18:46 +01:00
David Edmundson
70d2fb2378 Avoid a crash on Kwin decoration KCM teardown
Summary:
As described in https://bugreports.qt.io/browse/QTBUG-57714  exposing a
QWidget as a context item to QtQuick can crash. Especially as the
engine's context property gets deleted whilst deleting the parent item.

This patch reworks the code so that the models are exposed to QML
directly rather than going through a QWidget.

CCBUG: 373628

Test Plan:
Pressing back whilst in the decoration KCM used to crash every time, now it doesn't.
I still have the buttons.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, cfeck, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D4533
2017-02-10 14:01:09 +01:00
David Edmundson
29179f115c Avoid a crash on Kwin decoration KCM teardown
Summary:
As described in https://bugreports.qt.io/browse/QTBUG-57714  exposing a
QWidget as a context item to QtQuick can crash. Especially as the
engine's context property gets deleted whilst deleting the parent item.

This patch reworks the code so that the models are exposed to QML
directly rather than going through a QWidget.

CCBUG: 373628

Test Plan:
Pressing back whilst in the decoration KCM used to crash every time, now it doesn't.
I still have the buttons.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, cfeck, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D4533
2017-02-10 10:52:48 +01:00
Kai Uwe Broulik
93938d60b8 Restore global menu support
This brings back global menu support in KWin.
The DBusMenu infrastructure is different that we just read the DBus service name and
menu object path from the windows rather than passing around window IDs on DBus which
won't work on Wayland.

Differential Revision: https://phabricator.kde.org/D3089
2017-01-11 10:21:03 +01:00
l10n daemon script
13d389efd1 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2016-12-20 13:30:44 +01:00
l10n daemon script
818ed8f4ad SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2016-12-13 05:42:59 +01:00
l10n daemon script
c855555903 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2016-12-13 04:11:59 +01:00
David Edmundson
d0e0f6c88c Align configure button consistently across delegates
Summary:
Currently the configure button is aligned to the win decoration in the
background. This is bound to 40 - the inactive decorations shadow.

This means the configure button ends up in different places across each
item,
looking a bit weird and potentially not even on top of the right
delegate.

This patch aligns the configure button relative to the overall delegate
so that it's in the same place on every item

Test Plan: Looked at KCM

Reviewers: #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

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

BUG: 372685
2016-11-28 09:24:55 +00:00
l10n daemon script
1f76c005e9 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2016-09-24 12:33:32 +00:00
andreas kainz
c08d26b644 grid layout for windowdecoration KCM
RR 128819
2016-09-06 16:22:56 +02:00
l10n daemon script
7e77a49757 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2016-09-01 10:04:17 +00:00
l10n daemon script
56e3b5b116 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2016-08-29 09:19:15 +00:00