支持内核卸载
This commit is contained in:
@@ -31,12 +31,13 @@ void MainWindow::RefreshKernelListView(KernelInformation *info)
|
||||
// 更新列表
|
||||
int count = info->get_count();
|
||||
QStandardItemModel *model = new QStandardItemModel();
|
||||
model->setHorizontalHeaderLabels(QStringList() << tr("ID") << tr("Kernel Name") << tr("Author") << tr("Arch"));
|
||||
model->setHorizontalHeaderLabels(QStringList() << tr("ID") << tr("Kernel Name") << tr("Author") << tr("Arch") << tr("Installed"));
|
||||
for(int i = 0; i < count; i++) {
|
||||
model->setItem(i, 0, new QStandardItem(QString::number(i)));
|
||||
model->setItem(i, 1, new QStandardItem(info->get_name(i)));
|
||||
model->setItem(i, 2, new QStandardItem(info->get_author(i)));
|
||||
model->setItem(i, 3, new QStandardItem(info->get_arch(i).at(0)));
|
||||
model->setItem(i, 4, new QStandardItem((QStringList() << "" << "Y").at(info->get_installedAlready(i))));
|
||||
}
|
||||
ui->m_kernelShow->setModel(model);
|
||||
}
|
||||
@@ -66,7 +67,7 @@ void MainWindow::on_m_installButton_clicked()
|
||||
QModelIndex index = ui->m_kernelShow->model()->index(row, 0);
|
||||
int id = ui->m_kernelShow->model()->data(index).toUInt();
|
||||
// 获取选中行
|
||||
KernelInstaller *installer = new KernelInstaller(kernelInformation->get_pkgName(id));
|
||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Install, kernelInformation->get_pkgName(id));
|
||||
installer->show();
|
||||
}
|
||||
|
||||
@@ -95,3 +96,21 @@ void MainWindow::on_actionGithub_triggered()
|
||||
QDesktopServices::openUrl(QUrl("https://github.com/GXDE-OS/gxde-kernel-manager"));
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_m_removeButton_clicked()
|
||||
{
|
||||
QModelIndex list = ui->m_kernelShow->selectionModel()->currentIndex();
|
||||
int row = list.row();
|
||||
if(row <= 0) {
|
||||
// 未选中任何内容
|
||||
QMessageBox::critical(this, tr("Error"), tr("Nothing to choose"));
|
||||
return;
|
||||
}
|
||||
// 获取 ID
|
||||
QModelIndex index = ui->m_kernelShow->model()->index(row, 0);
|
||||
int id = ui->m_kernelShow->model()->data(index).toUInt();
|
||||
// 获取选中行
|
||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Remove, kernelInformation->get_pkgName(id));
|
||||
installer->show();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user