label style and current file shown

This commit is contained in:
jorenchik
2024-09-30 20:20:17 +03:00
parent 67ea97809b
commit 59558ba866

View File

@@ -3,13 +3,16 @@
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <qabstractbutton.h> #include <qabstractbutton.h>
#include <qboxlayout.h>
#include <qlabel.h> #include <qlabel.h>
#include <qlayoutitem.h> #include <qlayoutitem.h>
#include <qmainwindow.h> #include <qmainwindow.h>
#include <qobjectdefs.h> #include <qobjectdefs.h>
#include <qsizepolicy.h>
#include <qtoolbutton.h> #include <qtoolbutton.h>
#include <qwindow.h> #include <qwindow.h>
#include <qwindowdefs.h> #include <qwindowdefs.h>
#include <regex>
#include <string> #include <string>
#include <QApplication> #include <QApplication>
@@ -32,11 +35,13 @@
#include <QListView> #include <QListView>
#include <QWindow> #include <QWindow>
#include <qabstractitemmodel.h> #include <qabstractitemmodel.h>
#include <system_error>
#include "api.h" #include "api.h"
#include "parser.h" #include "parser.h"
#include "trainWindow.h" #include "trainWindow.h"
#include "stringUtils.h"
#define TEXT_LG = 20
struct Page { struct Page {
int start; int start;
@@ -330,6 +335,8 @@ void SwitchPage(int pageIdx) {
CreateMdems(pageSlice); CreateMdems(pageSlice);
} }
std::regex lastPathElementExp = std::regex("(.+\\/)*(.+)");
void loadMdem() { void loadMdem() {
auto file = std::ifstream(currentPath); auto file = std::ifstream(currentPath);
std::string content; std::string content;
@@ -347,6 +354,11 @@ void loadMdem() {
makePages(); makePages();
SwitchPage(0); SwitchPage(0);
setQuestions(questions); setQuestions(questions);
std::smatch matches;
auto filename = std::regex_search(currentPath, matches, lastPathElementExp);
deckListLabel->setText(
QString::fromStdString(std::format("mdem: {}", matches[2].str()))
);
} else { } else {
std::cout << "Compilation error." << std::endl; std::cout << "Compilation error." << std::endl;
for (auto mdem: mdems) { for (auto mdem: mdems) {
@@ -370,13 +382,22 @@ int main(int argc, char *argv[]) {
// LeftSide // LeftSide
QWidget *leftWidget = new QWidget(); QWidget *leftWidget = new QWidget();
QVBoxLayout *leftLayout = new QVBoxLayout(); QVBoxLayout *leftLayout = new QVBoxLayout();
QLabel *mdemLabel = new QLabel("Mdems"); QWidget *leftTop = new QWidget();
QVBoxLayout *vLeftTop = new QVBoxLayout();
QLabel *mdemLabel = new QLabel("mdems");
QFileSystemModel *model = new QFileSystemModel(); QFileSystemModel *model = new QFileSystemModel();
QTreeView *mdemList = new QTreeView(); QTreeView *mdemList = new QTreeView();
mdemLabel->setStyleSheet(
"font-size: 17px;"
"font-weight: 400;"
);
mdemSpacer = new QSpacerItem(50, 50, QSizePolicy::Minimum, QSizePolicy::Expanding); mdemSpacer = new QSpacerItem(50, 50, QSizePolicy::Minimum, QSizePolicy::Expanding);
leftWidget->setLayout(leftLayout); leftWidget->setLayout(leftLayout);
leftLayout->addWidget(mdemLabel); leftLayout->addWidget(leftTop);
leftTop->setLayout(vLeftTop);
leftTop->setMinimumSize(0, 40);
vLeftTop->addWidget(mdemLabel);
model->setRootPath(workingPath); model->setRootPath(workingPath);
// Hide all columns except the first one // Hide all columns except the first one
mdemList->setModel(model); mdemList->setModel(model);
@@ -403,9 +424,18 @@ int main(int argc, char *argv[]) {
// DeckList // DeckList
QLabel *deckLabel = new QLabel("Decks"); QLabel *deckLabel = new QLabel("decks");
QListView *deckList = new QListView(); QWidget *deckLabelBox = new QWidget();
leftLayout->addWidget(deckLabel); QVBoxLayout *vDeckLabelBox = new QVBoxLayout();
QListView *deckList = new QListView();
deckLabel->setStyleSheet(
"font-size: 17px;"
"font-weight: 400;"
);
deckLabelBox->setLayout(vDeckLabelBox);
vDeckLabelBox->addWidget(deckLabel);
deckLabelBox->setMinimumSize(0, 40);
leftLayout->addWidget(deckLabelBox);
leftLayout->addWidget(deckList); leftLayout->addWidget(deckList);
// RightSide // RightSide
@@ -415,7 +445,12 @@ int main(int argc, char *argv[]) {
QWidget *top = new QWidget(); QWidget *top = new QWidget();
QHBoxLayout *hTop = new QHBoxLayout(); QHBoxLayout *hTop = new QHBoxLayout();
deckListLabel = new QLabel("Mdem: todo.mdem"); deckListLabel = new QLabel();
deckListLabel->setStyleSheet(
"font-size: 17px;"
"font-weight: 400;"
);
top->setMinimumSize(0, 40);
top->setLayout(hTop); top->setLayout(hTop);
rightLayout->addWidget(top); rightLayout->addWidget(top);