Commit graph

10 commits

Author SHA1 Message Date
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
Vlad Zagorodniy
7b20e1f66f Overhaul doxygen comments
Summary:
We have a mix of different doxygen comment styles, e.g.

    /*!
      Foo bar.
     */

    /**
     * Foo bar.
     */

    /** Foo bar.
     */

    /**
     * Foo bar.
     */

    /**
     * Foo bar.
     **/

To make the code more consistent, this change updates the style of all
doxygen comments to the last one.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18683
2019-02-12 19:29:33 +02:00
Kai Uwe Broulik
13045bb5d7 [KWin Scripts KCM] Restore "import" option
Port it to KPackage installJob and improve usability slightly.

Differential Revision: https://phabricator.kde.org/D5318
2017-04-26 17:11:34 +02:00
Kai Uwe Broulik
17482609a1 [Scripts KCM] Use GHNS Button instead of creating a look-alike button
In the future the GHNS button might hide itself based on KIOSK restrictions.
Using the GHNS Button will ensure we don't need to manually do this here.

Differential Revision: https://phabricator.kde.org/D3647
2016-12-13 08:26:15 +01:00
Aleix Pol
c72e519d9c Remove KDE/ prefix in include directories
It's unneeded and deprecated since KF5.
2014-03-17 16:24:10 +01:00
Martin Gräßlin
6ada27e294 [kwinscripts] slots -> Q_SLOTS 2013-09-30 11:14:05 +02:00
Martin Gräßlin
533d57da60 Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
Martin Gräßlin
ecb94fb98c Get Hot New Stuff support for KWin Scripts
Button currently not yet shown as the category on kde-look is
still missing. This means the code is also completely untested.

REVIEW: 104877
CCBUG: 296774
2012-05-17 11:17:48 +02:00
Martin Gräßlin
75b17d6c08 Scripting KCM supporting Plasma Package structure
List view is replaced by KPluginSelector. This is not an optimal
solution as it makes it impossible to get the selected item and
reloading seems also not to work after a new script is installed.

This should become a proper Model based view.
2012-02-18 10:40:39 +01:00
Martin Gräßlin
572cd64af5 Import of a KCM for KWin scripts
This KCM has been implemented by Tamas Krutk in the scope of
Google Code-In.

It is a simple KCM just listing all available scripts and allowing
to import/export them.

This will be further extended alongside the planned scripting changes
in 4.9.
2011-12-21 07:28:51 +01:00