AntiMicroX
Loading...
Searching...
No Matches
autoprofilewatcher.h
Go to the documentation of this file.
1/* antimicrox Gamepad to KB+M event mapper
2 * Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
3 * Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef AUTOPROFILEWATCHER_H
20#define AUTOPROFILEWATCHER_H
21
22#include <QHash>
23#include <QSet>
24#include <QTimer>
25
27class AutoProfileInfo;
28class QSettings;
29
35class AutoProfileWatcher : public QObject
36{
37 Q_OBJECT
38
39 public:
40 explicit AutoProfileWatcher(AntiMicroSettings *settings, QObject *parent = nullptr);
42
43 void startTimer();
44 void stopTimer();
45 static void disconnectWindowTimer();
47 QList<AutoProfileInfo *> *getCustomDefaults();
49 // bool isGUIDLocked(QString guid);
50 bool isUniqueIDLocked(QString uniqueID);
51 QHash<QString, QList<AutoProfileInfo *>> const &getAppProfileAssignments();
52 QHash<QString, QList<AutoProfileInfo *>> const &getWindowClassProfileAssignments();
53 QHash<QString, QList<AutoProfileInfo *>> const &getWindowNameProfileAssignments();
54 QHash<QString, AutoProfileInfo *> const &getDefaultProfileAssignments();
55
56 static const int CHECKTIME = 500; // time in ms
57
58 protected:
59 QString findAppLocation();
61 void convToUniqueIDAutoProfGroupSett(QSettings *sett, QString guidAutoProfSett, QString uniqueAutoProfSett);
62
63 signals:
65
66 public slots:
68
69 private slots:
70 void runAppCheck();
71
72 private:
73 // QSet<QString>& getGuidSetLocal();
74 QSet<QString> &getUniqeIDSetLocal();
75
77 static QTimer checkWindowTimer;
79 QHash<QString, QList<AutoProfileInfo *>> appProfileAssignments;
80 QHash<QString, QList<AutoProfileInfo *>> windowClassProfileAssignments;
81 QHash<QString, QList<AutoProfileInfo *>> windowNameProfileAssignments;
82 QHash<QString, AutoProfileInfo *> defaultProfileAssignments;
86 // QSet<QString> guidSet;
87 QSet<QString> uniqueIDSet;
88};
89
90#endif // AUTOPROFILEWATCHER_H
Definition antimicrosettings.h:27
Links information about targeted application with recommended profile.
Definition autoprofileinfo.h:30
Manages auto profile functionality. Allows for profiles to be associated with specific applications.
Definition autoprofilewatcher.h:36
static void disconnectWindowTimer()
Definition autoprofilewatcher.cpp:67
QHash< QString, QList< AutoProfileInfo * > > const & getWindowNameProfileAssignments()
Definition autoprofilewatcher.cpp:619
~AutoProfileWatcher()
Definition autoprofilewatcher.cpp:54
QString currentAppWindowTitle
Definition autoprofilewatcher.h:85
void clearProfileAssignments()
Definition autoprofilewatcher.cpp:510
void convToUniqueIDAutoProfGroupSett(QSettings *sett, QString guidAutoProfSett, QString uniqueAutoProfSett)
Definition autoprofilewatcher.cpp:631
static AutoProfileWatcher * _instance
Definition autoprofilewatcher.h:76
void startTimer()
Definition autoprofilewatcher.cpp:73
QHash< QString, QList< AutoProfileInfo * > > appProfileAssignments
Definition autoprofilewatcher.h:79
QHash< QString, QList< AutoProfileInfo * > > const & getWindowClassProfileAssignments()
Definition autoprofilewatcher.cpp:614
void syncProfileAssignment()
Definition autoprofilewatcher.cpp:336
AutoProfileInfo * getDefaultAllProfile()
Definition autoprofilewatcher.cpp:605
QList< AutoProfileInfo * > * getCustomDefaults()
Definition autoprofilewatcher.cpp:591
AutoProfileInfo * allDefaultInfo
Definition autoprofilewatcher.h:83
QSet< QString > uniqueIDSet
Definition autoprofilewatcher.h:87
QString findAppLocation()
Definition autoprofilewatcher.cpp:570
QHash< QString, QList< AutoProfileInfo * > > windowNameProfileAssignments
Definition autoprofilewatcher.h:81
QString currentApplication
Definition autoprofilewatcher.h:84
QHash< QString, AutoProfileInfo * > defaultProfileAssignments
Definition autoprofilewatcher.h:82
void stopTimer()
Definition autoprofilewatcher.cpp:75
static AutoProfileWatcher * getAutoProfileWatcherInstance()
Definition autoprofilewatcher.cpp:65
AntiMicroSettings * settings
Definition autoprofilewatcher.h:78
QSet< QString > & getUniqeIDSetLocal()
Definition autoprofilewatcher.cpp:629
QHash< QString, AutoProfileInfo * > const & getDefaultProfileAssignments()
Definition autoprofilewatcher.cpp:624
void runAppCheck()
Definition autoprofilewatcher.cpp:77
QHash< QString, QList< AutoProfileInfo * > > const & getAppProfileAssignments()
Definition autoprofilewatcher.cpp:609
void foundApplicableProfile(AutoProfileInfo *info)
QHash< QString, QList< AutoProfileInfo * > > windowClassProfileAssignments
Definition autoprofilewatcher.h:80
bool isUniqueIDLocked(QString uniqueID)
Definition autoprofilewatcher.cpp:607
static QTimer checkWindowTimer
Definition autoprofilewatcher.h:77
static const int CHECKTIME
Definition autoprofilewatcher.h:56