hrev44573 adds 1 changeset to branch 'master' old head: f49d27c7ed6fb197073b3b3ca577c6a9070137bb new head: 91c78f092f17e1cc233f7f85a075f72b72b3f246 ---------------------------------------------------------------------------- 91c78f0: 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 [ John Scipione <jscipione@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev44573 Commit: 91c78f092f17e1cc233f7f85a075f72b72b3f246 URL: http://cgit.haiku-os.org/haiku/commit/?id=91c78f0 Author: John Scipione <jscipione@xxxxxxxxx> Date: Tue Aug 21 00:50:18 2012 UTC ---------------------------------------------------------------------------- 9 files changed, 49 insertions(+), 27 deletions(-) headers/os/interface/InterfaceDefs.h | 23 +++++++++++++-------- headers/private/app/ServerReadOnlyMemory.h | 10 ++++----- src/bin/WindowShade.cpp | 4 ++++ src/kits/interface/InterfaceDefs.cpp | 4 ++++ src/kits/interface/ListView.cpp | 3 +++ src/kits/interface/StringItem.cpp | 10 ++++----- src/preferences/appearance/ColorSet.cpp | 6 ++++++ src/preferences/appearance/ColorWhichItem.cpp | 8 +++---- src/preferences/locale/LanguageListView.cpp | 8 +++---- ---------------------------------------------------------------------------- diff --git a/headers/os/interface/InterfaceDefs.h b/headers/os/interface/InterfaceDefs.h index 82c4bb7..51b5f6f 100644 --- a/headers/os/interface/InterfaceDefs.h +++ b/headers/os/interface/InterfaceDefs.h @@ -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 }; diff --git a/headers/private/app/ServerReadOnlyMemory.h b/headers/private/app/ServerReadOnlyMemory.h index 821de03..64b29f2 100644 --- a/headers/private/app/ServerReadOnlyMemory.h +++ b/headers/private/app/ServerReadOnlyMemory.h @@ -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); } } diff --git a/src/bin/WindowShade.cpp b/src/bin/WindowShade.cpp index d8e29a6..7f2f480 100644 --- a/src/bin/WindowShade.cpp +++ b/src/bin/WindowShade.cpp @@ -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), diff --git a/src/kits/interface/InterfaceDefs.cpp b/src/kits/interface/InterfaceDefs.cpp index 2a397a9..797a872 100644 --- a/src/kits/interface/InterfaceDefs.cpp +++ b/src/kits/interface/InterfaceDefs.cpp @@ -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 diff --git a/src/kits/interface/ListView.cpp b/src/kits/interface/ListView.cpp index 508900f..d6093c5 100644 --- a/src/kits/interface/ListView.cpp +++ b/src/kits/interface/ListView.cpp @@ -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)); } diff --git a/src/kits/interface/StringItem.cpp b/src/kits/interface/StringItem.cpp index f541361..e5e64de 100644 --- a/src/kits/interface/StringItem.cpp +++ b/src/kits/interface/StringItem.cpp @@ -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; diff --git a/src/preferences/appearance/ColorSet.cpp b/src/preferences/appearance/ColorSet.cpp index ccd6728..8195437 100644 --- a/src/preferences/appearance/ColorSet.cpp +++ b/src/preferences/appearance/ColorSet.cpp @@ -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") }, diff --git a/src/preferences/appearance/ColorWhichItem.cpp b/src/preferences/appearance/ColorWhichItem.cpp index 00a9946..e9fa522 100644 --- a/src/preferences/appearance/ColorWhichItem.cpp +++ b/src/preferences/appearance/ColorWhichItem.cpp @@ -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()); diff --git a/src/preferences/locale/LanguageListView.cpp b/src/preferences/locale/LanguageListView.cpp index 8b70267..f5ca850 100644 --- a/src/preferences/locale/LanguageListView.cpp +++ b/src/preferences/locale/LanguageListView.cpp @@ -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,