summaryrefslogtreecommitdiff
path: root/client/Dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/Dialog.cpp')
-rw-r--r--client/Dialog.cpp34
1 files changed, 16 insertions, 18 deletions
diff --git a/client/Dialog.cpp b/client/Dialog.cpp
index 2610bea..169d33e 100644
--- a/client/Dialog.cpp
+++ b/client/Dialog.cpp
@@ -11,7 +11,7 @@
using namespace std;
-ProxyDialog::ProxyDialog(QWidget *parent): QDialog(parent, Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint)
+ProxyDialog::ProxyDialog(QWidget *parent): QDialog(parent, Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint)
{
UpdatedConfig *cfg = UpdatedConfig::CurrentConfig();
@@ -20,8 +20,6 @@ ProxyDialog::ProxyDialog(QWidget *parent): QDialog(parent, Qt::FramelessWindowHi
{
Logger::Error("No valid proxifier configuration file found!\n");
}
-
- connect(this, SIGNAL(finished(int)), this, SLOT(Closed(int)));
/* generic proxy panel */
topLabel = new QLabel(QString::fromLocal8Bit(cfg->TopPanelText.c_str()));
@@ -123,6 +121,21 @@ ProxyDialog::ProxyDialog(QWidget *parent): QDialog(parent, Qt::FramelessWindowHi
setLayout(mainLayout);
}
+
+bool ProxyDialog::event(QEvent* event)
+{
+ if (event->type() == QEvent::ActivationChange)
+ {
+ Logger::Debug("Activation change\n");
+ if(QApplication::activeWindow() != this)
+ {
+ this->close();
+ }
+ }
+ return QDialog::event(event);
+}
+
+
void ProxyDialog::resizeEvent(QResizeEvent* event)
{
QRect availScreenRect = QApplication::desktop()->availableGeometry();
@@ -131,21 +144,6 @@ void ProxyDialog::resizeEvent(QResizeEvent* event)
}
-void ProxyDialog::Closed(int i)
-{
- Logger::Trace("Dialog closed\n");
- Proxifier *proxifier = Proxifier::GetInstance();
- if (!proxifier->IsValid())
- {
- Logger::Error("No valid proxifier configuration file found!\n");
- return; // do not restart if no config found
- }
- if (!proxifier->ReloadConfig())
- {
- Logger::Error("Unable to restart Proxifier process!\n");
- }
-}
-
void ProxyDialog::ProxyToggled(bool on)
{
QPushButton* btn = (QPushButton*) sender();