|
|
|
|
|
#include "lpConfigUI.h"
|
|
|
|
|
|
#include <lpConfig.h>
|
|
|
|
|
|
#include <QFileDialog>
|
|
|
|
|
|
#include <QApplication>
|
|
|
|
|
|
#include <QStandardPaths>
|
|
|
|
|
|
|
|
|
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
|
|
/*ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>*/
|
|
|
|
|
|
const QString gStrAppName = "ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λϵͳ";
|
|
|
|
|
|
|
|
|
|
|
|
lpConfigUI::lpConfigUI(QWidget *parent)
|
|
|
|
|
|
: QWidget(parent)
|
|
|
|
|
|
{
|
|
|
|
|
|
ui.setupUi(this);
|
|
|
|
|
|
setWindowIcon(QIcon(":/Resources/icon.png"));
|
|
|
|
|
|
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
connect(ui.pushButton_3, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
connect(ui.pushButton_4, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
ui.label_5->setVisible(false);
|
|
|
|
|
|
|
|
|
|
|
|
onInitCheckBox();
|
|
|
|
|
|
connect(ui.checkBox_AutoRun, SIGNAL(stateChanged(int)), this, SLOT(onCheckBoxChanged(int)));
|
|
|
|
|
|
connect(ui.checkBox_DesktopShort, SIGNAL(stateChanged(int)), this, SLOT(onCheckBoxChanged(int)));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
lpConfigUI::~lpConfigUI()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Q_SLOT void lpConfigUI::onButtonClicked()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strObj = sender()->objectName();
|
|
|
|
|
|
if ("pushButton" == strObj)
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strUrl = QFileDialog::getOpenFileName(this, "", "", "*.exe");
|
|
|
|
|
|
ui.lineEdit_APath->setText(strUrl);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if ("pushButton_2" == strObj)
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strUrl = QFileDialog::getOpenFileName(this, "", "", "*.exe");
|
|
|
|
|
|
ui.lineEdit_BPath->setText(strUrl);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if ("pushButton_3" == strObj)
|
|
|
|
|
|
{
|
|
|
|
|
|
lpConfig::instance()->appPathA = ui.lineEdit_APath->text();
|
|
|
|
|
|
lpConfig::instance()->appPathB = ui.lineEdit_BPath->text();
|
|
|
|
|
|
lpConfig::instance()->strUrlA = ui.lineEdit_AUrl->text();
|
|
|
|
|
|
lpConfig::instance()->strUrlB = ui.lineEdit_BUrl->text();
|
|
|
|
|
|
lpConfig::instance()->saveConfig();
|
|
|
|
|
|
ui.label_5->setVisible(true);
|
|
|
|
|
|
m_timerID = startTimer(1000);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if ("pushButton_4" == strObj)
|
|
|
|
|
|
{
|
|
|
|
|
|
this->close();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::showEvent(QShowEvent *event)
|
|
|
|
|
|
{
|
|
|
|
|
|
ui.lineEdit_APath->setText(lpConfig::instance()->appPathA);
|
|
|
|
|
|
ui.lineEdit_BPath->setText(lpConfig::instance()->appPathB);
|
|
|
|
|
|
ui.lineEdit_AUrl->setText(lpConfig::instance()->strUrlA);
|
|
|
|
|
|
ui.lineEdit_BUrl->setText(lpConfig::instance()->strUrlB);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::timerEvent(QTimerEvent *event)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (m_timerID == event->timerId())
|
|
|
|
|
|
{
|
|
|
|
|
|
killTimer(m_timerID);
|
|
|
|
|
|
m_timerID = 0;
|
|
|
|
|
|
ui.label_5->setVisible(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::onInitCheckBox()
|
|
|
|
|
|
{
|
|
|
|
|
|
bool bAutoRun = CheckAutoRunLink();
|
|
|
|
|
|
if (bAutoRun == true)
|
|
|
|
|
|
{
|
|
|
|
|
|
ui.checkBox_AutoRun->setChecked(true);
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
ui.checkBox_AutoRun->setChecked(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool bDesktop = CheckDesktopLink();
|
|
|
|
|
|
if (bDesktop == true)
|
|
|
|
|
|
{
|
|
|
|
|
|
ui.checkBox_DesktopShort->setChecked(true);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
ui.checkBox_DesktopShort->setChecked(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Q_SLOT void lpConfigUI::onCheckBoxChanged(int state)
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strObj = sender()->objectName();
|
|
|
|
|
|
if ("checkBox_AutoRun" == strObj)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (state == 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
RemoveAutoRunLink();
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
CreateAutoRunLink();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
else if ("checkBox_DesktopShort" == strObj)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (state == 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
RemoveDesktopLink();
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
CreateDesktopLink();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool lpConfigUI::CheckDesktopLink()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strDesktopLink = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation) + "/";
|
|
|
|
|
|
strDesktopLink += gStrAppName + ".lnk";
|
|
|
|
|
|
QFileInfo dir(strDesktopLink);
|
|
|
|
|
|
return dir.isFile();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::CreateDesktopLink()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strAppPath = QCoreApplication::applicationFilePath();//Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
QFile fApp(strAppPath);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ
|
|
|
|
|
|
QString strDesktopLink = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation) + "/";
|
|
|
|
|
|
strDesktopLink += gStrAppName + ".lnk";
|
|
|
|
|
|
QFileInfo dir(strDesktopLink);
|
|
|
|
|
|
//if (!dir.isFile())
|
|
|
|
|
|
{
|
|
|
|
|
|
fApp.link(strDesktopLink);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::RemoveDesktopLink()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strAppPath = QCoreApplication::applicationFilePath();//Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
QFile fApp(strAppPath);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ
|
|
|
|
|
|
QString strDesktopLink = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation) + "/";
|
|
|
|
|
|
strDesktopLink += gStrAppName + ".lnk";
|
|
|
|
|
|
QFileInfo dir(strDesktopLink);
|
|
|
|
|
|
//if (!dir.isFile())
|
|
|
|
|
|
{
|
|
|
|
|
|
fApp.remove(strDesktopLink);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool lpConfigUI::CheckAutoRunLink()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strMenuLink = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation) + "/";
|
|
|
|
|
|
strMenuLink += "Startup/";
|
|
|
|
|
|
QDir pathDir;
|
|
|
|
|
|
pathDir.mkpath(strMenuLink);
|
|
|
|
|
|
strMenuLink += gStrAppName + ".lnk";
|
|
|
|
|
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѵ<EFBFBD><D1B4><EFBFBD>
|
|
|
|
|
|
QFileInfo dir(strMenuLink);
|
|
|
|
|
|
return dir.isFile();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::CreateAutoRunLink()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strAppPath = QCoreApplication::applicationFilePath();//Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
QFile fApp(strAppPath);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ
|
|
|
|
|
|
QString strMenuLink = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation) + "/";
|
|
|
|
|
|
strMenuLink += "Startup/";
|
|
|
|
|
|
QDir pathDir;
|
|
|
|
|
|
pathDir.mkpath(strMenuLink);
|
|
|
|
|
|
strMenuLink += gStrAppName + ".lnk";
|
|
|
|
|
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѵ<EFBFBD><D1B4><EFBFBD>
|
|
|
|
|
|
QFileInfo dir(strMenuLink);
|
|
|
|
|
|
//if (!dir.isFile())
|
|
|
|
|
|
{
|
|
|
|
|
|
fApp.link(strMenuLink);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpConfigUI::RemoveAutoRunLink()
|
|
|
|
|
|
{
|
|
|
|
|
|
QString strAppPath = QCoreApplication::applicationFilePath();//Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
QFile fApp(strAppPath);
|
|
|
|
|
|
QString strMenuLink = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation) + "/";
|
|
|
|
|
|
strMenuLink += "Startup/";
|
|
|
|
|
|
QDir pathDir;
|
|
|
|
|
|
pathDir.mkpath(strMenuLink);
|
|
|
|
|
|
strMenuLink += gStrAppName + ".lnk";
|
|
|
|
|
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѵ<EFBFBD><D1B4><EFBFBD>
|
|
|
|
|
|
QFileInfo dir(strMenuLink);
|
|
|
|
|
|
//if (!dir.isFile())
|
|
|
|
|
|
{
|
|
|
|
|
|
fApp.remove(strMenuLink);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|