2020-08-02 22:22:19 +00:00
/*
KWin - the KDE window manager
This file is part of the KDE project .
2014-01-17 12:46:04 +00:00
2020-08-02 22:22:19 +00:00
SPDX - FileCopyrightText : 2014 Martin Gräßlin < mgraesslin @ kde . org >
2014-01-17 12:46:04 +00:00
2020-08-02 22:22:19 +00:00
SPDX - License - Identifier : GPL - 2.0 - or - later
*/
2014-01-17 12:46:04 +00:00
# include "effect_builtins.h"
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-01-17 12:46:04 +00:00
// common effects
# include "backgroundcontrast/contrast.h"
# include "blur/blur.h"
2016-11-24 07:07:51 +00:00
# include "colorpicker/colorpicker.h"
2014-01-17 12:46:04 +00:00
# include "kscreen/kscreen.h"
# include "presentwindows/presentwindows.h"
# include "screenedge/screenedgeeffect.h"
# include "screenshot/screenshot.h"
# include "slidingpopups/slidingpopups.h"
// Common effects only relevant to desktop
# include "desktopgrid/desktopgrid.h"
# include "diminactive/diminactive.h"
# include "fallapart/fallapart.h"
# include "highlightwindow/highlightwindow.h"
# include "magiclamp/magiclamp.h"
# include "resize/resize.h"
# include "showfps/showfps.h"
# include "showpaint/showpaint.h"
# include "slide/slide.h"
# include "slideback/slideback.h"
# include "thumbnailaside/thumbnailaside.h"
2016-08-16 18:16:41 +00:00
# include "touchpoints/touchpoints.h"
2014-01-17 12:46:04 +00:00
# include "windowgeometry/windowgeometry.h"
# include "zoom/zoom.h"
// OpenGL-specific effects for desktop
# include "coverswitch/coverswitch.h"
# include "cube/cube.h"
2018-09-24 06:36:11 +00:00
# include "cubeslide/cubeslide.h"
2014-01-17 12:46:04 +00:00
# include "flipswitch/flipswitch.h"
# include "glide/glide.h"
# include "invert/invert.h"
# include "lookingglass/lookingglass.h"
# include "magnifier/magnifier.h"
# include "mouseclick/mouseclick.h"
# include "mousemark/mousemark.h"
# include "sheet/sheet.h"
# include "snaphelper/snaphelper.h"
# include "startupfeedback/startupfeedback.h"
# include "trackmouse/trackmouse.h"
# include "wobblywindows/wobblywindows.h"
2015-01-28 08:46:31 +00:00
# endif
# include <KLocalizedString>
# include <kwineffects.h>
# ifndef EFFECT_BUILTINS
2020-09-30 11:44:07 +00:00
# define EFFECT_FALLBACK nullptr, nullptr, nullptr,
2015-01-28 08:46:31 +00:00
# else
# define EFFECT_FALLBACK
# endif
2014-01-17 12:46:04 +00:00
namespace KWin
{
2014-04-03 08:43:23 +00:00
namespace BuiltInEffects
{
2014-01-17 12:46:04 +00:00
template < class T >
inline Effect * createHelper ( )
{
return new T ( ) ;
}
2018-08-30 11:01:43 +00:00
static const QVector < EffectData > & effectData ( )
{
static const QVector < EffectData > s_effectData = {
2014-04-03 08:43:23 +00:00
{
QString ( ) ,
2014-04-03 14:20:26 +00:00
QString ( ) ,
QString ( ) ,
QString ( ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
nullptr ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " blur " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Blur " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Blurs the background behind semi-transparent windows " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < BlurEffect > ,
& BlurEffect : : supported ,
2020-09-30 11:44:07 +00:00
& BlurEffect : : enabledByDefault ,
2015-01-28 08:46:31 +00:00
# endif
2016-11-24 07:07:51 +00:00
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_blur_config " )
2016-11-24 07:07:51 +00:00
} , {
QStringLiteral ( " colorpicker " ) ,
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Color Picker " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Supports picking a color " ) ,
QStringLiteral ( " Accessibility " ) ,
QString ( ) ,
QUrl ( ) ,
true ,
true ,
# ifdef EFFECT_BUILTINS
& createHelper < ColorPickerEffect > ,
& ColorPickerEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2016-11-24 07:07:51 +00:00
# endif
2015-01-28 08:46:31 +00:00
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " contrast " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Background contrast " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Improve contrast and readability behind semi-transparent windows " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ContrastEffect > ,
& ContrastEffect : : supported ,
2020-09-30 11:44:07 +00:00
& ContrastEffect : : enabledByDefault ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " coverswitch " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Cover Switch " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Display a Cover Flow effect for the alt+tab window switcher " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Window Management " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/cover_switch.mp4 " ) ) ,
2014-04-03 08:43:23 +00:00
false ,
2014-04-03 14:20:26 +00:00
true ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < CoverSwitchEffect > ,
& CoverSwitchEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_coverswitch_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " cube " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Desktop Cube " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Display each virtual desktop on a side of a cube " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Window Management " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/desktop_cube.ogv " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < CubeEffect > ,
& CubeEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_cube_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " cubeslide " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Desktop Cube Animation " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Animate desktop switching with a cube " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Virtual Desktop Switching Animation " ) ,
QStringLiteral ( " desktop-animations " ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/desktop_cube_animation.ogv " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < CubeSlideEffect > ,
& CubeSlideEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_cubeslide_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " desktopgrid " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Desktop Grid " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Zoom out so all desktops are displayed side-by-side in a grid " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Window Management " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/desktop_grid.mp4 " ) ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < DesktopGridEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_desktopgrid_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " diminactive " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Dim Inactive " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Darken inactive windows " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Focus " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/dim_inactive.mp4 " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < DimInactiveEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_diminactive_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " fallapart " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Fall Apart " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Closed windows fall into pieces " ) ,
Remove the "Candy" category and fold its contents into "Appearance"
Summary:
The "Candy" category suffers from some problems:
- It does not need to exist; everything in it is purely appearance-related and could live in the existing "Appearance" category
- The name is inappropriate; "Eye Candy" would be better, but changing it to this has proven controversial in the past
Let's just remove the category and move everything in it into the "Appearance" category.
Test Plan:
Apply and compile
Open Desktop Effects KCM
See that the "Candy" category is no more and the "Appearance" category has more stuff in it
Reviewers: #kwin, #vdg, zzag, abetts
Reviewed By: #kwin, #vdg, zzag, abetts
Subscribers: abetts, zzag, kwin, kde-doc-english, GB_2
Tags: #kwin, #documentation
Differential Revision: https://phabricator.kde.org/D27658
2020-02-25 16:53:27 +00:00
QStringLiteral ( " Appearance " ) ,
2014-04-03 14:20:26 +00:00
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < FallApartEffect > ,
& FallApartEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " flipswitch " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Flip Switch " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Flip through windows that are in a stack for the alt+tab window switcher " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Window Management " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/flip_switch.mp4 " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < FlipSwitchEffect > ,
& FlipSwitchEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_flipswitch_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " glide " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Glide " ) ,
2018-07-29 15:12:04 +00:00
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Glide windows as they appear or disappear " ) ,
[effects] Move Fade, Glide, and Scale effect into exclusive group
Summary:
Fade, glide, and scale effect are mutually exclusive effects so they have
to be put into an exclusive group in the desktop effects kcm.
Test Plan: {F6418669}
Reviewers: #kwin, #plasma, #vdg, ngraham, graesslin
Reviewed By: #kwin, #plasma, #vdg, ngraham, graesslin
Subscribers: kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D16858
2018-11-12 19:25:05 +00:00
QStringLiteral ( " Window Open/Close Animation " ) ,
QStringLiteral ( " toplevel-open-close-animation " ) ,
2014-04-03 14:20:26 +00:00
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < GlideEffect > ,
& GlideEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_glide_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " highlightwindow " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Highlight Window " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Highlight the appropriate window when hovering over taskbar entries " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
true ,
2014-04-03 08:43:23 +00:00
true ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < HighlightWindowEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " invert " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Invert " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Inverts the color of the desktop and windows " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/invert.mp4 " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < InvertEffect > ,
& InvertEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_invert_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " kscreen " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Kscreen " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Helper Effect for KScreen " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
true ,
2014-04-03 08:43:23 +00:00
true ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < KscreenEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " lookingglass " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Looking Glass " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " A screen magnifier that looks like a fisheye lens " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QStringLiteral ( " magnifiers " ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/looking_glass.ogv " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < LookingGlassEffect > ,
& LookingGlassEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_lookingglass_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " magiclamp " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Magic Lamp " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Simulate a magic lamp when minimizing windows " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QStringLiteral ( " minimize " ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/magic_lamp.ogv " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < MagicLampEffect > ,
& MagicLampEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_magiclamp_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " magnifier " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Magnifier " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Magnify the section of the screen that is near the mouse cursor " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QStringLiteral ( " magnifiers " ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/magnifier.ogv " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < MagnifierEffect > ,
& MagnifierEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_magnifier_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " mouseclick " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Mouse Click Animation " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Creates an animation whenever a mouse button is clicked. This is useful for screenrecordings/presentations " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/mouse_click.mp4 " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < MouseClickEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_mouseclick_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " mousemark " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Mouse Mark " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Allows you to draw lines on the desktop " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < MouseMarkEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_mousemark_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " presentwindows " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Present Windows " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Zoom out until all opened windows can be displayed side-by-side " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Window Management " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/present_windows.mp4 " ) ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < PresentWindowsEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_presentwindows_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " resize " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Resize Window " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Resizes windows with a fast texture scale instead of updating contents " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Window Management " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ResizeEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_resize_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " screenedge " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Screen Edge " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Highlights a screen edge when approaching " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ScreenEdgeEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " screenshot " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Screenshot " ) ,
2019-06-10 14:40:45 +00:00
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Helper effect for screenshot tools " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
true ,
2014-04-03 08:43:23 +00:00
true ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ScreenShotEffect > ,
& ScreenShotEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " sheet " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Sheet " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Make modal dialogs smoothly fly in and out when they are shown or hidden " ) ,
Remove the "Candy" category and fold its contents into "Appearance"
Summary:
The "Candy" category suffers from some problems:
- It does not need to exist; everything in it is purely appearance-related and could live in the existing "Appearance" category
- The name is inappropriate; "Eye Candy" would be better, but changing it to this has proven controversial in the past
Let's just remove the category and move everything in it into the "Appearance" category.
Test Plan:
Apply and compile
Open Desktop Effects KCM
See that the "Candy" category is no more and the "Appearance" category has more stuff in it
Reviewers: #kwin, #vdg, zzag, abetts
Reviewed By: #kwin, #vdg, zzag, abetts
Subscribers: abetts, zzag, kwin, kde-doc-english, GB_2
Tags: #kwin, #documentation
Differential Revision: https://phabricator.kde.org/D27658
2020-02-25 16:53:27 +00:00
QStringLiteral ( " Appearance " ) ,
2014-04-03 14:20:26 +00:00
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < SheetEffect > ,
& SheetEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " showfps " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Show FPS " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Display KWin's performance in the corner of the screen " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Tools " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ShowFpsEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_showfps_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " showpaint " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Show Paint " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Highlight areas of the desktop that have been recently updated " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Tools " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ShowPaintEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_showpaint_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " slide " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Slide " ) ,
[effects] replace old slide effect with a new one
Summary:
The new slide effect tries to separate each virtual desktop
as much as possible. This separation makes the new slide
effect more intuitive than the old one.
Test Plan:
* switch between virtual desktops
* or, move a window to another virtual desktop
Reviewers: #vdg, #kwin, #plasma, graesslin, ngraham
Reviewed By: #kwin, #plasma, graesslin
Subscribers: mart, graesslin, abetts, ngraham, plasma-devel, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D9638
2018-02-14 21:36:47 +00:00
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Slide desktops when switching virtual desktops " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Virtual Desktop Switching Animation " ) ,
QStringLiteral ( " desktop-animations " ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/slide.ogv " ) ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < SlideEffect > ,
2017-11-23 09:34:06 +00:00
& SlideEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_slide_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " slideback " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Slide Back " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Slide back windows when another window is raised " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Focus " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < SlideBackEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " slidingpopups " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Sliding popups " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Sliding animation for Plasma popups " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/sliding_popups.mp4 " ) ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < SlidingPopupsEffect > ,
2017-11-23 09:34:06 +00:00
& SlidingPopupsEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " snaphelper " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Snap Helper " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Help you locate the center of the screen when moving a window " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/snap_helper.mp4 " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < SnapHelperEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " startupfeedback " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Startup Feedback " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Helper effect for startup feedback " ) ,
Remove the "Candy" category and fold its contents into "Appearance"
Summary:
The "Candy" category suffers from some problems:
- It does not need to exist; everything in it is purely appearance-related and could live in the existing "Appearance" category
- The name is inappropriate; "Eye Candy" would be better, but changing it to this has proven controversial in the past
Let's just remove the category and move everything in it into the "Appearance" category.
Test Plan:
Apply and compile
Open Desktop Effects KCM
See that the "Candy" category is no more and the "Appearance" category has more stuff in it
Reviewers: #kwin, #vdg, zzag, abetts
Reviewed By: #kwin, #vdg, zzag, abetts
Subscribers: abetts, zzag, kwin, kde-doc-english, GB_2
Tags: #kwin, #documentation
Differential Revision: https://phabricator.kde.org/D27658
2020-02-25 16:53:27 +00:00
QStringLiteral ( " Appearance " ) ,
2014-04-03 14:20:26 +00:00
QString ( ) ,
QUrl ( ) ,
true ,
2014-04-03 08:43:23 +00:00
true ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < StartupFeedbackEffect > ,
& StartupFeedbackEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " thumbnailaside " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Thumbnail Aside " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Display window thumbnails on the edge of the screen " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ThumbnailAsideEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
2016-08-16 18:16:41 +00:00
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_thumbnailaside_config " )
2016-08-16 18:16:41 +00:00
} , {
QStringLiteral ( " touchpoints " ) ,
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Touch Points " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Visualize touch points " ) ,
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
false ,
false ,
# ifdef EFFECT_BUILTINS
& createHelper < TouchPointsEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2016-08-16 18:16:41 +00:00
# endif
2015-01-28 08:46:31 +00:00
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QString ( )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " trackmouse " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Track Mouse " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Display a mouse cursor locating effect when activated " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/track_mouse.mp4 " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < TrackMouseEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_trackmouse_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " windowgeometry " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Window Geometry " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Display window geometries on move/resize " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Appearance " ) ,
QString ( ) ,
QUrl ( ) ,
2014-04-03 08:43:23 +00:00
false ,
2014-04-03 14:20:26 +00:00
true ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < WindowGeometry > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_windowgeometry_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " wobblywindows " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Wobbly Windows " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Deform windows while they are moving " ) ,
Remove the "Candy" category and fold its contents into "Appearance"
Summary:
The "Candy" category suffers from some problems:
- It does not need to exist; everything in it is purely appearance-related and could live in the existing "Appearance" category
- The name is inappropriate; "Eye Candy" would be better, but changing it to this has proven controversial in the past
Let's just remove the category and move everything in it into the "Appearance" category.
Test Plan:
Apply and compile
Open Desktop Effects KCM
See that the "Candy" category is no more and the "Appearance" category has more stuff in it
Reviewers: #kwin, #vdg, zzag, abetts
Reviewed By: #kwin, #vdg, zzag, abetts
Subscribers: abetts, zzag, kwin, kde-doc-english, GB_2
Tags: #kwin, #documentation
Differential Revision: https://phabricator.kde.org/D27658
2020-02-25 16:53:27 +00:00
QStringLiteral ( " Appearance " ) ,
2014-04-03 14:20:26 +00:00
QString ( ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/wobbly_windows.ogv " ) ) ,
2014-04-03 14:20:26 +00:00
false ,
2014-04-03 08:43:23 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < WobblyWindowsEffect > ,
& WobblyWindowsEffect : : supported ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_wobblywindows_config " )
2014-04-03 08:43:23 +00:00
} , {
QStringLiteral ( " zoom " ) ,
2015-01-28 08:46:31 +00:00
i18ndc ( " kwin_effects " , " Name of a KWin Effect " , " Zoom " ) ,
i18ndc ( " kwin_effects " , " Comment describing the KWin Effect " , " Magnify the entire desktop " ) ,
2014-04-03 14:20:26 +00:00
QStringLiteral ( " Accessibility " ) ,
QStringLiteral ( " magnifiers " ) ,
2019-03-25 18:11:15 +00:00
QUrl ( QStringLiteral ( " https://files.kde.org/plasma/kwin/effect-videos/zoom.ogv " ) ) ,
2014-04-03 08:43:23 +00:00
true ,
2014-04-03 14:20:26 +00:00
false ,
2015-01-28 08:46:31 +00:00
# ifdef EFFECT_BUILTINS
2014-04-03 08:43:23 +00:00
& createHelper < ZoomEffect > ,
nullptr ,
2020-09-30 11:44:07 +00:00
nullptr ,
2015-01-28 08:46:31 +00:00
# endif
EFFECT_FALLBACK
2020-09-30 11:44:07 +00:00
QStringLiteral ( " kwin_zoom_config " )
2014-04-03 08:43:23 +00:00
}
2018-08-30 11:01:43 +00:00
} ;
return s_effectData ;
}
2014-01-17 12:46:04 +00:00
2014-04-03 08:43:23 +00:00
static inline int index ( BuiltInEffect effect )
2014-01-17 12:46:04 +00:00
{
2014-04-03 08:43:23 +00:00
return static_cast < int > ( effect ) ;
2014-03-21 10:40:16 +00:00
}
2014-04-03 08:43:23 +00:00
Effect * create ( BuiltInEffect effect )
2014-03-21 10:40:16 +00:00
{
2018-06-18 12:25:58 +00:00
const EffectData & data = effectData ( effect ) ;
if ( data . createFunction = = nullptr ) {
2014-01-17 12:46:04 +00:00
return nullptr ;
}
2018-06-18 12:25:58 +00:00
return data . createFunction ( ) ;
2014-01-17 12:46:04 +00:00
}
2014-04-03 08:43:23 +00:00
bool available ( const QString & name )
2014-01-17 12:46:04 +00:00
{
2018-08-30 11:01:43 +00:00
auto it = std : : find_if ( effectData ( ) . begin ( ) , effectData ( ) . end ( ) ,
2014-04-03 08:43:23 +00:00
[ name ] ( const EffectData & data ) {
return data . name = = name ;
}
) ;
2018-08-30 11:01:43 +00:00
return it ! = effectData ( ) . end ( ) ;
2014-01-17 12:46:04 +00:00
}
2014-04-03 08:43:23 +00:00
bool supported ( BuiltInEffect effect )
2014-03-21 10:40:16 +00:00
{
if ( effect = = BuiltInEffect : : Invalid ) {
return false ;
}
2018-06-18 12:25:58 +00:00
const EffectData & data = effectData ( effect ) ;
if ( data . supportedFunction = = nullptr ) {
2014-04-03 08:43:23 +00:00
return true ;
2014-01-17 12:46:04 +00:00
}
2018-06-18 12:25:58 +00:00
return data . supportedFunction ( ) ;
2014-01-17 12:46:04 +00:00
}
2014-04-03 08:43:23 +00:00
bool checkEnabledByDefault ( BuiltInEffect effect )
2014-03-21 11:09:13 +00:00
{
2014-04-03 08:43:23 +00:00
if ( effect = = BuiltInEffect : : Invalid ) {
return false ;
2014-03-21 11:09:13 +00:00
}
2018-06-18 12:25:58 +00:00
const EffectData & data = effectData ( effect ) ;
if ( data . enabledFunction = = nullptr ) {
2014-04-03 08:43:23 +00:00
return true ;
2014-03-21 10:40:16 +00:00
}
2018-06-18 12:25:58 +00:00
return data . enabledFunction ( ) ;
2014-03-21 10:40:16 +00:00
}
2014-03-21 11:09:13 +00:00
bool enabledByDefault ( BuiltInEffect effect )
{
2018-06-18 12:25:58 +00:00
return effectData ( effect ) . enabled ;
2014-03-21 11:09:13 +00:00
}
2014-04-03 08:43:23 +00:00
QStringList availableEffectNames ( )
2014-03-21 10:40:16 +00:00
{
2014-04-03 08:43:23 +00:00
QStringList result ;
2018-08-30 11:01:43 +00:00
for ( const EffectData & data : effectData ( ) ) {
2014-04-03 08:43:23 +00:00
if ( data . name . isEmpty ( ) ) {
continue ;
}
result < < data . name ;
}
return result ;
2014-03-21 10:40:16 +00:00
}
QList < BuiltInEffect > availableEffects ( )
{
2014-04-03 08:43:23 +00:00
QList < BuiltInEffect > result ;
for ( int i = index ( BuiltInEffect : : Invalid ) + 1 ; i < = index ( BuiltInEffect : : Zoom ) ; + + i ) {
result < < BuiltInEffect ( i ) ;
}
return result ;
2014-03-21 10:40:16 +00:00
}
2014-04-03 08:43:23 +00:00
BuiltInEffect builtInForName ( const QString & name )
2014-03-21 10:40:16 +00:00
{
2018-08-30 11:01:43 +00:00
auto it = std : : find_if ( effectData ( ) . begin ( ) , effectData ( ) . end ( ) ,
2014-04-03 08:43:23 +00:00
[ name ] ( const EffectData & data ) {
return data . name = = name ;
}
) ;
2018-08-30 11:01:43 +00:00
if ( it = = effectData ( ) . end ( ) ) {
2014-04-03 08:43:23 +00:00
return BuiltInEffect : : Invalid ;
}
2018-08-30 11:01:43 +00:00
return BuiltInEffect ( std : : distance ( effectData ( ) . begin ( ) , it ) ) ;
2014-03-21 10:40:16 +00:00
}
2014-04-03 08:43:23 +00:00
QString nameForEffect ( BuiltInEffect effect )
2014-03-21 10:40:16 +00:00
{
2018-06-18 12:25:58 +00:00
return effectData ( effect ) . name ;
2014-03-21 10:40:16 +00:00
}
2014-04-03 14:20:26 +00:00
const EffectData & effectData ( BuiltInEffect effect )
{
2018-08-30 11:01:43 +00:00
return effectData ( ) . at ( index ( effect ) ) ;
2014-04-03 14:20:26 +00:00
}
2014-01-17 12:46:04 +00:00
} // BuiltInEffects
} // namespace