From eadf507c702cf08bfc69f6389d20da4d60274e54 Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 18:46:01 -0500 Subject: [PATCH 1/7] Adds .gitignore with xcode defaults --- .gitignore | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8565726 --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +### Xcode ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xccheckout +*.xcscmblueprint + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno + +# End of https://www.gitignore.io/api/xcode + From 46c048133eb19d374ea8e87e1a4088009ceab3f1 Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 19:08:42 -0500 Subject: [PATCH 2/7] Adds .travis.yml for osx build --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..18d5cda --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +os: osx +language: objective-c + +xcode_project: iMeme.xcodeproj +xcode_scheme: iMeme From 2a1d4ded6971b8663c640dab83c8c7edc21f11e8 Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 19:43:40 -0500 Subject: [PATCH 3/7] Adds iMeme shared scheme for travis --- .../xcshareddata/xcschemes/iMeme.xcscheme | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 iMeme.xcodeproj/xcshareddata/xcschemes/iMeme.xcscheme diff --git a/iMeme.xcodeproj/xcshareddata/xcschemes/iMeme.xcscheme b/iMeme.xcodeproj/xcshareddata/xcschemes/iMeme.xcscheme new file mode 100644 index 0000000..0b229dc --- /dev/null +++ b/iMeme.xcodeproj/xcshareddata/xcschemes/iMeme.xcscheme @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 75be5402778c2c3b28c63ba1ed5ea1de62044fd2 Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 20:20:25 -0500 Subject: [PATCH 4/7] Adds search field closes #3 :v: --- iMeme/TableViewController.h | 5 +- iMeme/TableViewController.m | 23 +- iMeme/en.lproj/MainMenu.xib | 3066 ++++++----------------------------- 3 files changed, 506 insertions(+), 2588 deletions(-) diff --git a/iMeme/TableViewController.h b/iMeme/TableViewController.h index 2b7d9b5..3e94e15 100644 --- a/iMeme/TableViewController.h +++ b/iMeme/TableViewController.h @@ -10,11 +10,14 @@ #import "AppDelegate.h" @interface TableViewController : NSObject { - NSMutableArray* items; + NSMutableArray* allItems; + NSArray* filteredItems; AppDelegate* appDelegate; NSTableView* tableView; + NSSearchField *searchField; } +@property (assign) IBOutlet NSSearchField *searchField; @property (assign) IBOutlet AppDelegate* appDelegate; @property (assign) IBOutlet NSTableView* tableView; diff --git a/iMeme/TableViewController.m b/iMeme/TableViewController.m index b7af413..9794c6c 100644 --- a/iMeme/TableViewController.m +++ b/iMeme/TableViewController.m @@ -11,30 +11,32 @@ @implementation TableViewController +@synthesize searchField; @synthesize appDelegate; @synthesize tableView; - (id)init { self = [super init]; if (self) { - items = [[NSMutableArray alloc] init]; + allItems = [[NSMutableArray alloc] init]; NSArray* paths = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil]; for (NSString* filename in paths) { NSString* path = [[filename lastPathComponent] stringByDeletingPathExtension]; NSString* name = [path stringByReplacingOccurrencesOfString:@"-" withString:@" "]; path = [[NSBundle mainBundle] pathForImageResource:path]; - [items addObject:[[Template alloc] initWithName:name path:path]]; + [allItems addObject:[[Template alloc] initWithName:name path:path]]; + filteredItems = allItems.copy; } } return self; } - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { - return [items count]; + return [filteredItems count]; } - (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - Template* template = [items objectAtIndex:row]; + Template* template = [filteredItems objectAtIndex:row]; NSString* identifier = [tableColumn identifier]; return [template valueForKey:identifier]; } @@ -42,9 +44,20 @@ - (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColum - (void)tableViewSelectionDidChange:(NSNotification *)notification { NSInteger row = [tableView selectedRow]; if (row >= 0) { - Template* template = [items objectAtIndex:row]; + Template* template = [filteredItems objectAtIndex:row]; [appDelegate setPath:[template path]]; } } +- (IBAction)updateFilter:(id)sender { + NSString *filter = [self.searchField stringValue]; + if (filter.length > 0) { + NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"self.name CONTAINS[cd] %@", filter]; + filteredItems = [[allItems filteredArrayUsingPredicate:filterPredicate] mutableCopy]; + } else { + filteredItems = allItems.copy; + } + [self.tableView reloadData]; +} + @end diff --git a/iMeme/en.lproj/MainMenu.xib b/iMeme/en.lproj/MainMenu.xib index b7df660..aa75374 100644 --- a/iMeme/en.lproj/MainMenu.xib +++ b/iMeme/en.lproj/MainMenu.xib @@ -1,2583 +1,485 @@ - - - 1080 - 12C60 - 2843 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2843 - - - NSCustomObject - NSImageCell - NSImageView - NSMenu - NSMenuItem - NSScrollView - NSScroller - NSSegmentedCell - NSSegmentedControl - NSTableColumn - NSTableView - NSTextField - NSTextFieldCell - NSToolbar - NSToolbarFlexibleSpaceItem - NSToolbarItem - NSToolbarSeparatorItem - NSToolbarSpaceItem - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - AMainMenu - - - - iMeme - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - iMeme - - - - About iMeme - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - Services - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide iMeme - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit iMeme - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - - File - - 1048576 - 2147483647 - - - submenuAction: - - File - - - - New - n - 1048576 - 2147483647 - - - - - - Open… - o - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Close - w - 1048576 - 2147483647 - - - - - - Save… - s - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Page Setup... - P - 1179648 - 2147483647 - - - - - - - Print… - p - 1048576 - 2147483647 - - - - - - - - - Edit - - 1048576 - 2147483647 - - - submenuAction: - - Edit - - - - Undo - z - 1048576 - 2147483647 - - - - - - Redo - Z - 1179648 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Cut - x - 1048576 - 2147483647 - - - - - - Copy - c - 1048576 - 2147483647 - - - - - - Paste - v - 1048576 - 2147483647 - - - - - - Delete - - 1048576 - 2147483647 - - - - - - Select All - a - 1048576 - 2147483647 - - - - - - - - - View - - 1048576 - 2147483647 - - - submenuAction: - - View - - - - Show Toolbar - t - 1572864 - 2147483647 - - - - - - Customize Toolbar… - - 1048576 - 2147483647 - - - - - - - - - Window - - 1048576 - 2147483647 - - - submenuAction: - - Window - - - - Minimize - m - 1048576 - 2147483647 - - - - - - Zoom - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Bring All to Front - - 1048576 - 2147483647 - - - - - _NSWindowsMenu - - - - - Help - - 2147483647 - - - submenuAction: - - Help - - - - iMeme Help - ? - 1048576 - 2147483647 - - - - - _NSHelpMenu - - - - _NSMainMenu - - - 15 - 2 - {{0, 338}, {700, 540}} - 1954021376 - iMeme - NSWindow - - - 3AC0D1F0-141C-4EA5-AE8E-98F17E155355 - - - YES - YES - YES - NO - 1 - 2 - - - - 059476FB-D148-439B-B85D-26303D39B930 - - Open - Open - - - - NSImage - open - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - 12BE0B5B-2BDF-413A-B513-F82DA3DEDA1D - - Print - Print - - - - NSImage - print - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - 16463CD1-7A98-48CE-8392-D48EF8900694 - - New - New - - - - NSImage - new - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - 28AB9FB0-1D27-49F2-A3D3-3AB9721FE6F2 - - imgur - imgur - - - - NSImage - imgur - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - 4FA34964-EC5D-48C3-A2C9-5940D8B7F387 - - Website - Website - - - - NSImage - icon32 - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - 95E424EE-2A3F-46F2-9705-1F7A78C6EDE4 - - reddit - reddit - - - - NSImage - reddit - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - B37F5A27-7BBC-4C1C-A3B6-A433E0DECBA7 - - Copy - Copy - - - - NSImage - copy - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - - E4131223-4F06-4DE3-A13A-6A84BAC5113A - - Save - Save - - - - NSImage - save - - - - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - NSToolbarCustomizeToolbarItem - Customize - Customize - Customize Toolbar - - - NSImage - NSToolbarCustomize - - - runToolbarCustomizationPalette: - {0, 0} - {0, 0} - YES - YES - -1 - YES - 0 - - - NSToolbarFlexibleSpaceItem - - Flexible Space - - - - - - {1, 5} - {20000, 32} - YES - YES - -1 - YES - 0 - - YES - YES - - - 1048576 - 2147483647 - - - - - - NSToolbarSeparatorItem - - Separator - - - - - - {12, 5} - {12, 1000} - YES - YES - -1 - YES - 0 - - YES - YES - - - 1048576 - 2147483647 - - - - - - NSToolbarSpaceItem - - Space - - - - - - {32, 5} - {32, 32} - YES - YES - -1 - YES - 0 - - YES - YES - - - 1048576 - 2147483647 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {700, 540} - - - 256 - - - - 274 - - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - {{225, 78}, {458, 445}} - - - - _NS:2141 - YES - - 134217728 - 33554432 - - NSImage - startup - - _NS:2141 - 0 - 0 - 2 - NO - - NO - YES - - - - 276 - - - - 2304 - - - - 256 - {198, 498} - - - - _NS:1828 - YES - NO - YES - - - -2147483392 - {{224, 0}, {16, 17}} - _NS:1833 - - - - name - 195 - 40 - 1000 - - 75497536 - 2048 - - - LucidaGrande - 11 - 3100 - - - 3 - MC4zMzMzMzI5ODU2AA - - - 6 - System - headerTextColor - - 3 - MAA - - - - - 337641536 - 2048 - Text Cell - - LucidaGrande - 13 - 1044 - - - - 6 - System - controlBackgroundColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - - - 3 - YES - - - - 3 - 2 - - 3 - MQA - - - 6 - System - gridColor - - 3 - MC41AA - - - 17 - 306184192 - - - 4 - 15 - 0 - YES - 0 - 1 - - - {{1, 1}, {198, 498}} - - - - _NS:1826 - - - 4 - - - - -2147483392 - {{224, 17}, {15, 102}} - - - - _NS:1845 - NO - - _doScroller: - 0.99799599198396793 - - - - -2147483392 - {{1, 119}, {223, 15}} - - - - _NS:1847 - NO - 1 - - _doScroller: - 0.99581589958159 - - - {{20, 20}, {200, 500}} - - - - _NS:1824 - 133682 - - - - QSAAAEEgAABBmAAAQZgAAA - 0.25 - 4 - 1 - - - - 290 - {{228, 19}, {269, 22}} - - - - _NS:903 - YES - - -1804074943 - 272630848 - - - Footer - _NS:903 - - YES - - 6 - System - textBackgroundColor - - - - 6 - System - textColor - - - - NO - - - - 290 - {{228, 51}, {269, 22}} - - - - _NS:903 - YES - - -1804074943 - 272630848 - - - Header - _NS:903 - - YES - - - - NO - - - - 289 - {{580, 51}, {100, 23}} - - - - _NS:2177 - YES - - 67108864 - 0 - - LucidaGrande - 13 - 16 - - _NS:2177 - - - - 32 - - NSImage - align-left - - - 0 - - - 32 - - NSImage - align-center - - - 2 - YES - 0 - - - 32 - - NSImage - align-right - - 1 - 0 - - - 1 - 6 - - NO - - - - 289 - {{580, 19}, {100, 23}} - - - _NS:2177 - YES - - 67108864 - 0 - - _NS:2177 - - - - 32 - - - 0 - - - 32 - - - 2 - YES - 0 - - - 32 - - 1 - 0 - - - 1 - 6 - - NO - - - - 289 - {{505, 51}, {67, 23}} - - - - _NS:2177 - YES - - 67108864 - 0 - - _NS:2177 - - - - 32 - - NSImage - minus - - 0 - - - 32 - - NSImage - plus - - 1 - 0 - - - 1 - 2 - 6 - - NO - - - - 289 - {{505, 19}, {67, 23}} - - - - _NS:2177 - YES - - 67108864 - 0 - - _NS:2177 - - - - 32 - - 0 - - - 32 - - 1 - 0 - - - 1 - 2 - 6 - - NO - - - {700, 540} - - - - - {{0, 0}, {1440, 878}} - {700, 609} - {10000000000000, 10000000000000} - YES - - - AppDelegate - - - NSFontManager - - - TableViewController - - - - - - - terminate: - - - - 449 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - delegate - - - - 495 - - - - performMiniaturize: - - - - 37 - - - - arrangeInFront: - - - - 39 - - - - runPageLayout: - - - - 87 - - - - performClose: - - - - 193 - - - - performZoom: - - - - 240 - - - - runToolbarCustomizationPalette: - - - - 365 - - - - toggleToolbarShown: - - - - 366 - - - - hide: - - - - 367 - - - - hideOtherApplications: - - - - 368 - - - - unhideAllApplications: - - - - 370 - - - - showHelp: - - - - 493 - - - - redo: - - - - 231 - - - - copy: - - - - 224 - - - - paste: - - - - 226 - - - - cut: - - - - 228 - - - - undo: - - - - 223 - - - - selectAll: - - - - 232 - - - - delete: - - - - 235 - - - - initialFirstResponder - - - - 563 - - - - window - - - - 532 - - - - imageView - - - - 578 - - - - header - - - - 583 - - - - footer - - - - 584 - - - - onHeaderSize: - - - - 585 - - - - onFooterSize: - - - - 586 - - - - onHeaderAlignment: - - - - 587 - - - - onFooterAlignment: - - - - 588 - - - - headerAlignment - - - - 591 - - - - footerAlignment - - - - 592 - - - - onOpen: - - - - 624 - - - - onSave: - - - - 625 - - - - onReset: - - - - 626 - - - - onImgur: - - - - 627 - - - - onReddit: - - - - 628 - - - - onCopy: - - - - 631 - - - - onOpen: - - - - 633 - - - - onSave: - - - - 634 - - - - onReset: - - - - 635 - - - - onWebsite: - - - - 639 - - - - tableView - - - - 640 - - - - print: - - - - 632 - - - - print: - - - - 637 - - - - nextKeyView - - - - 564 - - - - delegate - - - - 574 - - - - dataSource - - - - 575 - - - - nextKeyView - - - - 566 - - - - delegate - - - - 582 - - - - nextKeyView - - - - 565 - - - - delegate - - - - 581 - - - - nextKeyView - - - - 569 - - - - nextKeyView - - - - 629 - - - - nextKeyView - - - - 567 - - - - nextKeyView - - - - 568 - - - - tableView - - - - 576 - - - - appDelegate - - - - 577 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 29 - - - - - - - - - - - - - 19 - - - - - - - - 56 - - - - - - - - 83 - - - - - - - - 81 - - - - - - - - - - - - - - - 75 - - - - - 78 - - - - - 72 - - - - - 82 - - - - - 77 - - - - - 73 - - - - - 79 - - - - - 74 - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 134 - - - - - 150 - - - - - 136 - - - - - 144 - - - - - 129 - - - - - 143 - - - - - 236 - - - - - 131 - - - - - - - - 149 - - - - - 145 - - - - - 130 - - - - - 24 - - - - - - - - - - - 92 - - - - - 5 - - - - - 239 - - - - - 23 - - - - - 295 - - - - - - - - 296 - - - - - - - - - 297 - - - - - 298 - - - - - 371 - - - - - - - - - 372 - - - - - - - - - - - - - - - 420 - - - - - 490 - - - - - - - - 491 - - - - - - - - 492 - - - - - 494 - - - - - 536 - - - - - - - - 537 - - - - - 538 - - - - - - - - - - 539 - - - - - - - - 540 - - - - - 542 - - - - - 543 - - - - - - - - 546 - - - - - 547 - - - - - - - - 548 - - - - - 549 - - - - - - - - 550 - - - - - 555 - - - - - - - - 556 - - - - - 557 - - - - - - - - 558 - - - - - 559 - - - - - - - - 560 - - - - - 561 - - - - - - - - 562 - - - - - 573 - - - - - 610 - - - - - - - - - - - - - - - - - - - 614 - - - - - 615 - - - - - 616 - - - - - 617 - - - - - 619 - - - - - 620 - - - - - 621 - - - - - 622 - - - - - 623 - - - - - 630 - - - - - 636 - - - - - 217 - - - - - - - - 205 - - - - - - - - - - - - - - - 215 - - - - - 206 - - - - - 197 - - - - - 203 - - - - - 199 - - - - - 207 - - - - - 198 - - - - - 202 - - - - - 638 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - {{380, 496}, {480, 360}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 640 - - - - - AppDelegate - NSObject - - id - id - NSSegmentedControl - NSSegmentedControl - NSSegmentedControl - NSSegmentedControl - id - id - id - id - id - id - - - - copy: - id - - - onCopy: - id - - - onFooterAlignment: - NSSegmentedControl - - - onFooterSize: - NSSegmentedControl - - - onHeaderAlignment: - NSSegmentedControl - - - onHeaderSize: - NSSegmentedControl - - - onImgur: - id - - - onOpen: - id - - - onReddit: - id - - - onReset: - id - - - onSave: - id - - - onWebsite: - id - - - - NSTextField - NSSegmentedControl - NSTextField - NSSegmentedControl - NSImageView - NSTableView - NSWindow - - - - footer - NSTextField - - - footerAlignment - NSSegmentedControl - - - header - NSTextField - - - headerAlignment - NSSegmentedControl - - - imageView - NSImageView - - - tableView - NSTableView - - - window - NSWindow - - - - IBProjectSource - ./Classes/AppDelegate.h - - - - TableViewController - NSObject - - AppDelegate - NSTableView - - - - appDelegate - AppDelegate - - - tableView - NSTableView - - - - IBProjectSource - ./Classes/TableViewController.h - - - - - 0 - IBCocoaFramework - YES - 3 - - {11, 11} - {10, 3} - {32, 32} - {16, 16} - {16, 16} - {16, 16} - {102.40000000000001, 102.40000000000001} - {32, 32} - {32.395949255088134, 32.395949255088134} - {8, 8} - {102.40000000000001, 102.40000000000001} - {102.40000000000001, 102.40000000000001} - {8, 8} - {102.40000000000001, 102.40000000000001} - {32, 32} - {102.40000000000001, 102.40000000000001} - {500, 500} - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ad056b795c4b0ffd457348bc799818ff1ccd926e Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 20:32:17 -0500 Subject: [PATCH 5/7] Copy to filteredItems only once in init (faster) --- iMeme/TableViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iMeme/TableViewController.m b/iMeme/TableViewController.m index 9794c6c..40620ef 100644 --- a/iMeme/TableViewController.m +++ b/iMeme/TableViewController.m @@ -25,8 +25,8 @@ - (id)init { NSString* name = [path stringByReplacingOccurrencesOfString:@"-" withString:@" "]; path = [[NSBundle mainBundle] pathForImageResource:path]; [allItems addObject:[[Template alloc] initWithName:name path:path]]; - filteredItems = allItems.copy; } + filteredItems = allItems.copy; } return self; } From 9f82843d57cecf7651905e3848428d9c8ace606e Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 20:44:29 -0500 Subject: [PATCH 6/7] Fixes travis complaining about older xcode version --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 18d5cda..7d4eb0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,6 @@ os: osx +osx_image: xcode9.1 + language: objective-c xcode_project: iMeme.xcodeproj From b4f8a522c5421f87b3b44c519da2da982d873a5f Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Mon, 27 Nov 2017 22:38:18 -0500 Subject: [PATCH 7/7] Fixes prevents 'ERROR: Unexpected action: build' :dancer: --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 7d4eb0a..5d56cd1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,3 +5,9 @@ language: objective-c xcode_project: iMeme.xcodeproj xcode_scheme: iMeme + +# https://stackoverflow.com/questions/41786984/error-unexpected-action-build-when-building-a-project-with-swift-3-and-cocoa +# prevents 'ERROR: Unexpected action: build' +script: + - xcodebuild clean build -sdk iphonesimulator -workspace Project.xcworkspace -scheme ProjectTests CODE_SIGNING_REQUIRED=NO +