68 lines
2.0 KiB
C++
68 lines
2.0 KiB
C++
/*
|
|||
|
|
* SPDX-FileCopyrightText: 2023 Unisoc (Shanghai) Technologies Co., Ltd.
|
||
|
|
*
|
||
|
|
* SPDX-License-Identifier: LicenseRef-Unisoc-General-1.0
|
||
|
|
*/
|
||
|
|
#include <QVariant>
|
||
|
|
#include <QModelIndex>
|
||
|
|
#include <QDebug>
|
||
|
|
#include <QSettings>
|
||
|
|
#include <QLabel>
|
||
|
|
#include <QDateTime>
|
||
|
|
#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:" <<ui->m_appList->currentRow();
|
||
|
|
m_appManager->RunApp(ui->m_appList->currentRow());
|
||
|
|
}
|
||
|
|
|
||
|
|
void MainWindow::killApp(void)
|
||
|
|
{
|
||
|
|
qDebug()<<"Index:" <<ui->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();
|
||
|
|
}
|
||
|
|
|