OfficeAssistant_Win10/OfficeAssistant_msvc/mainwindowlayout.cpp

92 lines
2.7 KiB
C++
Raw Normal View History

//
// Created by HW on 2023/07/26.
//
// You may need to build the project (run Qt uic code generator) to get "ui_MainWindowLagout.h" resolved
#include "mainwindowlayout.h"
#include "ui_MainWindowLayout.h"
#include "mysettingsdialog.h"
#include "netio.h"
#include "sqlitehelper.h"
MainWindowLayout::MainWindowLayout(QWidget *parent) :
QWidget(parent), ui(new Ui::MainWindowLayout) {
ui->setupUi(this);
setContentsMargins(0, 0, 0, 0);
SQLiteHelper sqlite_helper;
sqlite_helper.update_app();
sqlite_helper.update_software();
layout=new QVBoxLayout(this);
mainWindowLayout = this;
QList<ButtonStruct> list;
ConfigRequest *configRequest = new ConfigRequest;
configResponse = new ConfigResponse;
configRequest->sendRequest(configResponse);
mainScreen = new MainScreen(this);
navBar=new NavBar(configResponse,mainScreen,this);
navBar->setMinimumHeight(0);
navBar->setMaximumHeight(this->height() / 8);
mainScreen->setMinimumHeight(0);
//navBar->setAttribute(Qt::WA_DeleteOnClose);
delete configRequest;
//QSizePolicy sizePolicy(QSizePolicy::Policy::Fixed, QSizePolicy::QSizePolicy::Fixed);
//navBar->setSizePolicy(sizePolicy);
//layout->setContentsMargins(0, 0, 0, 0);
layout->addWidget(navBar,1);
layout->addWidget(mainScreen,7);
layout->setMargin(0);
setLayout(layout);
connect(this,&MainWindowLayout::clickButton1,mainScreen,&MainScreen::clickButton1);
}
MainWindowLayout::~MainWindowLayout() {
delete configResponse;
layout->removeWidget(mainScreen);
layout->removeWidget(navBar);
delete mainScreen;
//delete[] list[0];
delete navBar;
delete layout;
delete ui;
}
void MainWindowLayout::resizeEvent(QResizeEvent *event) {
QWidget::resizeEvent(event);
navBar->setMaximumHeight(event->size().height()/8);
//layout->setAlignment(Qt::AlignmentFlag::AlignHCenter);
}
void MainWindowLayout::clickButton(QString op, QString func, QString url,QString path,QString initial_position) {
QString root_path = QApplication::applicationDirPath();
if(op=="app")
{
if(func=="openwechat")
{
emit clickButton1("openwechat", url);
}else
{
path = root_path + path;
path.replace("/", "\\");
WinExec(path.toStdString().c_str(), SW_SHOW);
emit clickButton1(op, url);
}
}
else if (op == "self") {
if(func=="settings")
{
MySettingsDialog* settings = new MySettingsDialog;
settings->exec();
delete settings;
}
}
else if(op=="soft"){
ShellExecute(GetDesktopWindow(), L"open",path.toStdWString().c_str(),L"",initial_position.toStdWString().c_str(),SW_SHOW);
emit clickButton1(op, url);
}else
{
emit clickButton1(op, url);
}
}
MainWindowLayout *mainWindowLayout;