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