summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/bookmark_manager_view.h
diff options
context:
space:
mode:
authorsky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-07 04:31:35 +0000
committersky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-07 04:31:35 +0000
commitb504899244b4264994d4daae2bee660706dba652 (patch)
treeeda190cb35dfff7f700a4c636730ff2487cb35d8 /chrome/browser/views/bookmark_manager_view.h
parente562de106eeab2667eeb6922ddf2d771a0efa55d (diff)
downloadchromium_src-b504899244b4264994d4daae2bee660706dba652.zip
chromium_src-b504899244b4264994d4daae2bee660706dba652.tar.gz
chromium_src-b504899244b4264994d4daae2bee660706dba652.tar.bz2
Adds import/export of bookmarks to bookmarks.html file.
BUG=1649 TEST=bring up bookmark manager and try out import/export from the tools menu. Note that import ALWAYS creates a new folder under the 'Other bookmarks folder' with the name of Imported (x). This is by design. Review URL: http://codereview.chromium.org/9471 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4968 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/bookmark_manager_view.h')
-rw-r--r--chrome/browser/views/bookmark_manager_view.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/chrome/browser/views/bookmark_manager_view.h b/chrome/browser/views/bookmark_manager_view.h
index 8a28eac..0aa83dd 100644
--- a/chrome/browser/views/bookmark_manager_view.h
+++ b/chrome/browser/views/bookmark_manager_view.h
@@ -5,9 +5,11 @@
#ifndef CHROME_BROWSER_VIEWS_BOOKMARK_MANAGER_VIEW_H_
#define CHROME_BROWSER_VIEWS_BOOKMARK_MANAGER_VIEW_H_
+#include "base/ref_counted.h"
#include "base/task.h"
#include "chrome/browser/bookmarks/bookmark_context_menu.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "chrome/browser/shell_dialogs.h"
#include "chrome/views/table_view.h"
#include "chrome/views/text_field.h"
#include "chrome/views/tree_view.h"
@@ -39,7 +41,9 @@ class BookmarkManagerView : public views::View,
public views::TextField::Controller,
public BookmarkModelObserver,
public views::ContextMenuController,
- public views::ViewMenuDelegate {
+ public views::ViewMenuDelegate,
+ public views::MenuDelegate,
+ public SelectFileDialog::Listener {
public:
explicit BookmarkManagerView(Profile* profile);
virtual ~BookmarkManagerView();
@@ -56,6 +60,9 @@ class BookmarkManagerView : public views::View,
// selected and node is selected in the table.
void SelectInTree(BookmarkNode* node);
+ // Expands all the children of the selected folder.
+ void ExpandAll(BookmarkNode* node);
+
// Returns the selected folder, which may be null.
BookmarkNode* GetSelectedFolder();
@@ -137,6 +144,13 @@ class BookmarkManagerView : public views::View,
// ViewMenuDelegate.
virtual void RunMenu(views::View* source, const CPoint& pt, HWND hwnd);
+ // MenuDelegate.
+ virtual void ExecuteCommand(int id);
+
+ // SelectFileDialog::Listener.
+ virtual void FileSelected(const std::wstring& path, void* params);
+ virtual void FileSelectionCanceled(void* params);
+
// Creates the table model to use when searching. This returns NULL if there
// is no search text.
BookmarkTableModel* CreateSearchTableModel();
@@ -167,6 +181,14 @@ class BookmarkManagerView : public views::View,
int y,
BookmarkContextMenu::ConfigurationType config);
+ // Shows the tools menu.
+ void ShowToolsMenu(HWND host, int x, int y);
+
+ // Shows the import/export file chooser. These invoke
+ // FileSelected/FileSelectionCanceled when done.
+ void ShowImportBookmarksFileChooser();
+ void ShowExportBookmarksFileChooser();
+
Profile* profile_;
BookmarkTableView* table_view_;
BookmarkFolderTreeView* tree_view_;
@@ -175,6 +197,9 @@ class BookmarkManagerView : public views::View,
views::TextField* search_tf_;
views::SingleSplitView* split_view_;
+ // Import/export file dialog.
+ scoped_refptr<SelectFileDialog> select_file_dialog_;
+
// Factory used for delaying search.
ScopedRunnableMethodFactory<BookmarkManagerView> search_factory_;