Use configured resolution for login/outgame/ingame
[ryzomcore.git] / ryzom / tools / client / ryzom_installer / src / profile.h
blob8773e65c0cc6b8c03ae2b39639e3551b14d93a5d
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010-2019 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef PROFILE_H
18 #define PROFILE_H
20 #include "operation.h"
22 class CProfile
24 public:
25 CProfile()
27 desktopShortcut = false;
28 menuShortcut = false;
31 QString id;
32 QString name;
33 QString server;
34 QString executable;
35 QString arguments;
36 QString comments;
37 QString language;
38 bool desktopShortcut;
39 bool menuShortcut;
41 void loadFromSettings(const QSettings &settings);
42 void saveToSettings(QSettings &settings) const;
44 bool isValid(QString &error) const;
46 // helpers
47 QString getDirectory() const;
48 QString getClientFullPath() const;
49 QString getClientDesktopShortcutFullPath() const;
50 QString getClientMenuShortcutFullPath() const;
52 void createShortcuts() const;
53 void deleteShortcuts() const;
54 void updateShortcuts() const;
56 bool createClientConfig() const;
59 extern const CProfile NoProfile;
61 typedef QVector<CProfile> CProfiles;
63 #endif