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

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

Issue 534006: linux: set a minimum size for dialogs based on locale resources (Closed)
Patch Set: Created 10 years, 11 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/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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698