| 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 <gtk/gtk.h> | 5 #include <gtk/gtk.h> |
| 6 #include <map> | 6 #include <map> |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "app/l10n_util.h" |
| 9 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 10 #include "base/logging.h" | 11 #include "base/logging.h" |
| 11 #include "base/string_util.h" | 12 #include "base/string_util.h" |
| 12 #include "base/sys_string_conversions.h" | 13 #include "base/sys_string_conversions.h" |
| 13 #include "chrome/browser/shell_dialogs.h" | 14 #include "chrome/browser/shell_dialogs.h" |
| 14 #include "chrome/common/l10n_util.h" | |
| 15 #include "grit/generated_resources.h" | 15 #include "grit/generated_resources.h" |
| 16 | 16 |
| 17 // Implementation of SelectFileDialog that shows a Gtk common dialog for | 17 // Implementation of SelectFileDialog that shows a Gtk common dialog for |
| 18 // choosing a file or folder. | 18 // choosing a file or folder. |
| 19 // This acts as a modal dialog. Ideally we want to only act modally for the | 19 // This acts as a modal dialog. Ideally we want to only act modally for the |
| 20 // parent window and allow other toplevel chrome windows to still function while | 20 // parent window and allow other toplevel chrome windows to still function while |
| 21 // the dialog is showing, but we need the GtkWindowGroup or something similar to | 21 // the dialog is showing, but we need the GtkWindowGroup or something similar to |
| 22 // get that, and that API is only available in more recent versions of GTK. | 22 // get that, and that API is only available in more recent versions of GTK. |
| 23 // TODO(port): fix modality: crbug.com/8727 | 23 // TODO(port): fix modality: crbug.com/8727 |
| 24 class SelectFileDialogImpl : public SelectFileDialog { | 24 class SelectFileDialogImpl : public SelectFileDialog { |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 GSList* filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); | 352 GSList* filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); |
| 353 std::vector<FilePath> filenames_fp; | 353 std::vector<FilePath> filenames_fp; |
| 354 for (GSList* iter = filenames; iter != NULL; iter = g_slist_next(iter)) { | 354 for (GSList* iter = filenames; iter != NULL; iter = g_slist_next(iter)) { |
| 355 filenames_fp.push_back(FilePath(static_cast<char*>(iter->data))); | 355 filenames_fp.push_back(FilePath(static_cast<char*>(iter->data))); |
| 356 g_free(iter->data); | 356 g_free(iter->data); |
| 357 } | 357 } |
| 358 | 358 |
| 359 g_slist_free(filenames); | 359 g_slist_free(filenames); |
| 360 dialog_impl->MultiFilesSelected(dialog, filenames_fp); | 360 dialog_impl->MultiFilesSelected(dialog, filenames_fp); |
| 361 } | 361 } |
| OLD | NEW |