FontSizeMenu marks the correct item on AttachedToWindow. Fixes bug 565
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17428 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
a73a27510a
commit
f56a708cde
@ -6,6 +6,7 @@
|
|||||||
class FontSizeMenu : public AutoSettingsMenu {
|
class FontSizeMenu : public AutoSettingsMenu {
|
||||||
public:
|
public:
|
||||||
FontSizeMenu();
|
FontSizeMenu();
|
||||||
|
virtual void AttachedToWindow();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,55 +4,59 @@
|
|||||||
|
|
||||||
#include <Message.h>
|
#include <Message.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
|
#include <String.h>
|
||||||
#include <Window.h>
|
#include <Window.h>
|
||||||
|
|
||||||
|
|
||||||
FontSizeMenu::FontSizeMenu()
|
FontSizeMenu::FontSizeMenu()
|
||||||
:AutoSettingsMenu("Font Size", B_ITEMS_IN_COLUMN)
|
:AutoSettingsMenu("Font Size", B_ITEMS_IN_COLUMN)
|
||||||
{
|
{
|
||||||
menu_info info;
|
|
||||||
MenuSettings::GetInstance()->Get(info);
|
|
||||||
|
|
||||||
BMessage *msg = new BMessage(MENU_FONT_SIZE);
|
BMessage *msg = new BMessage(MENU_FONT_SIZE);
|
||||||
msg->AddFloat("size", 9);
|
msg->AddFloat("size", 9);
|
||||||
BMenuItem *item = new BMenuItem("9", msg, 0, 0);
|
BMenuItem *item = new BMenuItem("9", msg, 0, 0);
|
||||||
AddItem(item);
|
AddItem(item);
|
||||||
if (info.font_size == 9)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
msg = new BMessage(MENU_FONT_SIZE);
|
msg = new BMessage(MENU_FONT_SIZE);
|
||||||
msg->AddFloat("size", 10);
|
msg->AddFloat("size", 10);
|
||||||
item = new BMenuItem("10", msg, 0, 0);
|
item = new BMenuItem("10", msg, 0, 0);
|
||||||
AddItem(item);
|
AddItem(item);
|
||||||
if (info.font_size == 10)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
msg = new BMessage(MENU_FONT_SIZE);
|
msg = new BMessage(MENU_FONT_SIZE);
|
||||||
msg->AddFloat("size", 11);
|
msg->AddFloat("size", 11);
|
||||||
item = new BMenuItem("11", msg, 0, 0);
|
item = new BMenuItem("11", msg, 0, 0);
|
||||||
AddItem(item);
|
AddItem(item);
|
||||||
if (info.font_size == 11)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
msg = new BMessage(MENU_FONT_SIZE);
|
msg = new BMessage(MENU_FONT_SIZE);
|
||||||
msg->AddFloat("size", 12);
|
msg->AddFloat("size", 12);
|
||||||
item = new BMenuItem("12", msg, 0, 0);
|
item = new BMenuItem("12", msg, 0, 0);
|
||||||
AddItem(item);
|
AddItem(item);
|
||||||
if (info.font_size == 12)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
msg = new BMessage(MENU_FONT_SIZE);
|
msg = new BMessage(MENU_FONT_SIZE);
|
||||||
msg->AddFloat("size", 14);
|
msg->AddFloat("size", 14);
|
||||||
item = new BMenuItem("14", msg, 0, 0);
|
item = new BMenuItem("14", msg, 0, 0);
|
||||||
AddItem(item);
|
AddItem(item);
|
||||||
if (info.font_size == 14)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
msg = new BMessage(MENU_FONT_SIZE);
|
msg = new BMessage(MENU_FONT_SIZE);
|
||||||
msg->AddFloat("size", 18);
|
msg->AddFloat("size", 18);
|
||||||
item = new BMenuItem("18", msg, 0, 0);
|
item = new BMenuItem("18", msg, 0, 0);
|
||||||
AddItem(item);
|
AddItem(item);
|
||||||
if (info.font_size == 18)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
SetRadioMode(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);
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user