File indexing completed on 2024-10-06 10:55:35

0001 /*
0002     SPDX-FileCopyrightText: 2020 Michail Vourlakos <mvourlakos@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef PREFERENCESDATA_H
0007 #define PREFERENCESDATA_H
0008 
0009 // local
0010 #include "contextmenudata.h"
0011 #include "../apptypes.h"
0012 
0013 // Qt
0014 #include <QStringList>
0015 
0016 namespace Latte {
0017 namespace Data {
0018 
0019 class Preferences
0020 {
0021 public:
0022     static const bool BADGE3DSTYLE = true;
0023     static const bool LAYOUTSINFORMATIONWINDOW = true;
0024     static const bool AUTOSTART = true;
0025     static const bool BORDERLESSMAXIMIZED = false;
0026     static const bool ISAVAILABLEGEOMETRYBROADCASTEDTOPLASMA = true;
0027     static const bool METAPRESSFORAPPLAUNCHER = false;
0028     static const bool METAHOLDFORBADGES = true;
0029     static const int PARABOLICSPREAD = 3;
0030     static const int SCREENSDELAY = 2500;
0031     static const float THICKNESSMARGININFLUENCE;
0032     static const Settings::MouseSensitivity MOUSESENSITIVITY = Settings::HighMouseSensitivity;
0033 
0034     Preferences();
0035     Preferences(Preferences &&o);
0036     Preferences(const Preferences &o);
0037 
0038     //! Preferences data
0039     bool badgeStyle3D{BADGE3DSTYLE};
0040     bool layoutsInformationWindow{LAYOUTSINFORMATIONWINDOW};
0041     bool autostart{AUTOSTART};
0042     bool borderlessMaximized{BORDERLESSMAXIMIZED};
0043     bool isAvailableGeometryBroadcastedToPlasma{ISAVAILABLEGEOMETRYBROADCASTEDTOPLASMA};
0044     bool metaPressForAppLauncher{METAPRESSFORAPPLAUNCHER};
0045     bool metaHoldForBadges{METAHOLDFORBADGES};
0046     int parabolicSpread{PARABOLICSPREAD};
0047     int screensDelay{SCREENSDELAY};
0048     float thicknessMarginInfluence{THICKNESSMARGININFLUENCE};
0049     QStringList contextMenuAlwaysActions{Data::ContextMenu::ACTIONSALWAYSVISIBLE};
0050     Settings::MouseSensitivity mouseSensitivity{MOUSESENSITIVITY};
0051 
0052     bool inDefaultValues() const;
0053     void setToDefaults();
0054 
0055     //! Operators
0056     Preferences &operator=(const Preferences &rhs);
0057     Preferences &operator=(Preferences &&rhs);
0058     bool operator==(const Preferences &rhs) const;
0059     bool operator!=(const Preferences &rhs) const;
0060 };
0061 
0062 }
0063 }
0064 
0065 #endif