Files
BPI-M2C/source_sync_rls_25c/source/unisoc/graphic/qtlauncher/mainwindow.cpp
T

68 lines
2.0 KiB
C++
Raw Normal View History

2026-09-22 09:38:26 +08:00
/*
* 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();
}