From 6c8840b3e5bcefa7cbd9b146622d18ae89cc91e9 Mon Sep 17 00:00:00 2001 From: PoliEcho Date: Sat, 17 May 2025 17:01:34 +0200 Subject: [PATCH] final fix of format_args --- src/editor_easy.cpp | 162 ++++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/src/editor_easy.cpp b/src/editor_easy.cpp index 466886f..2922f10 100644 --- a/src/editor_easy.cpp +++ b/src/editor_easy.cpp @@ -1,13 +1,13 @@ +#include +#include +#include +#include +#include +#include +#include #include "gameske_funkce.h" #include "memory.h" #include "strings.h" -#include -#include -#include -#include -#include -#include -#include #define HEADER_COLOR_PAIR COLOR_RED #define FIELD_NAME_COLOR_PAIR 10 @@ -17,7 +17,7 @@ std::vector editor_easy_allocated; [[nodiscard]] std::string vytvorTrestniOznameni() { current_allocated = &editor_easy_allocated; - auto trim = [](const char *str) -> std::string { + auto trim = [](const char* str) -> std::string { std::string s(str); if (s.empty()) return s; @@ -40,26 +40,26 @@ std::vector editor_easy_allocated; // Nastavení barev start_color(); - init_pair(FIELD_NAME_COLOR_PAIR, COLOR_BLACK, COLOR_CYAN); // Popisky - init_pair(INPUT_COLOR_PAIR, COLOR_WHITE, COLOR_BLACK); // Vstupní pole + init_pair(FIELD_NAME_COLOR_PAIR, COLOR_BLACK, COLOR_CYAN); // Popisky + init_pair(INPUT_COLOR_PAIR, COLOR_WHITE, COLOR_BLACK); // Vstupní pole // Hlavní okno s rámečkem - WINDOW *main_win = newwin(LINES - 4, COLS - 4, 2, 2); + WINDOW* main_win = newwin(LINES - 4, COLS - 4, 2, 2); box(main_win, 0, 0); wrefresh(main_win); // Okno pro popisky - WINDOW *label_win = derwin(main_win, LINES - 8, 30, 1, 1); + WINDOW* label_win = derwin(main_win, LINES - 8, 30, 1, 1); wbkgd(label_win, COLOR_PAIR(FIELD_NAME_COLOR_PAIR)); // Okno pro vstupní pole - WINDOW *field_win = derwin(main_win, LINES - 8, COLS - 38, 1, 32); + WINDOW* field_win = derwin(main_win, LINES - 8, COLS - 38, 1, 32); wbkgd(field_win, COLOR_PAIR(INPUT_COLOR_PAIR)); keypad(field_win, TRUE); // Definice polí struct FieldConfig { - const char *label; + const char* label; int height; int width; bool multiline; @@ -84,18 +84,18 @@ std::vector editor_easy_allocated; // Vykreslení popisků int label_row = 0; - for (const FieldConfig &cfg : field_configs) { + for (const FieldConfig& cfg : field_configs) { mvwprintw(label_win, label_row, 0, "%s", cfg.label); label_row += cfg.height + 1; } wrefresh(label_win); // Vytvoření formuláře - std::vector fields; + std::vector fields; int field_row = 0; - for (const FieldConfig &cfg : field_configs) { - FIELD *field = new_field(cfg.height, cfg.width, field_row, 0, 0, 0); + for (const FieldConfig& cfg : field_configs) { + FIELD* field = new_field(cfg.height, cfg.width, field_row, 0, 0, 0); set_field_back(field, A_UNDERLINE | COLOR_PAIR(INPUT_COLOR_PAIR)); field_opts_off(field, O_AUTOSKIP | O_STATIC); @@ -109,7 +109,7 @@ std::vector editor_easy_allocated; } fields.push_back(nullptr); - FORM *form = new_form(&fields[0]); + FORM* form = new_form(&fields[0]); set_form_win(form, field_win); set_form_sub(form, derwin(field_win, LINES - 10, COLS - 40, 1, 1)); @@ -128,56 +128,56 @@ std::vector editor_easy_allocated; bool exit_loop = false; while (!exit_loop && (ch = wgetch(field_win))) { switch (ch) { - case KEY_F(10): - exit_loop = true; - break; + case KEY_F(10): + exit_loop = true; + break; - case KEY_DOWN: - form_driver(form, REQ_NEXT_FIELD); - form_driver(form, REQ_END_LINE); - break; - - case KEY_UP: - form_driver(form, REQ_PREV_FIELD); - form_driver(form, REQ_END_LINE); - break; - - case KEY_LEFT: - form_driver(form, REQ_PREV_CHAR); - break; - - case KEY_RIGHT: - form_driver(form, REQ_NEXT_CHAR); - break; - - case KEY_BACKSPACE: - case 127: - form_driver(form, REQ_DEL_PREV); - break; - - case KEY_DC: - form_driver(form, REQ_DEL_CHAR); - break; - - case 10: // Enter - if (field_configs[current_field(form)->index].multiline) { - form_driver(form, REQ_NEW_LINE); - } else { + case KEY_DOWN: form_driver(form, REQ_NEXT_FIELD); - } - break; + form_driver(form, REQ_END_LINE); + break; - case '\t': - form_driver(form, REQ_NEXT_FIELD); - break; + case KEY_UP: + form_driver(form, REQ_PREV_FIELD); + form_driver(form, REQ_END_LINE); + break; - case KEY_BTAB: - form_driver(form, REQ_PREV_FIELD); - break; + case KEY_LEFT: + form_driver(form, REQ_PREV_CHAR); + break; - default: - form_driver(form, ch); - break; + case KEY_RIGHT: + form_driver(form, REQ_NEXT_CHAR); + break; + + case KEY_BACKSPACE: + case 127: + form_driver(form, REQ_DEL_PREV); + break; + + case KEY_DC: + form_driver(form, REQ_DEL_CHAR); + break; + + case 10: // Enter + if (field_configs[current_field(form)->index].multiline) { + form_driver(form, REQ_NEW_LINE); + } else { + form_driver(form, REQ_NEXT_FIELD); + } + break; + + case '\t': + form_driver(form, REQ_NEXT_FIELD); + break; + + case KEY_BTAB: + form_driver(form, REQ_PREV_FIELD); + break; + + default: + form_driver(form, ch); + break; } // Ruční aktualizace všech oken @@ -197,7 +197,7 @@ std::vector editor_easy_allocated; // Úklid unpost_form(form); free_form(form); - for (fieldnode *&f : fields) + for (fieldnode*& f : fields) if (f) free_field(f); delwin(label_win); @@ -208,29 +208,29 @@ std::vector editor_easy_allocated; // Aktuální datum std::time_t t = std::time(nullptr); - std::tm *now = std::localtime(&t); + std::tm* now = std::localtime(&t); char date_str[100]; std::strftime(date_str, sizeof(date_str), "%d.%m.%Y", now); auto comp_args = - std::make_format_args(field_values[0], // Jméno a příjmení odesílatele - field_values[1], // Adresa odesílatele - field_values[2], // Telefon odesílatele - field_values[3], // Email odesílatele + std::make_format_args(field_values[0], // Jméno a příjmení odesílatele + field_values[1], // Adresa odesílatele + field_values[2], // Telefon odesílatele + field_values[3], // Email odesílatele - field_values[7], // Jméno a příjmení adresáta - field_values[10], // Adresa adresáta - field_values[11], // Telefon adresáta - field_values[12], // Email adresáta + field_values[4], // Jméno a příjmení adresáta + field_values[5], // Adresa adresáta + field_values[6], // Telefon adresáta + field_values[7], // Email adresáta - date_str, // Aktuální datum - field_values[4], // Místo činu - field_values[5], // Datum činu + date_str, // Aktuální datum + field_values[8], // Místo činu + field_values[9], // Datum činu - field_values[6], // Popis činu - field_values[8], // Důkazy - field_values[9], // Další informace - field_values[0] // Jméno pro podpis + field_values[10], // Popis činu + field_values[11], // Důkazy + field_values[12], // Další informace + field_values[0] // Jméno pro podpis ); std::string complaint =