Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(858)

Side by Side Diff: chrome/browser/gtk/browser_window_gtk.cc

Issue 150176: GTK: First draft of using native themes, partially based on evan's CL 118358. (Closed)
Patch Set: And the codereview tool is back. Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/gtk/browser_window_gtk.h" 5 #include "chrome/browser/gtk/browser_window_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 #include <X11/XF86keysym.h> 8 #include <X11/XF86keysym.h>
9 9
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
11 #include "app/theme_provider.h" 11 #include "app/theme_provider.h"
12 #include "base/base_paths_linux.h" 12 #include "base/base_paths_linux.h"
13 #include "base/command_line.h"
13 #include "base/gfx/gtk_util.h" 14 #include "base/gfx/gtk_util.h"
14 #include "base/logging.h" 15 #include "base/logging.h"
15 #include "base/message_loop.h" 16 #include "base/message_loop.h"
16 #include "base/path_service.h" 17 #include "base/path_service.h"
17 #include "base/string_util.h" 18 #include "base/string_util.h"
18 #include "base/time.h" 19 #include "base/time.h"
19 #include "chrome/app/chrome_dll_resource.h" 20 #include "chrome/app/chrome_dll_resource.h"
20 #include "chrome/browser/bookmarks/bookmark_utils.h" 21 #include "chrome/browser/bookmarks/bookmark_utils.h"
21 #include "chrome/browser/browser.h" 22 #include "chrome/browser/browser.h"
22 #include "chrome/browser/browser_list.h" 23 #include "chrome/browser/browser_list.h"
23 #include "chrome/browser/browser_process.h" 24 #include "chrome/browser/browser_process.h"
24 #include "chrome/browser/browser_theme_provider.h" 25 #include "chrome/browser/browser_theme_provider.h"
25 #include "chrome/browser/download/download_item_model.h" 26 #include "chrome/browser/download/download_item_model.h"
26 #include "chrome/browser/download/download_manager.h" 27 #include "chrome/browser/download/download_manager.h"
27 #include "chrome/browser/gtk/about_chrome_dialog.h" 28 #include "chrome/browser/gtk/about_chrome_dialog.h"
28 #include "chrome/browser/gtk/bookmark_bar_gtk.h" 29 #include "chrome/browser/gtk/bookmark_bar_gtk.h"
29 #include "chrome/browser/gtk/bookmark_manager_gtk.h" 30 #include "chrome/browser/gtk/bookmark_manager_gtk.h"
30 #include "chrome/browser/gtk/browser_titlebar.h" 31 #include "chrome/browser/gtk/browser_titlebar.h"
31 #include "chrome/browser/gtk/browser_toolbar_gtk.h" 32 #include "chrome/browser/gtk/browser_toolbar_gtk.h"
32 #include "chrome/browser/gtk/clear_browsing_data_dialog_gtk.h" 33 #include "chrome/browser/gtk/clear_browsing_data_dialog_gtk.h"
33 #include "chrome/browser/gtk/download_shelf_gtk.h" 34 #include "chrome/browser/gtk/download_shelf_gtk.h"
34 #include "chrome/browser/gtk/edit_search_engine_dialog.h" 35 #include "chrome/browser/gtk/edit_search_engine_dialog.h"
35 #include "chrome/browser/gtk/find_bar_gtk.h" 36 #include "chrome/browser/gtk/find_bar_gtk.h"
36 #include "chrome/browser/gtk/go_button_gtk.h" 37 #include "chrome/browser/gtk/go_button_gtk.h"
38 #include "chrome/browser/gtk/gtk_theme_provider.h"
37 #include "chrome/browser/gtk/import_dialog_gtk.h" 39 #include "chrome/browser/gtk/import_dialog_gtk.h"
38 #include "chrome/browser/gtk/infobar_container_gtk.h" 40 #include "chrome/browser/gtk/infobar_container_gtk.h"
39 #include "chrome/browser/gtk/keyword_editor_view.h" 41 #include "chrome/browser/gtk/keyword_editor_view.h"
40 #include "chrome/browser/gtk/nine_box.h" 42 #include "chrome/browser/gtk/nine_box.h"
41 #include "chrome/browser/gtk/status_bubble_gtk.h" 43 #include "chrome/browser/gtk/status_bubble_gtk.h"
42 #include "chrome/browser/gtk/tab_contents_container_gtk.h" 44 #include "chrome/browser/gtk/tab_contents_container_gtk.h"
43 #include "chrome/browser/gtk/tabs/tab_strip_gtk.h" 45 #include "chrome/browser/gtk/tabs/tab_strip_gtk.h"
44 #include "chrome/browser/gtk/task_manager_gtk.h" 46 #include "chrome/browser/gtk/task_manager_gtk.h"
45 #include "chrome/browser/gtk/toolbar_star_toggle_gtk.h" 47 #include "chrome/browser/gtk/toolbar_star_toggle_gtk.h"
46 #include "chrome/browser/location_bar.h" 48 #include "chrome/browser/location_bar.h"
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 708
707 void BrowserWindowGtk::ShowHTMLDialog(HtmlDialogUIDelegate* delegate, 709 void BrowserWindowGtk::ShowHTMLDialog(HtmlDialogUIDelegate* delegate,
708 gfx::NativeWindow parent_window) { 710 gfx::NativeWindow parent_window) {
709 NOTIMPLEMENTED(); 711 NOTIMPLEMENTED();
710 } 712 }
711 713
712 void BrowserWindowGtk::UserChangedTheme() { 714 void BrowserWindowGtk::UserChangedTheme() {
713 SetBackgroundColor(); 715 SetBackgroundColor();
714 gdk_window_invalidate_rect(GTK_WIDGET(window_)->window, 716 gdk_window_invalidate_rect(GTK_WIDGET(window_)->window,
715 &GTK_WIDGET(window_)->allocation, TRUE); 717 &GTK_WIDGET(window_)->allocation, TRUE);
718
719 toolbar_->UserChangedTheme();
720 bookmark_bar_->UserChangedTheme(browser_->profile());
716 } 721 }
717 722
718 int BrowserWindowGtk::GetExtraRenderViewHeight() const { 723 int BrowserWindowGtk::GetExtraRenderViewHeight() const {
719 int sum = infobar_container_->TotalHeightOfClosingBars(); 724 int sum = infobar_container_->TotalHeightOfClosingBars();
720 if (bookmark_bar_->IsClosing()) 725 if (bookmark_bar_->IsClosing())
721 sum += bookmark_bar_->GetHeight(); 726 sum += bookmark_bar_->GetHeight();
722 if (download_shelf_.get() && download_shelf_->IsClosing()) { 727 if (download_shelf_.get() && download_shelf_->IsClosing()) {
723 sum += download_shelf_->GetHeight(); 728 sum += download_shelf_->GetHeight();
724 } 729 }
725 return sum; 730 return sum;
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 gtk_widget_show(event_box); 1037 gtk_widget_show(event_box);
1033 gtk_container_add(GTK_CONTAINER(content_vbox_), event_box); 1038 gtk_container_add(GTK_CONTAINER(content_vbox_), event_box);
1034 gtk_container_add(GTK_CONTAINER(window_vbox), content_vbox_); 1039 gtk_container_add(GTK_CONTAINER(window_vbox), content_vbox_);
1035 gtk_container_add(GTK_CONTAINER(window_), window_container_); 1040 gtk_container_add(GTK_CONTAINER(window_), window_container_);
1036 gtk_widget_show(window_container_); 1041 gtk_widget_show(window_container_);
1037 browser_->tabstrip_model()->AddObserver(this); 1042 browser_->tabstrip_model()->AddObserver(this);
1038 } 1043 }
1039 1044
1040 void BrowserWindowGtk::SetBackgroundColor() { 1045 void BrowserWindowGtk::SetBackgroundColor() {
1041 // TODO(tc): Handle active/inactive colors. 1046 // TODO(tc): Handle active/inactive colors.
1042 1047 Profile* profile = browser()->profile();
1043 ThemeProvider* theme_provider = browser()->profile()->GetThemeProvider(); 1048 ThemeProvider* theme_provider = profile->GetThemeProvider();
1044
1045 SkColor frame_color; 1049 SkColor frame_color;
1046 if (browser()->profile()->IsOffTheRecord()) { 1050 if (browser()->profile()->IsOffTheRecord()) {
1047 frame_color = theme_provider->GetColor( 1051 frame_color = theme_provider->GetColor(
1048 BrowserThemeProvider::COLOR_FRAME_INCOGNITO); 1052 BrowserThemeProvider::COLOR_FRAME_INCOGNITO);
1049 } else { 1053 } else {
1050 frame_color = theme_provider->GetColor(BrowserThemeProvider::COLOR_FRAME); 1054 frame_color = theme_provider->GetColor(BrowserThemeProvider::COLOR_FRAME);
1051 } 1055 }
1052 1056
1053 // Paint the frame color on the left, right and bottom. 1057 // Paint the frame color on the left, right and bottom.
1054 GdkColor frame_color_gdk = GDK_COLOR_RGB(SkColorGetR(frame_color), 1058 GdkColor frame_color_gdk = GDK_COLOR_RGB(SkColorGetR(frame_color),
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
1345 *edge = GDK_WINDOW_EDGE_NORTH_EAST; 1349 *edge = GDK_WINDOW_EDGE_NORTH_EAST;
1346 } else if (y < bounds_.height() - kResizeAreaCornerSize) { 1350 } else if (y < bounds_.height() - kResizeAreaCornerSize) {
1347 *edge = GDK_WINDOW_EDGE_EAST; 1351 *edge = GDK_WINDOW_EDGE_EAST;
1348 } else { 1352 } else {
1349 *edge = GDK_WINDOW_EDGE_SOUTH_EAST; 1353 *edge = GDK_WINDOW_EDGE_SOUTH_EAST;
1350 } 1354 }
1351 return true; 1355 return true;
1352 } 1356 }
1353 NOTREACHED(); 1357 NOTREACHED();
1354 } 1358 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698