added autostart and start minimized options
- added disabling split tunneling when selecting the wireguard protocol - if for macos the application is minimized to tray, then now it is not displayed in the dock
This commit is contained in:
parent
23ad006187
commit
4c79905f5b
8 changed files with 173 additions and 44 deletions
|
@ -5,9 +5,13 @@
|
|||
#include "../../platforms/android/androidutils.h"
|
||||
#include <QJniObject>
|
||||
#endif
|
||||
#if defined Q_OS_MAC
|
||||
#include "ui/macos_util.h"
|
||||
#endif
|
||||
|
||||
PageController::PageController(const QSharedPointer<ServersModel> &serversModel, QObject *parent)
|
||||
: QObject(parent), m_serversModel(serversModel)
|
||||
PageController::PageController(const QSharedPointer<ServersModel> &serversModel,
|
||||
const std::shared_ptr<Settings> &settings, QObject *parent)
|
||||
: QObject(parent), m_serversModel(serversModel), m_settings(settings)
|
||||
{
|
||||
#ifdef Q_OS_ANDROID
|
||||
// Change color of navigation and status bar's
|
||||
|
@ -23,6 +27,9 @@ PageController::PageController(const QSharedPointer<ServersModel> &serversModel,
|
|||
}
|
||||
});
|
||||
#endif
|
||||
|
||||
connect(this, &PageController::raiseMainWindow, []() { setDockIconVisible(true); });
|
||||
connect(this, &PageController::hideMainWindow, []() { setDockIconVisible(false); });
|
||||
}
|
||||
|
||||
QString PageController::getInitialPage()
|
||||
|
@ -88,3 +95,16 @@ void PageController::updateNavigationBarColor(const int color)
|
|||
});
|
||||
#endif
|
||||
}
|
||||
|
||||
void PageController::showOnStartup()
|
||||
{
|
||||
if (!m_settings->isStartMinimized()) {
|
||||
emit raiseMainWindow();
|
||||
} else {
|
||||
#ifdef Q_OS_WIN
|
||||
emit hideMainWindow();
|
||||
#elif defined Q_OS_MACX
|
||||
setDockIconVisible(false);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,7 +63,8 @@ class PageController : public QObject
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit PageController(const QSharedPointer<ServersModel> &serversModel, QObject *parent = nullptr);
|
||||
explicit PageController(const QSharedPointer<ServersModel> &serversModel, const std::shared_ptr<Settings> &settings,
|
||||
QObject *parent = nullptr);
|
||||
|
||||
public slots:
|
||||
QString getInitialPage();
|
||||
|
@ -75,6 +76,8 @@ public slots:
|
|||
unsigned int getInitialPageNavigationBarColor();
|
||||
void updateNavigationBarColor(const int color);
|
||||
|
||||
void showOnStartup();
|
||||
|
||||
signals:
|
||||
void goToPageHome();
|
||||
void goToPageSettings();
|
||||
|
@ -100,6 +103,8 @@ signals:
|
|||
|
||||
private:
|
||||
QSharedPointer<ServersModel> m_serversModel;
|
||||
|
||||
std::shared_ptr<Settings> m_settings;
|
||||
};
|
||||
|
||||
#endif // PAGECONTROLLER_H
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "fileUtilites.h"
|
||||
#include "logger.h"
|
||||
#include "ui/qautostart.h"
|
||||
#include "version.h"
|
||||
|
||||
SettingsController::SettingsController(const QSharedPointer<ServersModel> &serversModel,
|
||||
|
@ -137,3 +138,23 @@ void SettingsController::toggleAutoConnect(bool enable)
|
|||
{
|
||||
m_settings->setAutoConnect(enable);
|
||||
}
|
||||
|
||||
bool SettingsController::isAutoStartEnabled()
|
||||
{
|
||||
return Autostart::isAutostart();
|
||||
}
|
||||
|
||||
void SettingsController::toggleAutoStart(bool enable)
|
||||
{
|
||||
Autostart::setAutostart(enable);
|
||||
}
|
||||
|
||||
bool SettingsController::isStartMinimizedEnabled()
|
||||
{
|
||||
return m_settings->isStartMinimized();
|
||||
}
|
||||
|
||||
void SettingsController::toggleStartMinimized(bool enable)
|
||||
{
|
||||
m_settings->setStartMinimized(enable);
|
||||
}
|
||||
|
|
|
@ -48,6 +48,12 @@ public slots:
|
|||
bool isAutoConnectEnabled();
|
||||
void toggleAutoConnect(bool enable);
|
||||
|
||||
bool isAutoStartEnabled();
|
||||
void toggleAutoStart(bool enable);
|
||||
|
||||
bool isStartMinimizedEnabled();
|
||||
void toggleStartMinimized(bool enable);
|
||||
|
||||
signals:
|
||||
void primaryDnsChanged();
|
||||
void secondaryDnsChanged();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue