Create and use new list view item colors
* B_LIST_BACKGROUND_COLOR * B_LIST_SELECTED_BACKGROUND_COLOR * B_LIST_ITEM_TEXT_COLOR * B_LIST_SELECTED_ITEM_TEXT_COLOR
This commit is contained in:
@@ -306,27 +306,32 @@ enum color_which {
|
||||
B_MENU_SELECTED_ITEM_TEXT_COLOR = 8,
|
||||
B_MENU_SELECTED_BORDER_COLOR = 9,
|
||||
|
||||
B_LIST_BACKGROUND_COLOR = 28,
|
||||
B_LIST_SELECTED_BACKGROUND_COLOR = 29,
|
||||
B_LIST_ITEM_TEXT_COLOR = 30,
|
||||
B_LIST_SELECTED_ITEM_TEXT_COLOR = 31,
|
||||
|
||||
B_TOOL_TIP_BACKGROUND_COLOR = 20,
|
||||
B_TOOL_TIP_TEXT_COLOR = 21,
|
||||
|
||||
B_SUCCESS_COLOR = 100,
|
||||
B_FAILURE_COLOR = 101,
|
||||
|
||||
// Old name synonyms.
|
||||
B_KEYBOARD_NAVIGATION_COLOR = B_NAVIGATION_BASE_COLOR,
|
||||
B_MENU_SELECTION_BACKGROUND_COLOR = B_MENU_SELECTED_BACKGROUND_COLOR,
|
||||
|
||||
// These are deprecated -- do not use in new code. See BScreen for
|
||||
// the replacement for B_DESKTOP_COLOR.
|
||||
B_DESKTOP_COLOR = 5,
|
||||
|
||||
B_WINDOW_TAB_COLOR = 3,
|
||||
B_WINDOW_TEXT_COLOR = 22,
|
||||
B_WINDOW_INACTIVE_TAB_COLOR = 23,
|
||||
B_WINDOW_INACTIVE_TEXT_COLOR = 24,
|
||||
|
||||
B_WINDOW_BORDER_COLOR = 25,
|
||||
B_WINDOW_INACTIVE_BORDER_COLOR = 26
|
||||
B_WINDOW_INACTIVE_BORDER_COLOR = 26,
|
||||
|
||||
// Old name synonyms.
|
||||
B_KEYBOARD_NAVIGATION_COLOR = B_NAVIGATION_BASE_COLOR,
|
||||
B_MENU_SELECTION_BACKGROUND_COLOR = B_MENU_SELECTED_BACKGROUND_COLOR,
|
||||
|
||||
// These are deprecated -- do not use in new code. See BScreen for
|
||||
// the replacement for B_DESKTOP_COLOR.
|
||||
B_DESKTOP_COLOR = 5
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <InterfaceDefs.h>
|
||||
|
||||
|
||||
static const int32 kNumColors = 32;
|
||||
static const int32 kNumColors = 34;
|
||||
|
||||
struct server_read_only_memory {
|
||||
rgb_color colors[kNumColors];
|
||||
@@ -26,10 +26,10 @@ static inline int32
|
||||
color_which_to_index(color_which which)
|
||||
{
|
||||
// NOTE: this must be kept in sync with InterfaceDefs.h color_which!
|
||||
if (which <= B_CONTROL_MARK_COLOR)
|
||||
if (which <= B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||
return which - 1;
|
||||
if (which >= B_SUCCESS_COLOR && which <= B_FAILURE_COLOR)
|
||||
return which - B_SUCCESS_COLOR + B_CONTROL_MARK_COLOR;
|
||||
return which - B_SUCCESS_COLOR + B_LIST_SELECTED_ITEM_TEXT_COLOR;
|
||||
|
||||
return -1;
|
||||
}
|
||||
@@ -39,11 +39,11 @@ static inline color_which
|
||||
index_to_color_which(int32 index)
|
||||
{
|
||||
if (index >= 0 && index < kNumColors) {
|
||||
if ((color_which)index < B_CONTROL_MARK_COLOR)
|
||||
if ((color_which)index < B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||
return (color_which)(index + 1);
|
||||
else {
|
||||
return (color_which)(index + B_SUCCESS_COLOR
|
||||
- B_CONTROL_MARK_COLOR);
|
||||
- B_LIST_SELECTED_ITEM_TEXT_COLOR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,6 +53,10 @@ static struct option const kLongOptions[] = {
|
||||
I(menu_item_text_color, B_MENU_ITEM_TEXT_COLOR),
|
||||
I(menu_selected_item_text_color, B_MENU_SELECTED_ITEM_TEXT_COLOR),
|
||||
I(menu_selected_border_color, B_MENU_SELECTED_BORDER_COLOR),
|
||||
I(list_background_color, B_LIST_BACKGROUND_COLOR),
|
||||
I(list_selected_background_color, B_LIST_SELECTED_BACKGROUND_COLOR),
|
||||
I(list_item_text_color, B_LIST_ITEM_TEXT_COLOR),
|
||||
I(list_selected_item_text_color, B_LIST_SELECTED_ITEM_TEXT_COLOR),
|
||||
I(tooltip_background_color, B_TOOL_TIP_BACKGROUND_COLOR),
|
||||
I(tooltip_text_color, B_TOOL_TIP_TEXT_COLOR),
|
||||
I(success_color, B_SUCCESS_COLOR),
|
||||
|
||||
@@ -97,6 +97,10 @@ static const rgb_color _kDefaultColors[kNumColors] = {
|
||||
{224, 224, 224, 255}, // B_WINDOW_BORDER_COLOR
|
||||
{232, 232, 232, 255}, // B_WINDOW_INACTIVE_BORDER_COLOR
|
||||
{27, 82, 140, 255}, // B_CONTROL_MARK_COLOR
|
||||
{255, 255, 255, 255}, // B_LIST_BACKGROUND_COLOR
|
||||
{153, 153, 153, 255}, // B_LIST_SELECTED_BACKGROUND_COLOR
|
||||
{0, 0, 0, 255}, // B_LIST_ITEM_TEXT_COLOR
|
||||
{0, 0, 0, 255}, // B_LIST_SELECTED_ITEM_TEXT_COLOR
|
||||
// 100...
|
||||
{0, 255, 0, 255}, // B_SUCCESS_COLOR
|
||||
{255, 0, 0, 255}, // B_FAILURE_COLOR
|
||||
|
||||
@@ -1381,6 +1381,9 @@ BListView::_InitObject(list_view_type type)
|
||||
fTrack = new track_data;
|
||||
fTrack->try_drag = false;
|
||||
fTrack->item_index = -1;
|
||||
|
||||
SetViewColor(ui_color(B_LIST_BACKGROUND_COLOR));
|
||||
SetLowColor(ui_color(B_LIST_BACKGROUND_COLOR));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ BStringItem::DrawItem(BView *owner, BRect frame, bool complete)
|
||||
|
||||
if (IsSelected() || complete) {
|
||||
if (IsSelected()) {
|
||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_BACKGROUND_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR));
|
||||
owner->SetLowColor(owner->HighColor());
|
||||
} else
|
||||
owner->SetHighColor(lowColor);
|
||||
@@ -88,16 +88,16 @@ BStringItem::DrawItem(BView *owner, BRect frame, bool complete)
|
||||
owner->MovePenTo(frame.left, frame.top + fBaselineOffset);
|
||||
|
||||
if (!IsEnabled()) {
|
||||
rgb_color textColor = ui_color(B_MENU_ITEM_TEXT_COLOR);
|
||||
rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR);
|
||||
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
||||
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
||||
else
|
||||
owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT));
|
||||
} else {
|
||||
if (IsSelected())
|
||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR));
|
||||
else
|
||||
owner->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR));
|
||||
}
|
||||
|
||||
owner->DrawString(fText);
|
||||
@@ -118,7 +118,7 @@ BStringItem::SetText(const char *text)
|
||||
}
|
||||
|
||||
|
||||
const char *
|
||||
const char*
|
||||
BStringItem::Text() const
|
||||
{
|
||||
return fText;
|
||||
|
||||
@@ -47,6 +47,12 @@ static ColorDescription sColorDescriptionTable[] =
|
||||
B_TRANSLATE_MARK("Selected menu item text") },
|
||||
{ B_MENU_SELECTED_BORDER_COLOR,
|
||||
B_TRANSLATE_MARK("Selected menu item border") },
|
||||
{ B_LIST_BACKGROUND_COLOR, B_TRANSLATE_MARK("List background") },
|
||||
{ B_LIST_SELECTED_BACKGROUND_COLOR,
|
||||
B_TRANSLATE_MARK("Selected list item background") },
|
||||
{ B_LIST_ITEM_TEXT_COLOR, B_TRANSLATE_MARK("List item text") },
|
||||
{ B_LIST_SELECTED_ITEM_TEXT_COLOR,
|
||||
B_TRANSLATE_MARK("Selected list item text") },
|
||||
{ B_TOOL_TIP_BACKGROUND_COLOR, B_TRANSLATE_MARK("Tooltip background") },
|
||||
{ B_TOOL_TIP_TEXT_COLOR, B_TRANSLATE_MARK("Tooltip text") },
|
||||
{ B_SUCCESS_COLOR, B_TRANSLATE_MARK("Success") },
|
||||
|
||||
@@ -32,7 +32,7 @@ ColorWhichItem::DrawItem(BView *owner, BRect frame, bool complete)
|
||||
|
||||
if (IsSelected() || complete) {
|
||||
if (IsSelected()) {
|
||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_BACKGROUND_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR));
|
||||
owner->SetLowColor(owner->HighColor());
|
||||
} else
|
||||
owner->SetHighColor(lowColor);
|
||||
@@ -54,16 +54,16 @@ ColorWhichItem::DrawItem(BView *owner, BRect frame, bool complete)
|
||||
+ BaselineOffset());
|
||||
|
||||
if (!IsEnabled()) {
|
||||
rgb_color textColor = ui_color(B_MENU_ITEM_TEXT_COLOR);
|
||||
rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR);
|
||||
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
||||
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
||||
else
|
||||
owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT));
|
||||
} else {
|
||||
if (IsSelected())
|
||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR));
|
||||
else
|
||||
owner->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR));
|
||||
}
|
||||
|
||||
owner->DrawString(Text());
|
||||
|
||||
@@ -67,7 +67,7 @@ LanguageListItem::DrawItemWithTextOffset(BView* owner, BRect frame,
|
||||
if (IsSelected() || complete) {
|
||||
rgb_color color;
|
||||
if (IsSelected())
|
||||
color = ui_color(B_MENU_SELECTED_BACKGROUND_COLOR);
|
||||
color = ui_color(B_LIST_SELECTED_BACKGROUND_COLOR);
|
||||
else
|
||||
color = owner->ViewColor();
|
||||
|
||||
@@ -79,7 +79,7 @@ LanguageListItem::DrawItemWithTextOffset(BView* owner, BRect frame,
|
||||
|
||||
BString text = Text();
|
||||
if (!IsEnabled()) {
|
||||
rgb_color textColor = ui_color(B_MENU_ITEM_TEXT_COLOR);
|
||||
rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR);
|
||||
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
||||
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
||||
else
|
||||
@@ -88,9 +88,9 @@ LanguageListItem::DrawItemWithTextOffset(BView* owner, BRect frame,
|
||||
text << " [" << B_TRANSLATE("already chosen") << "]";
|
||||
} else {
|
||||
if (IsSelected())
|
||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR));
|
||||
else
|
||||
owner->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
|
||||
owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR));
|
||||
}
|
||||
|
||||
owner->MovePenTo(frame.left + kLeftInset + textOffset,
|
||||
|
||||
Reference in New Issue
Block a user