实现应用列表和SpkResource

SpkResource现有已知问题:首次使用不会完全进行所有任务。
This commit is contained in:
RigoLigoRLC
2021-09-03 00:48:24 +08:00
parent 774e347957
commit ca57a7ac86
26 changed files with 1053 additions and 274 deletions

View File

@@ -5,13 +5,15 @@
#pragma once
#include "spkwindow.h"
#include <vector>
#include <QTextEdit>
#include <QStackedWidget>
#include <QButtonGroup>
#include <QJsonObject>
#include "spksidebartree.h" // In place of #include <QTreeWidget>
#include <QPointer>
#include "spkpageuitest.h"
#include "inc/page/spkpageuitest.h"
#include "inc/page/spkpageapplist.h"
class QNetworkReply;
@@ -19,9 +21,16 @@ namespace SpkUi
{
enum SpkStackedPages
{
PgInvalid = -1,
PgAppList,
PgQssTest // Must be at last
};
const std::vector<SpkStackedPages> ResourceContexts
{
PgAppList
};
class SpkSidebarSelector : public QObject
{
Q_OBJECT
@@ -139,6 +148,7 @@ namespace SpkUi
//Pages
SpkPageUiTest *PageQssTest;
SpkPageAppList *PageAppList;
};
}
@@ -154,11 +164,24 @@ class SpkMainWindow : public SpkWindow
void PopulateCategories(QJsonArray);
private:
QPointer<QNetworkReply> mCategoryGetReply;
void Initialize();
private:
QPointer<QNetworkReply> mCategoryGetReply,
mCategoryAppListGetReply;
SpkUi::SpkStackedPages mCurrentPage = SpkUi::PgInvalid;
public slots:
void RefreshCategoryData();
private slots:
void SwitchToPage(SpkUi::SpkStackedPages page);
void CategoryDataReceived();
void EnterCategoryList(int id);
void CategoryListDataReceived();
private:
void PopulateAppList(QJsonObject appData);
};