- As promised, style cleanup. Hey, it's not even in the build atm, just
noticed :-D git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27160 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Copyright 2005-2008, Haiku Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* <unknown, please fill in who knows>
|
||||
*/
|
||||
|
||||
#include "MenuView.h"
|
||||
#include <Roster.h>
|
||||
#include <Message.h>
|
||||
@@ -11,192 +19,184 @@
|
||||
#define SET_DEFAULTS 'sdef'
|
||||
#define REVERT_SETTINGS 'rvst'
|
||||
|
||||
|
||||
MenuView::MenuView(BRect frame, const char *name, int32 resize, int32 flags)
|
||||
: BView(frame,name, resize, flags)
|
||||
: BView(frame, name, resize, flags)
|
||||
{
|
||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
||||
get_menu_info(&menuinfo);
|
||||
revertinfo=menuinfo;
|
||||
revert=false;
|
||||
revertinfo = menuinfo;
|
||||
revert = false;
|
||||
|
||||
fontmenu=new FontMenu;
|
||||
fontmenu = new FontMenu;
|
||||
fontmenu->SetLabelFromMarked(true);
|
||||
fontmenu->GetFonts();
|
||||
fontmenu->Update();
|
||||
|
||||
fontsizemenu=new BMenu("");
|
||||
fontsizemenu = new BMenu("");
|
||||
fontsizemenu->SetLabelFromMarked(true);
|
||||
|
||||
BMenuItem *item;
|
||||
BMessage *msg;
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",10);
|
||||
item=new BMenuItem("10",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 10);
|
||||
item = new BMenuItem("10", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",11);
|
||||
item=new BMenuItem("11",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 11);
|
||||
item = new BMenuItem("11", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",12);
|
||||
item=new BMenuItem("12",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 12);
|
||||
item = new BMenuItem("12", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",14);
|
||||
item=new BMenuItem("14",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 14);
|
||||
item = new BMenuItem("14", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",18);
|
||||
item=new BMenuItem("18",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 18);
|
||||
item = new BMenuItem("18", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",20);
|
||||
item=new BMenuItem("20",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 20);
|
||||
item = new BMenuItem("20", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",22);
|
||||
item=new BMenuItem("22",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 22);
|
||||
item = new BMenuItem("22", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",24);
|
||||
item=new BMenuItem("24",msg);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", 24);
|
||||
item = new BMenuItem("24", msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
|
||||
switch((int32)menuinfo.font_size)
|
||||
{
|
||||
case 10:
|
||||
{
|
||||
item=fontsizemenu->FindItem("10");
|
||||
item = fontsizemenu->FindItem("10");
|
||||
break;
|
||||
}
|
||||
|
||||
case 11:
|
||||
{
|
||||
item=fontsizemenu->FindItem("11");
|
||||
item = fontsizemenu->FindItem("11");
|
||||
break;
|
||||
}
|
||||
|
||||
case 12:
|
||||
{
|
||||
item=fontsizemenu->FindItem("12");
|
||||
item = fontsizemenu->FindItem("12");
|
||||
break;
|
||||
}
|
||||
|
||||
case 14:
|
||||
{
|
||||
item=fontsizemenu->FindItem("14");
|
||||
item = fontsizemenu->FindItem("14");
|
||||
break;
|
||||
}
|
||||
|
||||
case 18:
|
||||
{
|
||||
item=fontsizemenu->FindItem("18");
|
||||
item = fontsizemenu->FindItem("18");
|
||||
break;
|
||||
}
|
||||
|
||||
case 20:
|
||||
{
|
||||
item=fontsizemenu->FindItem("20");
|
||||
item = fontsizemenu->FindItem("20");
|
||||
break;
|
||||
}
|
||||
|
||||
case 22:
|
||||
{
|
||||
item=fontsizemenu->FindItem("22");
|
||||
item = fontsizemenu->FindItem("22");
|
||||
break;
|
||||
}
|
||||
|
||||
case 24:
|
||||
{
|
||||
item=fontsizemenu->FindItem("24");
|
||||
item = fontsizemenu->FindItem("24");
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
char fontsizestr[10];
|
||||
sprintf(fontsizestr,"%ld",(int32) menuinfo.font_size);
|
||||
msg=new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size",(int32)menuinfo.font_size);
|
||||
item=new BMenuItem(fontsizestr,msg);
|
||||
sprintf(fontsizestr, "%ld", (int32)menuinfo.font_size);
|
||||
msg = new BMessage(SET_FONT_SIZE);
|
||||
msg->AddInt32("size", (int32)menuinfo.font_size);
|
||||
item = new BMenuItem(fontsizestr,msg);
|
||||
fontsizemenu->AddItem(item);
|
||||
break;
|
||||
}
|
||||
}
|
||||
item->SetMarked(true);
|
||||
item->SetMarked(true);
|
||||
|
||||
|
||||
BRect r(10,10,210,40);
|
||||
r.OffsetTo((Bounds().Width()-r.Width())/2,10);
|
||||
fontfield=new BMenuField(r,"fontfield","",fontmenu);
|
||||
BRect r(10, 10, 210, 40);
|
||||
r.OffsetTo((Bounds().Width() - r.Width()) / 2, 10);
|
||||
fontfield=new BMenuField(r, "fontfield", "", fontmenu);
|
||||
fontfield->SetLabel("Font:");
|
||||
fontfield->SetDivider(StringWidth("Font:")+5);
|
||||
fontfield->SetDivider(StringWidth("Font:") + 5);
|
||||
AddChild(fontfield);
|
||||
|
||||
r.OffsetTo((Bounds().Width()-r.Width())/2,fontfield->Frame().bottom+10);
|
||||
fontsizefield=new BMenuField(r,"fontsizefield","",fontsizemenu);
|
||||
r.OffsetTo((Bounds().Width() - r.Width()) / 2, fontfield->Frame().bottom + 10);
|
||||
fontsizefield=new BMenuField(r, "fontsizefield", "", fontsizemenu);
|
||||
fontsizefield->SetLabel("Font Size:");
|
||||
fontsizefield->SetDivider(StringWidth("Font Size:")+5);
|
||||
fontsizefield->SetDivider(StringWidth("Font Size:") + 5);
|
||||
AddChild(fontsizefield);
|
||||
|
||||
r.OffsetTo(10, fontsizefield->Frame().bottom + 10);
|
||||
r.right+=20;
|
||||
showtriggers=new BCheckBox(r, "showtriggers", "Always Show Triggers",
|
||||
r.right += 20;
|
||||
showtriggers = new BCheckBox(r, "showtriggers", "Always Show Triggers",
|
||||
new BMessage(TOGGLE_TRIGGERS));
|
||||
showtriggers->ResizeToPreferred();
|
||||
showtriggers->MoveTo( (Bounds().Width()-showtriggers->Bounds().Width())/2, r.top);
|
||||
showtriggers->MoveTo((Bounds().Width() - showtriggers->Bounds().Width()) / 2, r.top);
|
||||
AddChild(showtriggers);
|
||||
if(menuinfo.triggers_always_shown)
|
||||
if (menuinfo.triggers_always_shown)
|
||||
showtriggers->SetValue(B_CONTROL_ON);
|
||||
|
||||
r.bottom=r.top+75;
|
||||
r.OffsetTo((Bounds().Width()-r.Width())/2,showtriggers->Frame().bottom+10);
|
||||
BBox *radiobox=new BBox(r,"radiobox");
|
||||
r.bottom = r.top + 75;
|
||||
r.OffsetTo((Bounds().Width() - r.Width()) / 2, showtriggers->Frame().bottom + 10);
|
||||
BBox *radiobox = new BBox(r, "radiobox");
|
||||
radiobox->SetLabel("Shortcut Key");
|
||||
AddChild(radiobox);
|
||||
|
||||
r.Set(10,20,50,30);
|
||||
altcmd=new BRadioButton(r,"altcommand","Alt", new BMessage(ALT_COMMAND));
|
||||
r.Set(10, 20, 50, 30);
|
||||
altcmd = new BRadioButton(r, "altcommand", "Alt", new BMessage(ALT_COMMAND));
|
||||
altcmd->ResizeToPreferred();
|
||||
radiobox->AddChild(altcmd);
|
||||
|
||||
r.OffsetBy(0,25);
|
||||
ctrlcmd=new BRadioButton(r,"ctrlcommand","Control", new BMessage(CTRL_COMMAND));
|
||||
r.OffsetBy(0, 25);
|
||||
ctrlcmd = new BRadioButton(r, "ctrlcommand", "Control", new BMessage(CTRL_COMMAND));
|
||||
ctrlcmd->ResizeToPreferred();
|
||||
radiobox->AddChild(ctrlcmd);
|
||||
|
||||
MarkCommandKey();
|
||||
revertaltcmd=altcommand;
|
||||
revertaltcmd = altcommand;
|
||||
|
||||
defaultsbutton=new BButton(r, "defaultsbutton", "Defaults", new BMessage(SET_DEFAULTS));
|
||||
defaultsbutton = new BButton(r, "defaultsbutton", "Defaults", new BMessage(SET_DEFAULTS));
|
||||
defaultsbutton->ResizeToPreferred();
|
||||
|
||||
revertbutton=new BButton(r, "revertbutton", "Revert", new BMessage(REVERT_SETTINGS));
|
||||
revertbutton->ResizeToPreferred();
|
||||
revertbutton = new BButton(r, "revertbutton", "Revert", new BMessage(REVERT_SETTINGS));
|
||||
revertbutton->ResizeToPreferred();
|
||||
|
||||
|
||||
defaultsbutton->MoveTo( (Bounds().Width()-
|
||||
(defaultsbutton->Bounds().Width()+revertbutton->Bounds().Width()+10))/2,
|
||||
radiobox->Frame().bottom+20);
|
||||
revertbutton->MoveTo(defaultsbutton->Frame().right+10, radiobox->Frame().bottom+20);
|
||||
defaultsbutton->MoveTo( (Bounds().Width() -
|
||||
(defaultsbutton->Bounds().Width() + revertbutton->Bounds().Width() + 10)) / 2,
|
||||
radiobox->Frame().bottom + 20);
|
||||
revertbutton->MoveTo(defaultsbutton->Frame().right + 10, radiobox->Frame().bottom + 20);
|
||||
|
||||
AddChild(defaultsbutton);
|
||||
AddChild(revertbutton);
|
||||
revertbutton->SetEnabled(false);
|
||||
|
||||
revertbutton->SetEnabled(false);
|
||||
}
|
||||
|
||||
|
||||
MenuView::~MenuView(void)
|
||||
{
|
||||
}
|
||||
|
||||
void MenuView::AttachedToWindow(void)
|
||||
|
||||
void
|
||||
MenuView::AttachedToWindow(void)
|
||||
{
|
||||
for(int32 i=0; i<fontmenu->CountItems(); i++)
|
||||
{
|
||||
BMenu *menu=fontmenu->SubmenuAt(i);
|
||||
if(menu)
|
||||
for(int32 i = 0; i < fontmenu->CountItems(); i++) {
|
||||
BMenu *menu = fontmenu->SubmenuAt(i);
|
||||
if (menu)
|
||||
menu->SetTargetForItems(this);
|
||||
}
|
||||
fontmenu->SetTargetForItems(this);
|
||||
@@ -208,21 +208,21 @@ void MenuView::AttachedToWindow(void)
|
||||
revertbutton->SetTarget(this);
|
||||
}
|
||||
|
||||
void MenuView::MessageReceived(BMessage *msg)
|
||||
|
||||
void
|
||||
MenuView::MessageReceived(BMessage *msg)
|
||||
{
|
||||
switch(msg->what)
|
||||
{
|
||||
switch(msg->what) {
|
||||
case B_MODIFIERS_CHANGED:
|
||||
{
|
||||
MarkCommandKey();
|
||||
break;
|
||||
}
|
||||
|
||||
case MENU_FONT_FAMILY:
|
||||
case MENU_FONT_STYLE:
|
||||
{
|
||||
if(!revert)
|
||||
if (!revert)
|
||||
revertbutton->SetEnabled(true);
|
||||
revert=true;
|
||||
revert = true;
|
||||
font_family *family;
|
||||
msg->FindPointer("family", (void**)&family);
|
||||
font_style *style;
|
||||
@@ -236,7 +236,7 @@ void MenuView::MessageReceived(BMessage *msg)
|
||||
}
|
||||
case SET_FONT_SIZE:
|
||||
{
|
||||
if(!revert)
|
||||
if (!revert)
|
||||
revertbutton->SetEnabled(true);
|
||||
revert=true;
|
||||
int32 size;
|
||||
@@ -245,73 +245,70 @@ void MenuView::MessageReceived(BMessage *msg)
|
||||
set_menu_info(&menuinfo);
|
||||
fontmenu->Update();
|
||||
break;
|
||||
}
|
||||
}
|
||||
case ALT_COMMAND:
|
||||
{
|
||||
if(!revert)
|
||||
if (!revert)
|
||||
revertbutton->SetEnabled(true);
|
||||
revert=true;
|
||||
altcommand=true;
|
||||
revert = true;
|
||||
altcommand = true;
|
||||
SetCommandKey(altcommand);
|
||||
break;
|
||||
}
|
||||
|
||||
case CTRL_COMMAND:
|
||||
{
|
||||
if(!revert)
|
||||
if (!revert)
|
||||
revertbutton->SetEnabled(true);
|
||||
revert=true;
|
||||
altcommand=false;
|
||||
revert = true;
|
||||
altcommand = false;
|
||||
SetCommandKey(altcommand);
|
||||
break;
|
||||
}
|
||||
|
||||
case TOGGLE_TRIGGERS:
|
||||
{
|
||||
if(!revert)
|
||||
if (!revert)
|
||||
revertbutton->SetEnabled(true);
|
||||
revert=true;
|
||||
menuinfo.triggers_always_shown=(showtriggers->Value()==B_CONTROL_ON);
|
||||
revert = true;
|
||||
menuinfo.triggers_always_shown = (showtriggers->Value() == B_CONTROL_ON);
|
||||
set_menu_info(&menuinfo);
|
||||
break;
|
||||
}
|
||||
|
||||
case REVERT_SETTINGS:
|
||||
{
|
||||
revert=false;
|
||||
revert = false;
|
||||
revertbutton->SetEnabled(false);
|
||||
SetCommandKey(revertaltcmd);
|
||||
altcommand=revertaltcmd;
|
||||
altcommand = revertaltcmd;
|
||||
MarkCommandKey();
|
||||
menuinfo=revertinfo;
|
||||
menuinfo = revertinfo;
|
||||
fontmenu->Update();
|
||||
showtriggers->SetValue( (menuinfo.triggers_always_shown)?B_CONTROL_ON:B_CONTROL_OFF);
|
||||
showtriggers->SetValue(menuinfo.triggers_always_shown ? B_CONTROL_ON : B_CONTROL_OFF);
|
||||
set_menu_info(&revertinfo);
|
||||
break;
|
||||
}
|
||||
|
||||
case SET_DEFAULTS:
|
||||
{
|
||||
if(!revert)
|
||||
if (!revert)
|
||||
revertbutton->SetEnabled(true);
|
||||
revert=true;
|
||||
revert = true;
|
||||
|
||||
menuinfo.triggers_always_shown=false;
|
||||
menuinfo.font_size=12.0;
|
||||
sprintf(menuinfo.f_family,"%s","Swis721 BT");
|
||||
sprintf(menuinfo.f_style,"%s","Roman");
|
||||
menuinfo.triggers_always_shown = false;
|
||||
menuinfo.font_size = 12.0;
|
||||
sprintf(menuinfo.f_family, "%s", "Swis721 BT");
|
||||
sprintf(menuinfo.f_style, "%s", "Roman");
|
||||
set_menu_info(&menuinfo);
|
||||
|
||||
fontmenu->Update();
|
||||
altcommand=true;
|
||||
altcommand = true;
|
||||
SetCommandKey(altcommand);
|
||||
MarkCommandKey();
|
||||
showtriggers->SetValue( (menuinfo.triggers_always_shown)?B_CONTROL_ON:B_CONTROL_OFF);
|
||||
showtriggers->SetValue(menuinfo.triggers_always_shown ? B_CONTROL_ON : B_CONTROL_OFF);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
BView::MessageReceived(msg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MenuView::MarkCommandKey(void)
|
||||
|
||||
void
|
||||
MenuView::MarkCommandKey(void)
|
||||
{
|
||||
key_map *keys;
|
||||
char *chars;
|
||||
@@ -324,26 +321,22 @@ void MenuView::MarkCommandKey(void)
|
||||
free(chars);
|
||||
free(keys);
|
||||
|
||||
if(altAsShortcut)
|
||||
if (altAsShortcut)
|
||||
altcmd->SetValue(B_CONTROL_ON);
|
||||
else
|
||||
ctrlcmd->SetValue(B_CONTROL_ON);
|
||||
}
|
||||
|
||||
void MenuView::SetCommandKey(bool use_alt)
|
||||
|
||||
void
|
||||
MenuView::SetCommandKey(bool useAlt)
|
||||
{
|
||||
if(use_alt)
|
||||
{
|
||||
if (useAlt) {
|
||||
set_modifier_key(B_LEFT_COMMAND_KEY, 0x5d);
|
||||
set_modifier_key(B_LEFT_CONTROL_KEY, 0x5c);
|
||||
|
||||
be_roster->Broadcast(new BMessage(B_MODIFIERS_CHANGED));
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
set_modifier_key(B_LEFT_COMMAND_KEY, 0x5c);
|
||||
set_modifier_key(B_LEFT_CONTROL_KEY, 0x5d);
|
||||
|
||||
be_roster->Broadcast(new BMessage(B_MODIFIERS_CHANGED));
|
||||
}
|
||||
be_roster->Broadcast(new BMessage(B_MODIFIERS_CHANGED));
|
||||
}
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
/*
|
||||
* Copyright 2005-2008, Haiku Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* <unknown, please fill in who knows>
|
||||
*/
|
||||
#ifndef MENUVIEW_H_
|
||||
#define MENUVIEW_H_
|
||||
|
||||
@@ -15,22 +22,23 @@
|
||||
class MenuView : public BView
|
||||
{
|
||||
public:
|
||||
MenuView(BRect frame, const char *name, int32 resize, int32 flags);
|
||||
~MenuView(void);
|
||||
void AttachedToWindow(void);
|
||||
void MessageReceived(BMessage *msg);
|
||||
void MarkCommandKey(void);
|
||||
void SetCommandKey(bool use_alt);
|
||||
MenuView(BRect frame, const char *name, int32 resize, int32 flags);
|
||||
~MenuView(void);
|
||||
void AttachedToWindow(void);
|
||||
void MessageReceived(BMessage *msg);
|
||||
void MarkCommandKey(void);
|
||||
void SetCommandKey(bool use_alt);
|
||||
|
||||
private:
|
||||
BMenuField *fontfield, *fontsizefield;
|
||||
BMenu *fontsizemenu;
|
||||
FontMenu *fontmenu;
|
||||
BButton *defaultsbutton, *revertbutton;
|
||||
BCheckBox *showtriggers;
|
||||
BRadioButton *altcmd, *ctrlcmd;
|
||||
menu_info menuinfo,revertinfo;
|
||||
bool altcommand;
|
||||
bool revert, revertaltcmd;
|
||||
BMenuField *fontfield, *fontsizefield;
|
||||
BMenu *fontsizemenu;
|
||||
FontMenu *fontmenu;
|
||||
BButton *defaultsbutton, *revertbutton;
|
||||
BCheckBox *showtriggers;
|
||||
BRadioButton *altcmd, *ctrlcmd;
|
||||
menu_info menuinfo,revertinfo;
|
||||
bool altcommand;
|
||||
bool revert, revertaltcmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user