QtLingo 1
QtLingo is an Application to make Qt Computer Translations easier
MyOrgSettings.h
Go to the documentation of this file.
1#ifndef MY_ORG_SETTINGS_H
2#define MY_ORG_SETTINGS_H
3
4#include <QCoreApplication>
5#include <QFileInfo>
6#include <QNetworkAccessManager>
7#include <QNetworkReply>
8#include <QObject>
9#include <QTime>
10// GUI Widget stuff goes here
11#ifndef MY_QML
12#include <QMessageBox>
13#endif
14//
15#include <QtCore>
16#include <QtDebug>
17#include <QtGlobal>
18// Crypto
19#include "SimpleCrypt.h"
20//
21//
22#include <algorithm>
23#include <iostream>
24#include <fstream>
25#include <string>
26using namespace std;
27//
28#define MY_CRYPTO_SEED (Q_UINT64_C(0x0c6add66acdcf066))
29
34class MyOrgSettings : public QObject
35{
36 Q_OBJECT
37 public:
38 explicit MyOrgSettings(QObject *parent = nullptr);
45 {
48 BaseName = 102,
49 BirthTime = 103,
54 Directory = 108,
55 FileName = 109,
56 FilePath = 110,
57 IsWritable = 111,
58 IsFile = 112,
59 IsFolder = 113,
60 FileSize = 114,
61 IsSymLink = 115,
63 }; // end enum MyFileinfo
64 // Makes getting file Info easier
65 Q_ENUM(MyFileinfo)
71 {
73 Question = 101,
74 Warning = 102,
75 Critical = 103,
76 Debug = 104,
77 }; // end enum MyFileinfo
78 // Makes Messaging easier
79 Q_ENUM(MyMessageTypes)
80 //
82 // Constants
83 // Project Specific Constants you might want to change
84 const QString MY_PROJECT_NAME = "QmlWidgetTranslator";
85 const QString MY_INI_EXTENSION = "ini";
86 const QString MY_HELP_FOLDER = "help";
87 const QString MY_INTERNET_URL = "http://www.google.com"; //!< \c MY_INTERNET_URL @brief Default Internet URL for testing if Internet is up.
88 //
89 const QPoint ConstDefaultGeometryPos = QPoint(10, 10);
90 const QSize ConstDefaultGeometrySize = QSize(666, 333);
91 const QString MY_LAST_PROJECT_FOLDER = "LastProjectFolder";
92 const QString MY_IS_DEBUG_MESSAGE = "IsDebugMessage";
93 const QString MY_LOCALE_LANG_CODE = "LocaleLanguageCode";
94 const QString MY_LOCALE_LANG_NAME = "LocaleLanguageName";
95 // Sql Ini Variable Names Field Names
96 const QString MY_SQL_DEFAULT = "QSQLITE";
97 const QString MY_DEFAULT_SQL = ":memory:";
98 const QString MY_SQL_PROJECT_ID = "ProjectID";
99 const QString MY_SQL_PROJECT_NAME = "ProjectName";
100 const QString MY_SQL_DB_NAME = "SqlDatabaseName";
101 const QString MY_SQL_DB_TYPE = "SqlDatabaseType";
102 const QString MY_SQL_DB_HOST = "SqlDatabaseHost";
103 const QString MY_SQL_DB_USER = "SqlDatabaseUser";
104 const QString MY_SQL_DB_PASS = "SqlDatabasePass";
105 const QString MY_DATETIME_FORMAT_STARTED = "DateTimeFormatStarted";
106 const QString MY_DATETIME_FORMAT_DUE = "DateTimeFormatDue";
107 const QString MY_PROJECT_STATUS = "ProjectStatus";
108
109 //
110 const QString MY_DEFAULT_LANGUAGE_CODE = "en";
111 // My Org Settings Field Names
112 const QString MY_APPLICATION_NAME = "SettingsApplicationName";
113 const QString MY_ORG_NAME = "SettingsOrgName";
114 const QString MY_ORG_DOMAIN = "SettingsOrgDomain";
115 const QString MY_GEOMETRY = "Geometry";
116 const QString MY_WINDOW_STATES = "WidowState";
117 const QString MY_LAST_TAB_INDEX = "LastTabInex";
118 const QString MY_DEFAULT_TAB_INDEX = "0";
119 //
120 void onRunOnStartup();
121 // Read
122 QString readSettings(const QString &thisSetting, const QString &thisDefault);
123 QString readSettings(const QString &thisSetting);
124 bool readSettingsBool(const QString &thisSetting, bool thisDefault);
125 int readSettingsInt(const QString &thisSetting, int thisDefault);
126 // Write
127 void writeSettings(const QString &thisSetting, const QString &thisValue);
128 // Getter/Setter
129 QSettings *getSettings();
130 // Data Path
131 QString getDataPath(const QString &thisFileName);
132 // Org Name
133 QString getOrgName();
134 void setOrgName(const QString &thisOrgName);
135 // Org Domain
136 QString getOrgDomain();
137 void setOrgDomain(const QString &thisOrgDomain);
138 // Application Name
139 QString getAppName();
140 void setAppName(const QString &thisAppName);
141 // Application Version
142 QString getVersion();
143 void setVersion(const QString &thisVersion);
144 // Application Ini File Name
145 QString getIniFileName();
146 void setIniFileName(const QString &thisIniFileName);
147 // Ini File Extension
148 void setIniFileExtension(const QString &thisIniFileNameExtension);
149 QString getIniFileExtension();
150 // Application Ini Full Path
151 QString getIniFullPath();
152 void setIniFullPath(const QString &thisIniFileName);
153 // File Utilities
154 QString readFile(const QString &thisFileName);
155 QString combinePathFileName(const QString &thisPath, const QString &thisFileName);
156 bool isFileExists(const QString &thisFile);
157 bool isFileMake(const QString &thisPath, const QString &thisFileName);
158 bool isPathExists(const QString &thisPath);
159 bool isMakeDir(const QString &thisPath);
160 bool removeFile(const QString &thisFile);
161 bool writeFile(const QString &thisFileName, const QString &thisContent);
162 QString getFileInfo(MyOrgSettings::MyFileinfo thisInfo, const QString &thisFileFolder);
163 int fileNumberLines(const QString &thisFile);
164 bool removeAllFiles(const QString &thisFolder);
165 QString getLastApplicationPath();
166 void setLastApplicationPath(const QString &thisPath);
167 QString getAppDataLocation();
168 void setAppDataLocation(const QString &thisAppDataLocation);
169 bool isAppDataLocationGood(const QString &thisFolder);
170 //
171 bool isSetting(const QString &thisFieldName);
172 // Screen Geometry
173 void setGeometry(QByteArray thisGeometry);
174 QByteArray getGeometry();
175 //
176 QByteArray getWindowState();
177 void setWindowState(QByteArray thisWindowState);
178 // Crypto for Password
179 QString encryptThis(const QString &thisSecret);
180 QString decryptThis(const QString &thisSecret);
181 //
182 QString getEnvironmentVar(const QString &thisVar, const QString &thisDefault);
183 bool isWord(const QString &thisString) const;
184 void delay(int thisSeconds);
185 // Is Debug Message
186 void setDebugMessage(bool thisState);
187 bool getDebugMessage();
188 // Messaging
189 bool questionYesNo(const char *thisTitle, const char *thisQuestion) const;
190 QVariant showMessageBox(const QString &thisTitle, const QString &thisMessage, MyMessageTypes thisMessageType) const;
191 QVariant setMessage(const QString &thisTitle, const QString &thisMessage, MyMessageTypes thisMessageType) const;
192 // Internet with Wait
193 bool getInternetWait();
195 bool connectInternet();
196 QString getCheckInternetUrl();
197 void setCheckInternetUrl(const QString &thisCheckInternetUrl);
198
199 QSettings *getSetteings();
200
201 private slots:
202 void onUpdateSettings();
203
204 signals:
205 void sendInternetProgress();
206 void sendUpdateSettings();
207
208 private:
209 QSettings *mySettings = nullptr;
210 QString myOrganizationName = "";
211 QString myOrganizationDomain = "";
212 QString myApplicationName = "";
213 QString myLastApplicationFolder = "";
214 QByteArray myGeometry;
215 QByteArray myWindowState;
216 bool myGeometryMax = false;
217 bool myGeometryMin = false;
218 bool isDebugMessage = false;
219 bool isCreated = false;
220 bool isLocalStorage = true;
221 QString myVersion = "1.0.0";
222 QString myIniFullPath = "";
223 QString myIniFileName = "";
224 QString myIniFileExtension = "";
225 QString myCheckInternetUrl = "";
226 QString myAppDataLocation = "";
227
228};
229#endif // MY_ORG_SETTINGS_H
230
My Org Settings.
Definition: MyOrgSettings.h:35
const QString MY_LOCALE_LANG_CODE
MY_CURRENT_LANG_CODE
Definition: MyOrgSettings.h:93
QSettings * getSettings()
get Settings
const QString MY_IS_DEBUG_MESSAGE
MY_IS_DEBUG_MESSAGE
Definition: MyOrgSettings.h:92
void setLastApplicationPath(const QString &thisPath)
set Last Application Path
const QString MY_ORG_DOMAIN
ConstSettingsOrgDomain
const QString MY_INTERNET_URL
MY_INTERNET_URL
Definition: MyOrgSettings.h:87
QString getLastApplicationPath()
get Last Application Path
const QString MY_PROJECT_NAME
MY_QT_PROJECT_NAME
Definition: MyOrgSettings.h:84
const QSize ConstDefaultGeometrySize
ConstDefaultGeometrySize
Definition: MyOrgSettings.h:90
QString combinePathFileName(const QString &thisPath, const QString &thisFileName)
combine Path File Name
const QString MY_ORG_NAME
ConstSettingsOrgName
bool isFileExists(const QString &thisFile)
File Functions.
bool connectInternet()
connect Internet
bool removeFile(const QString &thisFile)
remove File
MyMessageTypes
Message Types.
Definition: MyOrgSettings.h:71
@ Information
Information
Definition: MyOrgSettings.h:72
@ Critical
Critical
Definition: MyOrgSettings.h:75
@ Question
Question
Definition: MyOrgSettings.h:73
@ Warning
Warning
Definition: MyOrgSettings.h:74
void setOrgDomain(const QString &thisOrgDomain)
set Org Domain. setOrgDomain
const QString MY_INI_EXTENSION
MY_INI_EXTENSION
Definition: MyOrgSettings.h:85
const QString MY_LOCALE_LANG_NAME
MY_LOCALE_LANG_NAME
Definition: MyOrgSettings.h:94
const QString MY_WINDOW_STATES
MY_WINDOW_STATES
int readSettingsInt(const QString &thisSetting, int thisDefault)
read Settings Int
bool isAppDataLocationGood(const QString &thisFolder)
is AppData Location Good
~MyOrgSettings()
MyOrgSettings Destructor.
void setOrgName(const QString &thisOrgName)
set Org Name
const QString MY_APPLICATION_NAME
ConstSettingsApplicationName
QString getIniFullPath()
my Application IniFile
const QString MY_SQL_DB_HOST
MY_SQL_DB_HOST
const QString MY_DATETIME_FORMAT_STARTED
MY_DATETIME_FORMAT_STARTED
QString getAppDataLocation()
get AppData Location
SimpleCrypt * myCrypto
myCrypto
Definition: MyOrgSettings.h:81
void setIniFullPath(const QString &thisIniFileName)
set IniFile
QString getAppName()
my Application Name
void setIniFileName(const QString &thisIniFileName)
set IniFile
bool questionYesNo(const char *thisTitle, const char *thisQuestion) const
question Yes No
void setCheckInternetUrl(const QString &thisCheckInternetUrl)
set Check Internet Url
QString getCheckInternetUrl()
get Check Internet Url
QString getEnvironmentVar(const QString &thisVar, const QString &thisDefault)
get Windows Environment Var
const QString MY_GEOMETRY
ConstSettingsGeometry
QString getVersion()
my Application Version
void setIniFileExtension(const QString &thisIniFileNameExtension)
set Ini File Extension
bool isSetting(const QString &thisFieldName)
is Setting
QString getIniFileExtension()
getIniFileExtension
void setDebugMessage(bool thisState)
set Debug Message
const QString MY_SQL_PROJECT_ID
SQL_PROJECT_ID
Definition: MyOrgSettings.h:98
bool isPathExists(const QString &thisPath)
is Path Exists
bool writeFile(const QString &thisFileName, const QString &thisContent)
write File
const QString MY_HELP_FOLDER
MY_HELP_FOLDER
Definition: MyOrgSettings.h:86
void sendInternetProgress()
send Internet Progress
bool pingInternet()
ping Internet
QString decryptThis(const QString &thisSecret)
decrypt This
QString getIniFileName()
my Application IniFile
QString encryptThis(const QString &thisSecret)
encrypt This
void delay(int thisSeconds)
delay
const QString MY_DEFAULT_TAB_INDEX
MY_DEFAULT_TAB_INDEX
QString getFileInfo(MyOrgSettings::MyFileinfo thisInfo, const QString &thisFileFolder)
get File Info
MyOrgSettings(QObject *parent=nullptr)
MyOrgSettings Constructor.
int fileNumberLines(const QString &thisFile)
file Number Lines
const QString MY_SQL_DEFAULT
SQL_DEFAULT
Definition: MyOrgSettings.h:96
QString getOrgDomain()
my Organization Domain
const QString MY_DEFAULT_LANGUAGE_CODE
MY_DEFAULT_LANGUAGE_CODE
const QString MY_DATETIME_FORMAT_DUE
MY_DATETIME_FORMAT_STARTED
bool isFileMake(const QString &thisPath, const QString &thisFileName)
is File Make
const QPoint ConstDefaultGeometryPos
ConstDefaultGeometryPos
Definition: MyOrgSettings.h:89
bool isWord(const QString &thisString) const
is Word
QString getDataPath(const QString &thisFileName)
Get Data Path.
QVariant setMessage(const QString &thisTitle, const QString &thisMessage, MyMessageTypes thisMessageType) const
set Message
bool getDebugMessage()
get Debug Message
QByteArray getGeometry()
get Geometry
void sendUpdateSettings()
send Update Settings
QVariant showMessageBox(const QString &thisTitle, const QString &thisMessage, MyMessageTypes thisMessageType) const
show Message Box information, question, warning, critica
void setVersion(const QString &thisVersion)
set Version
const QString MY_LAST_PROJECT_FOLDER
MY_QT_PROJECT_NAME
Definition: MyOrgSettings.h:91
bool removeAllFiles(const QString &thisFolder)
remove All Files
const QString MY_SQL_PROJECT_NAME
MY_SQL_PROJECT_NAME
Definition: MyOrgSettings.h:99
void writeSettings(const QString &thisSetting, const QString &thisValue)
write Settings
const QString MY_DEFAULT_SQL
MY_DEFAULT_SQL
Definition: MyOrgSettings.h:97
void setAppDataLocation(const QString &thisAppDataLocation)
set AppData Location
QString getOrgName()
get Org Name
QString readFile(const QString &thisFileName)
read File
const QString MY_SQL_DB_NAME
MY_SQL_DB_NAME
const QString MY_SQL_DB_PASS
MY_SQL_DB_PASS
const QString MY_SQL_DB_TYPE
MY_SQL_DB_TYPE
void setWindowState(QByteArray thisWindowState)
get Geometry Min
MyFileinfo
File Information.
Definition: MyOrgSettings.h:45
@ Directory
Directory
Definition: MyOrgSettings.h:54
@ CanonicalFilePath
CanonicalFilePath
Definition: MyOrgSettings.h:51
@ BirthTime
BirthTime
Definition: MyOrgSettings.h:49
@ IsWritable
IsWritable
Definition: MyOrgSettings.h:57
@ FileName
FileName
Definition: MyOrgSettings.h:55
@ BaseName
BaseName
Definition: MyOrgSettings.h:48
@ IsFile
IsFile
Definition: MyOrgSettings.h:58
@ AbsoluteFilePath
CanonicalPath
Definition: MyOrgSettings.h:47
@ SymLinkTarget
SymLinkTarget
Definition: MyOrgSettings.h:62
@ IsSymLink
IsSymLink
Definition: MyOrgSettings.h:61
@ CompleteSuffix
CompleteSuffix
Definition: MyOrgSettings.h:53
@ CanonicalPath
CanonicalPath
Definition: MyOrgSettings.h:50
@ AbsolutePath
AbsolutePath
Definition: MyOrgSettings.h:46
@ IsFolder
IsFolder
Definition: MyOrgSettings.h:59
@ CompleteBaseName
CompleteBaseName
Definition: MyOrgSettings.h:52
@ FileSize
FileSize
Definition: MyOrgSettings.h:60
@ FilePath
FilePath
Definition: MyOrgSettings.h:56
void onRunOnStartup()
Run On Startup.
const QString MY_LAST_TAB_INDEX
MY_LAST_TAB
QString readSettings(const QString &thisSetting, const QString &thisDefault)
read Settings
QSettings * getSetteings()
on Update Settings. onUpdateSettings
const QString MY_PROJECT_STATUS
MY_PROJECT_STATUS
void setAppName(const QString &thisAppName)
set AppName
bool readSettingsBool(const QString &thisSetting, bool thisDefault)
read Settings Bool
bool getInternetWait()
get Internet Wait
QByteArray getWindowState()
get Geometry Min
bool isMakeDir(const QString &thisPath)
is Make Dir
void setGeometry(QByteArray thisGeometry)
Screen Geometry.
const QString MY_SQL_DB_USER
MY_SQL_DB_USER
Simple encryption and decryption of strings and byte arrays.
Definition: SimpleCrypt.h:72