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;