Skip to content

Commit

Permalink
Change schema in Terminal to color scheme.
Browse files Browse the repository at this point in the history
Love this feature, but, color schema is not a thing, it is a color
scheme. Change both the display text and the variable names.

Also changed "Retro Terminal" color scheme to just "Retro". Terminal
is redundant.
  • Loading branch information
jscipione committed Dec 5, 2012
1 parent 760de9b commit 2005db2
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 82 deletions.
89 changes: 45 additions & 44 deletions src/apps/terminal/AppearPrefView.cpp
Expand Up @@ -100,10 +100,10 @@ AppearancePrefView::AppearancePrefView(const char* name,
fFont = new BMenuField(B_TRANSLATE("Font:"), fontMenu);
fFontSize = new BMenuField(B_TRANSLATE("Size:"), sizeMenu);

BPopUpMenu* schemasPopUp = _MakeColorSchemaMenu(MSG_COLOR_SCHEMA_CHANGED,
gPredefinedSchemas, gPredefinedSchemas[0]);
fColorSchemaField = new BMenuField(B_TRANSLATE("Color schema:"),
schemasPopUp);
BPopUpMenu* schemesPopUp = _MakeColorSchemeMenu(MSG_COLOR_SCHEME_CHANGED,
gPredefinedColorSchemes, gPredefinedColorSchemes[0]);
fColorSchemeField = new BMenuField(B_TRANSLATE("Color scheme:"),
schemesPopUp);

BPopUpMenu* colorsPopUp = _MakeMenu(MSG_COLOR_FIELD_CHANGED, kColorTable,
kColorTable[0]);
Expand Down Expand Up @@ -139,8 +139,8 @@ AppearancePrefView::AppearancePrefView(const char* name,
.Add(fFont->CreateMenuBarLayoutItem(), 1, 2)
.Add(fFontSize->CreateLabelLayoutItem(), 0, 3)
.Add(fFontSize->CreateMenuBarLayoutItem(), 1, 3)
.Add(fColorSchemaField->CreateLabelLayoutItem(), 0, 4)
.Add(fColorSchemaField->CreateMenuBarLayoutItem(), 1, 4)
.Add(fColorSchemeField->CreateLabelLayoutItem(), 0, 4)
.Add(fColorSchemeField->CreateMenuBarLayoutItem(), 1, 4)
.Add(fColorField->CreateLabelLayoutItem(), 0, 5)
.Add(fColorField->CreateMenuBarLayoutItem(), 1, 5)
.End()
Expand All @@ -155,7 +155,7 @@ AppearancePrefView::AppearancePrefView(const char* name,
fFont->SetAlignment(B_ALIGN_RIGHT);
fFontSize->SetAlignment(B_ALIGN_RIGHT);
fColorField->SetAlignment(B_ALIGN_RIGHT);
fColorSchemaField->SetAlignment(B_ALIGN_RIGHT);
fColorSchemeField->SetAlignment(B_ALIGN_RIGHT);

fTabTitle->SetText(PrefHandler::Default()->getString(PREF_TAB_TITLE));
fWindowTitle->SetText(PrefHandler::Default()->getString(PREF_WINDOW_TITLE));
Expand Down Expand Up @@ -197,7 +197,7 @@ AppearancePrefView::Revert()
fWarnOnExit->SetValue(PrefHandler::Default()->getBool(
PREF_WARN_ON_EXIT));

fColorSchemaField->Menu()->ItemAt(0)->SetMarked(true);
fColorSchemeField->Menu()->ItemAt(0)->SetMarked(true);
fColorControl->SetValue(PrefHandler::Default()->
getRGB(PREF_TEXT_FORE_COLOR));

Expand All @@ -221,12 +221,12 @@ AppearancePrefView::AttachedToWindow()

fColorControl->SetTarget(this);
fColorField->Menu()->SetTargetForItems(this);
fColorSchemaField->Menu()->SetTargetForItems(this);
fColorSchemeField->Menu()->SetTargetForItems(this);

_SetCurrentColorSchema(fColorSchemaField);
_SetCurrentColorScheme(fColorSchemeField);
bool enableCustomColors =
!strcmp(fColorSchemaField->Menu()->FindMarked()->Label(),
gCustomSchema.name);
!strcmp(fColorSchemeField->Menu()->FindMarked()->Label(),
gCustomColorScheme.name);

_EnableCustomColors(enableCustomColors);
}
Expand Down Expand Up @@ -281,17 +281,17 @@ AppearancePrefView::MessageReceived(BMessage* msg)
}
break;

case MSG_COLOR_SCHEMA_CHANGED:
case MSG_COLOR_SCHEME_CHANGED:
{
color_schema* newSchema = NULL;
if (msg->FindPointer("color_schema",
(void**)&newSchema) == B_OK) {
color_scheme* newScheme = NULL;
if (msg->FindPointer("color_scheme",
(void**)&newScheme) == B_OK) {

if (newSchema == &gCustomSchema)
if (newScheme == &gCustomColorScheme)
_EnableCustomColors(true);
else
_EnableCustomColors(false);
_ChangeColorSchema(newSchema);
_ChangeColorScheme(newScheme);
modified = true;
}
break;
Expand Down Expand Up @@ -366,45 +366,46 @@ AppearancePrefView::_EnableCustomColors(bool enable)


void
AppearancePrefView::_ChangeColorSchema(color_schema* schema)
AppearancePrefView::_ChangeColorScheme(color_scheme* scheme)
{
PrefHandler* pref = PrefHandler::Default();

pref->setRGB(PREF_TEXT_FORE_COLOR, schema->text_fore_color);
pref->setRGB(PREF_TEXT_BACK_COLOR, schema->text_back_color);
pref->setRGB(PREF_SELECT_FORE_COLOR, schema->select_fore_color);
pref->setRGB(PREF_SELECT_BACK_COLOR, schema->select_back_color);
pref->setRGB(PREF_CURSOR_FORE_COLOR, schema->cursor_fore_color);
pref->setRGB(PREF_CURSOR_BACK_COLOR, schema->cursor_back_color);
pref->setRGB(PREF_TEXT_FORE_COLOR, scheme->text_fore_color);
pref->setRGB(PREF_TEXT_BACK_COLOR, scheme->text_back_color);
pref->setRGB(PREF_SELECT_FORE_COLOR, scheme->select_fore_color);
pref->setRGB(PREF_SELECT_BACK_COLOR, scheme->select_back_color);
pref->setRGB(PREF_CURSOR_FORE_COLOR, scheme->cursor_fore_color);
pref->setRGB(PREF_CURSOR_BACK_COLOR, scheme->cursor_back_color);
}


void
AppearancePrefView::_SetCurrentColorSchema(BMenuField* field)
AppearancePrefView::_SetCurrentColorScheme(BMenuField* field)
{
PrefHandler* pref = PrefHandler::Default();

gCustomSchema.text_fore_color = pref->getRGB(PREF_TEXT_FORE_COLOR);
gCustomSchema.text_back_color = pref->getRGB(PREF_TEXT_BACK_COLOR);
gCustomSchema.select_fore_color = pref->getRGB(PREF_SELECT_FORE_COLOR);
gCustomSchema.select_back_color = pref->getRGB(PREF_SELECT_BACK_COLOR);
gCustomSchema.cursor_fore_color = pref->getRGB(PREF_CURSOR_FORE_COLOR);
gCustomSchema.cursor_back_color = pref->getRGB(PREF_CURSOR_BACK_COLOR);
gCustomColorScheme.text_fore_color = pref->getRGB(PREF_TEXT_FORE_COLOR);
gCustomColorScheme.text_back_color = pref->getRGB(PREF_TEXT_BACK_COLOR);
gCustomColorScheme.select_fore_color = pref->getRGB(PREF_SELECT_FORE_COLOR);
gCustomColorScheme.select_back_color = pref->getRGB(PREF_SELECT_BACK_COLOR);
gCustomColorScheme.cursor_fore_color = pref->getRGB(PREF_CURSOR_FORE_COLOR);
gCustomColorScheme.cursor_back_color = pref->getRGB(PREF_CURSOR_BACK_COLOR);

const char* currentSchemaName = NULL;
const char* currentSchemeName = NULL;

color_schema** schemas = const_cast<color_schema**>(gPredefinedSchemas);
while (*schemas) {
if (gCustomSchema == **schemas) {
currentSchemaName = (*schemas)->name;
color_scheme** schemes
= const_cast<color_scheme**>(gPredefinedColorSchemes);
while (*schemes) {
if (gCustomColorScheme == **schemes) {
currentSchemeName = (*schemes)->name;
break;
}
schemas++;
schemes++;
}

for (int32 i = 0; i < fColorSchemaField->Menu()->CountItems(); i++) {
BMenuItem* item = fColorSchemaField->Menu()->ItemAt(i);
if (!strcmp(item->Label(), currentSchemaName)) {
for (int32 i = 0; i < fColorSchemeField->Menu()->CountItems(); i++) {
BMenuItem* item = fColorSchemeField->Menu()->ItemAt(i);
if (!strcmp(item->Label(), currentSchemeName)) {
item->SetMarked(true);
break;
}
Expand Down Expand Up @@ -521,8 +522,8 @@ AppearancePrefView::_MakeMenu(uint32 msg, const char** items,


/*static*/ BPopUpMenu*
AppearancePrefView::_MakeColorSchemaMenu(uint32 msg, const color_schema** items,
const color_schema* defaultItemName)
AppearancePrefView::_MakeColorSchemeMenu(uint32 msg, const color_scheme** items,
const color_scheme* defaultItemName)
{
BPopUpMenu* menu = new BPopUpMenu("");

Expand All @@ -532,7 +533,7 @@ AppearancePrefView::_MakeColorSchemaMenu(uint32 msg, const color_schema** items,
menu->AddSeparatorItem();
else {
BMessage* message = new BMessage(msg);
message->AddPointer("color_schema", (const void*)*items);
message->AddPointer("color_scheme", (const void*)*items);
menu->AddItem(new BMenuItem((*items)->name, message));
}

Expand Down
16 changes: 8 additions & 8 deletions src/apps/terminal/AppearPrefView.h
Expand Up @@ -19,7 +19,7 @@ static const uint32 MSG_FULL_FONT_CHANGED = 'mcff';
static const uint32 MSG_FULL_SIZE_CHANGED = 'mcfs';
static const uint32 MSG_COLOR_FIELD_CHANGED = 'mccf';
static const uint32 MSG_COLOR_CHANGED = 'mcbc';
static const uint32 MSG_COLOR_SCHEMA_CHANGED = 'mccs';
static const uint32 MSG_COLOR_SCHEME_CHANGED = 'mccs';

static const uint32 MSG_TAB_TITLE_SETTING_CHANGED = 'mtts';
static const uint32 MSG_WINDOW_TITLE_SETTING_CHANGED = 'mwts';
Expand All @@ -32,7 +32,7 @@ static const uint32 MSG_HISTORY_CHANGED = 'mhst';
static const uint32 MSG_PREF_MODIFIED = 'mpmo';


struct color_schema;
struct color_scheme;
class BCheckBox;
class BColorControl;
class BMenu;
Expand All @@ -56,8 +56,8 @@ class AppearancePrefView : public BGroupView {
private:
void _EnableCustomColors(bool enable);

void _ChangeColorSchema(color_schema* schema);
void _SetCurrentColorSchema(BMenuField* field);
void _ChangeColorScheme(color_scheme* scheme);
void _SetCurrentColorScheme(BMenuField* field);

static BMenu* _MakeFontMenu(uint32 command,
const char* defaultFamily,
Expand All @@ -68,16 +68,16 @@ class AppearancePrefView : public BGroupView {
static BPopUpMenu* _MakeMenu(uint32 msg, const char** items,
const char* defaultItem);

static BPopUpMenu* _MakeColorSchemaMenu(uint32 msg,
const color_schema** schemas,
const color_schema* defaultItemName);
static BPopUpMenu* _MakeColorSchemeMenu(uint32 msg,
const color_scheme** schemes,
const color_scheme* defaultItemName);

BCheckBox* fBlinkCursor;
BCheckBox* fWarnOnExit;
BMenuField* fFont;
BMenuField* fFontSize;

BMenuField* fColorSchemaField;
BMenuField* fColorSchemeField;
BMenuField* fColorField;
BColorControl* fColorControl;

Expand Down
48 changes: 24 additions & 24 deletions src/apps/terminal/Colors.cpp
Expand Up @@ -10,7 +10,7 @@


#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "Terminal colors schema"
#define B_TRANSLATION_CONTEXT "Terminal colors scheme"


// Standard colors
Expand All @@ -20,7 +20,7 @@ const rgb_color kWhite = { 255, 255, 255, 255 };
const rgb_color kYellow = { 255, 255, 0, 255 };


const struct color_schema kColorDefault = {
const struct color_scheme kColorSchemeDefault = {
B_TRANSLATE("Default"),
kBlack,
kWhite,
Expand All @@ -30,7 +30,7 @@ const struct color_schema kColorDefault = {
kBlack
};

const struct color_schema kColorBlue = {
const struct color_scheme kColorSchemeBlue = {
B_TRANSLATE("Blue"),
kYellow,
{ 0, 0, 139, 255 },
Expand All @@ -40,7 +40,7 @@ const struct color_schema kColorBlue = {
{ 0, 139, 139, 255 },
};

const struct color_schema kColorMidnight = {
const struct color_scheme kColorSchemeMidnight = {
B_TRANSLATE("Midnight"),
kWhite,
kBlack,
Expand All @@ -50,7 +50,7 @@ const struct color_schema kColorMidnight = {
kWhite
};

const struct color_schema kColorProfessional = {
const struct color_scheme kColorSchemeProfessional = {
B_TRANSLATE("Professional"),
kWhite,
{ 8, 8, 8, 255 },
Expand All @@ -60,8 +60,8 @@ const struct color_schema kColorProfessional = {
{ 50, 50, 50, 255 },
};

const struct color_schema kColorRetroTerminal = {
B_TRANSLATE("Retro Terminal"),
const struct color_scheme kColorSchemeRetro = {
B_TRANSLATE("Retro"),
kGreen,
kBlack,
kBlack,
Expand All @@ -70,7 +70,7 @@ const struct color_schema kColorRetroTerminal = {
kGreen
};

const struct color_schema kColorSlate = {
const struct color_scheme kColorSchemeSlate = {
B_TRANSLATE("Slate"),
kWhite,
{ 20, 20, 28, 255 },
Expand All @@ -80,31 +80,31 @@ const struct color_schema kColorSlate = {
{ 70, 70, 70, 255 },
};

struct color_schema gCustomSchema = {
struct color_scheme gCustomColorScheme = {
B_TRANSLATE("Custom")
};

const color_schema* gPredefinedSchemas[] = {
&kColorDefault,
&kColorBlue,
&kColorMidnight,
&kColorProfessional,
&kColorRetroTerminal,
&kColorSlate,
&gCustomSchema,
const color_scheme* gPredefinedColorSchemes[] = {
&kColorSchemeDefault,
&kColorSchemeBlue,
&kColorSchemeMidnight,
&kColorSchemeProfessional,
&kColorSchemeRetro,
&kColorSchemeSlate,
&gCustomColorScheme,
NULL
};


bool
color_schema::operator==(const color_schema& schema)
color_scheme::operator==(const color_scheme& scheme)
{
if (text_fore_color == schema.text_fore_color
&& text_back_color == schema.text_back_color
&& cursor_fore_color == schema.cursor_fore_color
&& cursor_back_color == schema.cursor_back_color
&& select_fore_color == schema.select_fore_color
&& select_back_color == schema.select_back_color)
if (text_fore_color == scheme.text_fore_color
&& text_back_color == scheme.text_back_color
&& cursor_fore_color == scheme.cursor_fore_color
&& cursor_back_color == scheme.cursor_back_color
&& select_fore_color == scheme.select_fore_color
&& select_back_color == scheme.select_back_color)
return true;

return false;
Expand Down
10 changes: 5 additions & 5 deletions src/apps/terminal/Colors.h
Expand Up @@ -8,20 +8,20 @@

#include <InterfaceDefs.h>

struct color_schema {

struct color_scheme {
const char* name;
rgb_color text_fore_color;
rgb_color text_back_color;
rgb_color cursor_fore_color;
rgb_color cursor_back_color;
rgb_color select_fore_color;
rgb_color select_back_color;
bool operator==(const color_schema& color);
bool operator==(const color_scheme& color);
};


extern color_schema gCustomSchema;
extern const color_schema* gPredefinedSchemas[];
extern color_scheme gCustomColorScheme;
extern const color_scheme* gPredefinedColorSchemes[];


#endif // _COLORS_H
2 changes: 1 addition & 1 deletion src/apps/terminal/TermWindow.cpp
Expand Up @@ -839,7 +839,7 @@ TermWindow::MessageReceived(BMessage *message)
break;

case MSG_COLOR_CHANGED:
case MSG_COLOR_SCHEMA_CHANGED:
case MSG_COLOR_SCHEME_CHANGED:
{
_SetTermColors(_ActiveTermViewContainerView());
_ActiveTermViewContainerView()->Invalidate();
Expand Down

0 comments on commit 2005db2

Please sign in to comment.