| OLD | NEW | 
|---|
| 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/create_application_shortcuts_dialog_gtk.h" | 5 #include "chrome/browser/gtk/create_application_shortcuts_dialog_gtk.h" | 
| 6 | 6 | 
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" | 
| 8 #include "chrome/browser/shell_integration.h" | 8 #include "chrome/browser/shell_integration.h" | 
| 9 #include "chrome/common/gtk_util.h" | 9 #include "chrome/common/gtk_util.h" | 
| 10 #include "grit/generated_resources.h" | 10 #include "grit/generated_resources.h" | 
|  | 11 #include "grit/locale_settings.h" | 
| 11 | 12 | 
| 12 // static | 13 // static | 
| 13 void CreateApplicationShortcutsDialogGtk::Show(GtkWindow* parent, | 14 void CreateApplicationShortcutsDialogGtk::Show(GtkWindow* parent, | 
| 14                                                const GURL& url, | 15                                                const GURL& url, | 
| 15                                                const string16& title, | 16                                                const string16& title, | 
| 16                                                const SkBitmap& favicon) { | 17                                                const SkBitmap& favicon) { | 
| 17   new CreateApplicationShortcutsDialogGtk(parent, url, title, favicon); | 18   new CreateApplicationShortcutsDialogGtk(parent, url, title, favicon); | 
| 18 } | 19 } | 
| 19 | 20 | 
| 20 CreateApplicationShortcutsDialogGtk::CreateApplicationShortcutsDialogGtk( | 21 CreateApplicationShortcutsDialogGtk::CreateApplicationShortcutsDialogGtk( | 
| 21     GtkWindow* parent, | 22     GtkWindow* parent, | 
| 22     const GURL& url, | 23     const GURL& url, | 
| 23     const string16& title, | 24     const string16& title, | 
| 24     const SkBitmap& favicon) | 25     const SkBitmap& favicon) | 
| 25     : url_(url), | 26     : url_(url), | 
| 26       title_(title), | 27       title_(title), | 
| 27       favicon_(favicon) { | 28       favicon_(favicon) { | 
| 28   // Build the dialog. | 29   // Build the dialog. | 
| 29   GtkWidget* dialog = gtk_dialog_new_with_buttons( | 30   GtkWidget* dialog = gtk_dialog_new_with_buttons( | 
| 30       l10n_util::GetStringUTF8(IDS_CREATE_SHORTCUTS_TITLE).c_str(), | 31       l10n_util::GetStringUTF8(IDS_CREATE_SHORTCUTS_TITLE).c_str(), | 
| 31       parent, | 32       parent, | 
| 32       (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR), | 33       (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR), | 
| 33       GTK_STOCK_CANCEL, | 34       GTK_STOCK_CANCEL, | 
| 34       GTK_RESPONSE_REJECT, | 35       GTK_RESPONSE_REJECT, | 
| 35       NULL); | 36       NULL); | 
|  | 37   gtk_widget_realize(dialog); | 
|  | 38   gtk_util::SetWindowWidthFromResources(GTK_WINDOW(dialog), | 
|  | 39                                         IDS_CREATE_SHORTCUTS_DIALOG_WIDTH_CHARS, | 
|  | 40                                         /* resizable */ false); | 
| 36   gtk_util::AddButtonToDialog(dialog, | 41   gtk_util::AddButtonToDialog(dialog, | 
| 37       l10n_util::GetStringUTF8(IDS_CREATE_SHORTCUTS_COMMIT).c_str(), | 42       l10n_util::GetStringUTF8(IDS_CREATE_SHORTCUTS_COMMIT).c_str(), | 
| 38       GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT); | 43       GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT); | 
| 39 | 44 | 
| 40   GtkWidget* content_area = GTK_DIALOG(dialog)->vbox; | 45   GtkWidget* content_area = GTK_DIALOG(dialog)->vbox; | 
| 41   gtk_box_set_spacing(GTK_BOX(content_area), gtk_util::kContentAreaSpacing); | 46   gtk_box_set_spacing(GTK_BOX(content_area), gtk_util::kContentAreaSpacing); | 
| 42 | 47 | 
| 43   GtkWidget* vbox = gtk_vbox_new(FALSE, gtk_util::kControlSpacing); | 48   GtkWidget* vbox = gtk_vbox_new(FALSE, gtk_util::kControlSpacing); | 
| 44   gtk_container_add(GTK_CONTAINER(content_area), vbox); | 49   gtk_container_add(GTK_CONTAINER(content_area), vbox); | 
| 45 | 50 | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
| 56   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(desktop_checkbox_), true); | 61   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(desktop_checkbox_), true); | 
| 57 | 62 | 
| 58   // Menu checkbox. | 63   // Menu checkbox. | 
| 59   menu_checkbox_ = gtk_check_button_new_with_label( | 64   menu_checkbox_ = gtk_check_button_new_with_label( | 
| 60       l10n_util::GetStringUTF8(IDS_CREATE_SHORTCUTS_MENU_CHKBOX).c_str()); | 65       l10n_util::GetStringUTF8(IDS_CREATE_SHORTCUTS_MENU_CHKBOX).c_str()); | 
| 61   gtk_box_pack_start(GTK_BOX(vbox), menu_checkbox_, FALSE, FALSE, 0); | 66   gtk_box_pack_start(GTK_BOX(vbox), menu_checkbox_, FALSE, FALSE, 0); | 
| 62   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(menu_checkbox_), false); | 67   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(menu_checkbox_), false); | 
| 63 | 68 | 
| 64   g_signal_connect(dialog, "response", | 69   g_signal_connect(dialog, "response", | 
| 65                    G_CALLBACK(HandleOnResponseDialog), this); | 70                    G_CALLBACK(HandleOnResponseDialog), this); | 
| 66   gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |  | 
| 67   gtk_widget_show_all(dialog); | 71   gtk_widget_show_all(dialog); | 
| 68 } | 72 } | 
| 69 | 73 | 
| 70 void CreateApplicationShortcutsDialogGtk::OnDialogResponse(GtkWidget* widget, | 74 void CreateApplicationShortcutsDialogGtk::OnDialogResponse(GtkWidget* widget, | 
| 71                                                            int response) { | 75                                                            int response) { | 
| 72   if (response == GTK_RESPONSE_ACCEPT) { | 76   if (response == GTK_RESPONSE_ACCEPT) { | 
| 73     ShellIntegration::ShortcutInfo shortcut_info; | 77     ShellIntegration::ShortcutInfo shortcut_info; | 
| 74     shortcut_info.url = url_; | 78     shortcut_info.url = url_; | 
| 75     shortcut_info.title = title_; | 79     shortcut_info.title = title_; | 
| 76     shortcut_info.favicon = favicon_; | 80     shortcut_info.favicon = favicon_; | 
| 77     shortcut_info.create_on_desktop = | 81     shortcut_info.create_on_desktop = | 
| 78         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(desktop_checkbox_)); | 82         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(desktop_checkbox_)); | 
| 79     shortcut_info.create_in_applications_menu = | 83     shortcut_info.create_in_applications_menu = | 
| 80         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(menu_checkbox_)); | 84         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(menu_checkbox_)); | 
| 81     ShellIntegration::CreateDesktopShortcut(shortcut_info); | 85     ShellIntegration::CreateDesktopShortcut(shortcut_info); | 
| 82   } | 86   } | 
| 83 | 87 | 
| 84   delete this; | 88   delete this; | 
| 85   gtk_widget_destroy(GTK_WIDGET(widget)); | 89   gtk_widget_destroy(GTK_WIDGET(widget)); | 
| 86 } | 90 } | 
| 87 | 91 | 
| OLD | NEW | 
|---|