#pragma once

#include <QTableWidget>
#include <QVBoxLayout>
#include <QWidget>

#include "minibutton.h"
#include "qminiblink.h"
#include "sqlitehelper.h"
#include "ui_applicationmanagerpage.h"

class ApplicationManager;
struct Title;
struct Record2;

class ApplicationManagerPage : public QWidget
{
	Q_OBJECT

public:
	ApplicationManagerPage(int category, ApplicationManager *application_manager,QWidget *parent = nullptr);
	~ApplicationManagerPage();
	QMap<QString, Record2> rows;

private:
	Ui::ApplicationManagerPageClass ui;
	QVBoxLayout* layout;
	QHBoxLayout* layout_top;
	QHBoxLayout* layout_bottom;
	QMiniBlink* miniblink;
	QList<MiniButton*> buttons;
	QList<Record> softwares;
	QList<ButtonStruct> button_structs;
	QHash<QString, bool> checked;
	SQLiteHelper sqlite_helper;
	QGridLayout* layout_left;
	QTableWidget* table;
	ApplicationManager* application_manager;
	Title *title;
	int category;
public slots:
	void refresh();
	void onclicked();
};
