From 19e4ec29304d10762f84c6bb701c318d333b50d8 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Thu, 16 May 2024 22:38:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resource.qrc | 1 + gxde-kernel-manager.pro | 3 ++ icon/tux.png | Bin 0 -> 7666 bytes kernelinformationdialog.cpp | 16 +++++++ kernelinformationdialog.h | 23 ++++++++++ kernelinformationdialog.ui | 85 ++++++++++++++++++++++++++++++++++++ mainwindow.cpp | 22 ++++++++++ mainwindow.h | 2 + 8 files changed, 152 insertions(+) create mode 100644 icon/tux.png create mode 100644 kernelinformationdialog.cpp create mode 100644 kernelinformationdialog.h create mode 100644 kernelinformationdialog.ui diff --git a/Resource.qrc b/Resource.qrc index 669f148..8a64271 100644 --- a/Resource.qrc +++ b/Resource.qrc @@ -23,5 +23,6 @@ Donate/Alipay.jpg Donate/QQ.png Donate/Wechat.png + icon/tux.png diff --git a/gxde-kernel-manager.pro b/gxde-kernel-manager.pro index fe0dd9e..79cabea 100644 --- a/gxde-kernel-manager.pro +++ b/gxde-kernel-manager.pro @@ -12,6 +12,7 @@ SOURCES += \ aboutwindow.cpp \ aptpkginfo.cpp \ kernelinformation.cpp \ + kernelinformationdialog.cpp \ kernelinstaller.cpp \ main.cpp \ mainwindow.cpp \ @@ -21,12 +22,14 @@ HEADERS += \ aboutwindow.h \ aptpkginfo.h \ kernelinformation.h \ + kernelinformationdialog.h \ kernelinstaller.h \ mainwindow.h \ programinfo.h FORMS += \ aboutwindow.ui \ + kernelinformationdialog.ui \ kernelinstaller.ui \ mainwindow.ui diff --git a/icon/tux.png b/icon/tux.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e289541aef970e04ce62d266d90fce3f26ece2 GIT binary patch literal 7666 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 literal 0 HcmV?d00001 diff --git a/kernelinformationdialog.cpp b/kernelinformationdialog.cpp new file mode 100644 index 0000000..2c5cf9a --- /dev/null +++ b/kernelinformationdialog.cpp @@ -0,0 +1,16 @@ +#include "kernelinformationdialog.h" +#include "ui_kernelinformationdialog.h" + +KernelInformationDialog::KernelInformationDialog(QJsonObject data, QWidget *parent) : + QDialog(parent), + ui(new Ui::KernelInformationDialog) +{ + ui->setupUi(this); + // 解析数据 + +} + +KernelInformationDialog::~KernelInformationDialog() +{ + delete ui; +} diff --git a/kernelinformationdialog.h b/kernelinformationdialog.h new file mode 100644 index 0000000..0839885 --- /dev/null +++ b/kernelinformationdialog.h @@ -0,0 +1,23 @@ +#ifndef KERNELINFORMATIONDIALOG_H +#define KERNELINFORMATIONDIALOG_H + +#include +#include + +namespace Ui { +class KernelInformationDialog; +} + +class KernelInformationDialog : public QDialog +{ + Q_OBJECT + +public: + explicit KernelInformationDialog(QJsonObject data, QWidget *parent = nullptr); + ~KernelInformationDialog(); + +private: + Ui::KernelInformationDialog *ui; +}; + +#endif // KERNELINFORMATIONDIALOG_H diff --git a/kernelinformationdialog.ui b/kernelinformationdialog.ui new file mode 100644 index 0000000..7484d0c --- /dev/null +++ b/kernelinformationdialog.ui @@ -0,0 +1,85 @@ + + + KernelInformationDialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><img src=":/icon/tux.png"/></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + Kernel Name: + + + + + + + Kernel Version: + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + diff --git a/mainwindow.cpp b/mainwindow.cpp index f45d78e..ec4d28b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -8,6 +8,8 @@ #include #include +#include "kernelinformationdialog.h" + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) @@ -210,3 +212,23 @@ void MainWindow::on_actionDonate_triggered() QDesktopServices::openUrl(QUrl("https://gitee.com/GXDE-OS#%E8%AF%B7%E4%BD%9C%E8%80%85%E5%96%9D%E6%9D%AF%E8%8C%B6")); } + +void MainWindow::on_m_kernelShow_doubleClicked(const QModelIndex &index) +{ + // 显示具体信息 + QModelIndex list = index; + int row = list.row(); + if(row < 0) { + // 未选中任何内容 + QMessageBox::critical(this, tr("Error"), tr("Nothing to choose")); + return; + } + // 获取 ID + QModelIndex chooseIndex = ui->m_kernelShow->model()->index(row, 0); + int id = ui->m_kernelShow->model()->data(chooseIndex).toUInt(); + // 获取选中行 + KernelInformationDialog dialog(kernelInformation->get_kernelData(id)); + dialog.exec(); + +} + diff --git a/mainwindow.h b/mainwindow.h index 810f6ff..d48e22f 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -45,6 +45,8 @@ private slots: void on_actionDonate_triggered(); + void on_m_kernelShow_doubleClicked(const QModelIndex &index); + private: Ui::MainWindow *ui; KernelInformation *kernelInformation;