mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
#1247 (Mac Catalyst edition)
- Added submenus to the View menu for Layout, Story Preview, Image Preview, Grid Columns, and Grid Height. - Implemented the remaining menu items. - Menus now update based on folder vs site. - Menus now disable when not appropriate. - Added some handy new stories collection properties.
This commit is contained in:
parent
9f8786d94a
commit
ed9279e2a3
9 changed files with 383 additions and 36 deletions
|
@ -14,6 +14,7 @@
|
|||
@property (nonatomic, readonly) BOOL isVision;
|
||||
@property (nonatomic, readonly) BOOL isPortrait;
|
||||
@property (nonatomic, readonly) BOOL isCompactWidth;
|
||||
@property (nonatomic, readonly) BOOL isGrid;
|
||||
@property (nonatomic, readonly) BOOL isFeedShown;
|
||||
@property (nonatomic, readonly) BOOL isStoryShown;
|
||||
|
||||
|
@ -47,10 +48,28 @@
|
|||
- (IBAction)showPremium:(id)sender;
|
||||
- (IBAction)showSupportForum:(id)sender;
|
||||
- (IBAction)showLogout:(id)sender;
|
||||
|
||||
- (IBAction)chooseColumns:(id)sender;
|
||||
- (IBAction)chooseLayout:(id)sender;
|
||||
- (IBAction)chooseTitle:(id)sender;
|
||||
- (IBAction)choosePreview:(id)sender;
|
||||
- (IBAction)chooseGridColumns:(id)sender;
|
||||
- (IBAction)chooseGridHeight:(id)sender;
|
||||
- (IBAction)chooseFontSize:(id)sender;
|
||||
- (IBAction)chooseSpacing:(id)sender;
|
||||
- (IBAction)chooseTheme:(id)sender;
|
||||
|
||||
- (IBAction)moveSite:(id)sender;
|
||||
- (IBAction)openRenameSite:(id)sender;
|
||||
- (IBAction)muteSite:(id)sender;
|
||||
- (IBAction)deleteSite:(id)sender;
|
||||
- (IBAction)openTrainSite:(id)sender;
|
||||
- (IBAction)openNotifications:(id)sender;
|
||||
- (IBAction)openStatistics:(id)sender;
|
||||
- (IBAction)instaFetchFeed:(id)sender;
|
||||
- (IBAction)doMarkAllRead:(id)sender;
|
||||
|
||||
- (IBAction)showSendTo:(id)sender;
|
||||
- (IBAction)showTrain:(id)sender;
|
||||
- (IBAction)showShare:(id)sender;
|
||||
|
||||
|
|
|
@ -218,6 +218,15 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (BOOL)isCompactWidth {
|
||||
return self.view.window.windowScene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassCompact;
|
||||
//return self.compactWidth > 0.0;
|
||||
}
|
||||
|
||||
- (BOOL)isGrid {
|
||||
return self.appDelegate.detailViewController.storyTitlesInGrid;
|
||||
}
|
||||
|
||||
- (BOOL)isFeedShown {
|
||||
return appDelegate.storiesCollection.activeFeed != nil || appDelegate.storiesCollection.activeFolder != nil;
|
||||
}
|
||||
|
@ -226,19 +235,30 @@
|
|||
return !appDelegate.storyPagesViewController.currentPage.view.isHidden && appDelegate.storyPagesViewController.currentPage.noStoryMessage.isHidden;
|
||||
}
|
||||
|
||||
- (BOOL)isCompactWidth {
|
||||
return self.view.window.windowScene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassCompact;
|
||||
//return self.compactWidth > 0.0;
|
||||
}
|
||||
|
||||
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
|
||||
if (action == @selector(muteSite) || action == @selector(openRenameSite)) {
|
||||
return !appDelegate.storiesCollection.isEverything;
|
||||
} else if (action == @selector(openTrainSite) || action == @selector(openNotifications:) || action == @selector(openStatistics:)) {
|
||||
return !appDelegate.storiesCollection.isRiverOrSocial;
|
||||
} else if (action == @selector(openRenameSite)) {
|
||||
return appDelegate.storiesCollection.isSocialView;
|
||||
} else if (action == @selector(showTrain:) || action == @selector(showShare:)) {
|
||||
if (action == @selector(chooseLayout:)) {
|
||||
return self.isFeedShown;
|
||||
} else if (action == @selector(chooseTitle:) || action == @selector(choosePreview:)) {
|
||||
return self.isFeedShown && !self.isGrid;
|
||||
} else if (action == @selector(chooseGridColumns:) || action == @selector(chooseGridHeight:)) {
|
||||
return self.isFeedShown && self.isGrid;
|
||||
} else if (action == @selector(openTrainSite) ||
|
||||
action == @selector(openTrainSite:) ||
|
||||
action == @selector(openNotifications:) ||
|
||||
action == @selector(openStatistics:) ||
|
||||
action == @selector(moveSite:) ||
|
||||
action == @selector(openRenameSite:) ||
|
||||
action == @selector(deleteSite:)) {
|
||||
return self.isFeedShown && appDelegate.storiesCollection.isCustomFolderOrFeed;
|
||||
} else if (action == @selector(muteSite) ||
|
||||
action == @selector(muteSite:)) {
|
||||
return self.isFeedShown && !appDelegate.storiesCollection.isRiverView;
|
||||
} else if (action == @selector(instaFetchFeed:) ||
|
||||
action == @selector(doMarkAllRead:)) {
|
||||
return self.isFeedShown;
|
||||
} else if (action == @selector(showSendTo:) ||
|
||||
action == @selector(showTrain:) ||
|
||||
action == @selector(showShare:)) {
|
||||
return self.isStoryShown;
|
||||
} else {
|
||||
return [super canPerformAction:action withSender:sender];
|
||||
|
@ -250,6 +270,27 @@
|
|||
|
||||
if (command.action == @selector(chooseColumns:)) {
|
||||
command.state = [command.propertyList isEqualToString:appDelegate.detailViewController.behaviorString];
|
||||
} else if (command.action == @selector(chooseLayout:)) {
|
||||
NSString *value = self.appDelegate.storiesCollection.activeStoryTitlesPosition;
|
||||
command.state = [command.propertyList isEqualToString:value];
|
||||
} else if (command.action == @selector(chooseTitle:)) {
|
||||
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"story_list_preview_text_size"];
|
||||
command.state = [command.propertyList isEqualToString:value];
|
||||
} else if (command.action == @selector(choosePreview:)) {
|
||||
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"story_list_preview_images_size"];
|
||||
command.state = [command.propertyList isEqualToString:value];
|
||||
} else if (command.action == @selector(chooseGridColumns:)) {
|
||||
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"grid_columns"];
|
||||
if (value == nil) {
|
||||
value = @"auto";
|
||||
}
|
||||
command.state = [command.propertyList isEqualToString:value];
|
||||
} else if (command.action == @selector(chooseGridHeight:)) {
|
||||
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"grid_height"];
|
||||
if (value == nil) {
|
||||
value = @"medium";
|
||||
}
|
||||
command.state = [command.propertyList isEqualToString:value];
|
||||
} else if (command.action == @selector(chooseFontSize:)) {
|
||||
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"feed_list_font_size"];
|
||||
command.state = [command.propertyList isEqualToString:value];
|
||||
|
@ -258,12 +299,24 @@
|
|||
command.state = [command.propertyList isEqualToString:value];
|
||||
} else if (command.action == @selector(chooseTheme:)) {
|
||||
command.state = [command.propertyList isEqualToString:ThemeManager.themeManager.theme];
|
||||
} else if (command.action == @selector(openRenameSite:)) {
|
||||
if (appDelegate.storiesCollection.isRiverOrSocial) {
|
||||
command.title = @"Rename Folder…";
|
||||
} else {
|
||||
command.title = @"Rename Site…";
|
||||
}
|
||||
} else if (command.action == @selector(deleteSite:)) {
|
||||
if (appDelegate.storiesCollection.isRiverOrSocial) {
|
||||
command.title = @"Delete Folder…";
|
||||
} else {
|
||||
command.title = @"Delete Site…";
|
||||
}
|
||||
} else if (command.action == @selector(toggleStorySaved:)) {
|
||||
BOOL isRead = [[self.appDelegate.activeStory objectForKey:@"starred"] boolValue];
|
||||
if (isRead) {
|
||||
command.title = @"Unsave This Story";
|
||||
} else {
|
||||
command.title = @"Save THis Story";
|
||||
command.title = @"Save This Story";
|
||||
}
|
||||
} else if (command.action == @selector(toggleStoryUnread:)) {
|
||||
BOOL isRead = [[self.appDelegate.activeStory objectForKey:@"read_status"] boolValue];
|
||||
|
@ -275,6 +328,9 @@
|
|||
}
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark File menu
|
||||
|
||||
- (IBAction)reloadFeeds:(id)sender {
|
||||
[appDelegate reloadFeedsView:NO];
|
||||
}
|
||||
|
@ -312,6 +368,9 @@
|
|||
[self.appDelegate confirmLogout];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark View menu
|
||||
|
||||
- (IBAction)chooseColumns:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
|
@ -325,6 +384,52 @@
|
|||
[self.appDelegate.detailViewController updateLayoutWithReload:NO fetchFeeds:YES];
|
||||
}
|
||||
|
||||
- (IBAction)chooseLayout:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
NSString *key = self.appDelegate.storiesCollection.storyTitlesPositionKey;
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setObject:string forKey:key];
|
||||
|
||||
[self.appDelegate.detailViewController updateLayoutWithReload:YES fetchFeeds:YES];
|
||||
}
|
||||
|
||||
- (IBAction)chooseTitle:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setObject:string forKey:@"story_list_preview_text_size"];
|
||||
|
||||
[self.appDelegate resizePreviewSize];
|
||||
}
|
||||
|
||||
- (IBAction)choosePreview:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setObject:string forKey:@"story_list_preview_images_size"];
|
||||
|
||||
[self.appDelegate resizePreviewSize];
|
||||
}
|
||||
|
||||
- (IBAction)chooseGridColumns:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setObject:string forKey:@"grid_columns"];
|
||||
|
||||
[self.appDelegate.detailViewController updateLayoutWithReload:YES fetchFeeds:YES];
|
||||
}
|
||||
|
||||
- (IBAction)chooseGridHeight:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setObject:string forKey:@"grid_height"];
|
||||
|
||||
[self.appDelegate.detailViewController updateLayoutWithReload:YES fetchFeeds:YES];
|
||||
}
|
||||
|
||||
- (IBAction)chooseFontSize:(id)sender {
|
||||
UICommand *command = sender;
|
||||
NSString *string = command.propertyList;
|
||||
|
@ -351,6 +456,66 @@
|
|||
[ThemeManager themeManager].theme = string;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Site menu
|
||||
|
||||
- (IBAction)moveSite:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController openMoveView:self.appDelegate.navigationController];
|
||||
}
|
||||
|
||||
- (IBAction)openRenameSite:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController openRenameSite];
|
||||
}
|
||||
|
||||
- (IBAction)muteSite:(id)sender {
|
||||
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:[NSString stringWithFormat:@"Are you sure you wish to mute %@?", self.appDelegate.storiesCollection.activeTitle] message:nil preferredStyle:UIAlertControllerStyleAlert];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle: @"Mute Site" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
|
||||
[alertController dismissViewControllerAnimated:YES completion:nil];
|
||||
[self.appDelegate.feedDetailViewController muteSite];
|
||||
}]];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel"
|
||||
style:UIAlertActionStyleCancel handler:nil]];
|
||||
[self presentViewController:alertController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (IBAction)deleteSite:(id)sender {
|
||||
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:[NSString stringWithFormat:@"Are you sure you wish to delete %@?", self.appDelegate.storiesCollection.activeTitle] message:nil preferredStyle:UIAlertControllerStyleAlert];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle: @"Delete Site" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
|
||||
[alertController dismissViewControllerAnimated:YES completion:nil];
|
||||
[self.appDelegate.feedDetailViewController deleteSite];
|
||||
}]];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel"
|
||||
style:UIAlertActionStyleCancel handler:nil]];
|
||||
[self presentViewController:alertController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (IBAction)openTrainSite:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController openTrainSite];
|
||||
}
|
||||
|
||||
- (IBAction)openNotifications:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController openNotifications:sender];
|
||||
}
|
||||
|
||||
- (IBAction)openStatistics:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController openStatistics:sender];
|
||||
}
|
||||
|
||||
- (IBAction)instaFetchFeed:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController instafetchFeed];
|
||||
}
|
||||
|
||||
- (IBAction)doMarkAllRead:(id)sender {
|
||||
[self.appDelegate.feedDetailViewController doMarkAllRead:sender];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Story menu
|
||||
|
||||
- (IBAction)showSendTo:(id)sender {
|
||||
[appDelegate showSendTo:self sender:sender];
|
||||
}
|
||||
|
||||
- (IBAction)showTrain:(id)sender {
|
||||
[self.appDelegate openTrainStory:self.appDelegate.storyPagesViewController.fontSettingsButton];
|
||||
}
|
||||
|
|
|
@ -110,6 +110,7 @@
|
|||
- (void)loadStoryAtRow:(NSInteger)row;
|
||||
- (void)redrawUnreadStory;
|
||||
- (IBAction)doOpenMarkReadMenu:(id)sender;
|
||||
- (IBAction)doMarkAllRead:(id)sender;
|
||||
- (IBAction)doOpenSettingsMenu:(id)sender;
|
||||
- (void)deleteSite;
|
||||
- (void)deleteFolder;
|
||||
|
@ -132,4 +133,7 @@
|
|||
- (void)failedMarkAsUnsaved:(NSDictionary *)params;
|
||||
- (void)failedMarkAsUnread:(NSDictionary *)params;
|
||||
|
||||
- (void)confirmDeleteSite:(UINavigationController *)menuNavigationController;
|
||||
- (void)openMoveView:(UINavigationController *)menuNavigationController;
|
||||
|
||||
@end
|
||||
|
|
|
@ -764,7 +764,7 @@ typedef NS_ENUM(NSUInteger, FeedSection)
|
|||
}
|
||||
|
||||
- (void)beginOfflineTimer {
|
||||
if ([self.storiesCollection.activeFolder isEqualToString:@"infrequent"]) {
|
||||
if (self.storiesCollection.isInfrequent) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2442,11 +2442,6 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
|
|||
appDelegate.storiesCollection.isReadView;
|
||||
}
|
||||
|
||||
- (BOOL)isInfrequent {
|
||||
return appDelegate.storiesCollection.isRiverView &&
|
||||
[appDelegate.storiesCollection.activeFolder isEqualToString:@"infrequent"];
|
||||
}
|
||||
|
||||
- (IBAction)doShowFeeds:(id)sender {
|
||||
[self.appDelegate showColumn:UISplitViewControllerColumnPrimary debugInfo:@"showFeeds"];
|
||||
}
|
||||
|
@ -2461,8 +2456,8 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
|
|||
MenuViewController *viewController = [MenuViewController new];
|
||||
__weak MenuViewController *weakViewController = viewController;
|
||||
|
||||
BOOL everything = [appDelegate.storiesCollection.activeFolder isEqualToString:@"everything"];
|
||||
BOOL infrequent = [self isInfrequent];
|
||||
BOOL everything = appDelegate.storiesCollection.isEverything;
|
||||
BOOL infrequent = appDelegate.storiesCollection.isInfrequent;
|
||||
BOOL river = [self isRiver];
|
||||
BOOL read = appDelegate.storiesCollection.isReadView;
|
||||
BOOL widget = appDelegate.storiesCollection.isWidgetView;
|
||||
|
@ -3233,7 +3228,7 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
|
|||
|
||||
- (BOOL)canPullToRefresh {
|
||||
BOOL river = appDelegate.storiesCollection.isRiverView;
|
||||
BOOL infrequent = [self isInfrequent];
|
||||
BOOL infrequent = appDelegate.storiesCollection.isInfrequent;
|
||||
BOOL read = appDelegate.storiesCollection.isReadView;
|
||||
BOOL widget = appDelegate.storiesCollection.isWidgetView;
|
||||
BOOL saved = appDelegate.storiesCollection.isSavedView;
|
||||
|
|
|
@ -29,10 +29,6 @@ class FeedDetailViewController: FeedDetailObjCViewController {
|
|||
case loading
|
||||
}
|
||||
|
||||
var isGrid: Bool {
|
||||
return appDelegate.detailViewController.layout == .grid
|
||||
}
|
||||
|
||||
var wasGrid: Bool {
|
||||
return appDelegate.detailViewController.wasGrid
|
||||
}
|
||||
|
|
|
@ -60,7 +60,10 @@
|
|||
@property (nonatomic, readwrite) BOOL showHiddenStories;
|
||||
@property (nonatomic, readwrite) BOOL inSearch;
|
||||
@property (nonatomic, readonly) BOOL isEverything;
|
||||
@property (nonatomic, readonly) BOOL isInfrequent;
|
||||
@property (nonatomic, readonly) BOOL isRiverOrSocial;
|
||||
@property (nonatomic, readonly) BOOL isCustomFolder;
|
||||
@property (nonatomic, readonly) BOOL isCustomFolderOrFeed;
|
||||
@property (nonatomic) NSString *searchQuery;
|
||||
@property (nonatomic) NSString *savedSearchQuery;
|
||||
|
||||
|
|
|
@ -101,10 +101,22 @@
|
|||
return [activeFolder isEqualToString:@"everything"];
|
||||
}
|
||||
|
||||
- (BOOL)isInfrequent {
|
||||
return [activeFolder isEqualToString:@"infrequent"];
|
||||
}
|
||||
|
||||
- (BOOL)isRiverOrSocial {
|
||||
return self.isRiverView || self.isSavedView || self.isReadView || self.isWidgetView || self.isSocialView || self.isSocialRiverView;
|
||||
}
|
||||
|
||||
- (BOOL)isCustomFolder {
|
||||
return self.isRiverView && !self.isEverything && !self.isInfrequent && !self.isSavedView && !self.isReadView && !self.isSocialView && !self.isWidgetView;
|
||||
}
|
||||
|
||||
- (BOOL)isCustomFolderOrFeed {
|
||||
return !self.isRiverView || self.isCustomFolder;
|
||||
}
|
||||
|
||||
#pragma mark - Story Traversal
|
||||
|
||||
- (BOOL)isStoryUnread:(NSDictionary *)story {
|
||||
|
|
|
@ -2251,9 +2251,11 @@
|
|||
}
|
||||
|
||||
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
|
||||
if ([self respondsToSelector:action])
|
||||
return self.noStoryMessage.hidden;
|
||||
return [super canPerformAction:action withSender:sender];
|
||||
if ([self respondsToSelector:action]) {
|
||||
return [super canPerformAction:action withSender:sender] && self.noStoryMessage.hidden;
|
||||
} else {
|
||||
return [super canPerformAction:action withSender:sender];
|
||||
}
|
||||
}
|
||||
|
||||
# pragma mark -
|
||||
|
|
|
@ -372,6 +372,151 @@
|
|||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
<menu title="Layout" id="2UT-ZB-x5H">
|
||||
<children>
|
||||
<command title="Left" propertyListString="titles_on_left" menuElementState="on" id="SHF-Gm-yHM">
|
||||
<connections>
|
||||
<action selector="chooseLayout:" destination="J28-e1-gcC" id="v7b-YA-qHb"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Top" propertyListString="titles_on_top" id="Zeq-Nu-dqs">
|
||||
<connections>
|
||||
<action selector="chooseLayout:" destination="J28-e1-gcC" id="E0V-4w-fMx"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Bottom" propertyListString="titles_on_bottom" id="iQo-Uv-UPm">
|
||||
<connections>
|
||||
<action selector="chooseLayout:" destination="J28-e1-gcC" id="APi-KB-zyb"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Grid" propertyListString="titles_in_grid" id="hc6-3c-pEr">
|
||||
<connections>
|
||||
<action selector="chooseLayout:" destination="J28-e1-gcC" id="lPQ-q9-ULB"/>
|
||||
</connections>
|
||||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
<menu title="Inline Menu" id="rEb-O5-WxE">
|
||||
<menuOptions key="menuOptions" displayInline="YES"/>
|
||||
</menu>
|
||||
<menu title="Story Preview" id="11o-Ny-Ay8">
|
||||
<children>
|
||||
<command title="Only Title" propertyListString="title" menuElementState="on" id="3VQ-tS-tca">
|
||||
<connections>
|
||||
<action selector="chooseTitle:" destination="J28-e1-gcC" id="dVZ-e9-eMx"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Short" propertyListString="short" id="kKo-nO-rdD">
|
||||
<connections>
|
||||
<action selector="chooseTitle:" destination="J28-e1-gcC" id="L2L-i9-jJu"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Medium" propertyListString="medium" id="8kl-JH-cAR">
|
||||
<connections>
|
||||
<action selector="chooseTitle:" destination="J28-e1-gcC" id="cHy-Qn-qYA"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Long" propertyListString="long" id="6c5-Aa-VWc">
|
||||
<connections>
|
||||
<action selector="chooseTitle:" destination="J28-e1-gcC" id="laa-aj-lRm"/>
|
||||
</connections>
|
||||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
<menu title="Image Preview" id="JBe-EV-vd0">
|
||||
<children>
|
||||
<command title="None" propertyListString="none" menuElementState="on" id="xUQ-iP-Xav">
|
||||
<keyModifierFlags key="modifierFlags" command="YES"/>
|
||||
<connections>
|
||||
<action selector="choosePreview:" destination="J28-e1-gcC" id="ydY-6y-Vu7"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Small Left" propertyListString="small_left" id="pgV-T3-JgP">
|
||||
<connections>
|
||||
<action selector="choosePreview:" destination="J28-e1-gcC" id="6bd-eh-Jkf"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Large Left" propertyListString="large_left" id="rJC-gP-ub8">
|
||||
<connections>
|
||||
<action selector="choosePreview:" destination="J28-e1-gcC" id="dXF-jY-GB9"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Large Right" propertyListString="large_right" id="DHS-T6-h9f">
|
||||
<connections>
|
||||
<action selector="choosePreview:" destination="J28-e1-gcC" id="ZrD-28-3r7"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Small Right" propertyListString="small_right" id="0ZJ-kc-nG7">
|
||||
<connections>
|
||||
<action selector="choosePreview:" destination="J28-e1-gcC" id="yQ3-7h-2eZ"/>
|
||||
</connections>
|
||||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
<menu title="Inline Menu" id="uRc-h2-2ur">
|
||||
<menuOptions key="menuOptions" displayInline="YES"/>
|
||||
</menu>
|
||||
<menu title="Grid Columns" id="gPp-Vp-Aqb">
|
||||
<children>
|
||||
<command title="Automatic" propertyListString="auto" menuElementState="on" id="W9M-jz-7Wo">
|
||||
<connections>
|
||||
<action selector="chooseGridColumns:" destination="J28-e1-gcC" id="r7t-6H-NdZ"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="1" propertyListString="1" id="COJ-8T-jFG">
|
||||
<connections>
|
||||
<action selector="chooseGridColumns:" destination="J28-e1-gcC" id="sg6-ao-Ca6"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="2" propertyListString="2" id="Enn-ac-qRo">
|
||||
<connections>
|
||||
<action selector="chooseGridColumns:" destination="J28-e1-gcC" id="9uC-A2-7y3"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="3" propertyListString="3" id="LL9-1i-7gs">
|
||||
<connections>
|
||||
<action selector="chooseGridColumns:" destination="J28-e1-gcC" id="7Ki-1P-JNN"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="4" propertyListString="4" id="TAe-RC-Isj">
|
||||
<connections>
|
||||
<action selector="chooseGridColumns:" destination="J28-e1-gcC" id="8rE-3w-9G0"/>
|
||||
</connections>
|
||||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
<menu title="Grid Height" id="YgQ-8j-p4J">
|
||||
<children>
|
||||
<command title="Extra Short" propertyListString="xs" id="QkE-4U-qCZ">
|
||||
<connections>
|
||||
<action selector="chooseGridHeight:" destination="J28-e1-gcC" id="gM2-NN-oey"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Short" propertyListString="short" id="QiP-55-H7Q">
|
||||
<connections>
|
||||
<action selector="chooseGridHeight:" destination="J28-e1-gcC" id="ayB-De-Drm"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Medium" propertyListString="medium" id="Z1h-b3-VUc">
|
||||
<connections>
|
||||
<action selector="chooseGridHeight:" destination="J28-e1-gcC" id="2L5-oA-LRA"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Tall" propertyListString="tall" id="nuu-UE-jx7">
|
||||
<connections>
|
||||
<action selector="chooseGridHeight:" destination="J28-e1-gcC" id="NWu-Lm-Mcy"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Extra Tall" propertyListString="xl" id="7pm-OP-kNf">
|
||||
<connections>
|
||||
<action selector="chooseGridHeight:" destination="J28-e1-gcC" id="rZo-Hs-UjD"/>
|
||||
</connections>
|
||||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
<menu title="Inline Menu" id="gSR-Tp-3Cp">
|
||||
<menuOptions key="menuOptions" displayInline="YES"/>
|
||||
</menu>
|
||||
<menu title="Text Size" id="si2-4b-JdU">
|
||||
<children>
|
||||
<command title="Extra Small" propertyListString="xs" input="5" id="1J1-HG-ovw">
|
||||
|
@ -453,15 +598,14 @@
|
|||
<children>
|
||||
<menu title="Manage" id="uU0-yq-BC8">
|
||||
<children>
|
||||
<command title="Move to Another Folder…" id="LG6-8T-2ce"/>
|
||||
<command title="Rename Site…" id="ogl-RU-MAV">
|
||||
<connections>
|
||||
<action selector="openRenameSite" destination="J28-e1-gcC" id="aCr-ei-bqw"/>
|
||||
<action selector="openRenameSite:" destination="J28-e1-gcC" id="uUs-SK-j71"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Mute Site" id="USf-x7-etD">
|
||||
<command title="Mute Site…" id="USf-x7-etD">
|
||||
<connections>
|
||||
<action selector="muteSite" destination="J28-e1-gcC" id="v0a-pd-QV6"/>
|
||||
<action selector="muteSite:" destination="J28-e1-gcC" id="J7R-Wr-qZZ"/>
|
||||
</connections>
|
||||
</command>
|
||||
<menu id="HKb-sW-DLl">
|
||||
|
@ -469,6 +613,9 @@
|
|||
<children>
|
||||
<command title="Delete Site…" id="RuQ-ea-MNw">
|
||||
<menuElementAttributes key="attributes" destructive="YES"/>
|
||||
<connections>
|
||||
<action selector="deleteSite:" destination="J28-e1-gcC" id="iu8-R6-1oB"/>
|
||||
</connections>
|
||||
</command>
|
||||
</children>
|
||||
</menu>
|
||||
|
@ -479,7 +626,7 @@
|
|||
</menu>
|
||||
<command title="Train…" id="hIh-yf-xP8">
|
||||
<connections>
|
||||
<action selector="openTrainSite" destination="J28-e1-gcC" id="7OO-UO-3Ro"/>
|
||||
<action selector="openTrainSite:" destination="J28-e1-gcC" id="5Ka-Ra-khJ"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Notifications…" id="zeT-bO-F72">
|
||||
|
@ -498,7 +645,7 @@
|
|||
<command title="Insta-Fetch Stories" input="r" id="skD-1M-foi">
|
||||
<keyModifierFlags key="modifierFlags" option="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="instafetchFeed" destination="J28-e1-gcC" id="kAI-0o-ni8"/>
|
||||
<action selector="instaFetchFeed:" destination="J28-e1-gcC" id="soI-a3-gDT"/>
|
||||
</connections>
|
||||
</command>
|
||||
<menu id="ze6-Sa-c31">
|
||||
|
@ -528,7 +675,11 @@
|
|||
<action selector="toggleStoryUnread:" destination="J28-e1-gcC" id="iNX-pg-hgT"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Send To…" id="d3Y-Ik-PAB"/>
|
||||
<command title="Send To…" id="d3Y-Ik-PAB">
|
||||
<connections>
|
||||
<action selector="showSendTo:" destination="J28-e1-gcC" id="XJ8-Tz-tG6"/>
|
||||
</connections>
|
||||
</command>
|
||||
<command title="Train This Story…" id="GJC-ae-c80">
|
||||
<connections>
|
||||
<action selector="showTrain:" destination="J28-e1-gcC" id="pr3-BS-f2g"/>
|
||||
|
|
Loading…
Add table
Reference in a new issue