WUT_Computer_Science/EGUI/lab1/blogsview.cpp

80 lines
1.7 KiB
C++
Raw Normal View History

2022-04-06 19:44:14 +02:00
#include "universalFunctions.h"
2022-04-04 21:22:50 +02:00
#include "blogsview.h"
#include "ui_blogsview.h"
#include "blogentry.h"
#include "ui_blogentry.h"
2022-04-06 19:44:14 +02:00
2022-04-06 02:20:29 +02:00
#include <algorithm>
2022-04-05 00:26:36 +02:00
#include <QJsonObject>
#include <QFile>
#include <QJsonDocument>
2022-04-06 02:20:29 +02:00
#include <QJsonArray>
2022-04-04 21:22:50 +02:00
blogsView::blogsView(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::blogsView)
{
ui->setupUi(this);
2022-04-06 19:44:14 +02:00
defineConnections();
}
void blogsView::defineConnections() const
{
connect(ui -> actionCreate_new_Blog_entry, &QAction::triggered, this, &blogsView::createNewBlogEntry);
connect(ui -> actionExit, &QAction::triggered, this, &blogsView::exit);
2022-04-04 21:22:50 +02:00
}
blogsView::~blogsView()
{
delete ui;
}
2022-04-05 00:26:36 +02:00
void blogsView::setUserId(const QString &userId)
{
this->userId = userId;
}
2022-04-05 14:07:24 +02:00
void blogsView::setBlogId(const QString &blogId)
{
2022-04-06 19:44:14 +02:00
qDebug() << "blog id before set: " << blogId;
2022-04-05 14:07:24 +02:00
this->blogId = blogId;
2022-04-06 19:44:14 +02:00
qDebug() << "blog id after set: " << this->blogId;
displayBlogEntries();
2022-04-05 14:07:24 +02:00
}
2022-04-04 21:22:50 +02:00
void blogsView::createNewBlogEntry()
{
blogEntry *e = new blogEntry();
2022-04-05 00:26:36 +02:00
e -> setUserId(userId);
2022-04-06 01:06:01 +02:00
e -> setBlogId(blogId);
2022-04-04 21:56:57 +02:00
ui -> blogsLayout -> addWidget(e);
2022-04-04 21:22:50 +02:00
}
2022-04-06 19:44:14 +02:00
void blogsView::displayBlogEntriesLoop(const QJsonArray &blogEntries)
{
for(int i = 0; i < blogEntries.size(); i++)
{
QJsonObject entry = (blogEntries.at(i)).toObject();
2022-04-06 19:51:35 +02:00
createNewBlogEntry();
2022-04-06 19:44:14 +02:00
}
}
2022-04-06 02:20:29 +02:00
void blogsView::displayBlogEntries()
{
QJsonObject blogsFile = readJsonFile("blogs.json");
QJsonObject userBlog = blogsFile[blogId].toObject();
2022-04-06 19:44:14 +02:00
qDebug() << blogId;
qDebug() << userBlog["blogId"].toString();
2022-04-06 02:20:29 +02:00
QJsonArray blogEntries = userBlog["items"].toArray();
2022-04-06 19:51:35 +02:00
displayBlogEntriesLoop(blogEntries);
2022-04-06 02:20:29 +02:00
2022-04-04 21:22:50 +02:00
}
2022-04-06 17:32:25 +02:00
void blogsView::exit()
2022-04-06 14:30:57 +02:00
{
QApplication::quit();
}