Skip to content

Commit 53e204d

Browse files
committed
Terminal: Put the Font menu items in an action group :^)
1 parent 7ba7d88 commit 53e204d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

Applications/Terminal/main.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <LibDraw/PNGLoader.h>
55
#include <LibGUI/GAboutDialog.h>
66
#include <LibGUI/GAction.h>
7+
#include <LibGUI/GActionGroup.h>
78
#include <LibGUI/GApplication.h>
89
#include <LibGUI/GBoxLayout.h>
910
#include <LibGUI/GFontDatabase.h>
@@ -223,16 +224,25 @@ int main(int argc, char** argv)
223224
edit_menu->add_action(terminal->paste_action());
224225
menubar->add_menu(move(edit_menu));
225226

227+
228+
GActionGroup font_action_group;
229+
font_action_group.set_exclusive(true);
226230
auto font_menu = GMenu::construct("Font");
227231
GFontDatabase::the().for_each_fixed_width_font([&](const StringView& font_name) {
228-
font_menu->add_action(GAction::create(font_name, [&](const GAction& action) {
232+
auto action = GAction::create(font_name, [&](GAction& action) {
233+
action.set_checked(true);
229234
terminal->set_font(GFontDatabase::the().get_by_name(action.text()));
230235
auto metadata = GFontDatabase::the().get_metadata_by_name(action.text());
231236
ASSERT(metadata.has_value());
232237
config->write_entry("Text", "Font", metadata.value().path);
233238
config->sync();
234239
terminal->force_repaint();
235-
}));
240+
});
241+
font_action_group.add_action(*action);
242+
action->set_checkable(true);
243+
if (terminal->font().name() == font_name)
244+
action->set_checked(true);
245+
font_menu->add_action(*action);
236246
});
237247
menubar->add_menu(move(font_menu));
238248

0 commit comments

Comments
 (0)