최초
git-svn-id: svn://192.168.0.12/source@48 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
20
ProxyUI/ProxyUI.pro
Normal file
20
ProxyUI/ProxyUI.pro
Normal file
@@ -0,0 +1,20 @@
|
||||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2015-03-12T11:40:22
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = ProxyUI
|
||||
TEMPLATE = app
|
||||
|
||||
|
||||
SOURCES += main.cpp\
|
||||
widget.cpp
|
||||
|
||||
HEADERS += widget.h
|
||||
|
||||
FORMS += widget.ui
|
||||
11
ProxyUI/main.cpp
Normal file
11
ProxyUI/main.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include "widget.h"
|
||||
#include <QApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
Widget w;
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
160
ProxyUI/widget.cpp
Normal file
160
ProxyUI/widget.cpp
Normal file
@@ -0,0 +1,160 @@
|
||||
#include "widget.h"
|
||||
#include "ui_widget.h"
|
||||
|
||||
Widget::Widget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::Widget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
{
|
||||
p_labelUrl = new QLabel(tr("URL: "));
|
||||
p_labelTime = new QLabel(tr("Update Time Period(sec): "));
|
||||
p_labelProxyFile = new QLabel(tr("Save Location: "));
|
||||
p_labelRecentTime = new QLabel("");
|
||||
p_labelNextTime = new QLabel("");
|
||||
|
||||
p_labelRecent = new QLabel(tr("Recent Updated Time: "));
|
||||
p_labelNext = new QLabel("Next Update Time: ");
|
||||
|
||||
p_lineUrl = new QLineEdit("http://proxylist.hidemyass.com/search-1305249#listable");
|
||||
p_lineTime = new QLineEdit("1800");
|
||||
p_lineProxyFile = new QLineEdit(qApp->applicationDirPath());
|
||||
p_btnChoose = new QPushButton("Choose");
|
||||
|
||||
p_FileDialog = new QFileDialog();
|
||||
glayout = new QGridLayout();
|
||||
|
||||
p_lineUrl->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
p_lineTime->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
p_lineProxyFile->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
|
||||
glayout->addWidget(p_labelUrl, 0, 0);
|
||||
glayout->addWidget(p_lineUrl, 0, 1, 1, 3);
|
||||
glayout->addWidget(p_labelTime, 1, 0);
|
||||
glayout->addWidget(p_lineTime, 1, 1, 1, 3);
|
||||
glayout->addWidget(p_labelProxyFile, 2, 0);
|
||||
glayout->addWidget(p_lineProxyFile, 2, 1, 1, 2);
|
||||
glayout->addWidget(p_btnChoose, 2, 3);
|
||||
glayout->addWidget(p_labelRecent , 3, 0);
|
||||
glayout->addWidget(p_labelRecentTime, 3, 1);
|
||||
glayout->addWidget(p_labelNext, 3, 2);
|
||||
glayout->addWidget(p_labelNextTime, 3, 3);
|
||||
/*
|
||||
for(int i = 0; i < 4; i++)
|
||||
{
|
||||
hlayoutParam[i] = new QHBoxLayout();
|
||||
}
|
||||
|
||||
hlayoutParam[0]->addWidget(p_labelUrl);
|
||||
hlayoutParam[0]->addWidget(p_lineUrl);
|
||||
hlayoutParam[1]->addWidget(p_labelTime);
|
||||
hlayoutParam[1]->addWidget(p_lineTime);
|
||||
hlayoutParam[2]->addWidget(p_labelProxyFile);
|
||||
hlayoutParam[2]->addWidget(p_lineProxyFile);
|
||||
hlayoutParam[2]->addWidget(p_btnChoose);
|
||||
hlayoutParam[3]->addWidget(p_labelRecent);
|
||||
hlayoutParam[3]->addWidget(p_labelRecentTime);
|
||||
hlayoutParam[3]->addWidget(p_labelNext);
|
||||
hlayoutParam[3]->addWidget(p_labelNextTime);
|
||||
|
||||
vlayoutParam = new QVBoxLayout();
|
||||
|
||||
for(int i = 0; i < 4; i++)
|
||||
{
|
||||
vlayoutParam->addLayout(hlayoutParam[i]);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
{
|
||||
p_btnStart = new QPushButton(tr("Timer Start"));
|
||||
p_btnStop = new QPushButton(tr("Timer Stop"));
|
||||
p_labelTimerOnOff = new QLabel(tr("Timer OFF"));
|
||||
p_labelStatus = new QLabel(tr("Waiting"));
|
||||
// vlayoutButton = new QVBoxLayout();
|
||||
glayout->addWidget(p_btnStart,0, 4);
|
||||
glayout->addWidget(p_btnStop, 1, 4);
|
||||
glayout->addWidget(p_labelTimerOnOff, 2, 4);
|
||||
glayout->addWidget(p_labelStatus,3 , 4);
|
||||
QLabel *blank = new QLabel;
|
||||
glayout->addWidget(blank, 4, 0, 1, 4);
|
||||
}
|
||||
|
||||
p_timer = new QTimer(this);
|
||||
|
||||
connect(p_timer,SIGNAL(timeout()),this,SLOT(update()));
|
||||
connect(p_btnStart, SIGNAL(clicked()), this, SLOT(btnStart()));
|
||||
connect(p_btnStop, SIGNAL(clicked()), this, SLOT(btnStop()));
|
||||
connect(p_btnChoose, SIGNAL(clicked()), this, SLOT(btnChoose()));
|
||||
connect(&v_pro,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(processFinished()));
|
||||
|
||||
/*
|
||||
hlayoutDefault = new QHBoxLayout(this);
|
||||
hlayoutDefault->addLayout(vlayoutParam);
|
||||
hlayoutDefault->addLayout(glayout);
|
||||
hlayoutDefault->addLayout(vlayoutButton);
|
||||
*/
|
||||
setLayout(glayout);
|
||||
resize(700, 200);
|
||||
}
|
||||
|
||||
Widget::~Widget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void Widget::btnChoose()
|
||||
{
|
||||
qDebug("btnChoose()");
|
||||
QString directory = QFileDialog::getExistingDirectory(this,
|
||||
tr("Find Files"), QDir::currentPath());
|
||||
|
||||
if (!directory.isEmpty()) {
|
||||
this->p_lineProxyFile->setText(directory);
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::btnStart()
|
||||
{
|
||||
qDebug("btnStart()");
|
||||
if(p_timer->isActive())
|
||||
return;
|
||||
|
||||
update();
|
||||
|
||||
p_timer->start(p_lineTime->text().toInt()*1000);
|
||||
p_labelTimerOnOff->setText("Timer ON");
|
||||
|
||||
}
|
||||
|
||||
void Widget::btnStop()
|
||||
{
|
||||
qDebug("btnStop()");
|
||||
|
||||
if(p_timer->isActive())
|
||||
p_timer->stop();
|
||||
|
||||
p_labelTimerOnOff->setText("Timer OFF");
|
||||
p_labelNextTime->setText("");
|
||||
p_labelStatus->setText("Waiting");
|
||||
}
|
||||
|
||||
void Widget::update()
|
||||
{
|
||||
qDebug("update()");
|
||||
//QDateTime time = QDateTime::currentDateTime();
|
||||
|
||||
v_pro.start("ProxyProcess",QStringList() << p_lineUrl->text() << p_lineProxyFile->text() );
|
||||
//p_labelRecentTime->setText(time.toLocalTime().toString("yyyy-MM-dd hh:mm:ss"));
|
||||
p_labelNextTime->setText(QDateTime::currentDateTime().toLocalTime().addSecs(p_lineTime->text().toInt()).toString("yyyy-MM-dd hh:mm:ss"));
|
||||
p_labelStatus->setText("Updating");
|
||||
|
||||
}
|
||||
|
||||
void Widget::processFinished()
|
||||
{
|
||||
qDebug("process finished");
|
||||
p_labelRecentTime->setText(QDateTime::currentDateTime().toLocalTime().toString("yyyy-MM-dd hh:mm:ss"));
|
||||
p_labelStatus->setText("Update Done");
|
||||
}
|
||||
65
ProxyUI/widget.h
Normal file
65
ProxyUI/widget.h
Normal file
@@ -0,0 +1,65 @@
|
||||
#ifndef WIDGET_H
|
||||
#define WIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QHBoxLayout>
|
||||
#include <QPushButton>
|
||||
#include <QLineEdit>
|
||||
#include <QLabel>
|
||||
#include <QFileDialog>
|
||||
#include <QProcess>
|
||||
#include <QTimer>
|
||||
#include <QDateTime>
|
||||
|
||||
namespace Ui {
|
||||
class Widget;
|
||||
}
|
||||
|
||||
class Widget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Widget(QWidget *parent = 0);
|
||||
~Widget();
|
||||
|
||||
private:
|
||||
Ui::Widget *ui;
|
||||
|
||||
QHBoxLayout *hlayoutParam[4];
|
||||
QHBoxLayout *hlayoutDefault;
|
||||
QVBoxLayout *vlayoutButton;
|
||||
QVBoxLayout *vlayoutParam;
|
||||
QGridLayout *glayout;
|
||||
QLineEdit *p_lineUrl;
|
||||
QLineEdit *p_lineTime;
|
||||
QLineEdit *p_lineProxyFile;
|
||||
|
||||
|
||||
QLabel *p_labelUrl;
|
||||
QLabel *p_labelTime;
|
||||
QLabel *p_labelProxyFile;
|
||||
QLabel *p_labelRecentTime;
|
||||
QLabel *p_labelNextTime;
|
||||
QLabel *p_labelTimerOnOff;
|
||||
QLabel *p_labelRecent;
|
||||
QLabel *p_labelNext;
|
||||
QLabel *p_labelStatus;
|
||||
|
||||
QFileDialog *p_FileDialog;
|
||||
|
||||
QPushButton *p_btnStart;
|
||||
QPushButton *p_btnStop;
|
||||
QPushButton *p_btnChoose;
|
||||
QProcess v_pro;
|
||||
QTimer *p_timer;
|
||||
|
||||
public slots:
|
||||
void btnStart();
|
||||
void btnStop();
|
||||
void btnChoose();
|
||||
void update();
|
||||
void processFinished();
|
||||
};
|
||||
|
||||
#endif // WIDGET_H
|
||||
20
ProxyUI/widget.ui
Normal file
20
ProxyUI/widget.ui
Normal file
@@ -0,0 +1,20 @@
|
||||
<ui version="4.0">
|
||||
<class>Widget</class>
|
||||
<widget class="QWidget" name="Widget" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<string>Widget</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layoutDefault spacing="6" margin="11" />
|
||||
<pixmapfunction></pixmapfunction>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
Reference in New Issue
Block a user