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

Unified Diff: chrome/browser/download_tab_view.h

Issue 2826: Move the download code to new directories: (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/download_manager_unittest.cc ('k') | chrome/browser/download_tab_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/download_tab_view.h
===================================================================
--- chrome/browser/download_tab_view.h (revision 2162)
+++ chrome/browser/download_tab_view.h (working copy)
@@ -1,252 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_DONWLOAD_TAB_VIEW_H__
-#define CHROME_BROWSER_DONWLOAD_TAB_VIEW_H__
-
-#include "base/hash_tables.h"
-#include "chrome/browser/cancelable_request.h"
-#include "chrome/browser/download_manager.h"
-#include "chrome/browser/download_util.h"
-#include "chrome/browser/icon_manager.h"
-#include "chrome/browser/native_ui_contents.h"
-#include "chrome/views/event.h"
-#include "chrome/views/label.h"
-#include "chrome/views/link.h"
-#include "chrome/views/scroll_view.h"
-
-class DownloadTabView;
-class SkBitmap;
-class Task;
-
-namespace base {
-class Timer;
-}
-
-class DownloadItemTabView : public ChromeViews::View,
- public ChromeViews::LinkController {
- public:
- DownloadItemTabView();
- virtual ~DownloadItemTabView();
-
- // View overrides
- virtual void Layout();
- virtual void Paint(ChromeCanvas* canvas);
- void PaintBackground(ChromeCanvas* canvas);
- virtual void GetPreferredSize(CSize* out);
- virtual void DidChangeBounds(const CRect& previous, const CRect& current);
- virtual bool OnMousePressed(const ChromeViews::MouseEvent& event);
- virtual bool OnMouseDragged(const ChromeViews::MouseEvent& event);
-
- // Mode specific layouts
- void LayoutDate();
- void LayoutComplete();
- void LayoutCancelled();
- void LayoutInProgress();
-
- // LinkController overrides
- virtual void LinkActivated(ChromeViews::Link* source, int event_flags);
-
- // Used to set our model temporarily during layout and paint operations
- void SetModel(DownloadItem* model, DownloadTabView* parent);
-
-private:
- // Our model.
- DownloadItem* model_;
-
- // Containing view.
- DownloadTabView* parent_;
-
- // Time display.
- ChromeViews::Label* since_;
- ChromeViews::Label* date_;
-
- // The name of the file. Clicking this link will open the download.
- ChromeViews::Link* file_name_;
-
- // The name of the downloaded URL.
- ChromeViews::Label* download_url_;
-
- // The current status of the download.
- ChromeViews::Label* time_remaining_;
- ChromeViews::Label* download_progress_;
-
- // Actions that can be initiated.
- ChromeViews::Link* pause_;
- ChromeViews::Link* cancel_;
- ChromeViews::Link* show_;
-
- DISALLOW_EVIL_CONSTRUCTORS(DownloadItemTabView);
-};
-
-
-// A view that manages each of the individual download views
-// (DownloadItemTabView) in the destination tab.
-class DownloadTabView : public ChromeViews::View,
- public DownloadItem::Observer,
- public DownloadManager::Observer {
- public:
- DownloadTabView(DownloadManager* model);
- ~DownloadTabView();
-
- void Initialize();
-
- DownloadManager* model() const { return model_; }
-
- // View overrides
- virtual void DidChangeBounds(const CRect& previous, const CRect& current);
- virtual void Layout();
- virtual void Paint(ChromeCanvas* canvas);
- virtual bool GetFloatingViewIDForPoint(int x, int y, int* id);
- virtual bool EnumerateFloatingViews(
- ChromeViews::View::FloatingViewPosition position,
- int starting_id, int* id);
- virtual ChromeViews::View* ValidateFloatingViewForID(int id);
-
- // DownloadItem::Observer interface
- virtual void OnDownloadUpdated(DownloadItem* download);
-
- // DownloadManager::Observer interface
- virtual void ModelChanged();
- virtual void SetDownloads(std::vector<DownloadItem*>& downloads);
-
- // IconManager callback interface
- void OnExtractIconComplete(IconManager::Handle handle, SkBitmap* icon_bitmap);
-
- // Progress animation task interface and timer management.
- void UpdateDownloadProgress();
- void StartDownloadProgress();
- void StopDownloadProgress();
-
- // Returns a non owning pointer to an icon in the icon_cache_. If
- // that file extension doesn't exist in our cache, we query Windows
- // and add it to our cache. Returns NULL if we can't determine the
- // icon.
- SkBitmap* LookupIcon(DownloadItem* download);
-
- // Determine if we should draw the date beside a particular download
- bool ShouldDrawDateForDownload(DownloadItem* download);
-
- virtual int GetPageScrollIncrement(ChromeViews::ScrollView* scroll_view,
- bool is_horizontal, bool is_positive);
- virtual int GetLineScrollIncrement(ChromeViews::ScrollView* scroll_view,
- bool is_horizontal, bool is_positive);
-
- int start_angle() const { return start_angle_; }
-
- // Called by a DownloadItemTabView when it becomes selected. Passing a NULL
- // for 'download' causes any selected download to become unselected.
- void ItemBecameSelected(const DownloadItem* download);
- bool ItemIsSelected(DownloadItem* download);
-
- // The destination view's search box text has changed.
- void SetSearchText(const std::wstring& search_text);
-
- private:
- // Creates and attaches to the view the floating view at |index|.
- ChromeViews::View* CreateFloatingViewForIndex(int index);
-
- // Utility functions for operating on DownloadItemTabViews by index.
- void SchedulePaintForViewAtIndex(int index);
- int GetYPositionForIndex(int index);
-
- // Initiates an asynchronous icon extraction.
- void LoadIcon(DownloadItem* download);
-
- // Clears the list of "in progress" downloads and removes the this
- // DownloadTabView from their observer list.
- void ClearDownloadInProgress();
-
- // Our model
- DownloadManager* model_;
-
- // For drawing individual download items
- DownloadItemTabView download_renderer_;
-
- // The current set of visible DownloadItems for this view received from the
- // DownloadManager. DownloadManager owns the DownloadItems. The vector is
- // kept in order, sorted by ascending start time.
- typedef std::vector<DownloadItem*> OrderedDownloads;
- OrderedDownloads downloads_;
-
- // Progress animations
- base::RepeatingTimer<DownloadTabView> progress_timer_;
-
- // Since this view manages the progress animation timers for all the floating
- // views, we need to track the current in progress downloads. This container
- // does not own the DownloadItems.
- base::hash_set<DownloadItem*> in_progress_;
-
- // Provide a start position for downloads with no known size.
- int start_angle_;
-
- ChromeViews::FixedRowHeightScrollHelper scroll_helper_;
-
- // Keep track of the currently selected view, so that we can inform it when
- // the user changes the selection.
- int selected_index_;
-
- // Text in the download search box input by the user.
- std::wstring search_text_;
-
- // For requesting icons from the IconManager.
- CancelableRequestConsumerT<DownloadItem*, 0> icon_consumer_;
-
- DISALLOW_EVIL_CONSTRUCTORS(DownloadTabView);
-};
-
-// DownloadTabUI -------------------------------------------------------------
-
-// DownloadTabUI provides the glue to make DownloadTabView available in
-// NativeUIContents.
-
-class DownloadTabUI : public NativeUI,
- public SearchableUIContainer::Delegate,
- public NotificationObserver {
- public:
- explicit DownloadTabUI(NativeUIContents* contents);
- virtual ~DownloadTabUI();
-
- virtual const std::wstring GetTitle() const;
- virtual const int GetFavIconID() const;
- virtual const int GetSectionIconID() const;
- virtual const std::wstring GetSearchButtonText() const;
- virtual ChromeViews::View* GetView();
- virtual void WillBecomeVisible(NativeUIContents* parent);
- virtual void WillBecomeInvisible(NativeUIContents* parent);
- virtual void Navigate(const PageState& state);
- virtual bool SetInitialFocus();
-
- // Return the URL that can be used to show this view in a NativeUIContents.
- static GURL GetURL();
-
- // Return the NativeUIFactory object for application views. This object is
- // owned by the caller.
- static NativeUIFactory* GetNativeUIFactory();
-
- private:
- // Sent from the search box, updates the search text appropriately.
- virtual void DoSearch(const std::wstring& new_text);
-
- // NotificationObserver method, updates loading state based on whether
- // any downloads are in progress.
- virtual void Observe(NotificationType type,
- const NotificationSource& source,
- const NotificationDetails& details);
-
- Profile* profile() const { return contents_->profile(); }
-
- // Our host.
- NativeUIContents* contents_;
-
- // The view we return from GetView. The contents of this is the
- // bookmarks_view_
- SearchableUIContainer searchable_container_;
-
- DownloadTabView* download_tab_view_;
-
- DISALLOW_EVIL_CONSTRUCTORS(DownloadTabUI);
-};
-
-#endif // CHROME_BROWSER_DONWLOAD_TAB_VIEW_H__
« no previous file with comments | « chrome/browser/download_manager_unittest.cc ('k') | chrome/browser/download_tab_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698