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