2017-01-03 01:05:30 +03:00
/*
* Copyright 2016 Smith AR < audoban @ openmailbox . org >
* Michail Vourlakos < mvourlakos @ gmail . com >
*
* This file is part of Latte - Dock
*
* Latte - Dock is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation ; either version 2 of
* the License , or ( at your option ) any later version .
*
* Latte - Dock is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2018-12-07 19:44:09 +03:00
# ifndef TYPES_H
# define TYPES_H
2016-12-25 22:28:00 +03:00
2018-12-02 03:05:52 +03:00
// Qt
2016-12-25 22:28:00 +03:00
# include <QObject>
# include <QMetaEnum>
# include <QMetaType>
namespace Latte {
2018-12-07 19:44:09 +03:00
class Types
2018-07-03 22:15:45 +03:00
{
2016-12-25 22:28:00 +03:00
Q_GADGET
2017-01-16 22:07:49 +03:00
2016-12-25 22:28:00 +03:00
public :
2018-12-07 19:44:09 +03:00
Types ( ) = delete ;
~ Types ( ) { }
2017-01-16 22:07:49 +03:00
2019-02-11 17:49:10 +03:00
enum ViewType
{
DockView = 0 ,
PanelView
} ;
Q_ENUM ( ViewType ) ;
2019-02-23 15:11:31 +03:00
2018-07-03 22:15:45 +03:00
enum Visibility
{
2017-01-02 09:04:10 +03:00
None = - 1 ,
2016-12-25 22:28:00 +03:00
AlwaysVisible = 0 ,
AutoHide ,
DodgeActive ,
DodgeMaximized ,
2017-04-09 21:42:39 +03:00
DodgeAllWindows ,
WindowsGoBelow
2016-12-25 22:28:00 +03:00
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( Visibility ) ;
2017-01-16 22:07:49 +03:00
2018-07-03 22:15:45 +03:00
enum Alignment
{
2016-12-25 22:28:00 +03:00
Center = 0 ,
Left ,
Right ,
Top ,
Bottom ,
2017-01-04 19:57:41 +03:00
Justify = 10
2016-12-25 22:28:00 +03:00
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( Alignment ) ;
2017-01-16 22:07:49 +03:00
2018-07-03 22:15:45 +03:00
enum SessionType
{
2017-03-10 23:41:13 +03:00
DefaultSession = 0 ,
2017-03-11 02:45:31 +03:00
AlternativeSession
2017-03-10 23:41:13 +03:00
} ;
Q_ENUM ( SessionType )
2018-07-03 22:15:45 +03:00
enum Modifier
{
2017-03-16 22:44:16 +03:00
Shift = 0 ,
Ctrl ,
Alt ,
Meta
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( Modifier ) ;
2017-03-16 22:44:16 +03:00
2018-07-03 22:15:45 +03:00
enum ClickAction
{
2017-03-16 22:44:16 +03:00
LeftClick = 0 ,
MiddleClick ,
RightClick
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( ClickAction ) ;
2017-05-09 17:55:50 +03:00
2018-07-03 22:15:45 +03:00
enum TaskAction
{
2017-05-09 17:55:50 +03:00
NoneAction = 0 ,
Close ,
NewInstance ,
ToggleMinimized ,
2017-06-10 16:28:41 +03:00
CycleThroughTasks ,
2019-01-19 17:30:44 +03:00
ToggleGrouping ,
PresentWindows ,
PreviewWindows ,
HighlightWindows ,
PreviewAndHighlightWindows
2017-05-09 17:55:50 +03:00
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( TaskAction ) ;
2017-05-20 00:02:24 +03:00
2019-02-10 17:18:51 +03:00
enum IndicatorStyle
{
LatteIndicator = 0 ,
PlasmaIndicator ,
UnityIndicator
} ;
Q_ENUM ( IndicatorStyle ) ;
2018-07-03 22:15:45 +03:00
enum ActiveIndicatorType
{
2017-11-18 14:59:58 +03:00
LineIndicator = 0 ,
DotIndicator = 1
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( ActiveIndicatorType ) ;
2017-11-18 14:59:58 +03:00
2018-07-03 22:15:45 +03:00
enum LaunchersGroup
{
2017-07-24 19:16:49 +03:00
UniqueLaunchers = 0 ,
2017-07-24 17:56:07 +03:00
LayoutLaunchers = 1 ,
GlobalLaunchers = 2
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( LaunchersGroup ) ;
2017-11-18 12:06:51 +03:00
2018-07-03 22:15:45 +03:00
enum GlowGroup
{
2018-12-28 21:05:36 +03:00
GlowNone = - 1 ,
2017-11-18 12:06:51 +03:00
GlowOnlyOnActive = 0 ,
GlowAll = 1
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( GlowGroup ) ;
2018-01-12 21:11:20 +03:00
2018-12-31 22:23:26 +03:00
enum ShadowGroup
{
NoneAppletShadow = 0 ,
LockedAppletsShadow , /* DEPRECATED, apply shadow only to locked applets */
AllAppletsShadow
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( ShadowGroup ) ;
2018-12-31 22:23:26 +03:00
enum ShadowColorGroup
{
DefaultColorShadow = 0 ,
ThemeColorShadow ,
UserColorShadow
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( ShadowColorGroup ) ;
2018-12-31 22:23:26 +03:00
2019-02-09 16:43:12 +03:00
enum ThemeColorsGroup
{
PlasmaThemeColors = 0 ,
ReverseThemeColors ,
SmartThemeColors
} ;
Q_ENUM ( ThemeColorsGroup ) ;
enum WindowColorsGroup
{
NoneWindowColors = 0 ,
ActiveWindowColors ,
TouchingWindowColors
} ;
Q_ENUM ( WindowColorsGroup ) ;
2019-02-23 15:11:31 +03:00
2018-07-03 22:15:45 +03:00
enum LayoutsMemoryUsage
{
2018-01-31 16:27:58 +03:00
SingleLayout = 0 , /* a single Layout is loaded in each time */
MultipleLayouts /* multiple layouts are loaded on runtime,based on Activities and one central layout for the rest unassigned Activities */
2018-01-12 21:11:20 +03:00
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( LayoutsMemoryUsage ) ;
2018-01-27 03:05:33 +03:00
2018-07-03 22:15:45 +03:00
enum MouseSensitivity
{
2018-01-27 03:05:33 +03:00
LowSensitivity = 0 ,
MediumSensitivity ,
HighSensitivity
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( MouseSensitivity ) ;
2018-01-27 03:52:31 +03:00
2018-07-03 22:15:45 +03:00
enum LatteConfigPage
{
2018-01-27 03:52:31 +03:00
LayoutPage = 0 ,
PreferencesPage
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( LatteConfigPage ) ;
2018-12-26 00:57:41 +03:00
enum SettingsComplexity
{
BasicSettings = 0 ,
AdvancedSettings = 2 ,
ExpertSettings = 4
} ;
2019-02-09 16:20:43 +03:00
Q_ENUM ( SettingsComplexity ) ;
2016-12-25 22:28:00 +03:00
} ;
} //end of namespace
# endif