From 9b53ef9764499b428a95aba4223f572a41c53c6b Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Tue, 1 Aug 2023 15:22:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E7=BD=AE=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=B8=BA=E7=8B=AC=E7=AB=8B=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OfficeAssistant_msvc.VC.db | Bin 86728704 -> 86728704 bytes .../OfficeAssistant_msvc.vcxproj | 12 +- .../OfficeAssistant_msvc.vcxproj.filters | 28 +-- .../OfficeAssistant_msvc.vcxproj.user | 4 +- OfficeAssistant_msvc/mainscreen.cpp | 18 +- OfficeAssistant_msvc/mainscreen.h | 2 - OfficeAssistant_msvc/mainwindowlayout.cpp | 8 +- OfficeAssistant_msvc/mysettingsdialog.cpp | 107 ++++++++++ OfficeAssistant_msvc/mysettingsdialog.h | 23 +++ OfficeAssistant_msvc/mysettingsdialog.ui | 158 +++++++++++++++ OfficeAssistant_msvc/netio.cpp | 40 +--- OfficeAssistant_msvc/qtwidgetsclass.ui | 23 --- OfficeAssistant_msvc/settingsscreen.cpp | 58 ------ OfficeAssistant_msvc/settingsscreen.h | 31 --- OfficeAssistant_msvc/settingsscreen.ui | 23 --- OfficeAssistant_msvc/switchbutton.cpp | 188 ------------------ OfficeAssistant_msvc/switchbutton.h | 41 ---- OfficeAssistant_msvc/switchbutton.ui | 23 --- startcalc/startcalc.vcxproj | 2 + wxdk/wxdk.vcxproj | 2 + 20 files changed, 319 insertions(+), 472 deletions(-) create mode 100644 OfficeAssistant_msvc/mysettingsdialog.cpp create mode 100644 OfficeAssistant_msvc/mysettingsdialog.h create mode 100644 OfficeAssistant_msvc/mysettingsdialog.ui delete mode 100644 OfficeAssistant_msvc/qtwidgetsclass.ui delete mode 100644 OfficeAssistant_msvc/settingsscreen.cpp delete mode 100644 OfficeAssistant_msvc/settingsscreen.h delete mode 100644 OfficeAssistant_msvc/settingsscreen.ui delete mode 100644 OfficeAssistant_msvc/switchbutton.cpp delete mode 100644 OfficeAssistant_msvc/switchbutton.h delete mode 100644 OfficeAssistant_msvc/switchbutton.ui diff --git a/OfficeAssistant_msvc.VC.db b/OfficeAssistant_msvc.VC.db index 110521761121edea43d3e1c5a2a954a78ddecdb5..3ceebf02dd874e45b5861a377cbdd2035e33022d 100644 GIT binary patch delta 77191 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
Z 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
    qmgWK;Y(?N~jcG`* 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

    `} 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 delta 61808 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 diff --git a/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj b/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj index 16734b1..654475d 100644 --- a/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj +++ b/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj @@ -101,9 +101,7 @@ - - - + @@ -118,22 +116,18 @@ - + - - + - - - diff --git a/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.filters b/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.filters index 3216add..90781a1 100644 --- a/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.filters +++ b/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.filters @@ -63,13 +63,7 @@ Header Files - - Header Files - - - Header Files - - + Header Files @@ -98,13 +92,7 @@ Source Files - - Source Files - - - Source Files - - + Source Files @@ -121,17 +109,11 @@ Form Files - - Form Files - - - Form Files - - - Form Files - Form Files + + Form Files + \ No newline at end of file diff --git a/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.user b/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.user index c1d4815..9add229 100644 --- a/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.user +++ b/OfficeAssistant_msvc/OfficeAssistant_msvc.vcxproj.user @@ -5,9 +5,9 @@ WindowsLocalDebugger - 2023-07-30T18:20:21.4819233Z + 2023-08-01T03:05:45.8140795Z - 2023-07-30T18:20:22.3001457Z + 2023-08-01T03:05:46.4588999Z \ No newline at end of file diff --git a/OfficeAssistant_msvc/mainscreen.cpp b/OfficeAssistant_msvc/mainscreen.cpp index b37abc0..b296a86 100644 --- a/OfficeAssistant_msvc/mainscreen.cpp +++ b/OfficeAssistant_msvc/mainscreen.cpp @@ -11,7 +11,6 @@ #include #include #include "globalvariables.h" -#include "settingsscreen.h" #include "mythread.h" #include "config.h" @@ -33,12 +32,8 @@ MainScreen::MainScreen(QWidget *parent) : button->setText(QString::fromLocal8Bit("打开微信")); layout = new QHBoxLayout; miniblink = new QMiniBlink(this); - settingScreen = new SettingsScreen; - settingScreen->setMinimumHeight(height()); - settingScreen->setHidden(true); layout->addWidget(widget, 1); layout->addWidget(miniblink, 4); - layout->addWidget(settingScreen); this->setLayout(layout); layout->setMargin(0); //miniblink->setAttribute(Qt::WA_DeleteOnClose); @@ -65,10 +60,8 @@ MainScreen::~MainScreen() { delete button; emit ondestroy(); layout->removeWidget(miniblink); - layout->removeWidget(settingScreen); layout->removeWidget(widget); delete miniblink; - delete settingScreen; delete widget; delete layout; delete ui; @@ -83,26 +76,17 @@ void MainScreen::clickButton1(QString text, QString url) { if (text == QString::fromLocal8Bit("微信多开")) { widget->setHidden(false); miniblink->setHidden(false); - settingScreen->setHidden(true); emit changeUrl(url_full); - - } - else if (text == QString::fromLocal8Bit("软件设置")){ - miniblink->setHidden(true); - widget->setHidden(true); - settingScreen->setHidden(false); - } else { widget->setHidden(true); miniblink->setHidden(false); - settingScreen->setHidden(true); emit changeUrl(url_full); } } void MainScreen::startWeChat() { QString path = QApplication::applicationDirPath(); - QString exe = path + "/wxdk.exe"; + QString exe = path + "/app/wxdk.exe"; ShellExecute(GetDesktopWindow(), L"open", exe.toStdWString().c_str(), L"79c86fb12b36dfa33d1a537c9af100b4c7928a9c", path.toStdWString().c_str(), SW_SHOW); } //void MainScreen::resizeEvent(QResizeEvent *event) { diff --git a/OfficeAssistant_msvc/mainscreen.h b/OfficeAssistant_msvc/mainscreen.h index 7ebf923..5a087f3 100644 --- a/OfficeAssistant_msvc/mainscreen.h +++ b/OfficeAssistant_msvc/mainscreen.h @@ -11,7 +11,6 @@ #include #include "wke.h" #include "qminiblink.h" -#include "settingsscreen.h" class MyThread; QT_BEGIN_NAMESPACE namespace Ui { class MainScreen; } @@ -43,7 +42,6 @@ private: QWidget *widget; MyThread *thread; QMiniBlink *miniblink; - SettingsScreen *settingScreen; private slots: void startWeChat(); diff --git a/OfficeAssistant_msvc/mainwindowlayout.cpp b/OfficeAssistant_msvc/mainwindowlayout.cpp index 210ae5c..0ceb15e 100644 --- a/OfficeAssistant_msvc/mainwindowlayout.cpp +++ b/OfficeAssistant_msvc/mainwindowlayout.cpp @@ -6,6 +6,7 @@ #include "mainwindowlayout.h" #include "ui_MainWindowLayout.h" +#include "mysettingsdialog.h" MainWindowLayout::MainWindowLayout(QWidget *parent) : QWidget(parent), ui(new Ui::MainWindowLayout) { @@ -47,10 +48,15 @@ void MainWindowLayout::resizeEvent(QResizeEvent *event) { void MainWindowLayout::clickButton(QString text, QString url) { QString path = QApplication::applicationDirPath(); - path += "/startcalc.exe"; + path += "/app/startcalc.exe"; if (text== QString::fromLocal8Bit("计算器")) { WinExec(path.toStdString().c_str(), SW_SHOW); } + else if (text == QString::fromLocal8Bit("软件设置")) { + MySettingsDialog *settings = new MySettingsDialog; + settings->exec(); + delete settings; + } else{ emit clickButton1(text, url); } diff --git a/OfficeAssistant_msvc/mysettingsdialog.cpp b/OfficeAssistant_msvc/mysettingsdialog.cpp new file mode 100644 index 0000000..307afa7 --- /dev/null +++ b/OfficeAssistant_msvc/mysettingsdialog.cpp @@ -0,0 +1,107 @@ +#include "mysettingsdialog.h" +#include +#include +#include "netio.h" +#include "globalvariables.h" +MySettingsDialog::MySettingsDialog(QWidget *parent) + : QDialog(parent) +{ + ui.setupUi(this); + this->setFixedSize(width(), height()); + HKEY hRoot = HKEY_CURRENT_USER; + wchar_t *szSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; + HKEY hKey; + DWORD dwDisposition = REG_OPENED_EXISTING_KEY; // 如果不存在不创建 + LONG lRet = RegCreateKeyEx(hRoot, szSubKey, 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition); + if (lRet != ERROR_SUCCESS) { + ui.autostart->setDisabled(true); + } + QString app = QApplication::applicationFilePath(); + app.replace("/", "\\"); + DWORD size=128; + wchar_t reg[128]; + lRet = RegGetValue(hRoot, szSubKey, L"OfficeAssistant", RRF_RT_ANY, nullptr, reg, &size); + if (wcscmp(reg,app.toStdWString().c_str())==0) { + ui.autostart->setChecked(true); + } + copyButton = ui.copy; + connect(copyButton, &QPushButton::clicked, this, &MySettingsDialog::copyToCLipboard); + connect(ui.autostart, &QCheckBox::stateChanged, this, &MySettingsDialog::autoStart); + connect(ui.addshortcut, &QPushButton::clicked, this, &MySettingsDialog::createShortcut); + connect(ui.law_button, &QPushButton::clicked, this, &MySettingsDialog::law); + ui.code->setText(QString(QCryptographicHash::hash(getMachineGUID().toUtf8(), QCryptographicHash::Md5).toHex())); +} + +MySettingsDialog::~MySettingsDialog() +{ +} + +void MySettingsDialog::autoStart(int state) +{ + if (state == Qt::Checked) { + HKEY hRoot = HKEY_CURRENT_USER; + wchar_t *szSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; + HKEY hKey; + DWORD dwDisposition = REG_OPENED_EXISTING_KEY; // 如果不存在不创建 + LONG lRet = RegCreateKeyEx(hRoot, szSubKey, 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition); + if (lRet != ERROR_SUCCESS) { + QMessageBox::critical(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("创建开机启动项失败")); + return; + } + QString app = QApplication::applicationFilePath(); + app.replace("/", "\\"); + qDebug() << app.toStdWString().c_str(); + lRet = RegSetValueEx(hKey, L"OfficeAssistant", 0, REG_SZ, (BYTE*)app.toStdWString().c_str(), app.length()*sizeof(wchar_t)); + if (lRet == ERROR_SUCCESS) + { + QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("创建开机启动项成功")); + } + RegCloseKey(hKey); + } + else if (state == Qt::Unchecked) { + HKEY hRoot = HKEY_CURRENT_USER; + wchar_t *szSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; + HKEY hKey; + DWORD dwDisposition = REG_OPENED_EXISTING_KEY; + LONG lRet = RegCreateKeyEx(hRoot, szSubKey, 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition); + if (lRet != ERROR_SUCCESS) { + QMessageBox::critical(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("移除开机启动项失败。")); + return; + } + QString app = QApplication::applicationFilePath(); + lRet = RegDeleteValue(hKey, L"OfficeAssistant"); + if (lRet == ERROR_SUCCESS) + { + QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("移除开机启动项成功。")); + } + RegCloseKey(hKey); + } +} + +void MySettingsDialog::law() +{ + QString path = QApplication::applicationDirPath(); + QString license = path + "/license.txt"; + license.replace("/", "\\"); + ShellExecute(GetDesktopWindow(), L"open", L"notepad.exe" , license.toStdWString().c_str(), nullptr, SW_SHOW); +} + +void MySettingsDialog::copyToCLipboard() { + QClipboard *clip = QApplication::clipboard(); + clip->setText(QString(QCryptographicHash::hash(getMachineGUID().toUtf8(), QCryptographicHash::Md5).toHex())); +} +void MySettingsDialog::createShortcut() { + QString deskTopPath = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); + deskTopPath = deskTopPath + QString::fromLocal8Bit("/办公助手.lnk"); + QString srcFile = QApplication::applicationFilePath(); + bool succeed=QFile::link(srcFile, deskTopPath); + if (succeed) { + QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("创建快捷方式成功。")); + } + else { + QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("创建快捷方式失败。")); + } +} \ No newline at end of file diff --git a/OfficeAssistant_msvc/mysettingsdialog.h b/OfficeAssistant_msvc/mysettingsdialog.h new file mode 100644 index 0000000..34ec556 --- /dev/null +++ b/OfficeAssistant_msvc/mysettingsdialog.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include "ui_mysettingsdialog.h" +#include + +class MySettingsDialog : public QDialog +{ + Q_OBJECT + +public: + MySettingsDialog(QWidget *parent = Q_NULLPTR); + ~MySettingsDialog(); + +private: + Ui::MySettingsDialog ui; + QPushButton *copyButton; +public slots: + void copyToCLipboard(); + void createShortcut(); + void autoStart(int state); + void law(); +}; diff --git a/OfficeAssistant_msvc/mysettingsdialog.ui b/OfficeAssistant_msvc/mysettingsdialog.ui new file mode 100644 index 0000000..cef95d5 --- /dev/null +++ b/OfficeAssistant_msvc/mysettingsdialog.ui @@ -0,0 +1,158 @@ + + + MySettingsDialog + + + + 0 + 0 + 736 + 540 + + + + + 0 + 0 + + + + 璁剧疆 + + + true + + + + + 70 + 70 + 581 + 381 + + + + + + + + 0 + 1 + + + + 纭欢淇℃伅 + + + + + 20 + 40 + 108 + 21 + + + + 纭欢ID + + + + + + 130 + 40 + 401 + 24 + + + + TextLabel + + + + + + 130 + 70 + 141 + 31 + + + + 澶嶅埗 + + + + + + + + + 0 + 1 + + + + 璁剧疆 + + + + + 20 + 30 + 138 + 28 + + + + 寮鏈哄惎鍔 + + + + + + 20 + 60 + 291 + 41 + + + + 鍒涘缓妗岄潰蹇嵎鏂瑰紡 + + + + + + + + + 0 + 1 + + + + 娉曞緥澹版槑 + + + + + 20 + 30 + 291 + 46 + + + + 鏌ョ湅娉曞緥澹版槑鍜岃鍙崗璁 + + + + + + + + + + + diff --git a/OfficeAssistant_msvc/netio.cpp b/OfficeAssistant_msvc/netio.cpp index c3ec4ad..590327c 100644 --- a/OfficeAssistant_msvc/netio.cpp +++ b/OfficeAssistant_msvc/netio.cpp @@ -70,12 +70,6 @@ RequestBodyBase::RequestBodyBase(){ exit(1); } release=obj_root.value("release").toString(); - if(obj_root.value("version")==QJsonValue::Undefined){ - QMessageBox::warning(nullptr, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("配置文件损坏")); - exit(1); - } - version=obj_root.value("version").toString(); - device_id=obj_root.value("device_id").toString(); }else{ //处理错误 QMessageBox::warning(nullptr, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("配置文件损坏")); @@ -113,30 +107,14 @@ RequestBodyBase::RequestBodyBase(){ default: os_version="Unknown"; } - //如果device_id是空值 - if(device_id.isEmpty()){ - //读取MachineGUID并取MD5作为device_id - QByteArray hash = QCryptographicHash::hash(getMachineGUID().toUtf8(), QCryptographicHash::Md5); - device_id=hash.toHex(); - infFile=new QFile(dir + "/config/information.kmd"); - if(!infFile->open(QIODevice::WriteOnly|QIODevice::Text)){ - //处理错误 - QMessageBox::warning(nullptr, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("无法覆写配置文件")); - infFile->close(); - delete infFile; - exit(1); - } - //加入json序列 - QJsonValue value=device_id; - QJsonObject obj_root = qJsonDocument.object(); - obj_root.insert("device_id",value); - qJsonDocument.setObject(obj_root); - //写入配置文件 - infFile->write(qJsonDocument.toJson()); - //关闭文件; - infFile->close(); - delete infFile; - } + //读取MachineGUID并取MD5作为device_id + QByteArray hash = QCryptographicHash::hash(getMachineGUID().toUtf8(), QCryptographicHash::Md5); + device_id = hash.toHex(); + //加入json序列 + QJsonValue value = device_id; + QJsonObject obj_root = qJsonDocument.object(); + obj_root.insert("device_id", value); + qJsonDocument.setObject(obj_root); QJsonValue os_json(this->os); QJsonValue os_version_json(this->os_version); QString key_hash = QCryptographicHash::hash(QString(KEY).toUtf8(), QCryptographicHash::Md5).toHex(); @@ -145,7 +123,7 @@ RequestBodyBase::RequestBodyBase(){ sign = sign_byte.toHex(); QJsonValue sign_json(sign); QJsonValue requestId_json=QJsonValue(request_id); - QJsonObject obj_root=qJsonDocument.object(); + obj_root=qJsonDocument.object(); //插入request_id obj_root.insert(QString::fromLocal8Bit("request_id"),requestId_json); obj_root.insert(QString::fromLocal8Bit("os"), os_json); diff --git a/OfficeAssistant_msvc/qtwidgetsclass.ui b/OfficeAssistant_msvc/qtwidgetsclass.ui deleted file mode 100644 index 119587c..0000000 --- a/OfficeAssistant_msvc/qtwidgetsclass.ui +++ /dev/null @@ -1,23 +0,0 @@ - - QtWidgetsClass - - - QtWidgetsClass - - - - 0 - 0 - 400 - 300 - - - - QtWidgetsClass - - - - - - - diff --git a/OfficeAssistant_msvc/settingsscreen.cpp b/OfficeAssistant_msvc/settingsscreen.cpp deleted file mode 100644 index 6000ef8..0000000 --- a/OfficeAssistant_msvc/settingsscreen.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include "settingsscreen.h" -#include "config.h" -#include -#include "netio.h" -SettingsScreen::SettingsScreen(QWidget *parent) - : QWidget(parent) -{ - ui.setupUi(this); - autoStart = new SwitchButton(ADD_AUTOSTART,this); - addDesktopLink = new QPushButton(this); - addDesktopLink->setText(QString::fromLocal8Bit("创建桌面快捷方式")); - connect(addDesktopLink, &QPushButton::pressed, this, &SettingsScreen::createShortCut); - layout = new QHBoxLayout(this); - left = new QVBoxLayout(this); - addDesktopLink_label = new QLabel(QString::fromLocal8Bit("添加桌面快捷方式"),this); - autoStart_label = new QLabel(QString::fromLocal8Bit("开机启动"),this); - autoStart->setMaximumSize(100, 50); - autoStart->setMinimumSize(50, 25); - left->addWidget(autoStart_label); - left->addWidget(autoStart); - left->addWidget(addDesktopLink_label); - left->addWidget(addDesktopLink); - left->setAlignment(Qt::AlignCenter); - left->setMargin(0); - layout->addLayout(left); - information = new QLabel; - QString device_id = QCryptographicHash::hash(getMachineGUID().toUtf8(), QCryptographicHash::Md5).toHex(); - QString inf_str = QString::fromLocal8Bit("硬件ID:\n"); - inf_str += device_id; - inf_str+= QString::fromLocal8Bit("\n本软件采用了Qt,Qt是The Qt Company的产品,采用LGPL协议发布。\n"); - inf_str += QString::fromLocal8Bit("本软件采用了MiniBlink,MiniBlink是珠海独角兽科技有限公司的产品,采用Apache 2.0协议发布。\n"); - information->setText(inf_str); - layout->addWidget(information); -} - -void SettingsScreen::createShortCut() { - QString deskTopPath = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); - deskTopPath = deskTopPath + QString::fromLocal8Bit("/办公助手.lnk"); - QString srcFile = QApplication::applicationFilePath(); - QFile::link(srcFile, deskTopPath); -} - -SettingsScreen::~SettingsScreen() -{ - left->removeWidget(autoStart); - left->removeWidget(addDesktopLink); - left->removeWidget(addDesktopLink_label); - left->removeWidget(autoStart_label); - delete autoStart; - delete addDesktopLink; - delete addDesktopLink_label; - delete autoStart_label; - layout->removeItem(left); - delete left; - layout->removeWidget(information); - delete information; - delete layout; -} diff --git a/OfficeAssistant_msvc/settingsscreen.h b/OfficeAssistant_msvc/settingsscreen.h deleted file mode 100644 index 6fda898..0000000 --- a/OfficeAssistant_msvc/settingsscreen.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include "ui_settingsscreen.h" -#include "switchbutton.h" - - -class SettingsScreen : public QWidget -{ - Q_OBJECT - -public: - SettingsScreen(QWidget *parent = Q_NULLPTR); - ~SettingsScreen(); - -private: - Ui::SettingsScreen ui; - QLabel *autoStart_label; - QLabel *addDesktopLink_label; - QPushButton *addDesktopLink; - SwitchButton *autoStart; - QHBoxLayout *layout; - QVBoxLayout *left; - QLabel *information; -private slots: - void createShortCut(); -}; diff --git a/OfficeAssistant_msvc/settingsscreen.ui b/OfficeAssistant_msvc/settingsscreen.ui deleted file mode 100644 index ce895e4..0000000 --- a/OfficeAssistant_msvc/settingsscreen.ui +++ /dev/null @@ -1,23 +0,0 @@ - - SettingsScreen - - - SettingsScreen - - - - 0 - 0 - 400 - 300 - - - - SettingsScreen - - - - - - - diff --git a/OfficeAssistant_msvc/switchbutton.cpp b/OfficeAssistant_msvc/switchbutton.cpp deleted file mode 100644 index f504653..0000000 --- a/OfficeAssistant_msvc/switchbutton.cpp +++ /dev/null @@ -1,188 +0,0 @@ -#include "switchbutton.h" -#include "config.h" -#include -#include -#include -SwitchButton::SwitchButton(int action,QWidget *parent=nullptr) - : QWidget(parent) -{ - ui.setupUi(this); - checked = false; - this->action = action; - //开、闭时背景颜色 - bgColorOff = QColor(225, 225, 225); - bgColorOn = QColor(250, 250, 250); - - //开、闭时滑块颜色 - sliderColorOff = QColor(100, 100, 100); - sliderColorOn = QColor(100, 184, 255); - - space = 2; //背景间隔 - rectRadius = 5; - - step = width() / 50; //步长 - - //起始、目标位置 - startX = 0; - endX = 0; - - timer = new QTimer(this); - timer->setInterval(10); - connect(timer, &QTimer::timeout, this, &SwitchButton::updateValue); - -} - -void SwitchButton::updateValue() -{ - if (checked) { - if (startX < endX) { - startX = startX + step; - } - else { - startX = endX; - timer->stop(); - } - } - else { - if (startX > endX) { - startX = startX - step; - } - else { - startX = endX; - timer->stop(); - } - } - - update(); -} -void SwitchButton::mousePressEvent(QMouseEvent *event) -{ - QWidget::mousePressEvent(event); - checked = !checked; - if (action == ADD_AUTOSTART) { - if (checked == true) { - HKEY hRoot = HKEY_CURRENT_USER; - wchar_t *szSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; - HKEY hKey; - DWORD dwDisposition = REG_OPENED_EXISTING_KEY; // 如果不存在不创建 - LONG lRet = RegCreateKeyEx(hRoot, szSubKey, 0, NULL, - REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition); - if (lRet != ERROR_SUCCESS) { - QMessageBox::critical(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("创建开机启动项失败")); - return; - } - QString app = QApplication::applicationFilePath(); - lRet = RegSetValueEx(hKey, L"SelfRun", 0, REG_SZ, (BYTE*)app.toStdWString().c_str(), app.length()); - if (lRet == ERROR_SUCCESS) - { - QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("创建开机启动项成功")); - } - RegCloseKey(hKey); - } - else { - HKEY hRoot = HKEY_CURRENT_USER; - wchar_t *szSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; - HKEY hKey; - DWORD dwDisposition = REG_OPENED_EXISTING_KEY; // 如果不存在不创建 - LONG lRet = RegCreateKeyEx(hRoot, szSubKey, 0, NULL, - REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition); - if (lRet != ERROR_SUCCESS) { - QMessageBox::critical(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("移除开机启动项失败")); - return; - } - QString app = QApplication::applicationFilePath(); - lRet = RegDeleteValue(hKey, L"SelfRun"); - if (lRet == ERROR_SUCCESS) - { - QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("移除开机启动项成功")); - } - RegCloseKey(hKey); - } - } - - //每次移动的步长为宽度的 50分之一 - step = width() / 50; - - //状态切换改变后自动计算终点坐标 - if (checked) - { - endX = width() - width() / 2; - } - else - { - endX = 0; - } - - timer->start(); -} - -void SwitchButton::resizeEvent(QResizeEvent *event) -{ - QWidget::resizeEvent(event); - //每次移动的步长为宽度的 50分之一 - step = width() / 50; - - //尺寸大小改变后自动设置起点坐标为终点 - if (checked) - { - startX = width() - width() / 2; - } - else - { - startX = 0; - } - - update(); -} -void SwitchButton::paintEvent(QPaintEvent *event) -{ - QWidget::paintEvent(event); - //绘制准备工作,启用反锯齿 - - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - //绘制背景 - drawBg(&painter); - //绘制滑块 - drawSlider(&painter); -} - -void SwitchButton::drawBg(QPainter *painter) -{ - painter->save(); - - painter->setPen(Qt::NoPen); - if (!checked) - { - painter->setBrush(bgColorOff); - } - else - { - painter->setBrush(bgColorOn); - } - painter->drawRoundedRect(rect(), rectRadius, rectRadius); - - painter->restore(); -} -void SwitchButton::drawSlider(QPainter *painter) -{ - painter->save(); - - painter->setPen(Qt::NoPen); - if (!checked) { - painter->setBrush(sliderColorOff); - } - else { - painter->setBrush(sliderColorOn); - } - int sliderWidth = width() / 2 - space * 2; - int sliderHeight = height() - space * 2; - QRect sliderRect(startX + space, space, sliderWidth, sliderHeight); - painter->drawRoundedRect(sliderRect, rectRadius, rectRadius); - - painter->restore(); -} - -SwitchButton::~SwitchButton() -{ -} diff --git a/OfficeAssistant_msvc/switchbutton.h b/OfficeAssistant_msvc/switchbutton.h deleted file mode 100644 index 4fd8be1..0000000 --- a/OfficeAssistant_msvc/switchbutton.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include -#include -#include -#include "ui_switchbutton.h" - -class SwitchButton : public QWidget -{ - Q_OBJECT - -public: - SwitchButton(int action, QWidget * parent); - ~SwitchButton(); - -private: - int action; - Ui::SwitchButton ui; - bool checked; - QColor bgColorOff; - QColor bgColorOn; - QColor sliderColorOff; - QColor sliderColorOn; - int space; - int rectRadius; - int step; - int startX; - int endX; - QTimer *timer; - - void updateValue(); - void drawBg(QPainter * painter); - void drawSlider(QPainter * painter); -protected: - void paintEvent(QPaintEvent *); - void resizeEvent(QResizeEvent *); - void mousePressEvent(QMouseEvent *); - - - -}; diff --git a/OfficeAssistant_msvc/switchbutton.ui b/OfficeAssistant_msvc/switchbutton.ui deleted file mode 100644 index 0133b8d..0000000 --- a/OfficeAssistant_msvc/switchbutton.ui +++ /dev/null @@ -1,23 +0,0 @@ - - SwitchButton - - - SwitchButton - - - - 0 - 0 - 400 - 300 - - - - SwitchButton - - - - - - - diff --git a/startcalc/startcalc.vcxproj b/startcalc/startcalc.vcxproj index b9e40bb..3aa10b0 100644 --- a/startcalc/startcalc.vcxproj +++ b/startcalc/startcalc.vcxproj @@ -71,12 +71,14 @@ true + $(SolutionDir)$(Configuration)\app\ true false + $(SolutionDir)$(Configuration)\app false diff --git a/wxdk/wxdk.vcxproj b/wxdk/wxdk.vcxproj index 5173ea8..15609ff 100644 --- a/wxdk/wxdk.vcxproj +++ b/wxdk/wxdk.vcxproj @@ -71,12 +71,14 @@ true + $(SolutionDir)$(Configuration)\app\ true false + $(SolutionDir)$(Configuration)\app false