diff --git a/src/preferences/menu/FontMenu.h b/src/preferences/menu/FontMenu.h index 24c673a71d..053cff08dc 100644 --- a/src/preferences/menu/FontMenu.h +++ b/src/preferences/menu/FontMenu.h @@ -6,6 +6,7 @@ class FontSizeMenu : public AutoSettingsMenu { public: FontSizeMenu(); + virtual void AttachedToWindow(); }; diff --git a/src/preferences/menu/FontSizeMenu.cpp b/src/preferences/menu/FontSizeMenu.cpp index 7c4b472b8b..dc3eb329fa 100644 --- a/src/preferences/menu/FontSizeMenu.cpp +++ b/src/preferences/menu/FontSizeMenu.cpp @@ -4,55 +4,59 @@ #include #include +#include #include + FontSizeMenu::FontSizeMenu() :AutoSettingsMenu("Font Size", B_ITEMS_IN_COLUMN) { - menu_info info; - MenuSettings::GetInstance()->Get(info); - BMessage *msg = new BMessage(MENU_FONT_SIZE); msg->AddFloat("size", 9); BMenuItem *item = new BMenuItem("9", msg, 0, 0); AddItem(item); - if (info.font_size == 9) - item->SetMarked(true); msg = new BMessage(MENU_FONT_SIZE); msg->AddFloat("size", 10); item = new BMenuItem("10", msg, 0, 0); AddItem(item); - if (info.font_size == 10) - item->SetMarked(true); msg = new BMessage(MENU_FONT_SIZE); msg->AddFloat("size", 11); item = new BMenuItem("11", msg, 0, 0); AddItem(item); - if (info.font_size == 11) - item->SetMarked(true); msg = new BMessage(MENU_FONT_SIZE); msg->AddFloat("size", 12); item = new BMenuItem("12", msg, 0, 0); AddItem(item); - if (info.font_size == 12) - item->SetMarked(true); msg = new BMessage(MENU_FONT_SIZE); msg->AddFloat("size", 14); item = new BMenuItem("14", msg, 0, 0); AddItem(item); - if (info.font_size == 14) - item->SetMarked(true); msg = new BMessage(MENU_FONT_SIZE); msg->AddFloat("size", 18); item = new BMenuItem("18", msg, 0, 0); AddItem(item); - if (info.font_size == 18) - item->SetMarked(true); SetRadioMode(true); } + + +void +FontSizeMenu::AttachedToWindow() +{ + AutoSettingsMenu::AttachedToWindow(); + + // Mark the menuitem with the current font size + menu_info info; + MenuSettings::GetInstance()->Get(info); + BString name; + name << (int)info.font_size; + BMenuItem *item = FindItem(name.String()); + if (item != NULL) + item->SetMarked(true); + +}