When you set the Font size in the settings, mark the menu

Also store the font size as a string instead of an int32 in the
message, consistent with the setting window.
This commit is contained in:
John Scipione
2012-12-07 21:00:13 -05:00
parent bfbcec141e
commit 1bb31e6473
+23 -13
View File
@@ -617,15 +617,25 @@ TermWindow::_GetPreferredFont(BFont& font)
// Default to be_fixed_font // Default to be_fixed_font
font = be_fixed_font; font = be_fixed_font;
const char* family = PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY); const char* family
const char* style = PrefHandler::Default()->getString(PREF_HALF_FONT_STYLE); = PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY);
const char* style
= PrefHandler::Default()->getString(PREF_HALF_FONT_STYLE);
const char* size = PrefHandler::Default()->getString(PREF_HALF_FONT_SIZE);
font.SetFamilyAndStyle(family, style); font.SetFamilyAndStyle(family, style);
font.SetSize(atoi(size));
float size = PrefHandler::Default()->getFloat(PREF_HALF_FONT_SIZE); // mark the font size menu item
if (size < 6.0f) for (int32 i = 0; i < fFontSizeMenu->CountItems(); i++) {
size = 6.0f; BMenuItem* item = fFontSizeMenu->ItemAt(i);
font.SetSize(size); if (item == NULL)
continue;
item->SetMarked(false);
if (strcmp(item->Label(), size) == 0)
item->SetMarked(true);
}
} }
@@ -802,8 +812,8 @@ TermWindow::MessageReceived(BMessage *message)
BFont font; BFont font;
view->GetTermFont(&font); view->GetTermFont(&font);
int32 size; const char* size = NULL;
if (message->FindInt32("font_size", &size) != B_OK) if (message->FindString("font_size", &size) != B_OK)
break; break;
// mark the font size menu item // mark the font size menu item
@@ -813,13 +823,13 @@ TermWindow::MessageReceived(BMessage *message)
continue; continue;
item->SetMarked(false); item->SetMarked(false);
if (atoi(item->Label()) == size) if (strcmp(item->Label(), size) == 0)
item->SetMarked(true); item->SetMarked(true);
} }
font.SetSize(size); font.SetSize(atoi(size));
view->SetTermFont(&font); view->SetTermFont(&font);
PrefHandler::Default()->setInt32(PREF_HALF_FONT_SIZE, (int32)size); PrefHandler::Default()->setInt32(PREF_HALF_FONT_SIZE, (int32)atoi(size));
_ResizeView(view); _ResizeView(view);
break; break;
@@ -1639,7 +1649,7 @@ TermWindow::_MakeFontSizeMenu(uint32 command, uint8 defaultSize)
BString string; BString string;
string << sizes[i]; string << sizes[i];
BMessage* message = new BMessage(command); BMessage* message = new BMessage(command);
message->AddInt32("font_size", sizes[i]); message->AddString("font_size", string);
BMenuItem* item = new BMenuItem(string.String(), message); BMenuItem* item = new BMenuItem(string.String(), message);
menu->AddItem(item); menu->AddItem(item);
if (sizes[i] == defaultSize) { if (sizes[i] == defaultSize) {
@@ -1654,7 +1664,7 @@ TermWindow::_MakeFontSizeMenu(uint32 command, uint8 defaultSize)
BString string; BString string;
string << defaultSize; string << defaultSize;
BMessage* message = new BMessage(command); BMessage* message = new BMessage(command);
message->AddInt32("font_size", sizes[i]); message->AddString("font_size", string);
BMenuItem* item = new BMenuItem(string.String(), message); BMenuItem* item = new BMenuItem(string.String(), message);
item->SetMarked(true); item->SetMarked(true);
menu->AddItem(item, i); menu->AddItem(item, i);