1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3 #include <QMessageBox>
4 #include <QFile>
5 #include <DWKeyboard/KeyboardGlobal.h>
6
MainWindow(QWidget * parent)7 MainWindow::MainWindow(QWidget *parent) :
8 QMainWindow(parent),
9 ui(new Ui::MainWindow)
10 {
11 ui->setupUi(this);
12 GlobalInit();
13 setWindowState(Qt::WindowMaximized);
14 setWindowFlags(Qt::FramelessWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
15 ui->hostip->installEventFilter(this);
16 ui->ssid->installEventFilter(this);
17 ui->pawd->installEventFilter(this);
18
19 ui->hostip->setText("192.168.1.111");
20
21 myprocess = new QProcess(this);
22 connect(myprocess, SIGNAL(readyReadStandardOutput()),this, SLOT(result()));
23 connect(myprocess, SIGNAL(readyReadStandardError()),this, SLOT(result()));
24
25 connect(ui->exitBtn, &QPushButton::clicked, this, [=](){
26 close();
27 });
28 }
29
~MainWindow()30 MainWindow::~MainWindow()
31 {
32 delete ui;
33 }
34
result()35 void MainWindow::result()
36 {
37 QString abc = myprocess->readAllStandardOutput();
38 ui->result->append(abc.trimmed());
39 QString efg = myprocess->readAllStandardError();
40 if(efg.length()>1)ui->result->append(efg.trimmed());
41 }
42
eventFilter(QObject * watched,QEvent * event)43 bool MainWindow::eventFilter(QObject *watched, QEvent *event)
44 {
45 static bool mFocusIn = false;
46 if (event->type()==QEvent::FocusIn)
47 {
48 mFocusIn = true;
49 }
50 else if (event->type()==QEvent::FocusOut)
51 {
52 PlatformInputContextBase->FocusOut(watched);
53 mFocusIn = false;
54 }
55 if (mFocusIn && event->type() == QEvent::MouseButtonPress) {
56 QMouseEvent *e = (QMouseEvent *)event;
57 PlatformInputContextBase->FocusIn(watched, e->globalPos());
58 }
59
60 return QMainWindow::eventFilter(watched,event);
61
62 }
63
64
closeEvent(QCloseEvent *)65 void MainWindow::closeEvent(QCloseEvent *)
66 {
67 myprocess->kill();
68 destroy();
69 exit(0);
70 }
71
72
on_connect_clicked()73 void MainWindow::on_connect_clicked()
74 {
75 if(ui->ssid->text() == QString(""))
76 {
77 QMessageBox::about(this,"error","ssid cannot be empty!");
78 return;
79 }
80 if(ui->pawd->text() == QString(""))
81 {
82 myprocess->start(tr("/usr/bin/fltest_wifi.sh -i %1 -s %2 -p %3")
83 .arg(ui->comboBox->currentText())
84 .arg(ui->ssid->text())
85 .arg("NONE"));
86 }
87 else
88 {
89 myprocess->start(tr("/usr/bin/fltest_wifi.sh -i %1 -s %2 -p %3")
90 .arg(ui->comboBox->currentText())
91 .arg(ui->ssid->text())
92 .arg(ui->pawd->text()));
93 }
94 }
95
on_status_clicked()96 void MainWindow::on_status_clicked()
97 {
98 ui->result->clear();
99 myprocess->start(tr("wpa_cli -i%1 status").arg(ui->comboBox->currentText()));
100 }
101
on_ping_clicked()102 void MainWindow::on_ping_clicked()
103 {
104 ui->result->clear();
105 if(ui->hostip->text() == QString(""))
106 {
107 QMessageBox::about(this,"error","hostname cannot be empty!");
108 return;
109 }
110
111 myprocess->start(tr("ping %1 -w 5").arg(ui->hostip->text()));
112 ui->result->append(QString("ping ")+ui->hostip->text());
113 }
114