diff options
| -rw-r--r-- | include/config.hpp | 1 | ||||
| -rw-r--r-- | libs/imgui/imgui.cpp | 2 | ||||
| -rw-r--r-- | src/exporter.cpp | 4 | ||||
| -rw-r--r-- | src/locales/en.cpp | 15 | ||||
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 6 | ||||
| -rw-r--r-- | src/ui/ui_invoices.cpp | 4 | ||||
| -rw-r--r-- | src/ui/ui_settings.cpp | 13 | ||||
| -rw-r--r-- | src/ui/ui_setup.cpp | 4 |
8 files changed, 35 insertions, 14 deletions
diff --git a/include/config.hpp b/include/config.hpp index b7b38d5..84773d1 100644 --- a/include/config.hpp +++ b/include/config.hpp @@ -30,6 +30,7 @@ #define u32 uint32_t #define u64 uint64_t +#define SIMULATE_EMAIL_FAILURE 1 #define SIMULATE_EMAIL 1 #define SIMULATE_SLOW_DISK 0 #define SIMULATE_WRITE_FAILURE 0 diff --git a/libs/imgui/imgui.cpp b/libs/imgui/imgui.cpp index d3d82d4..e42993c 100644 --- a/libs/imgui/imgui.cpp +++ b/libs/imgui/imgui.cpp @@ -16701,7 +16701,7 @@ void ImGui::LoadingIndicatorCircle(const float indicator_radius, const auto degree_offset = 2.0f * IM_PI / circle_count; for (int i = 0; i < circle_count; ++i) { const auto x = updated_indicator_radius * sin(degree_offset * i); - const auto y = updated_indicator_radius * cos(degree_offset * i); + const auto y = updated_indicator_radius * cos(degree_offset * i) + 2.0f; #define max(a,b) (((a)>(b))?(a):(b)) diff --git a/src/exporter.cpp b/src/exporter.cpp index 21ff778..5f1a6c3 100644 --- a/src/exporter.cpp +++ b/src/exporter.cpp @@ -45,6 +45,10 @@ static int _send_email_t(void* arg) { exporter::email_provider_impl impl = exporter::get_email_provider_implementation(administration::get_email_service().provider); request->error = impl.send_email(request->sender, request->recipient, request->subject, request->text); + #if SIMULATE_EMAIL_FAILURE + request->error = E_ERR_FAILED_REQUEST; + #endif + request->status = exporter::export_status::EXPORT_DONE; request->done_at = time(NULL); diff --git a/src/locales/en.cpp b/src/locales/en.cpp index 634b8b2..c03fcc3 100644 --- a/src/locales/en.cpp +++ b/src/locales/en.cpp @@ -42,6 +42,10 @@ locale_entry en_locales[] = { {"ui.fileselect.selectDestination", "Select destination"}, {"ui.fileselect.selectSaveFile", "Select save file"}, + // Setup page. + {"ui.setup.load_administration", ICON_FA_FILE_IMPORT " Load administration"}, + {"ui.setup.create_administration", ICON_FA_FOLDER_PLUS " Create administration"}, + {"ui.menu.file", "File"}, {"ui.menu.file.new", "New"}, {"ui.menu.file.open", "Open"}, @@ -57,6 +61,9 @@ locale_entry en_locales[] = { {"form.back", ICON_FA_CARET_SQUARE_LEFT" Back"}, {"form.save", ICON_FA_SAVE" Save"}, {"form.cancel", "Cancel"}, + {"form.sending", "Sending"}, + {"form.success", "Success"}, + {"form.failed", "Failed"}, {"form.yes", "Yes"}, {"form.no", "No"}, {"form.change", ICON_FA_PEN_SQUARE" Change"}, @@ -334,9 +341,11 @@ locale_entry en_locales[] = { {"settings.services.ai_service", "AI Service"}, {"settings.services.ai_service.provider", "Provider"}, {"settings.services.ai_service.model", "Model"}, + {"settings.services.ai_service.apikey", "API key"}, - {"settings.services.ai_service.privkey", "Public key"}, - {"settings.services.ai_service.pubkey", "Private key"}, + {"settings.services.ai_service", "Email Service"}, + {"settings.services.email_service.provider", "Provider"}, + {"settings.services.email_service.apikey", "API key"}, // Invoice/expense strings. {"invoice.form.costcenter", "Cost center"}, @@ -753,6 +762,8 @@ locale_entry en_locales[] = { // Activity strings. {"activity.update_invoice", "updated invoice"}, {"activity.add_invoice", "created invoice"}, + {"activity.invoice_status_changed", "Invoice status changed"}, + {"activity.email_sent", "Sent email"}, }; int en_locale_count = sizeof(en_locales) / sizeof(en_locales[0]);
\ No newline at end of file diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp index e3e917c..496bbe2 100644 --- a/src/ui/imgui_extensions.cpp +++ b/src/ui/imgui_extensions.cpp @@ -814,7 +814,7 @@ namespace ImGui { if (ImGui::BeginComboPreview()) { - ImGui::Text("Sending"); // @Localize + ImGui::Text(locale::get("form.sending")); ImGui::SameLine(); ImGui::LoadingIndicatorCircleSmall(); ImGui::EndComboPreview(); @@ -830,11 +830,11 @@ namespace ImGui { if (last_err == E_ERR_SUCCESS) { DrawSuccessMark(0, false); - ImGui::Text("Success"); // @Localize + ImGui::Text(locale::get("form.success")); } else { DrawFailureMark(0, false); - ImGui::Text("Failed"); // @Localize + ImGui::Text(locale::get("form.failure")); } ImGui::EndComboPreview(); } diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp index e6ee7d3..ffdfb9b 100644 --- a/src/ui/ui_invoices.cpp +++ b/src/ui/ui_invoices.cpp @@ -492,8 +492,8 @@ static void draw_send_options() if (status == E_ERR_SUCCESS) { active_invoice.extras.status = invoice_status::INVOICE_SENT; administration::invoice_update(&active_invoice); - administration::activity_add(ACTIVITY_USER, active_invoice.id, "Invoice status changed"); // @locale - administration::activity_add(ACTIVITY_USER, active_invoice.id, "Sent email"); // @locale + administration::activity_add(ACTIVITY_USER, active_invoice.id, locale::get("activity.invoice_status_changed")); + administration::activity_add(ACTIVITY_USER, active_invoice.id, locale::get("activity.email_sent")); _reload_activities(); } diff --git a/src/ui/ui_settings.cpp b/src/ui/ui_settings.cpp index 95f24e3..ab3664a 100644 --- a/src/ui/ui_settings.cpp +++ b/src/ui/ui_settings.cpp @@ -307,7 +307,7 @@ static void draw_ai_service_ui() ImGui::EndComboPreview(); } - ImGui::InputTextWithHint(locale::get("settings.services.ai_service.pubkey"), locale::get("settings.services.ai_service.pubkey"), + ImGui::InputTextWithHint(locale::get("settings.services.ai_service.apikey"), locale::get("settings.services.ai_service.apikey"), new_ai_service.api_key_public, sizeof(new_ai_service.api_key_public)); if (!model_request) { @@ -383,7 +383,7 @@ static void draw_email_service_ui() email_service_images[i] = impl.icon_name; } - if (ImGui::BeginCombo("##emailProviderDropdown", NULL, 1 << 20)) { + if (ImGui::BeginCombo(locale::get("settings.services.email_service.provider"), NULL, 1 << 20)) { for (u32 n = 0; n < EMAIL_PROVIDER_END; n++) { ImGui::PushID(n); @@ -411,8 +411,8 @@ static void draw_email_service_ui() ImGui::EndComboPreview(); } - ImGui::InputTextWithHint(locale::get("settings.services.email_service.pubkey"), - locale::get("settings.services.email_service.pubkey"), new_email_service.api_key, sizeof(new_email_service.api_key)); + ImGui::InputTextWithHint(locale::get("settings.services.email_service.apikey"), + locale::get("settings.services.email_service.apikey"), new_email_service.api_key, sizeof(new_email_service.api_key)); char id[100]; strops::format(id, 100, "%s##email", locale::get("form.save")); @@ -426,8 +426,13 @@ static void draw_email_service_ui() static void draw_services() { + ImGui::PushID("EmailProvider"); draw_email_service_ui(); + ImGui::PopID(); + + ImGui::PushID("AIProvider"); draw_ai_service_ui(); + ImGui::PopID(); } void ui::draw_settings() diff --git a/src/ui/ui_setup.cpp b/src/ui/ui_setup.cpp index 99d6d9f..e877ad9 100644 --- a/src/ui/ui_setup.cpp +++ b/src/ui/ui_setup.cpp @@ -43,14 +43,14 @@ void ui::draw_setup() ImGui::Spacing(); ImGui::Spacing(); - if (ImGui::Button(ICON_FA_FILE_IMPORT " Load administration", ImVec2(area.x, 0))) { // @locale + if (ImGui::Button(locale::get("ui.setup.load_administration"), ImVec2(area.x, 0))) { if (administration_reader::open_existing(NULL)) { ui::set_state(ui::main_state::UI_SETTINGS); ui::recreate_window_for_main_views(); } } - if (ImGui::Button(ICON_FA_FOLDER_PLUS " Create administration", ImVec2(area.x, 0))) { // @locale + if (ImGui::Button(locale::get("ui.setup.create_administration"), ImVec2(area.x, 0))) { if (administration_reader::open_new()) { ui::set_state(ui::main_state::UI_SETTINGS); ui::recreate_window_for_main_views(); |
