OLD | NEW |
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-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/options/general_page_gtk.h" | 5 #include "chrome/browser/gtk/options/general_page_gtk.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "chrome/browser/browser.h" | 8 #include "chrome/browser/browser.h" |
9 #include "chrome/browser/browser_list.h" | 9 #include "chrome/browser/browser_list.h" |
10 #include "chrome/browser/gtk/keyword_editor_view.h" | 10 #include "chrome/browser/gtk/keyword_editor_view.h" |
11 #include "chrome/browser/gtk/list_store_favicon_loader.h" | 11 #include "chrome/browser/gtk/list_store_favicon_loader.h" |
12 #include "chrome/browser/gtk/options/options_layout_gtk.h" | 12 #include "chrome/browser/gtk/options/options_layout_gtk.h" |
13 #include "chrome/browser/gtk/options/url_picker_dialog_gtk.h" | 13 #include "chrome/browser/gtk/options/url_picker_dialog_gtk.h" |
14 #include "chrome/browser/net/url_fixer_upper.h" | 14 #include "chrome/browser/net/url_fixer_upper.h" |
15 #include "chrome/browser/profile.h" | 15 #include "chrome/browser/profile.h" |
16 #include "chrome/browser/search_engines/template_url.h" | 16 #include "chrome/browser/search_engines/template_url.h" |
17 #include "chrome/browser/session_startup_pref.h" | 17 #include "chrome/browser/session_startup_pref.h" |
18 #include "chrome/browser/tab_contents/tab_contents.h" | 18 #include "chrome/browser/tab_contents/tab_contents.h" |
19 #include "chrome/common/gtk_util.h" | 19 #include "chrome/common/gtk_util.h" |
| 20 #include "chrome/common/notification_service.h" |
20 #include "chrome/common/pref_names.h" | 21 #include "chrome/common/pref_names.h" |
21 #include "chrome/common/pref_service.h" | 22 #include "chrome/common/pref_service.h" |
22 #include "chrome/common/url_constants.h" | 23 #include "chrome/common/url_constants.h" |
23 #include "grit/chromium_strings.h" | 24 #include "grit/chromium_strings.h" |
24 #include "grit/generated_resources.h" | 25 #include "grit/generated_resources.h" |
25 | 26 |
26 namespace { | 27 namespace { |
27 | 28 |
28 // Markup for the text showing the current state of the default browser | 29 // Markup for the text showing the current state of the default browser |
29 const char kDefaultBrowserLabelMarkup[] = "<span color='#%s'>%s</span>"; | 30 const char kDefaultBrowserLabelMarkup[] = "<span color='#%s'>%s</span>"; |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 GtkWidget* homepage_hbox = gtk_hbox_new(FALSE, gtk_util::kLabelSpacing); | 287 GtkWidget* homepage_hbox = gtk_hbox_new(FALSE, gtk_util::kLabelSpacing); |
287 gtk_container_add(GTK_CONTAINER(vbox), homepage_hbox); | 288 gtk_container_add(GTK_CONTAINER(vbox), homepage_hbox); |
288 | 289 |
289 homepage_use_url_radio_ = gtk_radio_button_new_with_label_from_widget( | 290 homepage_use_url_radio_ = gtk_radio_button_new_with_label_from_widget( |
290 GTK_RADIO_BUTTON(homepage_use_newtab_radio_), | 291 GTK_RADIO_BUTTON(homepage_use_newtab_radio_), |
291 l10n_util::GetStringUTF8(IDS_OPTIONS_HOMEPAGE_USE_URL).c_str()); | 292 l10n_util::GetStringUTF8(IDS_OPTIONS_HOMEPAGE_USE_URL).c_str()); |
292 g_signal_connect(G_OBJECT(homepage_use_url_radio_), "toggled", | 293 g_signal_connect(G_OBJECT(homepage_use_url_radio_), "toggled", |
293 G_CALLBACK(OnNewTabIsHomePageToggled), this); | 294 G_CALLBACK(OnNewTabIsHomePageToggled), this); |
294 gtk_box_pack_start(GTK_BOX(homepage_hbox), homepage_use_url_radio_, | 295 gtk_box_pack_start(GTK_BOX(homepage_hbox), homepage_use_url_radio_, |
295 FALSE, FALSE, 0); | 296 FALSE, FALSE, 0); |
| 297 |
296 homepage_use_url_entry_ = gtk_entry_new(); | 298 homepage_use_url_entry_ = gtk_entry_new(); |
297 g_signal_connect(G_OBJECT(homepage_use_url_entry_), "changed", | 299 g_signal_connect(G_OBJECT(homepage_use_url_entry_), "changed", |
298 G_CALLBACK(OnHomepageUseUrlEntryChanged), this); | 300 G_CALLBACK(OnHomepageUseUrlEntryChanged), this); |
299 gtk_box_pack_start(GTK_BOX(homepage_hbox), homepage_use_url_entry_, | 301 gtk_box_pack_start(GTK_BOX(homepage_hbox), homepage_use_url_entry_, |
300 TRUE, TRUE, 0); | 302 TRUE, TRUE, 0); |
301 | 303 |
302 homepage_show_home_button_checkbox_ = gtk_check_button_new_with_label( | 304 homepage_show_home_button_checkbox_ = gtk_check_button_new_with_label( |
303 l10n_util::GetStringUTF8(IDS_OPTIONS_HOMEPAGE_SHOW_BUTTON).c_str()); | 305 l10n_util::GetStringUTF8(IDS_OPTIONS_HOMEPAGE_SHOW_BUTTON).c_str()); |
304 g_signal_connect(G_OBJECT(homepage_show_home_button_checkbox_), "toggled", | 306 g_signal_connect(G_OBJECT(homepage_show_home_button_checkbox_), "toggled", |
305 G_CALLBACK(OnShowHomeButtonToggled), this); | 307 G_CALLBACK(OnShowHomeButtonToggled), this); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 // default" to be displayed while we wait for the check to complete. | 356 // default" to be displayed while we wait for the check to complete. |
355 default_browser_status_label_ = gtk_label_new(NULL); | 357 default_browser_status_label_ = gtk_label_new(NULL); |
356 gtk_box_pack_start(GTK_BOX(vbox), default_browser_status_label_, | 358 gtk_box_pack_start(GTK_BOX(vbox), default_browser_status_label_, |
357 FALSE, FALSE, 0); | 359 FALSE, FALSE, 0); |
358 | 360 |
359 default_browser_use_as_default_button_ = gtk_button_new_with_label( | 361 default_browser_use_as_default_button_ = gtk_button_new_with_label( |
360 l10n_util::GetStringFUTF8(IDS_OPTIONS_DEFAULTBROWSER_USEASDEFAULT, | 362 l10n_util::GetStringFUTF8(IDS_OPTIONS_DEFAULTBROWSER_USEASDEFAULT, |
361 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)).c_str()); | 363 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)).c_str()); |
362 g_signal_connect(G_OBJECT(default_browser_use_as_default_button_), "clicked", | 364 g_signal_connect(G_OBJECT(default_browser_use_as_default_button_), "clicked", |
363 G_CALLBACK(OnBrowserUseAsDefaultClicked), this); | 365 G_CALLBACK(OnBrowserUseAsDefaultClicked), this); |
| 366 |
364 gtk_box_pack_start(GTK_BOX(vbox), default_browser_use_as_default_button_, | 367 gtk_box_pack_start(GTK_BOX(vbox), default_browser_use_as_default_button_, |
365 FALSE, FALSE, 0); | 368 FALSE, FALSE, 0); |
366 | 369 |
367 GtkWidget* vbox_alignment = gtk_alignment_new(0.0, 0.5, 0.0, 0.0); | 370 GtkWidget* vbox_alignment = gtk_alignment_new(0.0, 0.5, 0.0, 0.0); |
368 gtk_container_add(GTK_CONTAINER(vbox_alignment), vbox); | 371 gtk_container_add(GTK_CONTAINER(vbox_alignment), vbox); |
369 | 372 |
370 default_browser_worker_->StartCheckDefaultBrowser(); | 373 default_browser_worker_->StartCheckDefaultBrowser(); |
371 | 374 |
372 return vbox_alignment; | 375 return vbox_alignment; |
373 } | 376 } |
374 | 377 |
375 // static | 378 // static |
376 void GeneralPageGtk::OnStartupRadioToggled(GtkToggleButton* toggle_button, | 379 void GeneralPageGtk::OnStartupRadioToggled(GtkToggleButton* toggle_button, |
377 GeneralPageGtk* general_page) { | 380 GeneralPageGtk* general_page) { |
378 if (general_page->initializing_) | 381 if (general_page->initializing_) |
379 return; | 382 return; |
| 383 |
380 if (!gtk_toggle_button_get_active(toggle_button)) { | 384 if (!gtk_toggle_button_get_active(toggle_button)) { |
381 // When selecting a radio button, we get two signals (one for the old radio | 385 // When selecting a radio button, we get two signals (one for the old radio |
382 // being toggled off, one for the new one being toggled on.) Ignore the | 386 // being toggled off, one for the new one being toggled on.) Ignore the |
383 // signal for toggling off the old button. | 387 // signal for toggling off the old button. |
384 return; | 388 return; |
385 } | 389 } |
386 general_page->SaveStartupPref(); | 390 general_page->SaveStartupPref(); |
387 GtkWidget* sender = GTK_WIDGET(toggle_button); | 391 GtkWidget* sender = GTK_WIDGET(toggle_button); |
388 if (sender == general_page->startup_homepage_radio_) { | 392 if (sender == general_page->startup_homepage_radio_) { |
389 general_page->UserMetricsRecordAction("Options_Startup_Homepage", | 393 general_page->UserMetricsRecordAction("Options_Startup_Homepage", |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 if (color) { | 716 if (color) { |
713 char* markup = g_markup_printf_escaped(kDefaultBrowserLabelMarkup, | 717 char* markup = g_markup_printf_escaped(kDefaultBrowserLabelMarkup, |
714 color, text.c_str()); | 718 color, text.c_str()); |
715 gtk_label_set_markup(GTK_LABEL(default_browser_status_label_), markup); | 719 gtk_label_set_markup(GTK_LABEL(default_browser_status_label_), markup); |
716 g_free(markup); | 720 g_free(markup); |
717 } | 721 } |
718 | 722 |
719 gtk_widget_set_sensitive(default_browser_use_as_default_button_, | 723 gtk_widget_set_sensitive(default_browser_use_as_default_button_, |
720 state == ShellIntegration::STATE_NOT_DEFAULT); | 724 state == ShellIntegration::STATE_NOT_DEFAULT); |
721 } | 725 } |
OLD | NEW |