User interface: Use user colors in menu and list items.

* Use user colors for selected menuItem in ProcessController
* Use user colors for selected listItem in FileTypes, Media, Printers
* Fixes the menuItem and listItem part of #10840.
   The BColumnListView and other widgets need more thoughts.
This commit is contained in:
Janus
2015-04-06 11:21:59 +00:00
parent 8e54273644
commit aa05612321
9 changed files with 21 additions and 17 deletions
@@ -70,6 +70,7 @@ KernelMemoryBarMenuItem::DrawBar(bool force)
bool selected = IsSelected(); bool selected = IsSelected();
BRect frame = Frame(); BRect frame = Frame();
BMenu* menu = Menu(); BMenu* menu = Menu();
rgb_color highColor = menu->HighColor();
// draw the bar itself // draw the bar itself
BRect cadre (frame.right - kMargin - kBarWidth, frame.top + 5, BRect cadre (frame.right - kMargin - kBarWidth, frame.top + 5,
@@ -133,7 +134,7 @@ KernelMemoryBarMenuItem::DrawBar(bool force)
menu->SetHighColor(kWhite); menu->SetHighColor(kWhite);
menu->FillRect(r); menu->FillRect(r);
} }
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
fGrenze1 = grenze1; fGrenze1 = grenze1;
fGrenze2 = grenze2; fGrenze2 = grenze2;
@@ -150,7 +151,7 @@ KernelMemoryBarMenuItem::DrawBar(bool force)
BRect trect(cadre.left - kMargin - gMemoryTextWidth, frame.top, BRect trect(cadre.left - kMargin - gMemoryTextWidth, frame.top,
cadre.left - kMargin, frame.bottom); cadre.left - kMargin, frame.bottom);
menu->FillRect(trect); menu->FillRect(trect);
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
char infos[128]; char infos[128];
string_for_size(fCachedMemory * 1024.0, infos, sizeof(infos)); string_for_size(fCachedMemory * 1024.0, infos, sizeof(infos));
@@ -114,6 +114,7 @@ MemoryBarMenuItem::DrawBar(bool force)
bool selected = IsSelected(); bool selected = IsSelected();
BRect frame = Frame(); BRect frame = Frame();
BMenu* menu = Menu(); BMenu* menu = Menu();
rgb_color highColor = menu->HighColor();
// draw the bar itself // draw the bar itself
@@ -186,7 +187,7 @@ MemoryBarMenuItem::DrawBar(bool force)
menu->FillRect(r); menu->FillRect(r);
} }
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
fGrenze1 = grenze1; fGrenze1 = grenze1;
fGrenze2 = grenze2; fGrenze2 = grenze2;
@@ -210,7 +211,10 @@ MemoryBarMenuItem::DrawBar(bool force)
fLastWrite = fWriteMemory; fLastWrite = fWriteMemory;
fLastAll = fAllMemory; fLastAll = fAllMemory;
menu->SetHighColor(kBlack); if (selected)
menu->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
else
menu->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
char infos[128]; char infos[128];
string_for_size(fWriteMemory * 1024.0, infos, sizeof(infos)); string_for_size(fWriteMemory * 1024.0, infos, sizeof(infos));
@@ -222,6 +226,7 @@ MemoryBarMenuItem::DrawBar(bool force)
string_for_size(fAllMemory * 1024.0, infos, sizeof(infos)); string_for_size(fAllMemory * 1024.0, infos, sizeof(infos));
loc.x = rect.left - kMargin - menu->StringWidth(infos); loc.x = rect.left - kMargin - menu->StringWidth(infos);
menu->DrawString(infos, loc); menu->DrawString(infos, loc);
menu->SetHighColor(highColor);
} }
@@ -51,6 +51,7 @@ NoiseBarMenuItem::DrawBar(bool force)
bool selected = IsSelected(); bool selected = IsSelected();
BRect frame = Frame(); BRect frame = Frame();
BMenu* menu = Menu(); BMenu* menu = Menu();
rgb_color highColor = menu->HighColor();
frame.right -= 24; frame.right -= 24;
frame.left = frame.right - kBarWidth; frame.left = frame.right - kBarWidth;
frame.top += 5; frame.top += 5;
@@ -97,7 +98,7 @@ NoiseBarMenuItem::DrawBar(bool force)
r.right = fGrenze1; r.right = fGrenze1;
} }
if (r.left < r.right) { if (r.left < r.right) {
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
// menu->SetHighColor(gUserColor); // menu->SetHighColor(gUserColor);
menu->FillRect(r); menu->FillRect(r);
} }
@@ -112,7 +113,7 @@ NoiseBarMenuItem::DrawBar(bool force)
menu->SetHighColor(kWhite); menu->SetHighColor(kWhite);
menu->FillRect(r); menu->FillRect(r);
} }
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
fGrenze1 = grenze1; fGrenze1 = grenze1;
fGrenze2 = grenze2; fGrenze2 = grenze2;
} }
@@ -123,6 +123,7 @@ TeamBarMenuItem::DrawBar(bool force)
bool selected = IsSelected (); bool selected = IsSelected ();
BRect frame = Frame(); BRect frame = Frame();
BMenu* menu = Menu (); BMenu* menu = Menu ();
rgb_color highColor = menu->HighColor();
frame.right -= 24; frame.right -= 24;
frame.left = frame.right-kBarWidth; frame.left = frame.right-kBarWidth;
frame.top += 5; frame.top += 5;
@@ -209,7 +210,7 @@ TeamBarMenuItem::DrawBar(bool force)
menu->FillRect(r); menu->FillRect(r);
} }
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
fGrenze1 = grenze1; fGrenze1 = grenze1;
fGrenze2 = grenze2; fGrenze2 = grenze2;
} }
@@ -56,6 +56,7 @@ ThreadBarMenuItem::DrawBar(bool force)
bool selected = IsSelected(); bool selected = IsSelected();
BRect frame = Frame(); BRect frame = Frame();
BMenu* menu = Menu(); BMenu* menu = Menu();
rgb_color highColor = menu->HighColor();
frame.right -= 24; frame.right -= 24;
frame.left = frame.right - kBarWidth; frame.left = frame.right - kBarWidth;
frame.top += 3; frame.top += 3;
@@ -127,7 +128,7 @@ ThreadBarMenuItem::DrawBar(bool force)
menu->SetHighColor(kWhite); menu->SetHighColor(kWhite);
menu->FillRect(r); menu->FillRect(r);
} }
menu->SetHighColor(kBlack); menu->SetHighColor(highColor);
fGrenze1 = grenze1; fGrenze1 = grenze1;
fGrenze2 = grenze2; fGrenze2 = grenze2;
} }
@@ -81,12 +81,11 @@ MimeTypeItem::DrawItem(BView* owner, BRect frame, bool complete)
} }
if (fShowIcon) { if (fShowIcon) {
rgb_color highColor = owner->HighColor();
rgb_color lowColor = owner->LowColor(); rgb_color lowColor = owner->LowColor();
if (IsSelected() || complete) { if (IsSelected() || complete) {
if (IsSelected()) if (IsSelected())
owner->SetLowColor(tint_color(lowColor, B_DARKEN_2_TINT)); owner->SetLowColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR));
owner->FillRect(rect, B_SOLID_LOW); owner->FillRect(rect, B_SOLID_LOW);
} }
@@ -112,10 +111,8 @@ MimeTypeItem::DrawItem(BView* owner, BRect frame, bool complete)
owner->SetDrawingMode(B_OP_COPY); owner->SetDrawingMode(B_OP_COPY);
owner->MovePenTo(rect.left + B_MINI_ICON + 8.0f, frame.top + fBaselineOffset); owner->MovePenTo(rect.left + B_MINI_ICON + 8.0f, frame.top + fBaselineOffset);
owner->SetHighColor(0, 0, 0);
owner->DrawString(Text()); owner->DrawString(Text());
owner->SetHighColor(highColor);
owner->SetLowColor(lowColor); owner->SetLowColor(lowColor);
} else } else
BStringItem::DrawItem(owner, rect, complete); BStringItem::DrawItem(owner, rect, complete);
+1 -3
View File
@@ -76,11 +76,10 @@ struct MediaListItem::Renderer {
{ {
const rgb_color lowColor = onto->LowColor(); const rgb_color lowColor = onto->LowColor();
const rgb_color highColor = onto->HighColor(); const rgb_color highColor = onto->HighColor();
const rgb_color kBlack = {0, 0, 0, 255};
if (fSelected || complete) { if (fSelected || complete) {
if (fSelected) if (fSelected)
onto->SetLowColor(tint_color(lowColor, B_DARKEN_2_TINT)); onto->SetLowColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR));
onto->FillRect(frame, B_SOLID_LOW); onto->FillRect(frame, B_SOLID_LOW);
} }
@@ -105,7 +104,6 @@ struct MediaListItem::Renderer {
} }
onto->SetDrawingMode(B_OP_COPY); onto->SetDrawingMode(B_OP_COPY);
onto->SetHighColor(kBlack);
BFont font = be_plain_font; BFont font = be_plain_font;
font_height fontInfo; font_height fontInfo;
+1 -1
View File
@@ -276,7 +276,7 @@ JobItem::DrawItem(BView *owner, BRect, bool complete)
rgb_color oldHighColor = owner->HighColor(); rgb_color oldHighColor = owner->HighColor();
if (IsSelected()) if (IsSelected())
color = tint_color(color, B_HIGHLIGHT_BACKGROUND_TINT); color = ui_color(B_LIST_SELECTED_BACKGROUND_COLOR);
owner->SetHighColor(color); owner->SetHighColor(color);
owner->SetLowColor(color); owner->SetLowColor(color);
+1 -1
View File
@@ -388,7 +388,7 @@ PrinterItem::DrawItem(BView *owner, BRect /*bounds*/, bool complete)
rgb_color oldHighColor = owner->HighColor(); rgb_color oldHighColor = owner->HighColor();
if (IsSelected()) if (IsSelected())
color = tint_color(color, B_HIGHLIGHT_BACKGROUND_TINT); color = ui_color(B_LIST_SELECTED_BACKGROUND_COLOR);
owner->SetLowColor(color); owner->SetLowColor(color);
owner->SetHighColor(color); owner->SetHighColor(color);