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

Unified Diff: ios/chrome/browser/ui/reading_list/reading_list_view_controller.h

Issue 2659693004: Add context menu when long press on a reading list entry (Closed)
Patch Set: Address comments Created 3 years, 10 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
Index: ios/chrome/browser/ui/reading_list/reading_list_view_controller.h
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_view_controller.h b/ios/chrome/browser/ui/reading_list/reading_list_view_controller.h
index 262f1854c238ebb8d0947dd58291ec3422747737..4ff7fa1cdc6363c52fb887d712b1c1aabf06e407 100644
--- a/ios/chrome/browser/ui/reading_list/reading_list_view_controller.h
+++ b/ios/chrome/browser/ui/reading_list/reading_list_view_controller.h
@@ -15,33 +15,44 @@ namespace favicon {
class LargeIconService;
}
+@class ReadingListCollectionViewItem;
class ReadingListDownloadService;
class ReadingListModel;
+@class ReadingListViewController;
@class TabModel;
-// Audience for the ReadingListViewController, managing the visibility of the
-// toolbar and dismissing the Reading List View.
-@protocol ReadingListViewControllerAudience<NSObject>
+// Delegate for the ReadingListViewController, managing the visibility of the
+// toolbar, dismissing the Reading List View and opening elements.
+@protocol ReadingListViewControllerDelegate<NSObject>
// Whether the collection has items.
-- (void)setCollectionHasItems:(BOOL)hasItems;
+- (void)readingListViewController:
+ (ReadingListViewController*)readingListViewController
+ hasItems:(BOOL)hasItems;
// Dismisses the Reading List View.
-- (void)dismiss;
+- (void)dismissReadingListViewController:
+ (ReadingListViewController*)readingListViewController;
+
+// Displays the context menu for the |readingListItem|. The |menuLocation| is
+// the anchor of the context menu in the
+// readingListViewController.collectionView coordinates.
+- (void)
+readingListViewController:(ReadingListViewController*)readingListViewController
+displayContextMenuForItem:(ReadingListCollectionViewItem*)readingListItem
+ atPoint:(CGPoint)menuLocation;
+
+// Opens the entry corresponding to the |readingListItem|.
+- (void)
+readingListViewController:(ReadingListViewController*)readingListViewController
+ openItem:(ReadingListCollectionViewItem*)readingListItem;
@end
@interface ReadingListViewController
: CollectionViewController<ReadingListToolbarActions>
-@property(nonatomic, readonly) ReadingListModel* readingListModel;
-@property(weak, nonatomic, readonly) TabModel* tabModel;
-@property(nonatomic, readonly) favicon::LargeIconService* largeIconService;
-@property(nonatomic, readonly)
- ReadingListDownloadService* readingListDownloadService;
-
- (instancetype)initWithModel:(ReadingListModel*)model
- tabModel:(TabModel*)tabModel
largeIconService:(favicon::LargeIconService*)largeIconService
readingListDownloadService:
(ReadingListDownloadService*)readingListDownloadService
@@ -50,7 +61,17 @@ class ReadingListModel;
- (instancetype)initWithStyle:(CollectionViewControllerStyle)style
NS_UNAVAILABLE;
-@property(nonatomic, weak) id<ReadingListViewControllerAudience> audience;
+@property(nonatomic, weak) id<ReadingListViewControllerDelegate> delegate;
+@property(nonatomic, readonly) ReadingListModel* readingListModel;
+@property(nonatomic, readonly) favicon::LargeIconService* largeIconService;
+@property(nonatomic, readonly)
+ ReadingListDownloadService* readingListDownloadService;
+
+// Prepares this view controller to be dismissed.
+- (void)willBeDismissed;
+
+// Reloads all the data from the ReadingListModel.
+- (void)reloadData;
@end
« no previous file with comments | « ios/chrome/browser/ui/reading_list/BUILD.gn ('k') | ios/chrome/browser/ui/reading_list/reading_list_view_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698