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

Side by Side Diff: chrome/browser/ui/views/select_file_dialog_win.cc

Issue 10667026: Start consolidating cross-port file selection code into ui/base/dialogs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Attempt to fix win Created 8 years, 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/select_file_dialog.h" 5 #include "chrome/browser/ui/select_file_dialog.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <commdlg.h> 8 #include <commdlg.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 10
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 final_name); 427 final_name);
428 } 428 }
429 429
430 } // namespace 430 } // namespace
431 431
432 // Implementation of SelectFileDialog that shows a Windows common dialog for 432 // Implementation of SelectFileDialog that shows a Windows common dialog for
433 // choosing a file or folder. 433 // choosing a file or folder.
434 class SelectFileDialogImpl : public SelectFileDialog, 434 class SelectFileDialogImpl : public SelectFileDialog,
435 public BaseShellDialogImpl { 435 public BaseShellDialogImpl {
436 public: 436 public:
437 explicit SelectFileDialogImpl(Listener* listener); 437 explicit SelectFileDialogImpl(Listener* listener,
438 ui::SelectFilePolicy* policy);
438 439
439 // BaseShellDialog implementation: 440 // BaseShellDialog implementation:
440 virtual bool IsRunning(HWND owning_hwnd) const OVERRIDE; 441 virtual bool IsRunning(HWND owning_hwnd) const OVERRIDE;
441 virtual void ListenerDestroyed() OVERRIDE; 442 virtual void ListenerDestroyed() OVERRIDE;
442 443
443 protected: 444 protected:
444 // SelectFileDialog implementation: 445 // SelectFileDialog implementation:
445 virtual void SelectFileImpl(Type type, 446 virtual void SelectFileImpl(Type type,
446 const string16& title, 447 const string16& title,
447 const FilePath& default_path, 448 const FilePath& default_path,
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 LPARAM data); 536 LPARAM data);
536 537
537 virtual bool HasMultipleFileTypeChoicesImpl() OVERRIDE; 538 virtual bool HasMultipleFileTypeChoicesImpl() OVERRIDE;
538 539
539 bool has_multiple_file_type_choices_; 540 bool has_multiple_file_type_choices_;
540 541
541 542
542 DISALLOW_COPY_AND_ASSIGN(SelectFileDialogImpl); 543 DISALLOW_COPY_AND_ASSIGN(SelectFileDialogImpl);
543 }; 544 };
544 545
545 SelectFileDialogImpl::SelectFileDialogImpl(Listener* listener) 546 SelectFileDialogImpl::SelectFileDialogImpl(Listener* listener,
546 : SelectFileDialog(listener), 547 ui::SelectFilePolicy* policy)
548 : SelectFileDialog(listener, policy),
547 BaseShellDialogImpl(), 549 BaseShellDialogImpl(),
548 has_multiple_file_type_choices_(false) { 550 has_multiple_file_type_choices_(false) {
549 } 551 }
550 552
551 SelectFileDialogImpl::~SelectFileDialogImpl() { 553 SelectFileDialogImpl::~SelectFileDialogImpl() {
552 } 554 }
553 555
554 void SelectFileDialogImpl::SelectFileImpl( 556 void SelectFileDialogImpl::SelectFileImpl(
555 Type type, 557 Type type,
556 const string16& title, 558 const string16& title,
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 for (std::vector<FilePath>::iterator file = path + 1; 845 for (std::vector<FilePath>::iterator file = path + 1;
844 file != files.end(); ++file) { 846 file != files.end(); ++file) {
845 paths->push_back(path->Append(*file)); 847 paths->push_back(path->Append(*file));
846 } 848 }
847 } 849 }
848 } 850 }
849 return success; 851 return success;
850 } 852 }
851 853
852 // static 854 // static
853 SelectFileDialog* SelectFileDialog::Create(Listener* listener) { 855 SelectFileDialog* SelectFileDialog::Create(Listener* listener,
854 return new SelectFileDialogImpl(listener); 856 ui::SelectFilePolicy* policy) {
857 return new SelectFileDialogImpl(listener, policy);
855 } 858 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/select_file_dialog_extension_unittest.cc ('k') | chrome/browser/ui/views/user_data_dir_dialog_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698