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:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user