summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-22 21:42:34 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-22 21:42:34 +0000
commitb261feb5d36701615122a48ac27e4c5042bbcf9e (patch)
tree970c3c12ca61c7e39a8c5c003e2614f18a00168f /chrome/browser
parent214a7ab7d7311c4fbff83668ed150206d15e35b1 (diff)
downloadchromium_src-b261feb5d36701615122a48ac27e4c5042bbcf9e.zip
chromium_src-b261feb5d36701615122a48ac27e4c5042bbcf9e.tar.gz
chromium_src-b261feb5d36701615122a48ac27e4c5042bbcf9e.tar.bz2
Made the title of panels show focused state with black text
(as opposed to grey text in unfocused panels) Review URL: http://codereview.chromium.org/159176 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/gtk/browser_window_gtk.cc34
-rw-r--r--chrome/browser/gtk/browser_window_gtk.h8
-rw-r--r--chrome/browser/views/panel_controller.cc22
-rw-r--r--chrome/browser/views/panel_controller.h4
4 files changed, 62 insertions, 6 deletions
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc
index 2d4d1a9..ae8c547 100644
--- a/chrome/browser/gtk/browser_window_gtk.cc
+++ b/chrome/browser/gtk/browser_window_gtk.cc
@@ -344,11 +344,6 @@ gboolean OnKeyPress(GtkWindow* window, GdkEventKey* event, Browser* browser) {
}
}
-gboolean OnFocusIn(GtkWidget* widget, GdkEventFocus* event, Browser* browser) {
- BrowserList::SetLastActive(browser);
- return FALSE;
-}
-
GdkCursorType GdkWindowEdgeToGdkCursorType(GdkWindowEdge edge) {
switch (edge) {
case GDK_WINDOW_EDGE_NORTH_WEST:
@@ -1101,7 +1096,9 @@ void BrowserWindowGtk::ConnectHandlersToSignals() {
g_signal_connect(window_, "button-press-event",
G_CALLBACK(OnButtonPressEvent), this);
g_signal_connect(window_, "focus-in-event",
- G_CALLBACK(OnFocusIn), browser_.get());
+ G_CALLBACK(OnFocusIn), this);
+ g_signal_connect(window_, "focus-out-event",
+ G_CALLBACK(OnFocusOut), this);
}
void BrowserWindowGtk::InitWidgets() {
@@ -1440,6 +1437,31 @@ void BrowserWindowGtk::MainWindowUnMapped(GtkWidget* widget,
BrowserWindowGtk::xid_map_.erase(xid);
}
+// static
+gboolean BrowserWindowGtk::OnFocusIn(GtkWidget* widget,
+ GdkEventFocus* event,
+ BrowserWindowGtk* browser) {
+ BrowserList::SetLastActive(browser->browser_.get());
+#if defined(OS_CHROMEOS)
+ if (browser->panel_controller_) {
+ browser->panel_controller_->OnFocusIn();
+ }
+#endif
+ return FALSE;
+}
+
+// static
+gboolean BrowserWindowGtk::OnFocusOut(GtkWidget* widget,
+ GdkEventFocus* event,
+ BrowserWindowGtk* browser) {
+#if defined(OS_CHROMEOS)
+ if (browser->panel_controller_) {
+ browser->panel_controller_->OnFocusOut();
+ }
+#endif
+ return FALSE;
+}
+
void BrowserWindowGtk::ExecuteBrowserCommand(int id) {
if (browser_->command_updater()->IsCommandEnabled(id))
browser_->ExecuteCommand(id);
diff --git a/chrome/browser/gtk/browser_window_gtk.h b/chrome/browser/gtk/browser_window_gtk.h
index 280d7b9..c494d68 100644
--- a/chrome/browser/gtk/browser_window_gtk.h
+++ b/chrome/browser/gtk/browser_window_gtk.h
@@ -242,6 +242,14 @@ class BrowserWindowGtk : public BrowserWindow,
static void MainWindowMapped(GtkWidget* widget, BrowserWindowGtk* window);
static void MainWindowUnMapped(GtkWidget* widget, BrowserWindowGtk* window);
+ // Tracks focus state of browser.
+ static gboolean OnFocusIn(GtkWidget* widget,
+ GdkEventFocus* event,
+ BrowserWindowGtk* browser);
+ static gboolean OnFocusOut(GtkWidget* widget,
+ GdkEventFocus* event,
+ BrowserWindowGtk* browser);
+
// A small shim for browser_->ExecuteCommand.
void ExecuteBrowserCommand(int id);
diff --git a/chrome/browser/views/panel_controller.cc b/chrome/browser/views/panel_controller.cc
index 102d018..efcd9d3 100644
--- a/chrome/browser/views/panel_controller.cc
+++ b/chrome/browser/views/panel_controller.cc
@@ -40,6 +40,9 @@ const int kTitleWidth = 200;
const int kTitleHeight = 24;
const int kTitlePad = 8;
const int kButtonPad = 8;
+const SkColor kTitleBackground = 0xFFDDDDDD;
+const SkColor kActiveText = SK_ColorBLACK;
+const SkColor kInactiveText = 0xFF666666;
static bool resources_initialized;
static void InitializeResources() {
@@ -172,6 +175,14 @@ bool PanelController::OnPanelClientEvent(
return panel_controller->PanelClientEvent(event);
}
+void PanelController::OnFocusIn() {
+ title_content_->OnFocusIn();
+}
+
+void PanelController::OnFocusOut() {
+ title_content_->OnFocusOut();
+}
+
bool PanelController::PanelClientEvent(GdkEventClient* event) {
TabOverviewTypes::Message msg;
TabOverviewTypes::instance()->DecodeMessage(*event, &msg);
@@ -203,6 +214,7 @@ PanelController::TitleContentView::TitleContentView(
title_label_ = new views::Label(std::wstring(), *title_font);
title_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
+ title_label_->SetColor(kInactiveText);
AddChildView(title_label_);
set_background(views::Background::CreateSolidBackground(0xdd, 0xdd, 0xdd, 1));
@@ -236,3 +248,13 @@ bool PanelController::TitleContentView::OnMouseDragged(
return panel_controller_->TitleMouseDragged(event);
}
+void PanelController::TitleContentView::OnFocusIn() {
+ title_label_->SetColor(kActiveText);
+ title_label_->SchedulePaint();
+}
+
+void PanelController::TitleContentView::OnFocusOut() {
+ title_label_->SetColor(kInactiveText);
+ title_label_->SchedulePaint();
+}
+
diff --git a/chrome/browser/views/panel_controller.h b/chrome/browser/views/panel_controller.h
index 3bb88a6..0379e7b 100644
--- a/chrome/browser/views/panel_controller.h
+++ b/chrome/browser/views/panel_controller.h
@@ -29,6 +29,8 @@ class PanelController : public views::ButtonListener {
void TitleMouseReleased(const views::MouseEvent& event, bool canceled);
bool TitleMouseDragged(const views::MouseEvent& event);
bool PanelClientEvent(GdkEventClient* event);
+ void OnFocusIn();
+ void OnFocusOut();
void UpdateTitleBar();
void Close();
@@ -44,6 +46,8 @@ class PanelController : public views::ButtonListener {
virtual bool OnMousePressed(const views::MouseEvent& event);
virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled);
virtual bool OnMouseDragged(const views::MouseEvent& event);
+ void OnFocusIn();
+ void OnFocusOut();
views::Label* title_label() { return title_label_; }
views::ImageButton* close_button() { return close_button_; }