/* * SPDX-FileCopyrightText: 2023 Unisoc (Shanghai) Technologies Co., Ltd. * * SPDX-License-Identifier: LicenseRef-Unisoc-General-1.0 */ #include #include #include #include #include #include #include "mainwindow.h" #include "ui_mainwindow.h" #include "appmanager.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); m_appManager = new appManager(this); connect(ui->m_appList,SIGNAL(itemClicked(QListWidgetItem*)), this,SLOT(runApp())); connect(ui->killone,SIGNAL(clicked()),this,SLOT(killApp())); connect(ui->killall,SIGNAL(clicked()),this,SLOT(killAllApp())); ui->m_appList->setViewMode(QListWidget::IconMode);//显示模式 ui->m_appList->setIconSize(QSize(300, 300));//设置图片大小 ui->m_appList->setSpacing(30);//间距 ui->m_appList->setResizeMode(QListView::Adjust);//适应布局调整 ui->m_appList->setMovement(QListView::Static);//不能移 for (int i = 0; i < m_appManager->GetAppCount(); i++){ QListWidgetItem *appItem = new QListWidgetItem; appItem->setIcon(QIcon(m_appManager->GetAppIcon(i))); appItem->setText(m_appManager->GetAppName(i)); appItem->setSizeHint(QSize(200, 200)); ui->m_appList->addItem(appItem); } } MainWindow::~MainWindow() { delete ui; } void MainWindow::runApp(void) { this->lower(); // set mainwindow on the bottom of other process window qDebug()<<"Index:" <m_appList->currentRow(); m_appManager->RunApp(ui->m_appList->currentRow()); } void MainWindow::killApp(void) { qDebug()<<"Index:" <m_appList->currentRow(); if(ui->m_appList->currentRow() >= 0){ m_appManager->KillOne(ui->m_appList->currentRow()); } } void MainWindow::killAllApp(void) { qDebug()<<"killAllApp"; m_appManager->KillAll(); }