43class RABBITCOMMON_EXPORT
CTools : QObject
129 void Init(QString szApplicationName = QCoreApplication::applicationName(),
130 QString szApplicationDirPath = QCoreApplication::applicationDirPath(),
131 QString szApplicationInstallRoot = QString(),
132 const QString szLanguage = GetLanguage());
139 void Init(
int argc,
char* argv[], QString szApplicationName = QString());
149 static int SetLanguage(
const QString szLanguage);
163 static QString GetLanguage();
165 enum class TranslationType {
179 QSharedPointer<QTranslator> InstallTranslator(
180 const QString szName = QString(),
181 TranslationType type = TranslationType::Application,
182 const QString szPluginDir =
"plugins",
183 const QString szLanguage = GetLanguage());
184 int RemoveTranslator(QSharedPointer<QTranslator> translator);
187 static QString Version();
189 static QString Information();
196 Q_DECL_DEPRECATED_X(
"Setting in log configure file. Will be move to private in v3")
197 static bool EnableCoreDump(
bool bPrompt =
true);
203 static bool HasAdministratorPrivilege();
209 Q_DECL_DEPRECATED_X(
"Will be move to private in v3, with executeWithAdministratorPrivilege")
210 static bool executeByRoot(
const QString &program,
211 const QStringList &arguments = QStringList());
212 static bool ExecuteWithAdministratorPrivilege(
213 const QString &program,
214 const QStringList &arguments = QStringList(),
215 bool bDetached =
true);
221 static bool StartWithAdministratorPrivilege(
bool bQuitOld =
false);
233 static int InstallStartRun(
const QString &szName = QString(),
234 const QString &szPath = QString(),
235 bool bAllUser =
false);
236 static int RemoveStartRun(
const QString &szName = QString(),
237 bool bAllUser =
false);
238 static bool IsStartRun(
const QString &szName = QString(),
239 bool bAllUser =
false);
241 static QString GetCurrentUser();
242 static QString GetHostName();
244 static QString MarkDownToHtml(
const QString &szText);
252 static int GenerateDesktopFile(
const QString &szPath = QString(),
253 const QString &szName = QString());
255#ifdef HAVE_RABBITCOMMON_GUI
274 static QAction* AddStyleMenu(QMenu* pMenu, QWidget *parent =
nullptr);
293 static void InsertStyleMenu(QMenu* pMenu, QAction* before, QWidget *parent =
nullptr);
299 static QMenu* GetLogMenu(QWidget *parentMainWindow =
nullptr);
301 static int RestoreWidget(QWidget* pWidget);
302 static int SaveWidget(QWidget* pWidget);
309 int ShowWidget(QWidget *pWin);
311 void ShowCoreDialog(QString szTitle, QString szContent,
312 QString szDetail, QString szCoreDumpFile);
320 static bool LocateFileWithExplorer(
const QString szFile);
321 static QMainWindow* GetMainWindow();
325 static int AndroidRequestPermission(
const QStringList& permissions);
326 static int AndroidRequestPermission(
const QString& permission);
333 void CleanResource();
335 QSharedPointer<QTranslator> InstallTranslatorFile(
const QString szFile);
336 QVector<QSharedPointer<QTranslator> > m_Translator;
340 bool m_bShowMaxWindow;