From 08bbb9cb615f0ecd0d041baacd7a024c1e30db5c Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 12 Jul 2024 17:05:27 +0200 Subject: app: add main menu button tooltip --- app/include/turns/app/windows/main.hpp | 2 ++ app/src/windows/main.cpp | 2 ++ app/tests/windows/main.cpp | 7 ++++++ lang/CMakeLists.txt | 6 ++++- lang/include/turns/lang/messages.hpp | 1 + lang/po/tooltips/de.po | 3 +++ lang/po/tooltips/en_US.po | 3 +++ lang/tests/tooltips.cpp | 41 ++++++++++++++++++---------------- res/windows/main_window.ui | 2 +- res/windows/windows.cmb | 2 +- 10 files changed, 47 insertions(+), 22 deletions(-) diff --git a/app/include/turns/app/windows/main.hpp b/app/include/turns/app/windows/main.hpp index a39d156..e27c1c7 100644 --- a/app/include/turns/app/windows/main.hpp +++ b/app/include/turns/app/windows/main.hpp @@ -6,6 +6,7 @@ #include #include #include +#include namespace turns::app::windows { @@ -17,6 +18,7 @@ namespace turns::app::windows private: Gtk::Button * m_add_participant; AdwApplicationWindow * m_adw; + Gtk::MenuButton * m_open_main_menu; AdwWindowTitle * m_title; }; diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp index d8118c6..2ad9117 100644 --- a/app/src/windows/main.cpp +++ b/app/src/windows/main.cpp @@ -14,9 +14,11 @@ namespace turns::app::windows : Gtk::ApplicationWindow{base} , m_add_participant{builder->get_widget("add_participant")} , m_adw{ADW_APPLICATION_WINDOW(gobj())} + , m_open_main_menu{builder->get_widget("open_main_menu")} , m_title(ADW_WINDOW_TITLE(builder->get_widget("title")->gobj())) { m_add_participant->set_tooltip_text(_(tooltips::add_a_participant)); + m_open_main_menu->set_tooltip_text(_(tooltips::main_menu)); adw_window_title_set_subtitle(m_title, _(labels::no_active_turn_order)); } diff --git a/app/tests/windows/main.cpp b/app/tests/windows/main.cpp index fca04fd..b6e1122 100644 --- a/app/tests/windows/main.cpp +++ b/app/tests/windows/main.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace turns::app::windows::tests @@ -65,6 +66,12 @@ namespace turns::app::windows::tests auto widget = builder->get_widget("add_participant"); REQUIRE(widget->get_tooltip_text() == Glib::ustring{_(tooltips::add_a_participant)}); } + + SECTION("the open_main_menu button has the correct tooltip") + { + auto widget = builder->get_widget("open_main_menu"); + REQUIRE(widget->get_tooltip_text() == Glib::ustring{_(tooltips::main_menu)}); + } } } // namespace turns::app::windows::tests \ No newline at end of file diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt index 61e0488..dfea7fd 100644 --- a/lang/CMakeLists.txt +++ b/lang/CMakeLists.txt @@ -22,7 +22,11 @@ foreach(LANG IN LISTS TRANSLATIONS) "${MENU_ITEMS_SOURCE_FILE}" "${TOOLTIPS_SOURCE_FILE}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - DEPENDS "${SOURCE_FILE}" + DEPENDS + "${BASE_SOURCE_FILE}" + "${LABELS_SOURCE_FILE}" + "${MENU_ITEMS_SOURCE_FILE}" + "${TOOLTIPS_SOURCE_FILE}" COMMENT "Processing translation ${LANG}" ) diff --git a/lang/include/turns/lang/messages.hpp b/lang/include/turns/lang/messages.hpp index a6ff5ee..7973f15 100644 --- a/lang/include/turns/lang/messages.hpp +++ b/lang/include/turns/lang/messages.hpp @@ -17,6 +17,7 @@ namespace turns::lang namespace tooltips { auto constexpr static add_a_participant = "Add a participant"; + auto constexpr static main_menu = "Main Menu"; } // namespace tooltips } // namespace turns::lang diff --git a/lang/po/tooltips/de.po b/lang/po/tooltips/de.po index da788ae..4a93bee 100644 --- a/lang/po/tooltips/de.po +++ b/lang/po/tooltips/de.po @@ -1,2 +1,5 @@ msgid "Add a participant" msgstr "Teilnehmer hinzufügen" + +msgid "Main Menu" +msgstr "Hauptmenü" \ No newline at end of file diff --git a/lang/po/tooltips/en_US.po b/lang/po/tooltips/en_US.po index cd80911..3b83fa3 100644 --- a/lang/po/tooltips/en_US.po +++ b/lang/po/tooltips/en_US.po @@ -1,2 +1,5 @@ msgid "Add a participant" msgstr "Add a participant" + +msgid "Main Menu" +msgstr "Main Menu" \ No newline at end of file diff --git a/lang/tests/tooltips.cpp b/lang/tests/tooltips.cpp index 66b6d72..63831c5 100644 --- a/lang/tests/tooltips.cpp +++ b/lang/tests/tooltips.cpp @@ -3,31 +3,34 @@ #include #include -#include - #include #include -namespace turns::lang::tests -{ +#include -TEST_CASE("Tooltip translations") +namespace turns::lang::tests { - auto message = GENERATE( - tooltips::add_a_participant - ); - - auto locale = GENERATE( - "de_CH.UTF-8", - "de_DE.UTF-8", - "de_AT.UTF-8" - ); - SECTION(std::format("'{}' has a translation in '{}'", message, locale)) + TEST_CASE("Tooltip translations") { - setlocale(LC_ALL, locale); - REQUIRE(std::string{gettext(message)} != message); + // clang-format off + auto message = GENERATE( + tooltips::add_a_participant, + tooltips::main_menu + ); + + auto locale = GENERATE( + "de_CH.UTF-8", + "de_DE.UTF-8", + "de_AT.UTF-8" + ); + // clang-format on + + SECTION(std::format("'{}' has a translation in '{}'", message, locale)) + { + setlocale(LC_ALL, locale); + REQUIRE(std::string{gettext(message)} != message); + } } -} -} \ No newline at end of file +} // namespace turns::lang::tests \ No newline at end of file diff --git a/res/windows/main_window.ui b/res/windows/main_window.ui index 4106421..5dc17d8 100644 --- a/res/windows/main_window.ui +++ b/res/windows/main_window.ui @@ -23,7 +23,7 @@ - + open-menu main_menu diff --git a/res/windows/windows.cmb b/res/windows/windows.cmb index 91a0184..c26082d 100644 --- a/res/windows/windows.cmb +++ b/res/windows/windows.cmb @@ -15,7 +15,7 @@ (1,4,"GtkScrolledWindow",None,2,None,None,None,-1,None,None), (1,5,"GtkListBox","entry_list",4,None,None,None,-1,None,None), (1,6,"AdwWindowTitle","title",3,None,None,None,-1,None,None), - (1,7,"GtkMenuButton","open_menu",3,None,"start",None,None,None,None), + (1,7,"GtkMenuButton","open_main_menu",3,None,"start",None,None,None,None), (1,8,"GtkButton","add_participant",3,None,"start",None,None,None,None), (1,9,"(menu)","main_menu",None,None,None,None,-1,None,None), (1,10,"(item)",None,9,None,None,None,-1,None,None) -- cgit v1.2.3