42class RABBITCOMMON_EXPORT
CTools : QObject
128 void Init(QString szApplicationName = QCoreApplication::applicationName(),
129 QString szApplicationDirPath = QCoreApplication::applicationDirPath(),
130 QString szApplicationInstallRoot = QString(),
131 const QString szLanguage = QLocale::system().name());
138 void Init(
int argc,
char* argv[], QString szApplicationName = QString());
148 int SetLanguage(
const QString szLanguage);
149 QString GetLanguage();
151 enum class TranslationType {
165 QSharedPointer<QTranslator> InstallTranslator(
166 const QString szName = QString(),
167 TranslationType type = TranslationType::Application,
168 const QString szPluginDir =
"plugins",
169 const QString szLanguage = QLocale::system().name());
170 int RemoveTranslator(QSharedPointer<QTranslator> translator);
173 static QString Version();
175 static QString Information();
182 Q_DECL_DEPRECATED_X(
"Setting in log configure file. Will be move to private in v3")
183 static bool EnableCoreDump(
bool bPrompt =
true);
189 static bool HasAdministratorPrivilege();
195 Q_DECL_DEPRECATED_X(
"Will be move to private in v3, with executeWithAdministratorPrivilege")
196 static bool executeByRoot(
const QString &program,
197 const QStringList &arguments = QStringList());
198 static bool ExecuteWithAdministratorPrivilege(
199 const QString &program,
200 const QStringList &arguments = QStringList());
201 static bool StartWithAdministratorPrivilege(
bool bQuitOld =
false);
213 static int InstallStartRun(
const QString &szName = QString(),
214 const QString &szPath = QString(),
215 bool bAllUser =
false);
216 static int RemoveStartRun(
const QString &szName = QString(),
217 bool bAllUser =
false);
218 static bool IsStartRun(
const QString &szName = QString(),
219 bool bAllUser =
false);
221 static QString GetCurrentUser();
222 static QString GetHostName();
230 static int GenerateDesktopFile(
const QString &szPath = QString(),
231 const QString &szName = QString());
233#ifdef HAVE_RABBITCOMMON_GUI
252 static QAction* AddStyleMenu(QMenu* pMenu, QWidget *parent =
nullptr);
271 static void InsertStyleMenu(QMenu* pMenu, QAction* before, QWidget *parent =
nullptr);
277 static QMenu* GetLogMenu(QWidget *parentMainWindow =
nullptr);
279 static int RestoreWidget(QWidget* pWidget);
280 static int SaveWidget(QWidget* pWidget);
287 int ShowWidget(QWidget *pWin);
289 void ShowCoreDialog(QString szTitle, QString szContent,
290 QString szDetail, QString szCoreDumpFile);
294 static int AndroidRequestPermission(
const QStringList& permissions);
295 static int AndroidRequestPermission(
const QString& permission);
302 void CleanResource();
304 QSharedPointer<QTranslator> InstallTranslatorFile(
const QString szFile);
305 QVector<QSharedPointer<QTranslator> > m_Translator;
307 QString m_szLanguage;
310 bool m_bShowMaxWindow;