UI: Minor refactorings.

This commit is contained in:
Nodir Temirkhodjaev 2018-04-10 17:41:20 +05:00
parent ac6d1ff403
commit dc40085b53
13 changed files with 46 additions and 45 deletions

View File

@ -1,8 +1,8 @@
#ifndef DATABASEMANAGER_H #ifndef DATABASEMANAGER_H
#define DATABASEMANAGER_H #define DATABASEMANAGER_H
#include <QObject>
#include <QHash> #include <QHash>
#include <QObject>
#include <QStringList> #include <QStringList>
#include <QVector> #include <QVector>
@ -52,7 +52,7 @@ public slots:
void clear(); void clear();
private: private:
typedef QList<SqliteStmt *> QStmtList; using QStmtList = QList<SqliteStmt *>;
void initializeQuota(); void initializeQuota();

View File

@ -166,7 +166,7 @@ void FortManager::setupTrayIcon()
m_trayIcon->setToolTip(qApp->applicationDisplayName()); m_trayIcon->setToolTip(qApp->applicationDisplayName());
m_trayIcon->setIcon(QIcon(":/images/shield.png")); m_trayIcon->setIcon(QIcon(":/images/shield.png"));
connect(m_trayIcon, &QSystemTrayIcon::activated, connect(m_trayIcon, &QSystemTrayIcon::activated, this,
[this](QSystemTrayIcon::ActivationReason reason) { [this](QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::Trigger) { if (reason == QSystemTrayIcon::Trigger) {
showWindow(); showWindow();
@ -186,13 +186,14 @@ bool FortManager::setupEngine()
m_engine->load(QUrl("qrc:/qml/main.qml")); m_engine->load(QUrl("qrc:/qml/main.qml"));
if (m_engine->rootObjects().isEmpty()) { const QList<QObject *> rootObjects = m_engine->rootObjects();
if (rootObjects.isEmpty()) {
showErrorBox("Cannot setup QML Engine"); showErrorBox("Cannot setup QML Engine");
return false; return false;
} }
m_appWindow = qobject_cast<QWindow *>( m_appWindow = qobject_cast<QWindow *>(rootObjects.first());
m_engine->rootObjects().first());
Q_ASSERT(m_appWindow); Q_ASSERT(m_appWindow);
m_appWindowState->install(m_appWindow); m_appWindowState->install(m_appWindow);
@ -200,6 +201,16 @@ bool FortManager::setupEngine()
return true; return true;
} }
void FortManager::closeEngine()
{
m_appWindow = nullptr;
if (m_engine) {
m_engine->deleteLater();
m_engine = nullptr;
}
}
void FortManager::showTrayIcon() void FortManager::showTrayIcon()
{ {
m_trayIcon->show(); m_trayIcon->show();
@ -291,12 +302,7 @@ void FortManager::exit(int retcode)
closeGraphWindow(); closeGraphWindow();
closeWindow(); closeWindow();
m_appWindow = nullptr; closeEngine();
if (m_engine) {
m_engine->deleteLater();
m_engine = nullptr;
}
qApp->exit(retcode); qApp->exit(retcode);
} }

View File

@ -92,7 +92,9 @@ private:
void setupLogManager(); void setupLogManager();
void setupTrayIcon(); void setupTrayIcon();
bool setupEngine(); bool setupEngine();
void closeEngine();
bool loadSettings(FirewallConf *conf); bool loadSettings(FirewallConf *conf);
bool saveSettings(FirewallConf *newConf, bool onlyFlags = false, bool saveSettings(FirewallConf *newConf, bool onlyFlags = false,

View File

@ -1,8 +1,8 @@
#ifndef FORTSETTINGS_H #ifndef FORTSETTINGS_H
#define FORTSETTINGS_H #define FORTSETTINGS_H
#include <QObject>
#include <QHash> #include <QHash>
#include <QObject>
#include <QRect> #include <QRect>
#include <QSettings> #include <QSettings>
@ -10,7 +10,7 @@
QT_FORWARD_DECLARE_CLASS(FirewallConf) QT_FORWARD_DECLARE_CLASS(FirewallConf)
typedef QHash<QString, QByteArray> TasksMap; using TasksMap = QHash<QString, QByteArray>;
class FortSettings : public QObject class FortSettings : public QObject
{ {

View File

@ -3,14 +3,6 @@
#include "../util/fileutil.h" #include "../util/fileutil.h"
#include "../util/osutil.h" #include "../util/osutil.h"
LogEntry::LogEntry()
{
}
LogEntry::~LogEntry()
{
}
QString LogEntry::getAppPath(const QString &kernelPath, quint32 pid) QString LogEntry::getAppPath(const QString &kernelPath, quint32 pid)
{ {
return kernelPath.isEmpty() return kernelPath.isEmpty()

View File

@ -14,8 +14,8 @@ public:
StatTraf = 0x04000000 StatTraf = 0x04000000
}; };
explicit LogEntry(); explicit LogEntry() = default;
virtual ~LogEntry(); virtual ~LogEntry() = default;
virtual LogEntry::LogType type() const = 0; virtual LogEntry::LogType type() const = 0;

View File

@ -22,7 +22,7 @@ QStringList TaskUzonline::parseUzonlineBuffer(const QByteArray &buffer)
if (startPos < 0 || endPos < 0) if (startPos < 0 || endPos < 0)
return QStringList(); return QStringList();
const QRegularExpression re("([\\d.]+)[^\\d.]*-[^\\d.]*([\\d.]+)"); const QRegularExpression re(R"(([\d.]+)[^\d.]*-[^\d.]*([\d.]+))");
QStringList list; QStringList list;

View File

@ -189,7 +189,7 @@ bool ConfUtil::parseAppGroups(const QList<AppGroup *> &appGroups,
appPerms.reserve(appPermsMap.size()); appPerms.reserve(appPermsMap.size());
for (; it != end; ++it) { for (; it != end; ++it) {
const QString appPath = it.key(); const QString &appPath = it.key();
appPathsLen += appPath.size() * sizeof(wchar_t); appPathsLen += appPath.size() * sizeof(wchar_t);
appPaths.append(appPath); appPaths.append(appPath);
@ -240,7 +240,7 @@ bool ConfUtil::parseApps(const QString &text, bool blocked,
QString ConfUtil::parseAppPath(const QStringRef &line) QString ConfUtil::parseAppPath(const QStringRef &line)
{ {
const QRegularExpression re("\\s*\"?\\s*([^\"]+)\\s*\"?\\s*"); const QRegularExpression re(R"(\s*"?\s*([^"]+)\s*"?\s*)");
const QRegularExpressionMatch match = re.match(line); const QRegularExpressionMatch match = re.match(line);
if (!match.hasMatch()) if (!match.hasMatch())
@ -330,7 +330,6 @@ quint16 ConfUtil::writeLimits(struct fort_conf_limit *limits,
limit->out_bytes = appGroup->enabled() && appGroup->limitOutEnabled() limit->out_bytes = appGroup->enabled() && appGroup->limitOutEnabled()
? appGroup->speedLimitOut() * 1024 / 2 : 0; ? appGroup->speedLimitOut() * 1024 / 2 : 0;
const quint16 bit = quint16(1 << i);
if (limit->in_bytes || limit->out_bytes) { if (limit->in_bytes || limit->out_bytes) {
limitBits |= (1 << i); limitBits |= (1 << i);
} }

View File

@ -15,12 +15,12 @@ QT_FORWARD_DECLARE_CLASS(FirewallConf)
QT_FORWARD_DECLARE_STRUCT(fort_conf_limit) QT_FORWARD_DECLARE_STRUCT(fort_conf_limit)
typedef QVector<quint32> numbers_arr_t; using numbers_arr_t = QVector<quint32>;
typedef QVarLengthArray<AddressRange, 2> addrranges_arr_t; using addrranges_arr_t = QVarLengthArray<AddressRange, 2>;
typedef QMap<QString, quint32> appperms_map_t; using appperms_map_t = QMap<QString, quint32>;
typedef QMap<QString, qint8> appgroups_map_t; using appgroups_map_t = QMap<QString, qint8>;
class ConfUtil : public QObject class ConfUtil : public QObject
{ {

View File

@ -30,7 +30,8 @@ bool Device::open(const QString &filePath)
| SECURITY_SQOS_PRESENT | SECURITY_IDENTIFICATION; | SECURITY_SQOS_PRESENT | SECURITY_IDENTIFICATION;
m_handle = CreateFileW((LPCWSTR) filePath.utf16(), m_handle = CreateFileW((LPCWSTR) filePath.utf16(),
access, share, NULL, creation, attr, NULL); access, share, nullptr,
creation, attr, nullptr);
return m_handle != INVALID_HANDLE_VALUE; return m_handle != INVALID_HANDLE_VALUE;
} }
@ -47,7 +48,7 @@ bool Device::close()
bool Device::cancelIo() bool Device::cancelIo()
{ {
return CancelIoEx(m_handle, NULL); return CancelIoEx(m_handle, nullptr);
} }
bool Device::ioctl(quint32 code, char *in, int inSize, bool Device::ioctl(quint32 code, char *in, int inSize,
@ -58,7 +59,7 @@ bool Device::ioctl(quint32 code, char *in, int inSize,
const bool res = DeviceIoControl( const bool res = DeviceIoControl(
m_handle, code, m_handle, code,
in, inSize, out, outSize, in, inSize, out, outSize,
&size, NULL); &size, nullptr);
if (retSize) { if (retSize) {
*retSize = size; *retSize = size;

View File

@ -95,7 +95,7 @@ bool Ip4Range::fromText(const QString &text)
bool Ip4Range::parseAddressMask(const QStringRef &line, bool Ip4Range::parseAddressMask(const QStringRef &line,
quint32 &from, quint32 &to) quint32 &from, quint32 &to)
{ {
const QRegularExpression re("([\\d.]+)\\s*([/-]?)\\s*(\\S*)"); const QRegularExpression re(R"(([\d.]+)\s*([/-]?)\s*(\S*))");
const QRegularExpressionMatch match = re.match(line); const QRegularExpressionMatch match = re.match(line);
if (!match.hasMatch()) { if (!match.hasMatch()) {

View File

@ -1,16 +1,16 @@
#ifndef IP4RANGE_H #ifndef IP4RANGE_H
#define IP4RANGE_H #define IP4RANGE_H
#include <QObject>
#include <QMap> #include <QMap>
#include <QObject>
#include <QVector> #include <QVector>
typedef struct { using Ip4Pair = struct {
quint32 from, to; quint32 from, to;
} Ip4Pair; };
typedef QMap<quint32, quint32> ip4range_map_t; using ip4range_map_t = QMap<quint32, quint32>;
typedef QVector<quint32> ip4range_arr_t; using ip4range_arr_t = QVector<quint32>;
class Ip4Range : public QObject class Ip4Range : public QObject
{ {
@ -30,7 +30,7 @@ public:
const ip4range_arr_t &fromArray() const { return m_fromArray; } const ip4range_arr_t &fromArray() const { return m_fromArray; }
const ip4range_arr_t &toArray() const { return m_toArray; } const ip4range_arr_t &toArray() const { return m_toArray; }
const int size() const { return m_toArray.size(); } int size() const { return m_toArray.size(); }
const Ip4Pair at(int i) const { const Ip4Pair at(int i) const {
return Ip4Pair{m_fromArray.at(i), m_toArray.at(i)}; return Ip4Pair{m_fromArray.at(i), m_toArray.at(i)};
} }

View File

@ -18,7 +18,7 @@ QString OsUtil::pidToPath(quint32 pid, bool isKernelPath)
bool OsUtil::createGlobalMutex(const char *name) bool OsUtil::createGlobalMutex(const char *name)
{ {
return !CreateMutexA(NULL, FALSE, name); return !CreateMutexA(nullptr, FALSE, name);
} }
quint32 OsUtil::lastErrorCode() quint32 OsUtil::lastErrorCode()
@ -28,12 +28,13 @@ quint32 OsUtil::lastErrorCode()
QString OsUtil::lastErrorMessage(quint32 errorCode) QString OsUtil::lastErrorMessage(quint32 errorCode)
{ {
LPWSTR buf = NULL; LPWSTR buf = nullptr;
FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER
| FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_SYSTEM
| FORMAT_MESSAGE_IGNORE_INSERTS, | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, errorCode, 0, (LPWSTR) &buf, 0, NULL); nullptr, errorCode, 0,
(LPWSTR) &buf, 0, nullptr);
if (!buf) { if (!buf) {
return QString("System Error %1").arg(errorCode); return QString("System Error %1").arg(errorCode);