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

Side by Side Diff: ui/shell_dialogs/gtk/select_file_dialog_impl_gtk.cc

Issue 18627002: Change dialog texts for folder upload to explicitly indicate it's for 'Uploading' (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: build fix Created 7 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « ui/base/strings/ui_strings.grd ('k') | ui/shell_dialogs/gtk/select_file_dialog_impl_kde.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <gtk/gtk.h> 5 #include <gtk/gtk.h>
6 #include <map> 6 #include <map>
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 // Notifies the listener that multiple files were chosen. 69 // Notifies the listener that multiple files were chosen.
70 void MultiFilesSelected(GtkWidget* dialog, 70 void MultiFilesSelected(GtkWidget* dialog,
71 const std::vector<base::FilePath>& files); 71 const std::vector<base::FilePath>& files);
72 72
73 // Notifies the listener that no file was chosen (the action was canceled). 73 // Notifies the listener that no file was chosen (the action was canceled).
74 // Dialog is passed so we can find that |params| pointer that was passed to 74 // Dialog is passed so we can find that |params| pointer that was passed to
75 // us when we were told to show the dialog. 75 // us when we were told to show the dialog.
76 void FileNotSelected(GtkWidget* dialog); 76 void FileNotSelected(GtkWidget* dialog);
77 77
78 GtkWidget* CreateSelectFolderDialog(const std::string& title, 78 GtkWidget* CreateSelectFolderDialog(
79 const base::FilePath& default_path, gfx::NativeWindow parent); 79 Type type,
80 const std::string& title,
81 const base::FilePath& default_path,
82 gfx::NativeWindow parent);
80 83
81 GtkWidget* CreateFileOpenDialog(const std::string& title, 84 GtkWidget* CreateFileOpenDialog(const std::string& title,
82 const base::FilePath& default_path, gfx::NativeWindow parent); 85 const base::FilePath& default_path, gfx::NativeWindow parent);
83 86
84 GtkWidget* CreateMultiFileOpenDialog(const std::string& title, 87 GtkWidget* CreateMultiFileOpenDialog(const std::string& title,
85 const base::FilePath& default_path, gfx::NativeWindow parent); 88 const base::FilePath& default_path, gfx::NativeWindow parent);
86 89
87 GtkWidget* CreateSaveAsDialog(const std::string& title, 90 GtkWidget* CreateSaveAsDialog(const std::string& title,
88 const base::FilePath& default_path, gfx::NativeWindow parent); 91 const base::FilePath& default_path, gfx::NativeWindow parent);
89 92
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 187
185 file_type_index_ = file_type_index; 188 file_type_index_ = file_type_index;
186 if (file_types) 189 if (file_types)
187 file_types_ = *file_types; 190 file_types_ = *file_types;
188 else 191 else
189 file_types_.include_all_files = true; 192 file_types_.include_all_files = true;
190 193
191 GtkWidget* dialog = NULL; 194 GtkWidget* dialog = NULL;
192 switch (type) { 195 switch (type) {
193 case SELECT_FOLDER: 196 case SELECT_FOLDER:
194 dialog = CreateSelectFolderDialog(title_string, default_path, 197 case SELECT_UPLOAD_FOLDER:
198 dialog = CreateSelectFolderDialog(type, title_string, default_path,
195 owning_window); 199 owning_window);
196 break; 200 break;
197 case SELECT_OPEN_FILE: 201 case SELECT_OPEN_FILE:
198 dialog = CreateFileOpenDialog(title_string, default_path, owning_window); 202 dialog = CreateFileOpenDialog(title_string, default_path, owning_window);
199 break; 203 break;
200 case SELECT_OPEN_MULTI_FILE: 204 case SELECT_OPEN_MULTI_FILE:
201 dialog = CreateMultiFileOpenDialog(title_string, default_path, 205 dialog = CreateMultiFileOpenDialog(title_string, default_path,
202 owning_window); 206 owning_window);
203 break; 207 break;
204 case SELECT_SAVEAS_FILE: 208 case SELECT_SAVEAS_FILE:
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 default_path.value().c_str()); 348 default_path.value().c_str());
345 } 349 }
346 } else if (!last_opened_path_->empty()) { 350 } else if (!last_opened_path_->empty()) {
347 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), 351 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),
348 last_opened_path_->value().c_str()); 352 last_opened_path_->value().c_str());
349 } 353 }
350 return dialog; 354 return dialog;
351 } 355 }
352 356
353 GtkWidget* SelectFileDialogImplGTK::CreateSelectFolderDialog( 357 GtkWidget* SelectFileDialogImplGTK::CreateSelectFolderDialog(
358 Type type,
354 const std::string& title, 359 const std::string& title,
355 const base::FilePath& default_path, 360 const base::FilePath& default_path,
356 gfx::NativeWindow parent) { 361 gfx::NativeWindow parent) {
357 std::string title_string = !title.empty() ? title : 362 std::string title_string = title;
363 if (title_string.empty()) {
364 title_string = (type == SELECT_UPLOAD_FOLDER) ?
365 l10n_util::GetStringUTF8(IDS_SELECT_UPLOAD_FOLDER_DIALOG_TITLE) :
358 l10n_util::GetStringUTF8(IDS_SELECT_FOLDER_DIALOG_TITLE); 366 l10n_util::GetStringUTF8(IDS_SELECT_FOLDER_DIALOG_TITLE);
367 }
368 std::string accept_button_label = (type == SELECT_UPLOAD_FOLDER) ?
369 l10n_util::GetStringUTF8(IDS_SELECT_UPLOAD_FOLDER_DIALOG_UPLOAD_BUTTON) :
370 GTK_STOCK_OPEN;
359 371
360 GtkWidget* dialog = 372 GtkWidget* dialog =
361 gtk_file_chooser_dialog_new(title_string.c_str(), parent, 373 gtk_file_chooser_dialog_new(title_string.c_str(), parent,
362 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, 374 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
363 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, 375 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
364 GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, 376 accept_button_label.c_str(),
377 GTK_RESPONSE_ACCEPT,
365 NULL); 378 NULL);
366 379
367 if (!default_path.empty()) { 380 if (!default_path.empty()) {
368 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), 381 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),
369 default_path.value().c_str()); 382 default_path.value().c_str());
370 } else if (!last_opened_path_->empty()) { 383 } else if (!last_opened_path_->empty()) {
371 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), 384 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),
372 last_opened_path_->value().c_str()); 385 last_opened_path_->value().c_str());
373 } 386 }
374 gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); 387 gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE);
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 } // namespace 585 } // namespace
573 586
574 namespace ui { 587 namespace ui {
575 588
576 SelectFileDialogImpl* SelectFileDialogImpl::NewSelectFileDialogImplGTK( 589 SelectFileDialogImpl* SelectFileDialogImpl::NewSelectFileDialogImplGTK(
577 Listener* listener, ui::SelectFilePolicy* policy) { 590 Listener* listener, ui::SelectFilePolicy* policy) {
578 return new SelectFileDialogImplGTK(listener, policy); 591 return new SelectFileDialogImplGTK(listener, policy);
579 } 592 }
580 593
581 } // namespace ui 594 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/strings/ui_strings.grd ('k') | ui/shell_dialogs/gtk/select_file_dialog_impl_kde.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698