| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 gtk_file_filter_set_name(filter, | 300 gtk_file_filter_set_name(filter, |
| 301 l10n_util::GetStringUTF8(IDS_SAVEAS_ALL_FILES).c_str()); | 301 l10n_util::GetStringUTF8(IDS_SAVEAS_ALL_FILES).c_str()); |
| 302 gtk_file_chooser_add_filter(chooser, filter); | 302 gtk_file_chooser_add_filter(chooser, filter); |
| 303 } | 303 } |
| 304 } | 304 } |
| 305 | 305 |
| 306 void SelectFileDialogImpl::FileSelected(GtkWidget* dialog, | 306 void SelectFileDialogImpl::FileSelected(GtkWidget* dialog, |
| 307 const FilePath& path) { | 307 const FilePath& path) { |
| 308 if (type_ == SELECT_SAVEAS_FILE) | 308 if (type_ == SELECT_SAVEAS_FILE) |
| 309 *last_saved_path_ = path.DirName(); | 309 *last_saved_path_ = path.DirName(); |
| 310 else if (type_ == SELECT_OPEN_FILE) | 310 else if (type_ == SELECT_OPEN_FILE || type_ == SELECT_FOLDER) |
| 311 *last_opened_path_ = path.DirName(); | 311 *last_opened_path_ = path.DirName(); |
| 312 else if (type_ == SELECT_FOLDER) | |
| 313 *last_opened_path_ = path.DirName().DirName(); | |
| 314 else | 312 else |
| 315 NOTREACHED(); | 313 NOTREACHED(); |
| 316 | 314 |
| 317 if (listener_) { | 315 if (listener_) { |
| 318 GtkFileFilter* selected_filter = | 316 GtkFileFilter* selected_filter = |
| 319 gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(dialog)); | 317 gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(dialog)); |
| 320 GSList* filters = gtk_file_chooser_list_filters(GTK_FILE_CHOOSER(dialog)); | 318 GSList* filters = gtk_file_chooser_list_filters(GTK_FILE_CHOOSER(dialog)); |
| 321 int idx = g_slist_index(filters, selected_filter); | 319 int idx = g_slist_index(filters, selected_filter); |
| 322 g_slist_free(filters); | 320 g_slist_free(filters); |
| 323 listener_->FileSelected(path, idx + 1, PopParamsForDialog(dialog)); | 321 listener_->FileSelected(path, idx + 1, PopParamsForDialog(dialog)); |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file_at_size(filename, kPreviewWidth, | 576 GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file_at_size(filename, kPreviewWidth, |
| 579 kPreviewHeight, NULL); | 577 kPreviewHeight, NULL); |
| 580 g_free(filename); | 578 g_free(filename); |
| 581 if (pixbuf) { | 579 if (pixbuf) { |
| 582 gtk_image_set_from_pixbuf(GTK_IMAGE(preview_), pixbuf); | 580 gtk_image_set_from_pixbuf(GTK_IMAGE(preview_), pixbuf); |
| 583 g_object_unref(pixbuf); | 581 g_object_unref(pixbuf); |
| 584 } | 582 } |
| 585 gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(chooser), | 583 gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(chooser), |
| 586 pixbuf ? TRUE : FALSE); | 584 pixbuf ? TRUE : FALSE); |
| 587 } | 585 } |
| OLD | NEW |