实现从apt源读取数据并分类功能的功能
This commit is contained in:
parent
bd51419f52
commit
3c88cc03f8
@ -18,6 +18,7 @@ void KernelInformation::LoadInfo()
|
||||
AptPkgInfo info = AptPkgInfo("linux-", AptPkgInfo::PkgSearchOption::HeadInclude);
|
||||
QStringList list = info.GetAptPackageList();
|
||||
QJsonArray array;
|
||||
indexMap = {};
|
||||
for(QString i: list) {
|
||||
QJsonObject object;
|
||||
bool isContinue = false;
|
||||
@ -51,8 +52,12 @@ void KernelInformation::LoadInfo()
|
||||
alreadyIndex = indexMap.value(strTemp);
|
||||
QJsonArray pkgArray = array.at(alreadyIndex).toObject().value("PkgName").toArray();
|
||||
pkgArray.append(i);
|
||||
array.insert(alreadyIndex, array.at(alreadyIndex).toObject().insert("PkgName", pkgArray)->toObject());
|
||||
//array.at(alreadyIndex).toObject().insert("PkgName", pkgArray);
|
||||
qDebug() << pkgArray;
|
||||
//array.replace(alreadyIndex, array.at(alreadyIndex).toObject().insert("PkgName", pkgArray)->toObject());
|
||||
qDebug() << alreadyIndex << array.count();
|
||||
QJsonObject pkgObject = array.at(alreadyIndex).toObject();
|
||||
pkgObject["PkgName"] = pkgArray;
|
||||
array.replace(alreadyIndex, pkgObject);//.insert("PkgName", pkgArray)->toObject());
|
||||
continue;
|
||||
}
|
||||
info.SetPkgName(strTemp);
|
||||
@ -61,6 +66,7 @@ void KernelInformation::LoadInfo()
|
||||
object.insert("Des", info.get_maintainer(i));
|
||||
object.insert("Arch", info.get_architecture(i));
|
||||
object.insert("PkgName", QJsonArray::fromStringList(QStringList() << i));
|
||||
indexMap.insert(strTemp, array.count());
|
||||
array.append(object);
|
||||
}
|
||||
this->listData = array;
|
||||
@ -130,16 +136,16 @@ QStringList KernelInformation::get_system(int value) const
|
||||
|
||||
QStringList KernelInformation::get_arch(int value) const
|
||||
{
|
||||
QJsonArray list = get_kernelData(value).value("Arch").toArray();
|
||||
int count = list.count();
|
||||
//QJsonArray list = get_kernelData(value).value("Arch").toArray();
|
||||
/*int count = list.count();
|
||||
QStringList result;
|
||||
for(int i = 0; i < count; i++) {
|
||||
result << list.at(i).toString();
|
||||
}
|
||||
if(!result.count()) {
|
||||
result << "all";
|
||||
}
|
||||
return result;
|
||||
}*/
|
||||
return QStringList() << get_kernelData(value).value("Arch").toString();
|
||||
}
|
||||
|
||||
QString KernelInformation::localKernelName() const
|
||||
|
@ -31,12 +31,13 @@ void MainWindow::RefreshKernelListView(KernelInformation *info, bool showLocalAr
|
||||
int count = info->get_count();
|
||||
QStandardItemModel *model = new QStandardItemModel();
|
||||
model->setHorizontalHeaderLabels(QStringList() << tr("ID") << tr("Kernel Name") << tr("Author") << tr("Arch") << tr("Installed"));
|
||||
const QString arch = info->arch();
|
||||
int line = 0;
|
||||
for(int i = 0; i < count; i++) {
|
||||
// 显示所有架构
|
||||
QString kernelArch = "";
|
||||
bool isLocalArch = false;
|
||||
const QString arch = info->arch();
|
||||
|
||||
for(QString i: info->get_arch(i)) {
|
||||
if(i == arch) {
|
||||
isLocalArch = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user