RabbitCommon v2.2.6
Loading...
Searching...
No Matches
RabbitCommonTools.h
1
11#ifndef RABBITCOMMON_TOOLS_H
12#define RABBITCOMMON_TOOLS_H
13
14#pragma once
15
16#include <QTranslator>
17#include "rabbitcommon_export.h"
18#include <QLocale>
19#include <QSharedPointer>
20
21#ifdef HAVE_RABBITCOMMON_GUI
22 #include <QMenu>
23#endif
24
35namespace RabbitCommon {
36
41class RABBITCOMMON_EXPORT CTools
42{
43public:
44 static CTools* Instance();
45
100 void Init(const QString szLanguage = QLocale::system().name());
107 void Clean();
108
109 int SetLanguage(const QString szLanguage);
110 QString GetLanguage();
111
112 enum class TranslationType {
113 Application,
114 Library,
115 Plugin
116 };
126 QSharedPointer<QTranslator> InstallTranslator(
127 const QString szName = QString(),
128 TranslationType type = TranslationType::Application,
129 const QString szPluginDir = "plugins",
130 const QString szLanguage = QLocale::system().name());
131 int RemoveTranslator(QSharedPointer<QTranslator> translator);
132
134 static QString Version();
136 static QString Information();
137
143 static bool EnableCoreDump(bool bPrompt = true);
144
150 static bool executeByRoot(const QString &program, const QStringList &arguments = QStringList());
151
162 static int InstallStartRun(const QString &szName = QString(),
163 const QString &szPath = QString(),
164 bool bAllUser = false);
165 static int RemoveStartRun(const QString &szName = QString(),
166 bool bAllUser = false);
167 static bool IsStartRun(const QString &szName = QString(),
168 bool bAllUser = false);
169
170 static QString GetCurrentUser();
171 static QString GetHostName();
172
179 static int GenerateDesktopFile(const QString &szPath = QString(),
180 const QString &szName = QString());
181
182#ifdef HAVE_RABBITCOMMON_GUI
201 static QAction* AddStyleMenu(QMenu* pMenu, QWidget *parent = nullptr);
220 static void InsertStyleMenu(QMenu* pMenu, QAction* before, QWidget *parent = nullptr);
226 static QMenu* GetLogMenu(QWidget *parentMainWindow = nullptr);
227
228 static int RestoreWidget(QWidget* pWidget);
229 static int SaveWidget(QWidget* pWidget);
230#endif
231
232 static int AndroidRequestPermission(const QStringList& permissions);
233 static int AndroidRequestPermission(const QString& permission);
234
235private:
236 CTools();
237 virtual ~CTools();
238
239 void InitResource();
240 void CleanResource();
241
242 QSharedPointer<QTranslator> InstallTranslatorFile(const QString szFile);
243 QVector<QSharedPointer<QTranslator> > m_Translator;
244
245 QString m_szLanguage;
246 bool m_Initialized;
247};
248
249} //namespace RabbitCommon
250
251#endif // RABBITCOMMON_TOOLS_H