diff --git a/src/cpp/qtapp/main.cpp b/src/cpp/qtapp/main.cpp index 46a9765..4ef83ca 100644 --- a/src/cpp/qtapp/main.cpp +++ b/src/cpp/qtapp/main.cpp @@ -42,12 +42,11 @@ #include "parser.h" #include "trainWindow.h" -#define TEXT_LG = 20 - -struct Page { - int start; - int end; -}; +#define TEXT_LG = 20 +#define ERROR_POOL_CHUNK 50 +#define DISTANCE 2 +#define PER_PAGE 8 +#define MDEM_BACKGROUND "#F7F7F7" struct Mdem { QWidget wMdem; @@ -62,6 +61,45 @@ struct Mdem { int labelCount; }; +struct ErrorView { + QWidget box; + QVBoxLayout layout; + QLabel label; +}; + +struct Page { + int start; + int end; +}; + +QString workingPath = "/home/jorenchik/Code/mdemory/memorybase"; +std::string currentPath = ""; + +// Mdem list +QLabel *deckListLabel; +QVBoxLayout *hMdemScroll; +QList mdems = QList(); +std::vector questions = std::vector(); +QSpacerItem *mdemSpacer; +std::vector errorPool; +std::vector errorViews; + +// Pagination +int currentPage = -1; +std::vector pages; +QList paginationButtons; +QToolButton* prevButton; +QToolButton* firstButton; +QToolButton* lastButton; +QToolButton* nextButton; +QLabel* paginationLabel; + +// Mdem actions +QToolButton *load; +QToolButton *practice; + +const std::regex lastPathElementExp = std::regex("(.+\\/)*(.+)"); + void showBacklabels(Mdem *mdem) { for (int i = 0; i < mdem->backLabels.size(); ++i) { if (i < mdem->labelCount) { @@ -76,8 +114,6 @@ void showBacklabels(Mdem *mdem) { } } -auto mdemBackground = "#F7F7F7"; - Mdem* makeMdem() { auto mdem = new Mdem; mdem->wMdem.setLayout(&mdem->vMdem); @@ -99,7 +135,7 @@ Mdem* makeMdem() { "QWidget#%1 > QWidget[first=\"true\"] {" "border-top: 1px solid gray;" "}" - ).arg(id, mdemBackground)); + ).arg(id, MDEM_BACKGROUND)); // Add Front Content mdem->hFront.addWidget(&mdem->wFrontText); @@ -143,28 +179,6 @@ Mdem* makeMdem() { return mdem; } -QString workingPath = "/home/jorenchik/Code/mdemory/memorybase"; -std::string currentPath = ""; -QList mdems = QList(); -std::vector questions = std::vector(); -QLabel *deckListLabel; -QVBoxLayout *hMdemScroll; -QSpacerItem *mdemSpacer; - -const int PER_PAGE = 8; -int currentPage = -1; -std::vector pages; -QList paginationButtons; -QToolButton* prevButton; -QToolButton* firstButton; -QToolButton* lastButton; -QToolButton* nextButton; -QLabel* paginationLabel; - -QToolButton *load; -QToolButton *practice; - - void CreateMdems(std::vector& questions) { hMdemScroll->removeItem(mdemSpacer); @@ -250,9 +264,6 @@ void CreateMdems(std::vector& questions) { hMdemScroll->addItem(mdemSpacer); } -const int DISTANCE = 2; - - void makePages() { pages.clear(); auto len = questions.size(); @@ -266,7 +277,6 @@ void makePages() { } } - void SwitchPage(int pageIdx) { currentPage = pageIdx; @@ -337,18 +347,6 @@ void SwitchPage(int pageIdx) { CreateMdems(pageSlice); } -std::regex lastPathElementExp = std::regex("(.+\\/)*(.+)"); - -struct ErrorView { - QWidget box; - QVBoxLayout layout; - QLabel label; -}; -std::vector errorPool; -std::vector errorViews; - -#define ERROR_POOL_CHUNK 50 - ErrorView *makeErrorView() { auto errorView = new ErrorView; errorView->box.setObjectName("error-box"); @@ -360,7 +358,7 @@ ErrorView *makeErrorView() { "border: 1px solid red;" "background: %2;" "}" - ).arg(mdemBackground) + ).arg(MDEM_BACKGROUND) ); errorView->layout.addWidget(&errorView->label); errorView->label.setWordWrap(true);