mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-23 23:02:23 +00:00
Cleanup in installer code in app.
This commit is contained in:
parent
9208c6b4e6
commit
305ed0b3c5
@ -85,31 +85,17 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
pollServiceTimerId(0)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
if (ui->networkListWidget->verticalScrollBar())
|
||||
ui->networkListWidget->verticalScrollBar()->setSingleStep(8);
|
||||
QWidgetList widgets = this->findChildren<QWidget*>();
|
||||
foreach(QWidget *widget, widgets)
|
||||
widget->setAttribute(Qt::WA_MacShowFocusRect,false);
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (!QFile::exists("/Library/Application Support/ZeroTier/One/zerotier-one")) {
|
||||
// If the service is not installed, download the installer and run it
|
||||
// for the first time.
|
||||
this->setEnabled(false);
|
||||
InstallDialog *id = new InstallDialog(this);
|
||||
id->setModal(true);
|
||||
id->show();
|
||||
this->setHidden(true);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
mainWindow = this;
|
||||
|
||||
this->pollServiceTimerId = this->startTimer(1000);
|
||||
this->setEnabled(false); // gets enabled when updates are received
|
||||
mainWindow = this;
|
||||
this->cyclesSinceResponseFromService = 0;
|
||||
|
||||
if (ui->networkListWidget->verticalScrollBar())
|
||||
ui->networkListWidget->verticalScrollBar()->setSingleStep(8);
|
||||
|
||||
QWidgetList widgets = this->findChildren<QWidget*>();
|
||||
foreach(QWidget* widget, widgets)
|
||||
widget->setAttribute(Qt::WA_MacShowFocusRect,false);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
@ -132,8 +118,6 @@ void MainWindow::timerEvent(QTimerEvent *event)
|
||||
if (!ZeroTier::Utils::readFile(ZeroTier::Node::LocalClient::authTokenDefaultUserPath().c_str(),authToken)) {
|
||||
#ifdef __APPLE__
|
||||
if (QFile::exists("/Library/Application Support/ZeroTier/One/zerotier-one")) {
|
||||
// Run the little AppleScript hack that asks for admin credentials and
|
||||
// then installs the auth token file in the current user's home.
|
||||
QMessageBox::information(this,"Authorization Required","You must authenticate to authorize this user to administrate ZeroTier One on this computer.\n\n(This only needs to be done once.)",QMessageBox::Ok,QMessageBox::NoButton);
|
||||
QString authHelperPath(QCoreApplication::applicationDirPath() + "/../Resources/helpers/mac/ZeroTier One (Authenticate).app/Contents/MacOS/applet");
|
||||
if (!QFile::exists(authHelperPath)) {
|
||||
@ -143,13 +127,7 @@ void MainWindow::timerEvent(QTimerEvent *event)
|
||||
}
|
||||
QProcess::execute(authHelperPath,QStringList());
|
||||
} else {
|
||||
// If the service is not installed, download the installer and run it
|
||||
// for the first time.
|
||||
this->setEnabled(false);
|
||||
InstallDialog *id = new InstallDialog(this);
|
||||
id->setModal(true);
|
||||
id->show();
|
||||
this->setHidden(true);
|
||||
doInstallDialog();
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@ -279,6 +257,14 @@ void MainWindow::customEvent(QEvent *event)
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::showEvent(QShowEvent *event)
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
if (!QFile::exists("/Library/Application Support/ZeroTier/One/zerotier-one"))
|
||||
doInstallDialog();
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::on_joinNetworkButton_clicked()
|
||||
{
|
||||
QString toJoin(ui->networkIdLineEdit->text());
|
||||
@ -340,3 +326,15 @@ void MainWindow::on_addressButton_clicked()
|
||||
{
|
||||
QApplication::clipboard()->setText(this->myAddress);
|
||||
}
|
||||
|
||||
void MainWindow::doInstallDialog()
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
this->setEnabled(false);
|
||||
this->setHidden(true);
|
||||
|
||||
InstallDialog *id = new InstallDialog(this);
|
||||
id->setModal(true);
|
||||
id->show();
|
||||
#endif
|
||||
}
|
||||
|
@ -31,6 +31,8 @@
|
||||
#include <QMainWindow>
|
||||
#include <QEvent>
|
||||
#include <QString>
|
||||
#include <QShowEvent>
|
||||
#include <QTimerEvent>
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
@ -59,10 +61,7 @@ public:
|
||||
public:
|
||||
ZTMessageEvent(const std::vector<std::string> &m) :
|
||||
QEvent(QEvent::User),
|
||||
ztMessage(m)
|
||||
{
|
||||
}
|
||||
|
||||
ztMessage(m) {}
|
||||
std::vector<std::string> ztMessage;
|
||||
};
|
||||
|
||||
@ -72,6 +71,7 @@ public:
|
||||
protected:
|
||||
virtual void timerEvent(QTimerEvent *event);
|
||||
virtual void customEvent(QEvent *event);
|
||||
virtual void showEvent(QShowEvent *event);
|
||||
|
||||
private slots:
|
||||
void on_joinNetworkButton_clicked();
|
||||
@ -80,6 +80,8 @@ private slots:
|
||||
void on_addressButton_clicked();
|
||||
|
||||
private:
|
||||
void doInstallDialog();
|
||||
|
||||
Ui::MainWindow *ui;
|
||||
|
||||
QString myAddress;
|
||||
|
Loading…
Reference in New Issue
Block a user