File indexing completed on 2024-04-21 16:17:25
0001 /* 0002 * Copyright 2016 Smith AR <audoban@openmailbox.org> 0003 * Michail Vourlakos <mvourlakos@gmail.com> 0004 * 0005 * This file is part of Latte-Dock 0006 * 0007 * Latte-Dock is free software; you can redistribute it and/or 0008 * modify it under the terms of the GNU General Public License as 0009 * published by the Free Software Foundation; either version 2 of 0010 * the License, or (at your option) any later version. 0011 * 0012 * Latte-Dock is distributed in the hope that it will be useful, 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0015 * GNU General Public License for more details. 0016 * 0017 * You should have received a copy of the GNU General Public License 0018 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0019 */ 0020 0021 #ifndef TYPES_H 0022 #define TYPES_H 0023 0024 // Qt 0025 #include <QObject> 0026 #include <QMetaEnum> 0027 #include <QMetaType> 0028 0029 namespace Latte { 0030 0031 class Types 0032 { 0033 Q_GADGET 0034 0035 public: 0036 Types() = delete; 0037 ~Types() {} 0038 0039 enum ViewType 0040 { 0041 DockView = 0, 0042 PanelView 0043 }; 0044 Q_ENUM(ViewType); 0045 0046 enum Visibility 0047 { 0048 None = -1, 0049 AlwaysVisible = 0, 0050 AutoHide, 0051 DodgeActive, 0052 DodgeMaximized, 0053 DodgeAllWindows, 0054 WindowsGoBelow 0055 }; 0056 Q_ENUM(Visibility); 0057 0058 enum Alignment 0059 { 0060 Center = 0, 0061 Left, 0062 Right, 0063 Top, 0064 Bottom, 0065 Justify = 10 0066 }; 0067 Q_ENUM(Alignment); 0068 0069 enum EdgesAndAlignments 0070 { 0071 BottomEdgeCenterAlign = 0, 0072 BottomEdgeLeftAlign, 0073 BottomEdgeRightAlign, 0074 TopEdgeCenterAlign, 0075 TopEdgeLeftAlign, 0076 TopEdgeRightAlign, 0077 LeftEdgeCenterAlign, 0078 LeftEdgeTopAlign, 0079 LeftEdgeBottomAlign, 0080 RightEdgeCenterAlign, 0081 RightEdgeTopAlign, 0082 RightEdgeBottomAlign 0083 }; 0084 Q_ENUM(EdgesAndAlignments); 0085 0086 enum SessionType 0087 { 0088 DefaultSession = 0, 0089 AlternativeSession 0090 }; 0091 Q_ENUM(SessionType) 0092 0093 enum Modifier 0094 { 0095 Shift = 0, 0096 Ctrl, 0097 Alt, 0098 Meta 0099 }; 0100 Q_ENUM(Modifier); 0101 0102 enum ClickAction 0103 { 0104 LeftClick = 0, 0105 MiddleClick, 0106 RightClick 0107 }; 0108 Q_ENUM(ClickAction); 0109 0110 enum ManualScrollType 0111 { 0112 ManualScrollDisabled = 0, 0113 ManualScrollOnlyParallel, 0114 ManualScrollVerticalHorizontal 0115 }; 0116 Q_ENUM(ManualScrollType); 0117 0118 enum ScrollAction 0119 { 0120 ScrollNone = 0, 0121 ScrollDesktops, 0122 ScrollActivities, 0123 ScrollTasks 0124 }; 0125 Q_ENUM(ScrollAction); 0126 0127 enum TaskAction 0128 { 0129 NoneAction = 0, 0130 Close, 0131 NewInstance, 0132 ToggleMinimized, 0133 CycleThroughTasks, 0134 ToggleGrouping, 0135 PresentWindows, 0136 PreviewWindows, 0137 HighlightWindows, 0138 PreviewAndHighlightWindows 0139 }; 0140 Q_ENUM(TaskAction); 0141 0142 enum IndicatorStyle 0143 { 0144 LatteIndicator = 0, 0145 PlasmaIndicator, 0146 UnityIndicator 0147 }; 0148 Q_ENUM(IndicatorStyle); 0149 0150 enum ActiveIndicatorType 0151 { 0152 LineIndicator = 0, 0153 DotIndicator = 1 0154 }; 0155 Q_ENUM(ActiveIndicatorType); 0156 0157 enum LaunchersGroup 0158 { 0159 UniqueLaunchers = 0, 0160 LayoutLaunchers = 1, 0161 GlobalLaunchers = 2 0162 }; 0163 Q_ENUM(LaunchersGroup); 0164 0165 enum GlowGroup 0166 { 0167 GlowNone = -1, 0168 GlowOnlyOnActive = 0, 0169 GlowAll = 1 0170 }; 0171 Q_ENUM(GlowGroup); 0172 0173 enum ShadowGroup 0174 { 0175 NoneAppletShadow = 0, 0176 LockedAppletsShadow, /* DEPRECATED, apply shadow only to locked applets */ 0177 AllAppletsShadow 0178 }; 0179 Q_ENUM(ShadowGroup); 0180 0181 enum ShadowColorGroup 0182 { 0183 DefaultColorShadow = 0, 0184 ThemeColorShadow, 0185 UserColorShadow 0186 }; 0187 Q_ENUM(ShadowColorGroup); 0188 0189 enum ThemeColorsGroup 0190 { 0191 PlasmaThemeColors = 0, 0192 ReverseThemeColors, 0193 SmartThemeColors 0194 }; 0195 Q_ENUM(ThemeColorsGroup); 0196 0197 enum WindowColorsGroup 0198 { 0199 NoneWindowColors = 0, 0200 ActiveWindowColors, 0201 TouchingWindowColors 0202 }; 0203 Q_ENUM(WindowColorsGroup); 0204 0205 enum ActiveWindowFilterGroup 0206 { 0207 ActiveInCurrentScreen = 0, 0208 ActiveFromAllScreens 0209 }; 0210 Q_ENUM(ActiveWindowFilterGroup); 0211 0212 enum LayoutsMemoryUsage 0213 { 0214 SingleLayout = 0, /* a single Layout is loaded in each time */ 0215 MultipleLayouts /* multiple layouts are loaded on runtime,based on Activities and one central layout for the rest unassigned Activities */ 0216 }; 0217 Q_ENUM(LayoutsMemoryUsage); 0218 0219 enum MouseSensitivity 0220 { 0221 LowSensitivity = 0, 0222 MediumSensitivity, 0223 HighSensitivity 0224 }; 0225 Q_ENUM(MouseSensitivity); 0226 0227 enum LatteConfigPage 0228 { 0229 LayoutPage = 0, 0230 PreferencesPage 0231 }; 0232 Q_ENUM(LatteConfigPage); 0233 0234 enum SettingsComplexity 0235 { 0236 BasicSettings = 0, 0237 AdvancedSettings = 2, 0238 ExpertSettings = 4 0239 }; 0240 Q_ENUM(SettingsComplexity); 0241 0242 enum ImportExportState 0243 { 0244 Failed = 0, 0245 Updated = 2, 0246 Installed = 4 0247 }; 0248 Q_ENUM(ImportExportState); 0249 }; 0250 0251 }//end of namespace 0252 #endif