From b1798d42eff00cad26e0b63f8f9eb39c035d93af Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 22 Apr 2013 15:52:05 -0400 Subject: [PATCH 001/170] switch to MIT license --- BButton.podspec | 6 +++--- LICENSE.txt | 20 +++++++------------- README.md | 19 ++++++------------- 3 files changed, 16 insertions(+), 29 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index e2e39d5..d4285f5 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "BButton" - s.version = "2.0.0" + s.version = "2.0.1" s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap 2.3.1 buttons." s.homepage = "https://github.com/jessesquires/BButton" s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png", "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png" - s.license = 'BSD' + s.license = 'MIT' s.author = { "Jesse Squires" => "jesse.d.squires@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.0.0' } + s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.0.1' } s.platform = :ios, '5.0' s.source_files = 'BButton' s.public_header_files = 'BButton' diff --git a/LICENSE.txt b/LICENSE.txt index 47404dc..63ed429 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,22 +1,16 @@ -Edited by Jesse Squires -http://www.hexedbits.com - - - BButton ------- -BSD 3-Clause License +MIT License + Copyright (c) 2012, Mathieu Bolard. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +Refactored by Jesse Squires, April 2013. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Neither the name of Mathieu Bolard, mattlawer nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Mathieu Bolard BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 7cef54b..789a079 100644 --- a/README.md +++ b/README.md @@ -66,24 +66,17 @@ Initialize with any of the following methods: *[Contact me](mailto:jesse.d.squires@gmail.com) to have your app listed here.* -##[BButton](https://github.com/mattlawer/BButton) License +## [MIT License](http://opensource.org/licenses/MIT) -Edited and refactored by Jesse Squires, April 2013. +Copyright © 2012, Mathieu Bolard. All rights reserved. -[BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause) +Refactored by Jesse Squires, April 2013. -Copyright (c) 2012, Mathieu Bolard -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Neither the name of Mathieu Bolard, mattlawer nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Mathieu Bolard BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ##[FontAwesome](https://github.com/FortAwesome/Font-Awesome) License From 5a9a40f823505cf7446c550a21e47bf8cf2f20b7 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 19 May 2013 23:13:26 -0300 Subject: [PATCH 002/170] Update README.md --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 789a079..ce2cf18 100644 --- a/README.md +++ b/README.md @@ -29,16 +29,12 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa * `#import "BButton.h"` * Add `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` - - ## How To Use ### With Storyboards Create a `UIButton` and change its class to `BButton` - - ### Create programmatically Initialize with any of the following methods: @@ -87,4 +83,4 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png -[img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png \ No newline at end of file +[img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png From e311308a717d1822b8fb91efc95270f2f274235a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 19 May 2013 22:17:26 -0400 Subject: [PATCH 003/170] readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index ce2cf18..9ea74e7 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,8 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa * `#import "BButton.h"` * Add `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` +![plist][img3] + ## How To Use ### With Storyboards @@ -84,3 +86,4 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png +[img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png From 7ae944b560c21680609ec87eb805bcc4f09370ef Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 19 May 2013 22:17:38 -0400 Subject: [PATCH 004/170] sreenshots --- Screenshots/plist.png | Bin 0 -> 17219 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Screenshots/plist.png diff --git a/Screenshots/plist.png b/Screenshots/plist.png new file mode 100644 index 0000000000000000000000000000000000000000..6a5221267bae4ad7011bda2f2758ca05fd8caf6d GIT binary patch literal 17219 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 Date: Mon, 20 May 2013 11:39:20 -0300 Subject: [PATCH 005/170] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9ea74e7..3a3e37f 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,8 @@ Initialize with any of the following methods: ## Apps Using This Control +[Gitty for GitHub](https://itunes.apple.com/us/app/gitty-for-github/id645696309?mt=8) + [Hemoglobe](http://bit.ly/hemoglobeapp) [iPaint uPaint](http://bit.ly/ipupappstr) From 40f05cd4b8f8836b7e453f384ac2d28014c8ddde Mon Sep 17 00:00:00 2001 From: Roland Rabien Date: Wed, 19 Jun 2013 10:10:27 -0700 Subject: [PATCH 006/170] Fix addAwesomeIcon:beforeTitle: when title is nil If button title is nil, calling addAwesomeIcon:beforeTitle: would make button title appear as ' (null)' --- BButton/BButton.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 351827e..97d71ee 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -217,7 +217,7 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before NSString *title = [NSString stringWithFormat:@"%@", iconString]; - if(![self.titleLabel.text isEmpty]) { + if(self.titleLabel.text && ![self.titleLabel.text isEmpty]) { if(before) title = [title stringByAppendingFormat:@" %@", self.titleLabel.text]; else From 9952870bb48b5ce2fe1045a55b7aa2b4722bb4a8 Mon Sep 17 00:00:00 2001 From: Roland Rabien Date: Wed, 19 Jun 2013 10:32:11 -0700 Subject: [PATCH 007/170] Respect font size set in xib Respect font size set in xib --- BButton/BButton.m | 1 - 1 file changed, 1 deletion(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 97d71ee..6d29fd1 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -61,7 +61,6 @@ - (void)setup { self.backgroundColor = [UIColor clearColor]; self.titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f); - self.titleLabel.font = [UIFont boldSystemFontOfSize:17.0f]; self.shouldShowDisabled = NO; [self setType:BButtonTypeDefault]; } From d7eda394f2f170ef85c788c1b9a882484edd3629 Mon Sep 17 00:00:00 2001 From: Roland Rabien Date: Wed, 19 Jun 2013 13:11:28 -0700 Subject: [PATCH 008/170] Re-adding setting default font Default font should be set in calls to initWithFrame but not initWithCoder so that font size set in .xib is respected. --- BButton/BButton.m | 1 + 1 file changed, 1 insertion(+) diff --git a/BButton/BButton.m b/BButton/BButton.m index 6d29fd1..7cee1eb 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -103,6 +103,7 @@ - (id)initWithFrame:(CGRect)frame self = [super initWithFrame:frame]; if(self) { [self setup]; + self.titleLabel.font = [UIFont boldSystemFontOfSize:17.0f]; } return self; } From a5f9b6771d92a80ff18ddce1ec9d4631f60ba9fe Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 8 Jul 2013 22:17:43 -0400 Subject: [PATCH 009/170] tweaked demo project --- BButtonDemo/ViewController.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 6c17a41..bb431e0 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -47,12 +47,19 @@ - (void)viewDidLoad btn.frame = CGRectMake(frame.origin.x, frame.origin.y, btn.frame.size.width, btn.frame.size.width); } + [btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:btn]; } } } #pragma mark - Utilities +- (void)buttonPressed:(UIButton *)sender +{ + NSLog(@"Good jorb, you pressed a button: %@", sender.titleLabel.text); +} + - (NSString *)titleForType:(BButtonType)type { NSString *title = nil; From d403ab7b275726608a76160703afd0b4933b834c Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 8 Jul 2013 22:22:09 -0400 Subject: [PATCH 010/170] fixed memory leak with gradient. whoo! --- BButton/BButton.m | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 7cee1eb..81f2b54 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -40,11 +40,8 @@ @interface BButton () -@property (assign, nonatomic) CGGradientRef gradient; - - (void)setup; + (UIColor *)colorForButtonType:(BButtonType)type; -- (void)setGradientEnabled:(BOOL)enabled; @end @@ -53,7 +50,6 @@ - (void)setGradientEnabled:(BOOL)enabled; @implementation BButton @synthesize color; -@synthesize gradient; @synthesize shouldShowDisabled; #pragma mark - Initialization @@ -150,10 +146,6 @@ - (void)setHighlighted:(BOOL)highlighted - (void)setEnabled:(BOOL)enabled { [super setEnabled:enabled]; - - if(self.shouldShowDisabled) - [self setGradientEnabled:enabled]; - [self setNeedsDisplay]; } @@ -177,11 +169,6 @@ - (void)setColor:(UIColor *)newColor [self setTitleColor:[UIColor colorWithWhite:1.0f alpha:0.5f] forState:UIControlStateDisabled]; } - if(self.shouldShowDisabled) - [self setGradientEnabled:self.enabled]; - else - [self setGradientEnabled:YES]; - [self setNeedsDisplay]; } @@ -292,11 +279,23 @@ - (void)drawRect:(CGRect)rect [roundedRectanglePath addClip]; + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + UIColor *topColor = (self.shouldShowDisabled && !self.enabled) ? [self.color darkenColorWithValue:0.12f] : [self.color lightenColorWithValue:0.12f]; + + NSArray *newGradientColors = [NSArray arrayWithObjects:(id)topColor.CGColor, (id)self.color.CGColor, nil]; + CGFloat newGradientLocations[] = {0.0f, 1.0f}; + + CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)newGradientColors, newGradientLocations); + + CGColorSpaceRelease(colorSpace); + CGContextDrawLinearGradient(context, - self.gradient, + gradient, CGPointMake(0.0f, self.highlighted ? rect.size.height - 0.5f : 0.5f), CGPointMake(0.0f, self.highlighted ? 0.5f : rect.size.height - 0.5f), 0.0f); + CGGradientRelease(gradient); + CGContextRestoreGState(context); if(!self.highlighted) { @@ -332,16 +331,4 @@ - (void)drawRect:(CGRect)rect [roundedRectanglePath stroke]; } -- (void)setGradientEnabled:(BOOL)enabled -{ - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - UIColor *topColor = enabled ? [self.color lightenColorWithValue:0.12f] : [self.color darkenColorWithValue:0.12f]; - - NSArray *newGradientColors = [NSArray arrayWithObjects:(id)topColor.CGColor, (id)self.color.CGColor, nil]; - CGFloat newGradientLocations[] = {0.0f, 1.0f}; - - gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)newGradientColors, newGradientLocations); - CGColorSpaceRelease(colorSpace); -} - @end \ No newline at end of file From e0090e3c89418507c0e9a3b8eeee18915e42bd59 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 8 Jul 2013 22:23:48 -0400 Subject: [PATCH 011/170] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3a3e37f..82b42ba 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #BButton 2.0 -BButton is a subclass of UIButton that looks like the [Twitter Bootstrap 2.3.1](http://twitter.github.com/bootstrap) buttons. +BButton is a subclass of UIButton that looks like the [Twitter Bootstrap 2.3](http://twitter.github.com/bootstrap) buttons. Forked from [@mattlawer / BButton](https://github.com/mattlawer/BButton) and refactored for more awesome. From c176c598fa8d48df32b05603651184a5e79ef39d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 8 Jul 2013 22:24:48 -0400 Subject: [PATCH 012/170] pod spec update --- BButton.podspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index d4285f5..a2b59b5 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "BButton" - s.version = "2.0.1" - s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap 2.3.1 buttons." + s.version = "2.0.2" + s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap 2.3 buttons." s.homepage = "https://github.com/jessesquires/BButton" s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png", "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png" s.license = 'MIT' s.author = { "Jesse Squires" => "jesse.d.squires@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.0.1' } + s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.0.2' } s.platform = :ios, '5.0' s.source_files = 'BButton' s.public_header_files = 'BButton' From 14028a5a860b5be488ba46d5e5ed8d0e52194ea9 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 8 Jul 2013 22:26:58 -0400 Subject: [PATCH 013/170] version numbers --- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 65916c5..8c11792 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.0 + 2.0.2 CFBundleSignature ???? CFBundleVersion - 2.0 + 2.0.2 LSRequiresIPhoneOS UIAppFonts From 25c6c45dd6b5c7f59b6ddc8057091f4158c33abc Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 8 Jul 2013 22:54:31 -0400 Subject: [PATCH 014/170] fixed comment header license info (BSD --> MIT) --- BButton/BButton.h | 20 ++------------------ BButton/BButton.m | 20 ++------------------ BButton/UIColor+BButton.h | 24 ++++-------------------- BButton/UIColor+BButton.m | 20 ++------------------ 4 files changed, 10 insertions(+), 74 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index 55c9671..4dc901d 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -6,26 +6,10 @@ // // https://github.com/mattlawer/BButton // -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: // -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT // -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Mathieu Bolard, mattlawer nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL Mathieu Bolard BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // ----------------------------------------- // Edited and refactored by Jesse Squires on 2 April, 2013. diff --git a/BButton/BButton.m b/BButton/BButton.m index 81f2b54..f3aa33b 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -6,26 +6,10 @@ // // https://github.com/mattlawer/BButton // -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: // -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT // -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Mathieu Bolard, mattlawer nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL Mathieu Bolard BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // ----------------------------------------- // Edited and refactored by Jesse Squires on 2 April, 2013. diff --git a/BButton/UIColor+BButton.h b/BButton/UIColor+BButton.h index 3b87b51..b38e1c2 100644 --- a/BButton/UIColor+BButton.h +++ b/BButton/UIColor+BButton.h @@ -6,26 +6,10 @@ // // https://github.com/mattlawer/BButton // -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Mathieu Bolard, mattlawer nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL Mathieu Bolard BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT +// // // ----------------------------------------- // Edited and refactored by Jesse Squires on 2 April, 2013. diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index 7ae8685..e999588 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -6,26 +6,10 @@ // // https://github.com/mattlawer/BButton // -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: // -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT // -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Mathieu Bolard, mattlawer nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL Mathieu Bolard BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // ----------------------------------------- // Edited and refactored by Jesse Squires on 2 April, 2013. From ca1af87297ce3d0b4e45ae79b12c4accbc2ea903 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 22 Jul 2013 17:54:26 -0400 Subject: [PATCH 015/170] Updated to Font Awesome 3.1.1 --- BButton/NSString+FontAwesome.h | 94 ++++- BButton/NSString+FontAwesome.m | 3 +- BButton/resources/FontAwesome.ttf | Bin 60296 -> 64960 bytes FontAwesomeIcons.html | 579 ++++++++++++++++++------------ 4 files changed, 439 insertions(+), 237 deletions(-) mode change 100644 => 100755 BButton/resources/FontAwesome.ttf diff --git a/BButton/NSString+FontAwesome.h b/BButton/NSString+FontAwesome.h index fa0b7a0..8f50c62 100644 --- a/BButton/NSString+FontAwesome.h +++ b/BButton/NSString+FontAwesome.h @@ -2,6 +2,7 @@ // NSString+FontAwesome.h // // Created by Pit Garbe on 27.09.12. +// Updated to Font Awesome 3.1.1 on 17.05.2013. // Copyright (c) 2012 Pit Garbe. All rights reserved. // // https://github.com/leberwurstsaft/FontAwesome-for-iOS @@ -243,7 +244,98 @@ typedef enum { FAIconSitemap, FAIconUmbrella, FAIconPaste, - FAIconUserMd + FAIconLightBulb, + FAIconExchange, + FAIconCloudDownload, + FAIconCloudUpload, + FAIconUserMd, + FAIconStethoscope, + FAIconSuitecase, + FAIconBellAlt, + FAIconCoffee, + FAIconFood, + FAIconFileAlt, + FAIconBuilding, + FAIconHospital, + FAIconAmbulance, + FAIconMedkit, + FAIconFighterJet, + FAIconBeer, + FAIconHSign, + FAIconPlusSignAlt, + FAIconDoubleAngleLeft, + FAIconDoubleAngleRight, + FAIconDoubleAngleUp, + FAIconDoubleAngleDown, + FAIconAngleLeft, + FAIconAngleRight, + FAIconAngleUp, + FAIconAngleDown, + FAIconDesktop, + FAIconLaptop, + FAIconTablet, + FAIconMobilePhone, + FAIconCircleBlank, + FAIconQuoteLeft, + FAIconQuoteRight, + FAIconSpinner, + FAIconCircle, + FAIconReply, + FAIconFolderCloseAlt, + FAIconFolderOpenAlt, + FAIconExpandAlt, + FAIconCollapseAlt, + FAIconSmile, + FAIconFrown, + FAIconMeh, + FAIconGamepad, + FAIconKeyboard, + FAIconFlagAlt, + FAIconFlagCheckered, + FAIconTerminal, + FAIconCode, + FAIconReplyAll, + FAIconStarHalfAlt, + FAIconLocationArrow, + FAIconCrop, + FAIconCodeFork, + FAIconUnlink, + FAIconQuestion, + FAIconInfo, + FAIconExclamation, + FAIconSuperscript, + FAIconSubscript, + FAIconEraser, + FAIconPuzzlePiece, + FAIconMicrophone, + FAIconMicrophoneOff, + FAIconShield, + FAIconCalendarEmpty, + FAIconFireExtinguisher, + FAIconRocket, + FAIconMaxCDN, + FAIconChevronSignLeft, + FAIconChevronSignRight, + FAIconChevronSignUp, + FAIconChevronSignDown, + FAIconHTML5, + FAIconCSS3, + FAIconFAIconAnchor, + FAIconUnlockAlt, + FAIconBullseye, + FAIconEllipsisHorizontal, + FAIconEllipsisVertical, + FAIconRSS, + FAIconPlaySign, + FAIconTicket, + FAIconMinusSignAlt, + FAIconCheckMinus, + FAIconLevelUp, + FAIconLevelDown, + FAIconCheckSign, + FAIconEditSign, + FAIconExternalLinkSign, + FAIconShareSign } FAIcon; diff --git a/BButton/NSString+FontAwesome.m b/BButton/NSString+FontAwesome.m index 4474d63..20202b9 100644 --- a/BButton/NSString+FontAwesome.m +++ b/BButton/NSString+FontAwesome.m @@ -2,6 +2,7 @@ // NSString+FontAwesome.m // // Created by Pit Garbe on 27.09.12. +// Updated to Font Awesome 3.1.1 on 17.05.2013. // Copyright (c) 2012 Pit Garbe. All rights reserved. // // https://github.com/leberwurstsaft/FontAwesome-for-iOS @@ -41,7 +42,7 @@ @implementation NSString (FontAwesome) + (NSString *)stringFromAwesomeIcon:(FAIcon)icon { if(!awesomeStrings) { - awesomeStrings = [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; + awesomeStrings = [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; } return [awesomeStrings objectAtIndex:icon]; diff --git a/BButton/resources/FontAwesome.ttf b/BButton/resources/FontAwesome.ttf old mode 100644 new mode 100755 index 073abe079f0aa99e44cf204308284315cbc19f2a..7e5ff642d45dd8dedcb750392b76159a1489cced GIT binary patch delta 17696 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 Gg8vVM9OYX8 delta 13328 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 MgpX%7zrIQQKM>8j;Q#;t diff --git a/FontAwesomeIcons.html b/FontAwesomeIcons.html index b9b0f98..cbddccd 100644 --- a/FontAwesomeIcons.html +++ b/FontAwesomeIcons.html @@ -1,237 +1,346 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FAIconGlass
FAIconMusic
FAIconSearch
FAIconEnvelope
FAIconHeart
FAIconStar
FAIconStarEmpty
FAIconUser
FAIconFilm
FAIconThLarge
FAIconTh
FAIconThList
FAIconOk
FAIconRemove
FAIconZoomIn
FAIconZoomOut
FAIconOff
FAIconSignal
FAIconCog
FAIconTrash
FAIconHome
FAIconFile
FAIconTime
FAIconRoad
FAIconDownloadAlt
FAIconDownload
FAIconUpload
FAIconInbox
FAIconPlayCircle
FAIconRepeat
FAIconRefresh
FAIconListAlt
FAIconLock
FAIconFlag
FAIconHeadphones
FAIconVolumeOff
FAIconVolumeDown
FAIconVolumeUp
FAIconQrcode
FAIconBarcode
FAIconTag
FAIconTags
FAIconBook
FAIconBookmark
FAIconPrint
FAIconCamera
FAIconFont
FAIconBold
FAIconItalic
FAIconTextHeight
FAIconTextWidth
FAIconAlignLeft
FAIconAlignCenter
FAIconAlignRight
FAIconAlignJustify
FAIconList
FAIconIndentLeft
FAIconIndentRight
FAIconFacetimeVideo
FAIconPicture
FAIconPencil
FAIconMapMarker
FAIconAdjust
FAIconTint
FAIconEdit
FAIconShare
FAIconCheck
FAIconMove
FAIconStepBackward
FAIconFastBackward
FAIconBackward
FAIconPlay
FAIconPause
FAIconStop
FAIconForward
FAIconFastForward
FAIconStepForward
FAIconEject
FAIconChevronLeft
FAIconChevronRight
FAIconPlusSign
FAIconMinusSign
FAIconRemoveSign
FAIconOkSign
FAIconQuestionSign
FAIconInfoSign
FAIconScreenshot
FAIconRemoveCircle
FAIconOkCircle
FAIconBanCircle
FAIconArrowLeft
FAIconArrowRight
FAIconArrowUp
FAIconArrowDown
FAIconShareAlt
FAIconResizeFull
FAIconResizeSmall
FAIconPlus
FAIconMinus
FAIconAsterisk
FAIconExclamationSign
FAIconGift
FAIconLeaf
FAIconFire
FAIconEyeOpen
FAIconEyeClose
FAIconWarningSign
FAIconPlane
FAIconCalendar
FAIconRandom
FAIconComment
FAIconMagnet
FAIconChevronUp
FAIconChevronDown
FAIconRetweet
FAIconShoppingCart
FAIconFolderClose
FAIconFolderOpen
FAIconResizeVertical
FAIconResizeHorizontal
FAIconBarChart
FAIconTwitterSign
FAIconFacebookSign
FAIconCameraRetro
FAIconKey
FAIconCogs
FAIconComments
FAIconThumbsUp
FAIconThumbsDown
FAIconStarHalf
FAIconHeartEmpty
FAIconSignout
FAIconLinkedinSign
FAIconPushpin
FAIconExternalLink
FAIconSignin
FAIconTrophy
FAIconGithubSign
FAIconUploadAlt
FAIconLemon
FAIconPhone
FAIconCheckEmpty
FAIconBookmarkEmpty
FAIconPhoneSign
FAIconTwitter
FAIconFacebook
FAIconGithub
FAIconUnlock
FAIconCreditCard
FAIconRss
FAIconHdd
FAIconBullhorn
FAIconBell
FAIconCertificate
FAIconHandRight
FAIconHandLeft
FAIconHandUp
FAIconHandDown
FAIconCircleArrowLeft
FAIconCircleArrowRight
FAIconCircleArrowUp
FAIconCircleArrowDown
FAIconGlobe
FAIconWrench
FAIconTasks
FAIconFilter
FAIconBriefcase
FAIconFullscreen
FAIconGroup
FAIconLink
FAIconCloud
FAIconBeaker
FAIconCut
FAIconCopy
FAIconPaperClip
FAIconSave
FAIconSignBlank
FAIconReorder
FAIconListUl
FAIconListOl
FAIconStrikethrough
FAIconUnderline
FAIconTable
FAIconMagic
FAIconTruck
FAIconPinterest
FAIconPinterestSign
FAIconGooglePlusSign
FAIconGooglePlus
FAIconMoney
FAIconCaretDown
FAIconCaretUp
FAIconCaretLeft
FAIconCaretRight
FAIconColumns
FAIconSort
FAIconSortDown
FAIconSortUp
FAIconEnvelopeAlt
FAIconLinkedin
FAIconUndo
FAIconLegal
FAIconDashboard
FAIconCommentAlt
FAIconCommentsAlt
FAIconBolt
FAIconSitemap
FAIconUmbrella
FAIconPaste
FAIconUserMd
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameIcon (3.1.1)Icon (old)
FAIconGlass
FAIconMusic
FAIconSearch
FAIconEnvelope
FAIconHeart
FAIconStar
FAIconStarEmpty
FAIconUser
FAIconFilm
FAIconThLarge
FAIconTh
FAIconThList
FAIconOk
FAIconRemove
FAIconZoomIn
FAIconZoomOut
FAIconOff
FAIconSignal
FAIconCog
FAIconTrash
FAIconHome
FAIconFile
FAIconTime
FAIconRoad
FAIconDownloadAlt
FAIconDownload
FAIconUpload
FAIconInbox
FAIconPlayCircle
FAIconRepeat
FAIconRefresh
FAIconListAlt
FAIconLock
FAIconFlag
FAIconHeadphones
FAIconVolumeOff
FAIconVolumeDown
FAIconVolumeUp
FAIconQrcode
FAIconBarcode
FAIconTag
FAIconTags
FAIconBook
FAIconBookmark
FAIconPrint
FAIconCamera
FAIconFont
FAIconBold
FAIconItalic
FAIconTextHeight
FAIconTextWidth
FAIconAlignLeft
FAIconAlignCenter
FAIconAlignRight
FAIconAlignJustify
FAIconList
FAIconIndentLeft
FAIconIndentRight
FAIconFacetimeVideo
FAIconPicture
FAIconPencil
FAIconMapMarker
FAIconAdjust
FAIconTint
FAIconEdit
FAIconShare
FAIconCheck
FAIconMove
FAIconStepBackward
FAIconFastBackward
FAIconBackward
FAIconPlay
FAIconPause
FAIconStop
FAIconForward
FAIconFastForward
FAIconStepForward
FAIconEject
FAIconChevronLeft
FAIconChevronRight
FAIconPlusSign
FAIconMinusSign
FAIconRemoveSign
FAIconOkSign
FAIconQuestionSign
FAIconInfoSign
FAIconScreenshot
FAIconRemoveCircle
FAIconOkCircle
FAIconBanCircle
FAIconArrowLeft
FAIconArrowRight
FAIconArrowUp
FAIconArrowDown
FAIconShareAlt
FAIconResizeFull
FAIconResizeSmall
FAIconPlus
FAIconMinus
FAIconAsterisk
FAIconExclamationSign
FAIconGift
FAIconLeaf
FAIconFire
FAIconEyeOpen
FAIconEyeClose
FAIconWarningSign
FAIconPlane
FAIconCalendar
FAIconRandom
FAIconComment
FAIconMagnet
FAIconChevronUp
FAIconChevronDown
FAIconRetweet
FAIconShoppingCart
FAIconFolderClose
FAIconFolderOpen
FAIconResizeVertical
FAIconResizeHorizontal
FAIconBarChart
FAIconTwitterSign
FAIconFacebookSign
FAIconCameraRetro
FAIconKey
FAIconCogs
FAIconComments
FAIconThumbsUp
FAIconThumbsDown
FAIconStarHalf
FAIconHeartEmpty
FAIconSignout
FAIconLinkedinSign
FAIconPushpin
FAIconExternalLink
FAIconSignin
FAIconTrophy
FAIconGithubSign
FAIconUploadAlt
FAIconLemon
FAIconPhone
FAIconCheckEmpty
FAIconBookmarkEmpty
FAIconPhoneSign
FAIconTwitter
FAIconFacebook
FAIconGithub
FAIconUnlock
FAIconCreditCard
FAIconRss
FAIconHdd
FAIconBullhorn
FAIconBell
FAIconCertificate
FAIconHandRight
FAIconHandLeft
FAIconHandUp
FAIconHandDown
FAIconCircleArrowLeft
FAIconCircleArrowRight
FAIconCircleArrowUp
FAIconCircleArrowDown
FAIconGlobe
FAIconWrench
FAIconTasks
FAIconFilter
FAIconBriefcase
FAIconFullscreen
FAIconGroup
FAIconLink
FAIconCloud
FAIconBeaker
FAIconCut
FAIconCopy
FAIconPaperClip
FAIconSave
FAIconSignBlank
FAIconReorder
FAIconListUl
FAIconListOl
FAIconStrikethrough
FAIconUnderline
FAIconTable
FAIconMagic
FAIconTruck
FAIconPinterest
FAIconPinterestSign
FAIconGooglePlusSign
FAIconGooglePlus
FAIconMoney
FAIconCaretDown
FAIconCaretUp
FAIconCaretLeft
FAIconCaretRight
FAIconColumns
FAIconSort
FAIconSortDown
FAIconSortUp
FAIconEnvelopeAlt
FAIconLinkedin
FAIconUndo
FAIconLegal
FAIconDashboard
FAIconCommentAlt
FAIconCommentsAlt
FAIconBolt
FAIconSitemap
FAIconUmbrella
FAIconPaste
FAIconLightBulb
FAIconExchange
FAIconCloudDownload
FAIconCloudUpload
FAIconUserMd
FAIconStethoscope
FAIconSuitecase
FAIconBellAlt
FAIconCoffee
FAIconFood
FAIconFileAlt
FAIconBuilding
FAIconHospital
FAIconAmbulance
FAIconMedkit
FAIconFighterJet
FAIconBeer
FAIconHSign
FAIconPlusSignAlt
FAIconDoubleAngleLeft
FAIconDoubleAngleRight
FAIconDoubleAngleUp
FAIconDoubleAngleDown
FAIconAngleLeft
FAIconAngleRight
FAIconAngleUp
FAIconAngleDown
FAIconDesktop
FAIconLaptop
FAIconTablet
FAIconMobilePhone
FAIconCircleBlank
FAIconQuoteLeft
FAIconQuoteRight
FAIconSpinner
FAIconCircle
FAIconReply
FAIconFolderCloseAlt
FAIconFolderOpenAlt
FAIconExpandAlt
FAIconCollapseAlt
FAIconSmile
FAIconFrown
FAIconMeh
FAIconGamepad
FAIconKeyboard
FAIconFlagAlt
FAIconFlagCheckered
FAIconTerminal
FAIconCode
FAIconReplyAll
FAIconStarHalf
FAIconLocationArrow
FAIconCrop
FAIconCodeFork
FAIconUnlink
FAIconQuestion
FAIconInfo
FAIconExclamation
FAIconSuperscript
FAIconSubscript
FAIconEraser
FAIconPuzzlePiece
FAIconMicrophone
FAIconMicrophoneOff
FAIconShield
FAIconCalendarEmpty
FAIconFireExtinguisher
FAIconRocket
FAIconMaxCDN
FAIconChevronSignLeft
FAIconChevronSignRight
FAIconChevronSignUp
FAIconChevronSignDown
FAIconHTML5
FAIconCSS3
FAIconFAIconAnchor
FAIconUnlockAlt
FAIconBullseye
FAIconEllipsisHorizontal
FAIconEllipsisVertical
FAIconRSS
FAIconPlaySign
FAIconTicket
FAIconMinusSignAlt
FAIconCheckMinus
FAIconLevelUp
FAIconLevelDown
FAIconCheckSign
FAIconEditSign
FAIconExternalLink
FAIconShareSign
+ + \ No newline at end of file From 58b956d832f2781408479cc018dfd3e8f2790ddc Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 22 Jul 2013 17:55:47 -0400 Subject: [PATCH 016/170] better trimWhitespace method --- BButton/NSString+FontAwesome.m | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/BButton/NSString+FontAwesome.m b/BButton/NSString+FontAwesome.m index 20202b9..2e56930 100644 --- a/BButton/NSString+FontAwesome.m +++ b/BButton/NSString+FontAwesome.m @@ -50,9 +50,7 @@ + (NSString *)stringFromAwesomeIcon:(FAIcon)icon - (NSString *)trimWhitespace { - NSMutableString *str = [self mutableCopy]; - CFStringTrimWhitespace((__bridge CFMutableStringRef)str); - return str; + return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];; } - (BOOL)isEmpty From 2128186d0873e9e546d3f873205b9e208ce53736 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 22 Jul 2013 17:59:31 -0400 Subject: [PATCH 017/170] updated v2.1 --- BButton.podspec | 4 ++-- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index a2b59b5..29d5b1d 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "BButton" - s.version = "2.0.2" + s.version = "2.1" s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap 2.3 buttons." s.homepage = "https://github.com/jessesquires/BButton" s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png", "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png" s.license = 'MIT' s.author = { "Jesse Squires" => "jesse.d.squires@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.0.2' } + s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.1' } s.platform = :ios, '5.0' s.source_files = 'BButton' s.public_header_files = 'BButton' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 8c11792..0ad6280 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.0.2 + 2.1 CFBundleSignature ???? CFBundleVersion - 2.0.2 + 2.1 LSRequiresIPhoneOS UIAppFonts From 7f6445784bef76d0b076741f5e7fda13636c68ad Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 25 Jul 2013 12:34:14 -0400 Subject: [PATCH 018/170] commit --- BButton/NSString+FontAwesome.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BButton/NSString+FontAwesome.m b/BButton/NSString+FontAwesome.m index 2e56930..c543de5 100644 --- a/BButton/NSString+FontAwesome.m +++ b/BButton/NSString+FontAwesome.m @@ -50,7 +50,7 @@ + (NSString *)stringFromAwesomeIcon:(FAIcon)icon - (NSString *)trimWhitespace { - return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];; + return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; } - (BOOL)isEmpty From 4ba6029f23e745d10408dba36c1f8266d2a91c07 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 5 Aug 2013 11:20:55 +0200 Subject: [PATCH 019/170] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 82b42ba..d209aee 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,9 @@ Initialize with any of the following methods: [iPaint uPaint](http://bit.ly/ipupappstr) -[Audiotrip](https://itunes.apple.com/us/app/audiotrip/id569634193?mt=8&ign-mpt=uo%3D4) +[Audiotrip](https://itunes.apple.com/us/app/audiotrip/id569634193?mt=8) + +[iExplorer for DeviantART](https://itunes.apple.com/us/app/iexplorer-for-deviantart/id657212778?mt=8) *[Contact me](mailto:jesse.d.squires@gmail.com) to have your app listed here.* From 88ab318225249fda4da16a561d9dc8db1ca8dc05 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 14:45:21 -0400 Subject: [PATCH 020/170] refactor for new buttonStyle property. --- BButton/BButton.h | 34 +++++++++-- BButton/BButton.m | 114 +++++++++++++++++++++++------------ BButtonDemo/ViewController.m | 5 +- 3 files changed, 106 insertions(+), 47 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index 4dc901d..e271e47 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -23,6 +23,13 @@ #import "UIColor+BButton.h" #import "NSString+FontAwesome.h" + +typedef enum { + BButtonStyleBootstrapV2 = 0, + BButtonStyleBootstrapV3 +} BButtonStyle; + + typedef enum { BButtonTypeDefault = 0, BButtonTypePrimary, @@ -44,14 +51,29 @@ typedef enum { @property (assign, nonatomic) BOOL shouldShowDisabled; #pragma mark - Initialization -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type; -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type icon:(FAIcon)icon fontSize:(CGFloat)fontSize; +- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle; + +- (id)initWithFrame:(CGRect)frame + type:(BButtonType)type + style:(BButtonStyle)aStyle + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize; + +- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aStyle; + +- (id)initWithFrame:(CGRect)frame + color:(UIColor *)aColor + style:(BButtonStyle)aStyle + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize; -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor; -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor icon:(FAIcon)icon fontSize:(CGFloat)fontSize; ++ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon + type:(BButtonType)type + style:(BButtonStyle)aStyle; -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon type:(BButtonType)type; -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon color:(UIColor *)color; ++ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon + color:(UIColor *)color + style:(BButtonStyle)aStyle; #pragma mark - BButton - (void)setType:(BButtonType)type; diff --git a/BButton/BButton.m b/BButton/BButton.m index f3aa33b..787fae0 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -24,8 +24,13 @@ @interface BButton () +@property (assign, nonatomic) BButtonStyle style; + - (void)setup; -+ (UIColor *)colorForButtonType:(BButtonType)type; + ++ (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; ++ (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; ++ (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; @end @@ -42,34 +47,47 @@ - (void)setup self.backgroundColor = [UIColor clearColor]; self.titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f); self.shouldShowDisabled = NO; + self.style = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; } -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type +- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle { - return [self initWithFrame:frame color:[BButton colorForButtonType:type]]; + return [self initWithFrame:frame + color:[BButton colorForButtonType:type style:aStyle] + style:aStyle]; } -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type icon:(FAIcon)icon fontSize:(CGFloat)fontSize +- (id)initWithFrame:(CGRect)frame + type:(BButtonType)type + style:(BButtonStyle)aStyle + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize { return [self initWithFrame:frame - color:[BButton colorForButtonType:type] + color:[BButton colorForButtonType:type style:aStyle] + style:aStyle icon:icon fontSize:fontSize]; } -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor +- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aStyle { self = [self initWithFrame:frame]; if(self) { self.color = aColor; + self.style = aStyle; } return self; } -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor icon:(FAIcon)icon fontSize:(CGFloat)fontSize +- (id)initWithFrame:(CGRect)frame + color:(UIColor *)aColor + style:(BButtonStyle)aStyle + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize { - self = [self initWithFrame:frame color:aColor]; + self = [self initWithFrame:frame color:aColor style:aStyle]; if(self) { self.titleLabel.font = [UIFont fontWithName:@"FontAwesome" size:fontSize]; self.titleLabel.textAlignment = NSTextAlignmentCenter; @@ -106,16 +124,23 @@ - (id)init return self; } -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon type:(BButtonType)type +#pragma mark - Class initialization ++ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon + type:(BButtonType)type + style:(BButtonStyle)aStyle { return [BButton awesomeButtonWithOnlyIcon:icon - color:[BButton colorForButtonType:type]]; + color:[BButton colorForButtonType:type style:aStyle] + style:aStyle]; } -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon color:(UIColor *)color ++ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon + color:(UIColor *)color + style:(BButtonStyle)aStyle { return [[BButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 40.0f) color:color + style:aStyle icon:icon fontSize:20.0f]; } @@ -177,7 +202,7 @@ - (void)setShouldShowDisabled:(BOOL)show #pragma mark - BButton - (void)setType:(BButtonType)type { - self.color = [BButton colorForButtonType:type]; + self.color = [BButton colorForButtonType:type style:self.style]; } - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before @@ -198,48 +223,59 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before [self setTitle:title forState:UIControlStateNormal]; } -+ (UIColor *)colorForButtonType:(BButtonType)type ++ (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style +{ + switch (style) { + case BButtonStyleBootstrapV2: + return [BButton colorForV2StyleButtonWithType:type]; + case BButtonStyleBootstrapV3: + default: + return [BButton colorForV3StyleButtonWithType:type]; + } +} + ++ (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type { - UIColor *newColor = nil; - switch (type) { case BButtonTypePrimary: - newColor = [UIColor colorWithRed:0.00f green:0.33f blue:0.80f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.00f green:0.33f blue:0.80f alpha:1.00f]; + case BButtonTypeInfo: - newColor = [UIColor colorWithRed:0.18f green:0.59f blue:0.71f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.18f green:0.59f blue:0.71f alpha:1.00f]; + case BButtonTypeSuccess: - newColor = [UIColor colorWithRed:0.32f green:0.64f blue:0.32f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.32f green:0.64f blue:0.32f alpha:1.00f]; + case BButtonTypeWarning: - newColor = [UIColor colorWithRed:0.97f green:0.58f blue:0.02f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.97f green:0.58f blue:0.02f alpha:1.00f]; + case BButtonTypeDanger: - newColor = [UIColor colorWithRed:0.74f green:0.21f blue:0.18f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.74f green:0.21f blue:0.18f alpha:1.00f]; + case BButtonTypeInverse: - newColor = [UIColor colorWithRed:0.13f green:0.13f blue:0.13f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.13f green:0.13f blue:0.13f alpha:1.00f]; + case BButtonTypeTwitter: - newColor = [UIColor colorWithRed:0.25f green:0.60f blue:1.00f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.25f green:0.60f blue:1.00f alpha:1.00f]; + case BButtonTypeFacebook: - newColor = [UIColor colorWithRed:0.23f green:0.35f blue:0.60f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.23f green:0.35f blue:0.60f alpha:1.00f]; + case BButtonTypePurple: - newColor = [UIColor colorWithRed:0.45f green:0.30f blue:0.75f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.45f green:0.30f blue:0.75f alpha:1.00f]; + case BButtonTypeGray: - newColor = [UIColor colorWithRed:0.60f green:0.60f blue:0.60f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.60f green:0.60f blue:0.60f alpha:1.00f]; + case BButtonTypeDefault: default: - newColor = [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; - break; + return [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; } - - return newColor; +} + ++ (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type +{ + return nil; // TODO: } #pragma mark - Drawing diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index bb431e0..4026384 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -31,7 +31,7 @@ - (void)viewDidLoad for(int j = 0; j < 7; j++) { CGRect frame = CGRectMake(32.0f + (i * 144.0f), 20.0f + (j * 60.0f), 112.0f, 40.0f); - BButton *btn = [[BButton alloc] initWithFrame:frame type:type]; + BButton *btn = [[BButton alloc] initWithFrame:frame type:type style:BButtonStyleBootstrapV2]; [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; if(type == BButtonTypeFacebook) @@ -42,7 +42,8 @@ - (void)viewDidLoad type++; if(type > BButtonTypeGray) { btn = [BButton awesomeButtonWithOnlyIcon:arc4random() % 209 - type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault]; + type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault + style:BButtonStyleBootstrapV2]; btn.frame = CGRectMake(frame.origin.x, frame.origin.y, btn.frame.size.width, btn.frame.size.width); } From 10175d26f1fa9e25301d3913c29806fc9a9ad7fa Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 14:55:51 -0400 Subject: [PATCH 021/170] refactor custom colors --- BButton/BButton.m | 22 +++++++-------- BButton/UIColor+BButton.h | 15 +++++++++++ BButton/UIColor+BButton.m | 57 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 11 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 787fae0..3ecc5ad 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -238,38 +238,38 @@ + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type { switch (type) { case BButtonTypePrimary: - return [UIColor colorWithRed:0.00f green:0.33f blue:0.80f alpha:1.00f]; + return [UIColor primaryColorV2]; case BButtonTypeInfo: - return [UIColor colorWithRed:0.18f green:0.59f blue:0.71f alpha:1.00f]; + return [UIColor infoColorV2]; case BButtonTypeSuccess: - return [UIColor colorWithRed:0.32f green:0.64f blue:0.32f alpha:1.00f]; + return [UIColor successColorV2]; case BButtonTypeWarning: - return [UIColor colorWithRed:0.97f green:0.58f blue:0.02f alpha:1.00f]; + return [UIColor warningColorV2]; case BButtonTypeDanger: - return [UIColor colorWithRed:0.74f green:0.21f blue:0.18f alpha:1.00f]; + return [UIColor dangerColorV2]; case BButtonTypeInverse: - return [UIColor colorWithRed:0.13f green:0.13f blue:0.13f alpha:1.00f]; + return [UIColor inverseColorV2]; case BButtonTypeTwitter: - return [UIColor colorWithRed:0.25f green:0.60f blue:1.00f alpha:1.00f]; + return [UIColor twitterColor]; case BButtonTypeFacebook: - return [UIColor colorWithRed:0.23f green:0.35f blue:0.60f alpha:1.00f]; + return [UIColor facebookColor]; case BButtonTypePurple: - return [UIColor colorWithRed:0.45f green:0.30f blue:0.75f alpha:1.00f]; + return [UIColor purpleBButtonColor]; case BButtonTypeGray: - return [UIColor colorWithRed:0.60f green:0.60f blue:0.60f alpha:1.00f]; + return [UIColor grayBButtonColor]; case BButtonTypeDefault: default: - return [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; + return [UIColor defaultColorV2]; } } diff --git a/BButton/UIColor+BButton.h b/BButton/UIColor+BButton.h index b38e1c2..fe19955 100644 --- a/BButton/UIColor+BButton.h +++ b/BButton/UIColor+BButton.h @@ -23,6 +23,21 @@ @interface UIColor (BButton) +#pragma mark - Custom colors ++ (UIColor *)defaultColorV2; ++ (UIColor *)primaryColorV2; ++ (UIColor *)infoColorV2; ++ (UIColor *)successColorV2; ++ (UIColor *)warningColorV2; ++ (UIColor *)dangerColorV2; ++ (UIColor *)inverseColorV2; + ++ (UIColor *)twitterColor; ++ (UIColor *)facebookColor; ++ (UIColor *)purpleBButtonColor; ++ (UIColor *)grayBButtonColor; + +#pragma mark - Utilities - (UIColor *)lightenColorWithValue:(CGFloat)value; - (UIColor *)darkenColorWithValue:(CGFloat)value; - (BOOL)isLightColor; diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index e999588..e572662 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -23,6 +23,63 @@ @implementation UIColor (BButton) +#pragma mark - Custom colors ++ (UIColor *)defaultColorV2 +{ + return [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; +} + ++ (UIColor *)primaryColorV2 +{ + return [UIColor colorWithRed:0.00f green:0.33f blue:0.80f alpha:1.00f]; +} + ++ (UIColor *)infoColorV2 +{ + return [UIColor colorWithRed:0.18f green:0.59f blue:0.71f alpha:1.00f]; +} + ++ (UIColor *)successColorV2 +{ + return [UIColor colorWithRed:0.32f green:0.64f blue:0.32f alpha:1.00f]; +} + ++ (UIColor *)warningColorV2 +{ + return [UIColor colorWithRed:0.97f green:0.58f blue:0.02f alpha:1.00f]; +} + ++ (UIColor *)dangerColorV2 +{ + return [UIColor colorWithRed:0.74f green:0.21f blue:0.18f alpha:1.00f]; +} + ++ (UIColor *)inverseColorV2 +{ + return [UIColor colorWithRed:0.13f green:0.13f blue:0.13f alpha:1.00f]; +} + ++ (UIColor *)twitterColor +{ + return [UIColor colorWithRed:0.25f green:0.60f blue:1.00f alpha:1.00f]; +} + ++ (UIColor *)facebookColor +{ + return [UIColor colorWithRed:0.23f green:0.35f blue:0.60f alpha:1.00f]; +} + ++ (UIColor *)purpleBButtonColor +{ + return [UIColor colorWithRed:0.45f green:0.30f blue:0.75f alpha:1.00f]; +} + ++ (UIColor *)grayBButtonColor +{ + return [UIColor colorWithRed:0.60f green:0.60f blue:0.60f alpha:1.00f]; +} + +#pragma mark - Utilities - (UIColor *)lightenColorWithValue:(CGFloat)value { int totalComponents = CGColorGetNumberOfComponents(self.CGColor); From c1ebad50f3d29e186a591ab0a73da34949c94bed Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 15:01:14 -0400 Subject: [PATCH 022/170] refactor drawing code for different styles --- BButton/BButton.m | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/BButton/BButton.m b/BButton/BButton.m index 3ecc5ad..6c7f5c0 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -32,6 +32,9 @@ + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; +- (void)drawRectForBButtonStyleV2:(CGRect)rect; +- (void)drawRectForBButtonStyleV3:(CGRect)rect; + @end @@ -282,6 +285,19 @@ + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type - (void)drawRect:(CGRect)rect { [super drawRect:rect]; + + switch (self.style) { + case BButtonStyleBootstrapV2: + [self drawRectForBButtonStyleV2:rect]; + break; + case BButtonStyleBootstrapV3: + [self drawRectForBButtonStyleV3:rect]; + break; + } +} + +- (void)drawRectForBButtonStyleV2:(CGRect)rect +{ CGContextRef context = UIGraphicsGetCurrentContext(); UIColor *border = [self.color darkenColorWithValue:0.06f]; @@ -351,4 +367,9 @@ - (void)drawRect:(CGRect)rect [roundedRectanglePath stroke]; } +- (void)drawRectForBButtonStyleV3:(CGRect)rect +{ + // TODO: +} + @end \ No newline at end of file From 82484e483e4aa38ef53f127ce69cd51f323b46ae Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 15:11:48 -0400 Subject: [PATCH 023/170] drawing code for style V3 --- BButton/BButton.m | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 6c7f5c0..e51119f 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -278,7 +278,7 @@ + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type { - return nil; // TODO: + return [BButton colorForV2StyleButtonWithType:type]; // TODO: } #pragma mark - Drawing @@ -369,7 +369,25 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect - (void)drawRectForBButtonStyleV3:(CGRect)rect { - // TODO: + CGContextRef context = UIGraphicsGetCurrentContext(); + + CGContextSaveGState(context); + + UIColor *fill = (!self.highlighted) ? self.color : [self.color darkenColorWithValue:0.06f]; + CGContextSetFillColorWithColor(context, fill.CGColor); + + UIColor *border = (!self.highlighted) ? [self.color darkenColorWithValue:0.06f] : [self.color darkenColorWithValue:0.12f]; + CGContextSetStrokeColorWithColor(context, border.CGColor); + + CGContextSetLineWidth(context, 1.0f); + + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) + cornerRadius:4.0f]; + + CGContextAddPath(context, path.CGPath); + CGContextDrawPath(context, kCGPathFillStroke); + + CGContextRestoreGState(context); } @end \ No newline at end of file From f20a6dbb9bcf6955d2846a91f450f1f5060ee591 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 15:33:44 -0400 Subject: [PATCH 024/170] first draft V3 colors. change demo to V3 style. --- BButton/BButton.m | 36 +++++++++++++++++++++++++++++++++++- BButton/UIColor+BButton.h | 13 +++++++++++++ BButton/UIColor+BButton.m | 35 +++++++++++++++++++++++++++++++++++ BButtonDemo/ViewController.m | 4 ++-- 4 files changed, 85 insertions(+), 3 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index e51119f..e823b15 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -278,7 +278,41 @@ + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type { - return [BButton colorForV2StyleButtonWithType:type]; // TODO: + switch (type) { + case BButtonTypePrimary: + return [UIColor primaryColorV3]; + + case BButtonTypeInfo: + return [UIColor infoColorV3]; + + case BButtonTypeSuccess: + return [UIColor successColorV3]; + + case BButtonTypeWarning: + return [UIColor warningColorV3]; + + case BButtonTypeDanger: + return [UIColor dangerColorV3]; + + case BButtonTypeInverse: + return [UIColor inverseColorV3]; + + case BButtonTypeTwitter: + return [UIColor twitterColor]; + + case BButtonTypeFacebook: + return [UIColor facebookColor]; + + case BButtonTypePurple: + return [UIColor purpleBButtonColor]; + + case BButtonTypeGray: + return [UIColor grayBButtonColor]; + + case BButtonTypeDefault: + default: + return [UIColor defaultColorV3]; + } } #pragma mark - Drawing diff --git a/BButton/UIColor+BButton.h b/BButton/UIColor+BButton.h index fe19955..b0b72df 100644 --- a/BButton/UIColor+BButton.h +++ b/BButton/UIColor+BButton.h @@ -25,12 +25,25 @@ #pragma mark - Custom colors + (UIColor *)defaultColorV2; ++ (UIColor *)defaultColorV3; + + (UIColor *)primaryColorV2; ++ (UIColor *)primaryColorV3; + + (UIColor *)infoColorV2; ++ (UIColor *)infoColorV3; + + (UIColor *)successColorV2; ++ (UIColor *)successColorV3; + + (UIColor *)warningColorV2; ++ (UIColor *)warningColorV3; + + (UIColor *)dangerColorV2; ++ (UIColor *)dangerColorV3; + + (UIColor *)inverseColorV2; ++ (UIColor *)inverseColorV3; + (UIColor *)twitterColor; + (UIColor *)facebookColor; diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index e572662..0befb87 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -29,36 +29,71 @@ + (UIColor *)defaultColorV2 return [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; } ++ (UIColor *)defaultColorV3 +{ + return [UIColor colorWithHue:0.0f saturation:0.0f brightness:0.92f alpha:1.0f]; +} + + (UIColor *)primaryColorV2 { return [UIColor colorWithRed:0.00f green:0.33f blue:0.80f alpha:1.00f]; } ++ (UIColor *)primaryColorV3 +{ + return [UIColor colorWithHue:208.0f/360.0f saturation:0.72f brightness:0.69f alpha:1.0f]; +} + + (UIColor *)infoColorV2 { return [UIColor colorWithRed:0.18f green:0.59f blue:0.71f alpha:1.00f]; } ++ (UIColor *)infoColorV3 +{ + return [UIColor colorWithHue:194.0f/360.0f saturation:0.59f brightness:0.87f alpha:1.0f]; +} + + (UIColor *)successColorV2 { return [UIColor colorWithRed:0.32f green:0.64f blue:0.32f alpha:1.00f]; } ++ (UIColor *)successColorV3 +{ + return [UIColor colorWithHue:120.0f/360.0f saturation:0.50f brightness:0.72f alpha:1.0f]; +} + + (UIColor *)warningColorV2 { return [UIColor colorWithRed:0.97f green:0.58f blue:0.02f alpha:1.00f]; } ++ (UIColor *)warningColorV3 +{ + return [UIColor colorWithHue:35.0f/360.0f saturation:0.68f brightness:0.94f alpha:1.0f]; +} + + (UIColor *)dangerColorV2 { return [UIColor colorWithRed:0.74f green:0.21f blue:0.18f alpha:1.00f]; } ++ (UIColor *)dangerColorV3 +{ + return [UIColor colorWithHue:2.0f/360.0f saturation:0.64f brightness:0.85f alpha:1.0f]; +} + + (UIColor *)inverseColorV2 { return [UIColor colorWithRed:0.13f green:0.13f blue:0.13f alpha:1.00f]; } ++ (UIColor *)inverseColorV3 +{ + return [UIColor colorWithHue:0.0f saturation:0.0f brightness:0.60f alpha:1.0f]; +} + + (UIColor *)twitterColor { return [UIColor colorWithRed:0.25f green:0.60f blue:1.00f alpha:1.00f]; diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 4026384..8358289 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -31,7 +31,7 @@ - (void)viewDidLoad for(int j = 0; j < 7; j++) { CGRect frame = CGRectMake(32.0f + (i * 144.0f), 20.0f + (j * 60.0f), 112.0f, 40.0f); - BButton *btn = [[BButton alloc] initWithFrame:frame type:type style:BButtonStyleBootstrapV2]; + BButton *btn = [[BButton alloc] initWithFrame:frame type:type style:BButtonStyleBootstrapV3]; [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; if(type == BButtonTypeFacebook) @@ -43,7 +43,7 @@ - (void)viewDidLoad if(type > BButtonTypeGray) { btn = [BButton awesomeButtonWithOnlyIcon:arc4random() % 209 type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault - style:BButtonStyleBootstrapV2]; + style:BButtonStyleBootstrapV3]; btn.frame = CGRectMake(frame.origin.x, frame.origin.y, btn.frame.size.width, btn.frame.size.width); } From 29681c671a1f9dd81e077b032e61fea27c4e6716 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 15:46:01 -0400 Subject: [PATCH 025/170] fix text styles for V3 --- BButton/BButton.m | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index e823b15..e682e6d 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -27,6 +27,7 @@ @interface BButton () @property (assign, nonatomic) BButtonStyle style; - (void)setup; +- (void)setTextAttributesForStyle:(BButtonStyle)aStyle; + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; @@ -48,12 +49,25 @@ @implementation BButton - (void)setup { self.backgroundColor = [UIColor clearColor]; - self.titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f); self.shouldShowDisabled = NO; self.style = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; } +- (void)setTextAttributesForStyle:(BButtonStyle)aStyle +{ + switch (aStyle) { + case BButtonStyleBootstrapV2: + self.titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f); + self.titleLabel.font = [UIFont boldSystemFontOfSize:17.0f]; + break; + + case BButtonStyleBootstrapV3: + self.titleLabel.font = [UIFont systemFontOfSize:17.0f]; + break; + } +} + - (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle { return [self initWithFrame:frame @@ -80,6 +94,7 @@ - (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aS if(self) { self.color = aColor; self.style = aStyle; + [self setTextAttributesForStyle:aStyle]; } return self; } @@ -104,7 +119,7 @@ - (id)initWithFrame:(CGRect)frame self = [super initWithFrame:frame]; if(self) { [self setup]; - self.titleLabel.font = [UIFont boldSystemFontOfSize:17.0f]; + [self setTextAttributesForStyle:self.style]; } return self; } From 8972d9e5d982b7f29c7d39b8e5271cd55fac1041 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 31 Aug 2013 15:46:11 -0400 Subject: [PATCH 026/170] refactoring --- BButtonDemo/ViewController.m | 47 ++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 8358289..52dd29c 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -63,46 +63,41 @@ - (void)buttonPressed:(UIButton *)sender - (NSString *)titleForType:(BButtonType)type { - NSString *title = nil; - switch (type) { case BButtonTypePrimary: - title = @"Primary"; - break; + return @"Primary"; + case BButtonTypeInfo: - title = @"Info"; - break; + return @"Info"; + case BButtonTypeSuccess: - title = @"Success"; - break; + return @"Success"; + case BButtonTypeWarning: - title = @"Warning"; - break; + return @"Warning"; + case BButtonTypeDanger: - title = @"Danger"; - break; + return @"Danger"; + case BButtonTypeInverse: - title = @"Inverse"; - break; + return @"Inverse"; + case BButtonTypeTwitter: - title = @"Twitter"; - break; + return @"Twitter"; + case BButtonTypeFacebook: - title = @"Facebook"; - break; + return @"Facebook"; + case BButtonTypePurple: - title = @"Purple"; - break; + return @"Purple"; + case BButtonTypeGray: - title = @"Gray"; - break; + return @"Gray"; + case BButtonTypeDefault: default: - title = @"Default"; - break; + return @"Default"; } - - return title; } @end \ No newline at end of file From 4c1344705ce740cc16e255589b6959ec5b5096c0 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 22:56:55 -0700 Subject: [PATCH 027/170] refactoring --- BButton/BButton.m | 23 +++++++++-------------- BButton/NSString+FontAwesome.h | 2 ++ BButton/NSString+FontAwesome.m | 2 ++ BButton/UIColor+BButton.m | 24 ++++++++++++------------ 4 files changed, 25 insertions(+), 26 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index e682e6d..c1b3dac 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -42,15 +42,12 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect; @implementation BButton -@synthesize color; -@synthesize shouldShowDisabled; - #pragma mark - Initialization - (void)setup { self.backgroundColor = [UIColor clearColor]; - self.shouldShowDisabled = NO; - self.style = BButtonStyleBootstrapV3; + _shouldShowDisabled = NO; + _style = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; } @@ -92,8 +89,8 @@ - (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aS { self = [self initWithFrame:frame]; if(self) { - self.color = aColor; - self.style = aStyle; + _style = aStyle; + [self setColor:aColor]; [self setTextAttributesForStyle:aStyle]; } return self; @@ -107,7 +104,7 @@ - (id)initWithFrame:(CGRect)frame { self = [self initWithFrame:frame color:aColor style:aStyle]; if(self) { - self.titleLabel.font = [UIFont fontWithName:@"FontAwesome" size:fontSize]; + self.titleLabel.font = [UIFont fontWithName:kFontAwesomeFont size:fontSize]; self.titleLabel.textAlignment = NSTextAlignmentCenter; [self setTitle:[NSString stringFromAwesomeIcon:icon] forState:UIControlStateNormal]; } @@ -119,7 +116,7 @@ - (id)initWithFrame:(CGRect)frame self = [super initWithFrame:frame]; if(self) { [self setup]; - [self setTextAttributesForStyle:self.style]; + [self setTextAttributesForStyle:_style]; } return self; } @@ -179,7 +176,7 @@ - (void)setEnabled:(BOOL)enabled #pragma mark - Setters - (void)setColor:(UIColor *)newColor { - color = newColor; + _color = newColor; if([newColor isLightColor]) { [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; @@ -201,7 +198,7 @@ - (void)setColor:(UIColor *)newColor - (void)setShouldShowDisabled:(BOOL)show { - shouldShowDisabled = show; + _shouldShowDisabled = show; if(show) { if([self.color isLightColor]) @@ -226,7 +223,7 @@ - (void)setType:(BButtonType)type - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before { NSString *iconString = [NSString stringFromAwesomeIcon:icon]; - self.titleLabel.font = [UIFont fontWithName:@"FontAwesome" + self.titleLabel.font = [UIFont fontWithName:kFontAwesomeFont size:self.titleLabel.font.pointSize]; NSString *title = [NSString stringWithFormat:@"%@", iconString]; @@ -351,12 +348,10 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect UIColor *border = [self.color darkenColorWithValue:0.06f]; - // Shadow Declarations UIColor *shadow = [self.color lightenColorWithValue:0.50f]; CGSize shadowOffset = CGSizeMake(0.0f, 1.0f); CGFloat shadowBlurRadius = 2.0f; - // Rounded Rectangle Drawing UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) cornerRadius:6.0f]; diff --git a/BButton/NSString+FontAwesome.h b/BButton/NSString+FontAwesome.h index 8f50c62..1acb189 100644 --- a/BButton/NSString+FontAwesome.h +++ b/BButton/NSString+FontAwesome.h @@ -34,6 +34,8 @@ #import +extern NSString * kFontAwesomeFont; + typedef enum { FAIconGlass = 0, FAIconMusic, diff --git a/BButton/NSString+FontAwesome.m b/BButton/NSString+FontAwesome.m index c543de5..d73f9bb 100644 --- a/BButton/NSString+FontAwesome.m +++ b/BButton/NSString+FontAwesome.m @@ -34,6 +34,8 @@ #import "NSString+FontAwesome.h" +const NSString * kFontAwesomeFont = @"FontAwesome"; + static const NSArray *awesomeStrings; diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index 0befb87..12f1bf6 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -124,15 +124,15 @@ - (UIColor *)lightenColorWithValue:(CGFloat)value CGFloat newComponents[4]; if(isGreyscale) { - newComponents[0] = oldComponents[0] + value > 1.0 ? 1.0 : oldComponents[0] + value; - newComponents[1] = oldComponents[0] + value > 1.0 ? 1.0 : oldComponents[0] + value; - newComponents[2] = oldComponents[0] + value > 1.0 ? 1.0 : oldComponents[0] + value; + newComponents[0] = oldComponents[0] + value > 1.0f ? 1.0f : oldComponents[0] + value; + newComponents[1] = oldComponents[0] + value > 1.0f ? 1.0f : oldComponents[0] + value; + newComponents[2] = oldComponents[0] + value > 1.0f ? 1.0f : oldComponents[0] + value; newComponents[3] = oldComponents[1]; } else { - newComponents[0] = oldComponents[0] + value > 1.0 ? 1.0 : oldComponents[0] + value; - newComponents[1] = oldComponents[1] + value > 1.0 ? 1.0 : oldComponents[1] + value; - newComponents[2] = oldComponents[2] + value > 1.0 ? 1.0 : oldComponents[2] + value; + newComponents[0] = oldComponents[0] + value > 1.0f ? 1.0f : oldComponents[0] + value; + newComponents[1] = oldComponents[1] + value > 1.0f ? 1.0f : oldComponents[1] + value; + newComponents[2] = oldComponents[2] + value > 1.0f ? 1.0f : oldComponents[2] + value; newComponents[3] = oldComponents[3]; } @@ -155,15 +155,15 @@ - (UIColor *)darkenColorWithValue:(CGFloat)value CGFloat newComponents[4]; if(isGreyscale) { - newComponents[0] = oldComponents[0] - value < 0.0 ? 0.0 : oldComponents[0] - value; - newComponents[1] = oldComponents[0] - value < 0.0 ? 0.0 : oldComponents[0] - value; - newComponents[2] = oldComponents[0] - value < 0.0 ? 0.0 : oldComponents[0] - value; + newComponents[0] = oldComponents[0] - value < 0.0f ? 0.0f : oldComponents[0] - value; + newComponents[1] = oldComponents[0] - value < 0.0f ? 0.0f : oldComponents[0] - value; + newComponents[2] = oldComponents[0] - value < 0.0f ? 0.0f : oldComponents[0] - value; newComponents[3] = oldComponents[1]; } else { - newComponents[0] = oldComponents[0] - value < 0.0 ? 0.0 : oldComponents[0] - value; - newComponents[1] = oldComponents[1] - value < 0.0 ? 0.0 : oldComponents[1] - value; - newComponents[2] = oldComponents[2] - value < 0.0 ? 0.0 : oldComponents[2] - value; + newComponents[0] = oldComponents[0] - value < 0.0f ? 0.0f : oldComponents[0] - value; + newComponents[1] = oldComponents[1] - value < 0.0f ? 0.0f : oldComponents[1] - value; + newComponents[2] = oldComponents[2] - value < 0.0f ? 0.0f : oldComponents[2] - value; newComponents[3] = oldComponents[3]; } From 2d14bd4ea68f82ee7d0ada8a8357dddcd1959953 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:08:07 -0700 Subject: [PATCH 028/170] minor color tweaks --- BButton/UIColor+BButton.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index 12f1bf6..4c9a745 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -31,7 +31,7 @@ + (UIColor *)defaultColorV2 + (UIColor *)defaultColorV3 { - return [UIColor colorWithHue:0.0f saturation:0.0f brightness:0.92f alpha:1.0f]; + return [UIColor colorWithHue:0.0f saturation:0.0f brightness:1.0f alpha:1.0f]; } + (UIColor *)primaryColorV2 @@ -91,7 +91,7 @@ + (UIColor *)inverseColorV2 + (UIColor *)inverseColorV3 { - return [UIColor colorWithHue:0.0f saturation:0.0f brightness:0.60f alpha:1.0f]; + return [UIColor colorWithHue:0.0f saturation:0.0f brightness:0.75f alpha:1.0f]; } + (UIColor *)twitterColor @@ -192,7 +192,7 @@ - (BOOL)isLightColor sum = (components[0] + components[1] + components[2]) / 3.0f; } - return (sum > 0.8f); + return (sum >= 0.75f); } @end \ No newline at end of file From b8dd95359c3535ff6f36e230b751bb0ee38da64e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:08:22 -0700 Subject: [PATCH 029/170] update demo --- BButtonDemo/ViewController.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 52dd29c..123d5ab 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -50,6 +50,11 @@ - (void)viewDidLoad [btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; + // uncomment to show buttons as disabled + + // btn.shouldShowDisabled = YES; + // btn.enabled = NO; + [self.view addSubview:btn]; } } From d2958293739930a2afb1ec1ebc152a279aef671a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:23:49 -0700 Subject: [PATCH 030/170] color tweaks for disabled V3 --- BButton/BButton.m | 6 ++++++ BButton/UIColor+BButton.h | 1 + BButton/UIColor+BButton.m | 7 +++++++ BButtonDemo/ViewController.m | 5 ++--- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index c1b3dac..07fead7 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -418,9 +418,15 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect CGContextSaveGState(context); UIColor *fill = (!self.highlighted) ? self.color : [self.color darkenColorWithValue:0.06f]; + if(!self.enabled) + [fill desaturatedColorToPercentSaturation:0.60f]; + CGContextSetFillColorWithColor(context, fill.CGColor); UIColor *border = (!self.highlighted) ? [self.color darkenColorWithValue:0.06f] : [self.color darkenColorWithValue:0.12f]; + if(!self.enabled) + [border desaturatedColorToPercentSaturation:0.60f]; + CGContextSetStrokeColorWithColor(context, border.CGColor); CGContextSetLineWidth(context, 1.0f); diff --git a/BButton/UIColor+BButton.h b/BButton/UIColor+BButton.h index b0b72df..4b4d532 100644 --- a/BButton/UIColor+BButton.h +++ b/BButton/UIColor+BButton.h @@ -51,6 +51,7 @@ + (UIColor *)grayBButtonColor; #pragma mark - Utilities +- (UIColor *)desaturatedColorToPercentSaturation:(CGFloat)percent; - (UIColor *)lightenColorWithValue:(CGFloat)value; - (UIColor *)darkenColorWithValue:(CGFloat)value; - (BOOL)isLightColor; diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index 4c9a745..f002c55 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -115,6 +115,13 @@ + (UIColor *)grayBButtonColor } #pragma mark - Utilities +- (UIColor *)desaturatedColorToPercentSaturation:(CGFloat)percent +{ + CGFloat h, s, b, a; + [self getHue:&h saturation:&s brightness:&b alpha:&a]; + return [UIColor colorWithHue:h saturation:s * percent brightness:b alpha:a]; +} + - (UIColor *)lightenColorWithValue:(CGFloat)value { int totalComponents = CGColorGetNumberOfComponents(self.CGColor); diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 123d5ab..bbfb934 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -51,9 +51,8 @@ - (void)viewDidLoad [btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; // uncomment to show buttons as disabled - - // btn.shouldShowDisabled = YES; - // btn.enabled = NO; +// btn.shouldShowDisabled = YES; +// btn.enabled = NO; [self.view addSubview:btn]; } From c23e7e63ba4d8e7f3bafac80f3b5b0f6cc65cc24 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:29:10 -0700 Subject: [PATCH 031/170] updated screenshots --- README.md | 2 +- Screenshots/plist.png | Bin 17219 -> 3983 bytes Screenshots/screenshot-0.png | Bin 0 -> 14871 bytes Screenshots/screenshot-1.png | Bin 35924 -> 35410 bytes Screenshots/screenshot-2.png | Bin 38547 -> 38278 bytes Screenshots/screenshot-3.png | Bin 36196 -> 0 bytes Screenshots/screenshot-4.png | Bin 39161 -> 0 bytes 7 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Screenshots/screenshot-0.png delete mode 100644 Screenshots/screenshot-3.png delete mode 100644 Screenshots/screenshot-4.png diff --git a/README.md b/README.md index d209aee..8d35e57 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI * Attribution is no longer required in Font Awesome 3.0, but much appreciated: * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* -[img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png +[img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png [img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png diff --git a/Screenshots/plist.png b/Screenshots/plist.png index 6a5221267bae4ad7011bda2f2758ca05fd8caf6d..e93af0c55cb69631b4183ecc8107a840acae461e 100644 GIT binary patch literal 3983 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 literal 17219 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 z zA#6xJ>2}G>EpATMwV@1q@NkJ_DjFn{$fzcN1%%x4fSZe7Ku}s=xW79G;1-L)%zG)k z_T>zmE3CnBnwtQAW@n;A=BeObQBGi^!fUG1($W~BC(`b5`Cn0S3-g~F8m4P^WjMDA z0hoyoH8D1B1*XUSRoT5^jlGVF3I;gEam`@m-Sq+M9N`-j0t@8M*!*XXkJ7^zF%mp@ z#?{|*YYHE|+G1DA6Y13=o5&VGs`D!&uNLk+LdMu&iBn`;BdJ9qpD^+Mv5~oHSMSq? zR`-q^T+0p%5s;9O@V~vC^IEtC#;$Zm7h z$a5ynYEeNspU1x~8DvDf7)LHZBPJ?J(OyNe_CZ2jQxi{mmRajV60$zZK&MX#go`@m z?OSQ+AU9HcKesWx3H!eCz6j({^V)^MIL!mu7^(n>VUHlI||53TRdM3lhd z)Mn$a(U1er6Q20er1vZ8B3}S_eLI$O7bfTf%%nJ$(KnA}`rs*ui1@t^7bWg~y;k(! ztC<9d#IXV>wt^j8N(6(vg~aN!ch{dtrsYP)RFrZlU^)zu_f)*B)rB{Y4Z~HXRpsZZ zxI=*AChGmlU$&C{p!1W!l06G#L})&s(Q=>MD+ldiq&Y*iJ@T1t!;yHw4jB?le; zN?KZ|Z72eoCpL^zYxV0B{e` zI|>oc0ffb3y)v{Pg>M(Nj$ln*2i^R})xE-gXKbFRkQz|LYn_i6HY=EN_MKkzcb>x@ z`5av*+#Op-piX64Wntsi7(R))&cMe??PJZ@^n52r2EWw@9f|p78XlpcSppc;J4}NWW>aE z=ItRH*?y{$F>8gdUZFS!-JVWLPWJR5_iMkZW<~H`A9$B`A|7y69d7#7Zfpm3m}z;X zwENR1Y2p=g=@H1P!=Oljed(3)C42S>jKEzs{g)8S3F3tS%N&kp+fOPIYES@}N~B#S z*?7~od}Q3364IX4XgQNw z5_NPXu{e>c?GU?7zC2D{=o(d3k)Kv1GzmS~bR7qGBkONE$1ZVwLQ0LFWZ7z48xW*&(FSz!2(7;RbSu`C=}P^KN{; zGlDpS7H5o?vHg#cTXR4#r9wP2x<`T5Q7=Z)QcAnp)h@@$5Puc7@R?-CbXWU8aWC4P z7uQ4KE!a$|kYvY}t~I?$X3#J{j&2%#8SETHM()sWv`*kjFYRjV0I*uP->gi2q5*M9 z7@=DmGwg#5ykW_8=S$?t;6rQ~L6y#t&o69wc`3NkJY+2f#%BPuxRCx57{)=zeXOVLvFS;MkAWbL{uY=4!QYg|m`P?Ta)WQXJ15 z=56K_D0Tg(0)uOR`|`$ zR#?C$S_!13b$e}Uw}{W|?B|6?&fws+@b^D1NKu|Aj};iMB|iz06(uYO=S_sA$R`0U zi+&P&&CwJS^CPGo*fXLql>6U|1at6JclF7s^aV1q^o_l9xAkt-&^ovqCqAL7!P1WR zLtzm`*r#(Zyf14f+P)=qdk`7}>zF4qGW`ID6V<{|P>;Aa183m;Pb z`PYD|$xOqV711v{`g(ZEP&6o~JmiymtO)d5!_UK^NJR3Z9&p!7KaGYU2b81_C{vz`EDls*tDzFRTqAr<{%HQLu zh;!CL7`-X*g}20;+&>E|Sz4(pJMqf97_5DAqWBMlQk_L&uw&<=K^dfr9^whgujip9 zN6lMQnIFGzCsv_l42zpCJ*LvbOQmd)f)1h_z8x%*yZq|cKuClGy3UMy*E}%u)$nA- z5*50#Z|#>u595b}%!D(pMk&Y7N-oEW>5)nsffqmZ2Vh;y60D6?5ln^GP**gG!i;7^ zN{IIH%*m0wdy%YUM0^#@XRd#m9Ev(!cd=HG_KS7AaTTR|>Zmg1gBq2UlI7lnlbVz( zNd8XP+F_*bxLM;7ebb?}=2_gEt>oz0SK{1gg-t+yR{T7+_+o6e8b=g!-9KjJJB&I}_)(w|>=aDe%FV8|TZv@S>c z{ZmNJk{bDA3bTV?t0S(%<<4BD2=i-y?Vl-H8YH5ucLg6;E)RD@BZ0=n2*`36b+)&;j|a#?KJZ1!Rw0e5tPvx!Mk96)hiQ+V~7V z`yy7^TJ^CxiSUkM8S3?fFmmo1R|-+X6s+{VOJq#<0`xsobgkhHLINRVOVz3M=sasf z>U~U)M~QCTkF9Ei!@V$-DPskRCb?`qCkA4cafvvd%1P@(&-WP#Ca-#fDnrk|p?4eE zwnsoU*_4^Y0)^3*S~@4HK4KNw-yZAYLv2dMqYS)!Ql+2{Se%EQo5Z!3&$S_rNcxQd z5@iNa*a#*}oW48ZM~V7y<`gueMS^DC?Dd3ACaKpJlkIbx#gR^;sU_;C`db{8t?63^ z?|P%9eKwvgKHw$p5sgo1-zC4Wgm=m~=# z#MKJ;cFB>$FBz_t?pmvSK4>6WveFtolA+NoV0(n75ci1#6yX-1zQO*YfeQVZ>R=)W zX&C+k)f;1W&pOKH=sn8FvJf$5bRu^#E=IGJP}rq*#|jwp7)ZZw-*L|BU+a)T60%wnkIs%xYmEldT~JQD${`JO-k z&X^Gtp+&eAFsY5k8PPN~Pf9X2z4RmKLvr@&Na01_XUTUbqV#wb6mjqy4JNd(*C6kW zB^*)Y5L~-{uo1l=A}oNB)Qp_>z8$3F6r8#u`>xMAmun=s2)frVux|;Eug!oQZA&q1 zXU-OfdFf7!5fCk?4ia@=x5y+#w;m733k6AVL5F4M+fq&FM#68)doN}?Xhk_4&$nhs z7@Y-iqoOMMbPG_+Peu?wgcO>@I&%rJb+?otId<{O_aF7-;`jv#c#CB6i+V;Tyx7q} z>E&9AZA5^5)F9Ja$t0<AIizTxbHKH zS9~vj#BaSg!M$Z@dTfqVoR{%tSo*%P7r)Aq>Mr3y%91B#TaC6kJ&yiSb!OT%%jb!W z(4~XK$tK(-Xx*L13l8LkJq!aXjFUP11-Xg=r4VWGw0S~|LQUpe*(a)I1QB6zc;hHG zK9y zNv9sG*}b21Wd(^{3So*LL(THUnD7zes6MqlSI-Xa+Al>@-WfEy3i7q&$#Gqp@AY(4RmB1bqU+3 zuyJk`C#zO6HCsLeC>V7@*J@S!TZE|;46d_; ze$-=Z)1FvjvrjU#Fy7zl#$SR4*#n>aYs&;engmB*4)NM>%ui0(O|bJFOaLH|5#a1L zi3^#g06<2&f!319 zRL3ooVP}Df!bmFn1d4ykThpa2#DB-edy?nF`m>4!kI_tYmj>*F13HNQCj0G)25J5sGQ)^$FLqew;#e{J+KL|_uYH+qpzJAc?p}1 zG$A1TMJ2E)X$sl9{I56yi>7zCG#+oI_Y%^0-WR0VXgb*^Aeq5hvkmIEtywhXv(yCr z+8)V#(y(>M6;ir>LjdO}1f5iCijXav^D3vr&D?4|txc*Kzms>=ADX?}sMzCWB$z=* zLSCXHJ&*q2DMaZ*?{?k6ne;klU~rJB)sx|wa1|;{t0`N&fkT{`fx48cOINL48u}7r zaqm0n6jEdA7@! zmX0REl(~8}=o19U8#OdMuO|&rdon%o`VgezFqV-FVpOeLx0%KsagpL zR0&?H24APlwEC?aSLsX<=GIdzGH1abgl*XWXf$uTK0K>)Ui}#Dv5AFJz6ZvzVO_JF z*jAFyC6FezQyYYI*54qEdZ6|wnLHm)L>?pw3Ty z!#PIPA{9|lc|bc-T3uvC?7eH26RoW;?D~!n#Eg;=kAbj7GwZu4 zdF^1Vua49MJH=n5&+Xm`V4=s3dD=PDebAKn!oPb(7YSSo2g}_U9cRgUtvnlD(S8?+ z$7OP33w?|egD)K07~4e`>#=d`KVNV-nve=Qi$mXHicn~U81DKueZ^h8LM>`xE4_Fuy`)N{C zH>$i>ZTM1OKdr8=E;2H*sVgioKYD6Pzh%v=<|)*H9RQWrCwo2xHfCk5w*gn!f?QDD zCo=iDTaw)AxF)%PZUBMPGc`303=9N=!NElMs_`t6+}qNrQUp6pu)~%)EKl0V8Ugo^ z!_Jge)5DhR?CfA&0#F1sL$n8h`JWY%h=+Q~m2dlP2bUqfxpt&dlqDr1iHzXyddc@R z;EN>bhP-ewS>344tU>o*;p4+U_dZHMM5Kw`q_Ns*&KIbT zT%YYFZdejW0otiFn4owWHHrq9B@>{j`T4spVlzj&F)cN*@iMbEE&2{5&$R|7QRjJ4 zfTP6m_j-+-9FI|!3ND&C;+wO=@9ys203tU3XT?D!Z3`l-_F#niT=?eotMuJv$E^XO zE}@yuI(%~nxLKgcD9?w7MF+zqTNILVtM+}VqKff8{Mv-Hl3SROY-0gp1rM$zgE_a| zdJclRf#XQQQ$PeH^Cx35NmvUp&M1vPGB+m&#DI)27XeYT)EXoKD9H~W^QT>rPxxS) zbkF3o{Gt5Wb^dwGp2OCpu~UPhL4O(h>w##BJqg3zcvKR6cMcR>Z+naFs4)DhP-|s+ zfykHf{V_6TIO({JtgflN)!p3*Q?$KG97;VEM>3FFF%7@G%KRg3p9`<9aYD_BO4k07 z$@h5#a?wF=@5{A1xA9>I&Bv;PAg7*kVBfq>C?w-k0eC=i;!$^wRRAQ0vAp9gp?FNH;T=?|e zDvt=Qr~Gp{0*4rIk)V&i>CJ7&wPIwrO~el76=EvUqX3;=mP|})tAI^kcYN5j_4?oy z0whN~z#i!kP~K4>p-3cmhs(Dyl874!dap9EyD2D$1xr~#p-Fbl@8{O|UgBwBQGaYqH5D@by@)Z_BHA%3Q-}1Yt-nXJ{f@r1WwEH)9Ne z$xuuWeKz~$`Kyl_)_v2=YgIUp^)5DICB#fsqO5x3_TiZ?FpBWhqT2bz2}!!s4BXiv zZ4PB+B|&PIaU@)M+o0E!A}MN?eC|-(9c$()W9NqS0xQWF79tZ8vuu2KbDstEr?YkWXNEuI8{#+2&{)p;^mWXyK|MS7O2FC(f#HwqZfFut7YS zAi|9PT(DOc|DlZ6BL)~m@Rb~Iyot9r^oezDJ5@^7ciKe^{2>(>DlT5lN|6*t_dsvQM-nS5?O^wMhXq-)Ovrv$!|Caa;#iTI^Ju|SAK!#mY!A?tfn~te z!4Q}h|)}sR`aHjkFftwUp zCs9!$h!I>YqEyzexyrxBx?IA+rdBPmFQtDBp!0A!$MWSKSvg*OJ3_XULK(MMYw#zs z@3DcAkYFv)q3`H;kK)rF_lZ9hyB0splZyeWjigc>{N?=z@c8EGPXclm+S`|~fe_g? zq6W3AJ(rI!pI&e^w5PS?-#df=rVnIP5z?KyBa>egVk# z$dRVD(zS+Z#iGpiN{;V_9 zot62bg9M;@Sy5P)s#}Z*gQCTM&#T}Cu*l!ve=+dXS4`teK1im1Z&4WM&H^RUj^vNz zNd_Je(TBvqnTvSsgb^S1f5VqLZX<@Pe$l^@wSTz|{?AzZhkfCHWPPUv;0XsE11X0@ zV-W^N=Xd2Lh$X(YE%fQ^_a8FmkID+zT1@|PFw~T*hbt8>voi1S!s_?-8>`hk@5K8{ z0*2b-8zTSK{#9L_UYCxbovd$cuo9p(vyJB2F0Fo)Hdl$*VTZ{tG#wlLm9af!aOlty zAN0H`=zoP=YQsyp!H-zUcwNGP;Ph7s0035;F+-vEavl#Ot^=*BdE~dw&HI56RC{Nl z2pALox|e@t?Feb|Q0Bi^^lgF4v_#(zz(oU431$IS)?(*{)+0E0Bn+0s}Y8rU?B9Xh!dEud+q`Lt^YPq|+V?d;#p-~|LHq~pn#EJ~*;&2wS z{ZbSN)s15GIT8&@!8>k_c%LRr-y1tc5bg*QaQM?dQuP4}1iq!k*O8O2Wc?-%tENeq|v=0@V4<)Auw3{>HM@5UzM5~n`Pe{QFwf$t8lZkbZTzpY+<`<+5V{7 z`ktfjM?oavf@@-jdDpa%;+KovtW+Vmaf+tV(gzKkZwBmUUijwL4spx#c!jUQ1-el`!e5n-a+2bj8 zQpRBc%>cUwrm_a&FRF(eD-yF^y%tflgdhh^8P_?#C}UW}@hT;?zS2eVc=yn9l8FzL zl@-axX@qDahlIZJC_v%ydf7QhCSN}8?Rs(fp^?c0z8J_0&&s)`p}eS>u9Fj9&#W=f zkPpklBKsshale$`XrUOJW{}}B*1Pme3J(^2j9y^*2*0)QOVuH{^Da6&`x9))i!PiN z+R_xglBeh;=b-+c7Mhg!*RL6YIbk_A+w_G)h4pbmxuENP=!@)Aq)@C* zgY=9C1a&;`w`HoF3^Y!$7uN?f9!!rnnLOF4NyB!i5nc!Lw@Z=K;%9L}05=82lCouv z3C0z$_lo^kd#sE8HcsPLLj!im466L+GU1dG&aNE)Oyp8RSo#S$349Fd6RSE`f1J#q zTX_9P!Y_YTAGr-32|W>fj*N_4K``)w4sQ0TydjZlajV~1?nX6d@N+t&EWhgOP>+>; z-x|2b0t}6y&)gm3?|HgMC5NOzG04iic9VoQ*39f|BkNz6kALVv>63HZQb^Vl^%3gf zI$@)|1IgpqVr=w_PuqT}HwV0gPw`O_4>wKpC3Nf3Z{W+@6oTP_Vm4s1g!)Duv1C*t z;Neq}MQrhl_Z>nTfCB~(NCdN^97M(APA#TmPZVSHuFUPwb_R~Pd|FOmZW}{<%utuI z6C8RVj`3T0GpOjj2~iMN&N^lm2^)c&o?)uEr}k4@^O*m37PWB>PI*=m$i)zBOzNx*m#S!@P$QK5J`sx zS%j|G%>1Yz2C8B41g=*Q#fjh$3QE! z=vzO38AejmG!)Dx(!6KSbC)`UhUlRMY&%OCUW)Dh$>oW}%P%N0RslJ8A!A_cMkEtkQci z9IdwB^AI0CGIa(D1k5Vr$*=y?#*H~yO8XSJTKdnLXnS?CT8N(D>Zjf|tJS*g$Nc##!UcqaJ!^YDU581X!i#Zc z1wiT?|f#zsgocz>R>`LUSO3B<9JaAgkhg_q??d<$kQIRgxEy@lw1p#mxl#$wQ=^Vss~;qKaHCC=z%#3?_MH-sYfZ3vLs zYYS$*tQ14YB@Mr2(4|3{_WD&0_a|jgW}}^0?GjAc&CfGDRaah436z>UuP$Q?JfjX+ zkk4Zb1wCpcMk!O*MfEPUOLSdqdb{QAc(5bOv|CMjdP~|a3)ITD>jQ5p-&)@?SbRch z$Q$gBqZDTH>;+j&?<>US6a;aAIsKjCsR2R_XY2-bi>DrAjrnTJADBl8XA=9;qr0hv}M(vvy_k^+WXFbVcYE|I-Mp+!^6+XGMKxcU z)luSJhT!9mSz{8Ji-?FwG4lf?z7!WG*0k>JL-XtI=R!ryHw#BAB14upJ6@wd;Pnt7 zqq|$Z9Z-Y)aeCOs=NWy11T-*Hf$CRUJq&_3G4mm=p(_Rar6jc8ZH>-^xcO zXpfLP8lrq{T2eH*7)Dx@KAFpDJ~)C5*LLCi;Tda40fub;(mCw=Fsp-mAs~*q1&;=)a3~R zdPDjEM*Chq80lD$T#|3oJ?(jGoo^x6$84bzcTAszfGs;0%R)Sd4$Z<-sztyQ2+{zY zvW}r@QVg%?fya=0qRL@8_ER15S@NLb>(AR2Esaq{++3k??2;G-%5#1PIe10SIxLg* zlk5f6EKv#C>41Uv__3J6^&+d)Pht94XJZIfbEKgJOqrLRI1(#%pF7BNy+=DQW|NiZ z#T>?A;FQP_R=v`%XBWR#0s;a6Bj&Es?_P(QhhB%+mlOcwF0c8bSJ#BTSM|Dq7{RO? zNAIqhr)>bHw~b>?_D?|h4`xma)1HI-ryvb&JM5oQ8GE&IuqR;A|wEgK{WFe8HBA-*wYuj&4CQax?O_qf` zug)bjU3|5ZoRd?g&ZM3y_r2qrMmQ`DW6}gLSc!>=eY4m@g#PKT0+;hSOSu!VIJ9u3 zg7l0g?mxv}vFzL+px)#roBj9;9E|RJDz{zOUWQYHWmFv2phV-jzfn1mMnccP>_vFa zl0OaGKUL3vp#z{<{*KcRY0&S;KaLE|&(BxO6kIZ)F*95EDRCk7JB}m4dLLLFnHbv^ zco=YDeleIUh(qLqu2@sFZATt3b(lVKKxUcR;(yulEmaH4EM= zab61nbwT$)f_B$?wN;e!(0xdxB{e5r$9f!&36TAOiJM& zt_!W7wLofVoVnj=bvz;fPLJdb$SFX*>xoe9x#_&N9B2OktzFuw+V()(hE$x@mfSTH=`Kc*6LrK@FB%Z|-oY>^|H zU4Q5{saHoeU+vh5o&z{*>tP4FJ~wVtf65aX1*lvSVDrvnmt+qpzdYVpk^Dq!y9koe zxkP)2E^$Ds&f_(j_W&cC8O#v4pINwLFs7O1&fEr~VZ|+=U*D{81Oc}0k?+Xcb4>z6 z@N9@MSGGtD(h#=HiS~A|bN3tMVMS_j|9W>k0RaJTk4(TY zPEK$bzM-L^q|*3{EMWiD-UKvox5_v`Yo>r+ETGSfpwm{jz-oUR7$UZNB1JC57jWeS zna(q{m`)VO&r!NuSgk;@ZmL7@6@^Q`>nq%sffcZbLoDunt+wR&u1%0nBS z*b?rpuAj?xVERNI3$IdwsXf`gU!Cs6L`Ty>iwTAB7bDQi8^V$w573nv)@)bg;KQ4% zxLb|H_|^Ga)Vq8UGQgS>hU1)ngc|XkJdYTkl87G<4^MXgExod|wDf=}vmEr2=|z_H zKjpK(qYMyI0AIqxzeTPyaZ1wbVe1fF_3?P*)1>9{x>@|1A$pVV z{j7<>l+vhWg3W9K0qbkfNhiSzqgLW6xcPf*Ps|T?`<3E6AmHz*oT_Z8w0X$?2UU%W A0ssI2 literal 0 HcmV?d00001 diff --git a/Screenshots/screenshot-1.png b/Screenshots/screenshot-1.png index 90086aaf5a7ab3be5b280bb6bd7eb8978d342c06..bd8fb10ac01a5c4415d1bed61cda9f51c3758fce 100644 GIT binary patch literal 35410 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 BXQ2Q9 diff --git a/Screenshots/screenshot-2.png b/Screenshots/screenshot-2.png deleted file mode 100644 index 363110052d75a35a16d27e7177a8535dc74f4369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38278 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�=qzk`>{nYEBEW8o_6UT9Ws{A)2w?v?3^0P%vV63&tI@_ISQ(z`M z@#aDaTxH>?_rXt z6_l%}VVRgc0GY-^9OOIOK=$9R=4f2XJ#v|k>9K?SF@Qz%!i)S_uzKDC$J&2MN z$`B?raUMr3zW*$l(yc;+&@NZ_@=**Y+C239`}}4Ugb{W#ESmt1(eImXjj0Q~z7>;6 zqunjzDD@Fi5&L|Uq|3_KZ&|k7@a&X&C@cD7e&0Ph4lAT#zMwf$|GIE`$KJ6kiSVkg zK|>Sub5;{!`)I@=#-P>TQtrUWDgI~x#&|EqDRH04GWd%x_1&%tSFdJWjkf235 zg0c`DrLF$#?!$r%*%sAyoCixP@7giyK9(%>0MseBT2d5BAp!Mz-4t7pi$mcnh1YOf z3<BG%*m~GCOdBvByxuKwp)3@WYTaRh_#1I_6Cb0AMvjrHRpL;@DDUu z^~JjK`^q83w<^7JMexM|FpCAAFr(-{!0k*V59yh3I=(YkVXc z91#)0427;@HFF6V8RzbB0L6ngil^&TY)6>tUYniNdlh7dvUDM5d-Pem1YhdY=y)H%%rx;z6AoT*4UcDjKyBp#=%RqU`)Q^;LH%#1v6O>u znZdA`GK?iV z1O%w7tK)7!PEXSHd1(lv^40{cfKA0U35bgy%7hlxHf_oTh0suko6G8eG@UZLc0p z2j7Nr191R+=04l#%Nn%%?veZ3u`;8oju^5CBtW+Vic7c8_3?}Gdu3c)T=$asmB7S3 z;R7ZpyI|~Icj#%qg~BEF0Qk@@?bzOUYu!yMCME`Y8p14THtPH#N9iZW=4_%hZ*{!l zQI%O!R|fH>oQwvMyk z5W=^LDVA665n?jpfjK~+2Iy-80|UTrew>^%pKX@O{qYs|S-RBa<?Oz^%>j=Ftv=VtW|H`+~iY`kpT!^3pd#{ zva_?jWwJ6e7lrFbI%Z~|732tVty^1LTc!!Pr)6b)&kM@3vRDGROsQP9HaGF`@B{?~ zOFH)f|H>m>-N$pptWmtX7CVEzmXMIIU?U@=qy{T@M1xmXO^qmrifY!Xp1HY#h{!wh zC67CIu6_LoZJM5*{y-x$UjUHs=$V-XczN@Bu~_*D)}{yIK2Hjts#v+WxOjUfB|Oej zEX<*afK2_Eo@UH^d9SLnlCrX?smU>Y{sxpPJat73zomy%0opb4Lr#BTElZhQSZ_)l z4hzPGDU){OksFB|Ei8n|-N%Q`#U25zUO~%1DwU#TWB-dEKYr8}dhAoElT&m@&`Q=`df|3>O0B$)vU_u}D-IpfPkMD?yJuA-jj+5elp0}0d0?zz zs-LCf=I4iqS5mJhcTeq1BxB#%*x-5dhp+GA(cz&u_#iz7lHT9npP89yGi0gK(A->5 z6NUb!_aLQ+uc!~#zp+rJ&iSTymsV*zIRYit=m>)(@K_-u50K1hYqb;?7?mPwUP*x{fB`96-hm8!OzV#O-iw~#m`6pY zRzqp+3W-7kWjF>CB$s;*0rz~N+_0`N7!{koS>NG+UZQt0qUFkA-?G5qVI z{rmPmF+*U*|5&qdsSR&&Y&*Lk+lQafp9-@o!CRhO?ocfH5JD}&PbtY#X65{agW`e^ zFK+B6<+OQHp9F61@mX-(w>gMRi;=@}lvrs(XeoYPI&g|VufGC7_&+h==CANS#eQA- h*Sh~B=Ffr!O$U8YB5`hC0*J_^SE~ zM^t2GWOQY&TD8`7-{Fe#5=iiP@Bjb+NlH@m2LJ#j2>NZqf`dl1FG03RYLQ6UwN z)$>dk7nPC3#~SnVOkMAbzh3VvdpBM~S%$oQh+O8Okxt-J`(M9+i~b(w8vh+%D@h^= zdyr8liUoe)?=+d~e7X4O_nw0)3=22^!(I7t{^aiEp!Mo~v!d0t%xd~8iRiB{--Lr< zQUB{=n1}49;NIc0>;1xhEQyZC{c^oRyD4x#5bA9}+NKvd+xLZPh8i^ryZtV_1Dk-& z0PuOD;K$6y=IZPW{0THbck8wze$LNiF^@jOzgS%0a zH>|4aK55Et4QdPnd|vmVz@QL87BIF5yx+%%hmTYn_I-%ZYjo?E_miLdZ&cq6y;%rt zgd?L75+aR%JWu(#t(*4-!`UPfs_-ZNxtN{CMm#e&*m=H`ty_eb1%J_ccJO--Mh0qlEhpS{7TYJ7gD9`KJ@F;UPS49^unT>>~^ zua)vY={0L1z4%>EF_PZj-*3KRdV6_#_AEyeaG~)K@c(?8&K0R%^Y!)h^77Kn@?5Ia zU3MN%VX9uxz+o~HmGC!wuzZB<1lI`nhJ}OUa@vOl(-5O&jMT{%TBD)BqJ`G&@vZ}p zOuRds$d`jh)iSW*nGG4exY-*59q;p){s&rf-b2~)-OJyz<+*ZSD*> zgIiMZ#z8?rJrr`~yFmF*s0C2q^@B%jeLf8d91|iFa0&v{ApE@%Z0$Ry zvFUZX*MjVM;m1GeuxYm$F5%LLomF8+`xG&BiF}o-;eJwo7;*4|uR>vBVTBskph4NE z4ayHqW(#Dq&r|B=MenKgV41!BvK^iPj316+$nRf#U&-(auo|zD$ ze&>;_N-35PEN*=~G{I*nr4urnz^b)2H&4@mf-ka5US2*kx}mPl`|bd+KnNy&LP!jr zf%Rej_HnA-MFJ=bLoXu+gl?;f08uvtLGKTlLVdi3hK697z{gX*5fa|=c6QiA|Lsh^ z1g3V^=Z80~NPIV~3Vl77SYq&liYqT2UQ{)jERi?WR|4zf-578K+P=401uQnJH!=VX z#CE4ZsUIMelZR)nL7(>b(2A)pgx1CK+uBUHSX=Cld2M4OD9Q(K&sXYdeCG<~>KAm| z+~_W3L(R+fEG?6rhM1R$KdxaC@{~$GKxZ_Ix=p2AIIWQMA^XMuRZTvd|D7m+fK$4G zU)X1^vcM7i5iO!$aq`OV^OYVf6bB!F&W>6o!k>&+`#xZ;$v!M#z^mWMG88~I7#1uAbmyP(Utd70eG>+d|7RQ(oDr12{+;~aGw+!g?M8cRWHZv)u3&@8(0}FfjcZ zI2${CxV4iiXD2_?MFzRWp-gd*I3W!Ps2c!ZZTkD9Dm@~h`0jK-TwQZ3bHDfY=l;5z z6!Sdz0gj%jkWv~7qn z1wyXxeka_8E?EfZo9e>$Q@Ek6IjqI<5MYJc(y;Lzn3PDRXGg%iROfi&*RVNWVS9Vr z(Ak_;Uu%j>3V$WMVD-@HCtvV|zs?<`lro(Akk+jRYHQQd(!8{X`#)-GY61cRh{46(+}tcJ zEk8Z#UW&*gN7tC$AC7??ce-+7U-I&g>7>@<^PX6-sTzuQtIlY$9G~ht>BqY+#+X+M ze9A>$IlWIjBu?{`bvBP?onq=?t`FxK+nL!Qup~%_38C={q5XAOA8P21oSTf``0^tps)Fsr-zf% zZH`b-dwcu#p3jvy9)Q=V|Cef++KgY<+wE8)jXJeLydr5r$@!5hP2y*tS;|SlEgM;dj9o3cJHoZb(8FE0$Cq8x%ZwYRh=@|{Xwm9H zu7-SxfHgjGEv2!HvAE9KKJ?7hM@W_p;(A#pGzhJb3*Ga{GD~sYn8x(ob9iz)-vV## zDFO2;w1enF;Z!RWMw?7#-r~cSo%+j^hRqmB*4)1H~#cg*`(Pq6^-oxCA>+|{kn3R;{VopWodHdRvSj~~Za&A*a z%2C)RS;zw{sjvmSx1?akZ!F&O&Ovo3;=cb$sDoac9(Q?&0#^-A@ zJ;%1W#+-}vsN!Ncu>;Hwdr^(a^4)M3WC2s$*jv(8T1%UT3U0pHKUn8sO-uQ@i(9Dj zw_*JMiNa3HSjGB}0S4ayYNmG%GBPN!gMT8^4^)+~+pSAp+1uK_`+Yw8Enl=M znCIk6#N=_lW4GYo;!-Um!^5ZXxZ6oMDXI)2f5jRD;Fx>gAERRNzn<59K4*X8vY5%L zs3gQula5wG=O1yubVi?ae0sLFFTy7cuF8loQ<0jv=mI#4T1MSq>X3tL&2-|F*bLQI zHoqKB&17gMmt@IOs@vZmd|-_9lVhl%gf&cb(CT@_`<;R1>yk_PPHqs+H&PU{RfSF+ z05jrO4x2oxo;&q&(N&%;_o~7MD_^3=Q{aE*~3yU6MR=%u_@8WIU@(3;$9NfA<_v= z2!in|;+DCk#>F)qN5%e*jm~w!e3^&8j-+Rc>8e6joZ17YPyy?$Gja&8SWZ=9SASzm zXvx4s93yYjKI$dzizz~lhB5D;FENhZZf0qM7Tch(26^;IUo4X=i+CmkxP_vYY&<<^y}ba&pDHaaEnRO144D}j)da-ED02}|2?dtf z$_@^U0D4NwV~rxH8Vjse*R#dpSW?XCPIQA-+JgD$|&oA?+@1yZItWRFg1BA+nzoSzidc$3_ znmej-#SdT>?z3EBDN=ol(Of``Nj7PL!KWKpkjpqGVDI)dmxV3u0d8pBji$HGJf3JQ za>A^5zqYc$Y=6)SPo=RToGJNsx?d4R^hilbRWLyP)$l6kU1ci(;MC70>dj}Iv{r_N z!SMdLXSU%4Tpp)wf*J@K0Gs!A4p}ZM+21zaHdm_k!R&pZR5fTEhtw`%FMdKTd&m(aoO)a-@88DZ}&%{d2%}8 zQPe2>J32ZXRrK_-j5t(G!2~vb{?pp(zn`kZH?c$Z;5!&~!7*kmJA{_7bze8%=b{6l zJ>q0utrXb9C|VO$R{Ak;n!^uuV_8`|-H96NtAlyKHPJIxdBECLkguO1FDdzVkWMZk>qTCWXYq`0eQi^kIqy0s1Tfsci2r2^cu)@Y<=#0AWcxRO2 z5~dDsLf9sBF3LzsZ%$nOXLN$kTh|YId7{krr)l{EMGR0RR-~qeL?H4ya?eq*$w)8$ zXeE29%4I~xEsn_lT93OYFsQIL>Pu%<>GH{D`cNv$3c{bfNij5g9?fV zR^6l8@HeW9>RLoIOTf_kpd<3^oTHAX4o2TCvU6PgzAvga^{&Lhtq-$k1Dy_eSkoag z$|1&tBqBLY!S;shwk16?aINAoy9utC8pl@m&vgI`XJC#?(uv%r#}NN<{GV?D1k&&Y z{ai{Cs`K`3OmZG4GizX%2hm%oKV6gtFEtv&66NLO3hHN7WrURU#8C0HPmYnj zEKtRs^Y$pAn#+=su*m*ys7@%3PP)pNuWUNZM6sqctAA)iYL!0>O5cp~^o}?!)t|_H zM6r$x3Q`e{{7O7~7v;#xp_ailY4&S`auBKYP`_j@YLPzDN7eHl7CCUMz{bv*bioYx zq#zrA8*SW1oUC1I4`+bjI#&*cArbqv;`Qj$T0hlAvbjCMiPh8org)x0vP{^|=zuQU zowG>qgIZm}l$#)ZI)05BVdZA#;T+77qA02;>*quEWngsVR%4j>fdBg&l!rj)I@ovP zs6bChrCe729wl+?-W{aDEvnnTlCJ0r6pjcDB7aQS1Oky{;z^ zmQ9}7!P?51xRaKm=Amu}E);Leq62N{)TS0d_xFqC1I544&2tHt!54o-{D@o7UK&I` zr6v)X+Xus3js*&Y2wz5ibNl>2`X+Mv`GRF~C!IkInN;>3~&0h-OQ3Q^QiD#u_YS%~ekbe|_qJaV6xxv69nvBla> z{p8wrz96xW{u6}){ii!y4~Ln+5Wz9TtpzmFwzZH1_KuI(FNX373G3e{N`G@8i^0M0 zsn3qQb?CLOCWu^<*!Ee8z=kz;ABmR_>Q_s3k%l=@W)O&l!xe9cRCBI9hHBaM<)YnY#Q}eTXrWT$kZY&8D^@*IuVchCE2Mt`$a_Oz87{7R z+iVz4pD4RjU@fGZRC`CR4h=E#OJ|yn`I)XEorCFwquGR$$%KQ6oV$UcMrz5!eAOw% z`jLw_7O2cQku){zq(NBG^vLYkW%rIJJ~Dt@dM08ZQP)_dMU_%H@I?A?&?Nc~uE7Mm z*TI%H`5B97tmqKJ94$DQM3JOL_LAjzN01vylUExgE2Z)jj$}n49Q|o&vV(R0j7mLzTk-E+>Bal^Qh_kJ;}c!wqs7Aj2P zlGi?e+G9Riq0x;c3_@C(u;pF6cwBMizHit5AtF0lO9trrO%d`}qMe9=lYrM` z?!r%_)vxAoacjx*XT#3qw%q1t?ZdMj@alJkujH2foy3a}61wY=_WOwrXrC}@LlHl+ z4{S{y##}GAY+EZ{m5&wpOB6#+^IutuPMfVW0ut9KgAhdOCy}$9U)G+@{ia(Og}3bf z1iV|24lxZz8%Jdhrg28)$FU@0m5SuqF9f$b|6v-GjQ%&4krq0xHv*l5j`rY)0=~6%i3o$B$-TR z&XG4XW`3P5WJVE8tk-tp!el=eKvV6rx825PQ2|f+G~=3}oM}UoiU_9SumGL?MW<_5 z$b>qfi*{*4mmup0EEF&Jl2p66w5PFH0oT>NXS z^BUQRB0>Vok--;?0{Htw%%w9ey?3vNksF{6zmr|tcU-Fgr<}a?Jg*6uCn4X9Yq~7` z%Ev$d2Mx382F}IIj#1Fozv{iVznPNtyNxjZMZk>Gw|Fex0?xg|J7_ufDOyiead@Ei zt)VNw{S~hwF6Ya}U_->{IB8ihj$%NbYm@vBbAxi_8>?89^|#jIjCX(bF?9`_UULr3 zt(0ne%W3^6YHEz-vTi|G9}C{hVnK8jvQ*401dBX@ROjh`pV-C9ZE8Xkv9!Pp1AmRz z)0sT|y~S}SkM89?#+cCfk)z+mSLF-7{HV8sU1lG-OeC3dZW}n8!%bN&04CntyUj&G zp4#H}*_nrHnOAZK>DkK+rcsHmUW^PsPvDO#!)dJFy&bjrKR~UkQ(3! zI^Qc^jpu&b29VAZ7*kI3QFZwN9^hq&d5=^ctEi6IHeFaK$@v~VOHP{{`?XLsz$VRI)chJn%*27NSjy%O{o`+16 zZ-IKwO_!XgoU_+#{zIvpZmHyHt&|YkaKH@m)W0{Wj%Cd|kBq&FU+0%mresb4M{2B} z)?h@1P={`Qnx4|T+>0`#u#le=B14c9XZ`AqmsP@cn7fFEhF}RB#xtCKr z0?WmYNCfb~c+QE$s{z$fs9r~?bjuS6+^fr$bB6i@-=GHAP_p^;JJy`b!-0X!gFTC<$b~{OU~98mg0yHFSrSrSBG1w83*U;E!i!I1rQ#tod4GJvdHxL|j{5My^D=H>Rdw8QYW z5^(nN%U{@s9A6~yvm#xhM>BoDCg>?(HyTETDS1OvPeyi0+G|;!-yIf4Ckyr#?&uQW z%qJhXweaALsyy7aqW*rFSf7iZXe*mWo^$6t{UUayueQMH{A`+15>3PaNpYgN(XB?L z@6XI`(?G(_Zs@-cAh9qeR07|bHrIr&_d|O zdEG|$k?#&EzlB2rC3;- zy;RAPyG75r*6|9@hbyla;e(3v+U^w5au*yjnfYs0R{<51Af9P;+OD<*NFtZ(OEpiC z))LL^f>#;S$^X#zmvFF49`?pQPMs`Zc_x!&1Hp@4u2^+}aH@(9^5?Qj*y`%NcHi77hry3)#) zs1f-Q>Nx?TfZm7di-3H0Xzt)bY_)l|MrM4iRimsV3u1&YDdH}krv{ntX4!Wg#LrL9 z$C(W0jQli(=6OV>$vD}^bxu47z|H-Nb1O!1JjSiVnW#@(vXK>5Gyvqt$($Fu)K>ZP-{d0*9q|)74;e^zz)9qYv6?PVb-(w&H4H*f zme6WTnRZ(U3gdqfJsX{pvAG{R{HLcK2jr*5He=rMYJHs|gj5M6r~v#vWQH?Xk89r) zeDawcZ^H{Go2N0J52i(?4?TX{n}|#PoE(w4xetgKJJD?AT5rWq`t8i~R5GAve^1ii zzzr5Tg_N-8LF2hVUv+cEJY3I!_e$e^4SfI}$wXOrncLd?AO}3AL0Avv{^tMYX5G!9 z{q|{h;yU}tM0-67WLmChtf4y>vh!gfeb77!m7!X!bi81OJMI27KL8@%gYye?l`m4! z8dvzp4(AJ}%07H8qTSZ(Omu$B!gp7~@XJtVa!KE6(thJbcZLM-f!m@eqZhyEbZn}L z3X&7BxeFTcc}E+0qW@ZV4EMC5HY$qJ_~5EAY;9#4we|Ou=57bhDwsL<#{nM$kv^w6 znd-nrp%us0u6XiL<@!kpVw}0sc}50xNm@()`b50cz)6cK$}GI5 zjhn9V+U!NK7*D=eyIG98k1>AM{9Jk5Ay%m5_f=mKoU?$NRGOQgojG}}{8h!$)Tjs8 zOUK%}FadxRiZ7bu_oA zQGpz~(!nF(_1g4g{vw&#yFq|t7!M>y@K2PBlRjgbcuNC5#E#jK6n8y zn%m7n^_ec$N%=c}UUy^p6fG7m?sYl_3PjnYZIS+^oPtFUcI#r!YHg+hRd$xfGhwhH zdAFy7?Rj_?4OM#9cm}bOx9#;iY5J=Z-S^2SE78h3#f6nyS0N~uB{DTGsH+}xbTu01 zxVJ9Fl^gYBl>-NVU84~DkT}HgxyLm5T5NIp!pp1CGuA%o7|L!C8nK*b%=%b7>yf~v9W7nT2`o|;ZD1Budf%1GD9A< zLsFyf#=(XU8oQ_K275%fKIh^E%WVEBB;u^S{T{dyCTswpIES;dGNv$1@~azxfznb5 z=K)8A?V+Hqx8M%7C1|24&JA(oV*kv>_n{nXS-C1+BJC99{42<*iW7=r1Dx7_&%L(4 za*!D*vpGZ{i+{*HB$&TJs~_ngNL-m8?Z-B}HuFP((SXa^yt%%5oxef?9e`rV53s>u z<~=O#uCoOfXheqgMX`lCb-mOFFANwY#$*Q38mt$LcG(}{{Ve-%9xSUK&O;+POyVjH z=nSnpq3ITiu;F7wd9H?cN&*=VDaII)M58sNNQAc0VNYWGA_rWw-|&f};SdNzPgbLt zU2u4h5Ep|C*Spsj>}~YXFrDPWV>%Fgx)(v6LkWe@!eH?G%@Tf~M*eE0)1&T0z6FVMp%A}Q z9>w*BCM87fQa~-xRsx2iH!wk) zt5UE;{)NpvRX8*l~3* zZTo$lnr=FsLbuIeEzL3*5xMTzS#k$4IUn`#D2+%9HqWbAp&!c?!CG76T()x(*+^ zQ5Y(<(<|`~T%fiJjOd!=9)Y1gU=MByTkm+im%9B1eaqpr)5WL&WvQ-j3yuN( zAvoQ=@0%YqPX3Hzr_7BK0FD%ippcpYnK~-heF55(Vn#%9gCZ9gw``nmD~EjG*|H) z^F#In(_=@E-yOT(`tJs$=y!o=&$ei~HVpn?{TJi`!Xywz zSkw_Kc;umL8!@ZA&W0K=@#Xn^%LS_VEWG?8jw123RS5oS<~;ag2}S`ZLvza1x&FxQ zW})}86o{~DU1i649F=Q}RbD`UM05{1uqSnkFQ|)`40?m{j7{{_G(WF3nJyu1)eZ2m z{{p3lt~-Bi@jLJ%0;<-oijw1v5t{7!v7)^Z5~ncrKqkr3h)cN=Nr(b-b`( z@;>BgTX8KNve`++3b8mEnA*Uaqk5bohLr$_7y~5VkglmdDSq;Ik#at&iy6sq{Hk)Mks@-;!k!)^Vdp}P2XJri2g=x^2tzej*P{NVe+*u? zf0_3w;GU550l)4So5b}zC`d#?$L0bPn-8{pg-&LR%&IKFKkXZd0S@BwyyZBfuB$E9 z`>(~mJQUFnDA6qxiF7S>J_SV+zGNd!2iAmCfP=M!SzDGJ z4n`BY&JaR`XDB}!4zBxcs3pvj`6JA}n?gE0ZP8Gc*j_?!N39of@A&w9H*?Z>s8k9>qfysTR8D95wqZn zkR1IBKUQ2}Z&=Go)T9ki(0%=bH5c}bbl+CZ!Q9J zAo?yt-t;Ced?|>k``}AUQPkgb2fNilG)8Zs3ok|Vye;eYz_tn}KrKeD5e6P8fe_XJ z^6hWL$Rpk>$&}}nVJ?YY)RvII`}IDaPS~sP2`R{I&iAT{bJPm{~^LW!n=oU`0Nb@aO z)zDbu*2fChgOs?`=-v^9&Yt1vi6F8+d}!4x-{26qAq7#7r9}G_I`p%I0R7QM-1L7Y- zMGLSN*%}TL7GlDEKdyM76m*+l<(s)^UkWfArOVmUQ) z2c_A>_c`DLXvi0KO%cxjTS|u)2V2i09dnPnI{MEx-fL< zuumoo^DBzX5M%z?f5xOTQ+ay};=}U?9*BlaquX!p2$P5)KHLU%G%evC+({VP zE+_zb4=K0>5eXj78ZAAkqE(C>-l_VWX^iv51Z0^E&0S~;@_q&Z<=B;PTILeCI*ip$ zJePPds)$c}IDbg0pk79?7aN~9X?nY3*D4FktAT9XxSiXQ*W>R2%5JX;%O^Z`ZBsb- zS4wN`;&vS@fzo=Xzb_-#57|}+tYQ@8|B~ByY4p4vGKh6q3J2 zRoa5TNUn4Jmy|&*P$hH$GTSO?|6c@@|81-NM=1GU0?I$0-T$`=LyXz|BUSc$BK-Fs zof@O)GR-8^j`NH&?$NYg|B<7}VlB6SbEhCl(#F96KV8j@uZX*`y(Mr&y-lh1T5Bn(j%ZK? zN_Whe=jMJlI&7%o2XckvvN2KH-1pVNuU6@L`&gO3CRR}wwXEXVt;K9+qL=gV!_%AC zA~!A3g3bwaVz28=Z#~ywl4A;=Tld$I7^43zLg3 z{Xf`oEnit-sv0zZj_mf&7D$;A&c*frK$5XH`+^HI>yKON4|4P_h;m$6?s28RS{H?t zr{T03s@;1$qHon7;d?UGr`&S>`6V_yNy_FE)}$YzH5A!*;9)~ z2|alJ_jWPVXh1{`AxyS^_w~e2};DM1uA^_Lhq71LULDm z@G?Daq3@C$&_C~X7LOHoyB%w?x0*I+_@|MFw^2kcWqft{I@YA%jCR6Ct)boW3o&W< z&P6y?XkJcbZ#mWkWOFQy4sK??#PJ1E-%ISXBA&|9=Y8Y6a}&NqUx)1R1y^4}Yh->d zw;TkH5^fkV1_SH}`TawZA;@1G|6qR(lgCVd=>d?S`Hx(pm|5S2_wWk0opO8V8Gs8! z|Hq3gr?}eQ?ebsB$S7O@J2zbL$R;^xg&=S?7z0Q&t^PwiaqKU5ufF0qps|*BwgNJ6 zIQR5{yps5otw)w#MM97-7UU-0DTulYWQN(l;Ed89EjZfpED#bhm~u}``-s9$myr=iBtS8r91uC0E_dtvUJSaI?G^ytszgs<*iP-6Yk9i&Pr-5IcuR zC(FY~7`X4SuGcgPX+c?UI7W0<|eE@;x=J)s!3xDjc`o2R9lqwr$ELkIX zmeO>1{53T)3_2OFiO_TkMavt1mJF4Dd}yP-dNX=r33r+tQc?f`c}jDp7W2l!jOx7e z>r^_btcMdD@~Xl-*CNL^cH2>DcWNbNa+RY2TpK-ln>qQM&sl3qqXsmL!6fMB`sxou z7gGuU8WuN^+6ARr)Ww4J8O6d?h@b2gIy}7YCjc-4rN!^D(x88-4jEG^rE?R}AJ;%- z`qakQ8SHkKCUGE8WgEd@Js&fy+&o&dz}o2G`r~A@KQ4qR1c(ORjDf_K<&)>Kb(m;u z`RhtG;xz)Av$MS%g~m|@teKQPu6KjClNZ=X2|Eh=u9Sp@Bs0^D;iausH2zYx_j(zv`7yKyI#Ueih`Vy7Sr-uGNJU*~=-Z_a6KiB(F__I@?u zet`g=lm|eZ1J{U63)I*b8`wD-$sjT9IC46nr2mS2mcLn5JAoYn$&Lr2eXAjEXK4U> znL3TExy^+kN^`SGY6~7WQYQ*1@Xq+S1oTVHHPh53$7XJ(r18r0y-s7L>uEnszGw$- zKA^=?Rx}>$=kFpYNXuwx*bvz->Ec{~fnImg1h_=%D^Ekjh)e`ygUp0mt*+YcNZZvL zeDfYHa+@^5E;s3f7-#ZMBJ9SkJ}>g1#BKE&L-F!;)6D9rdwTKyYsV2SmT%n4bX|?D zRPREbx~ke4`Zocla0g;?HsoFPIXlrlg?9mA?tME?iBS4egCjiPky8P4okKtQ8OX}} z4Ywc!H)s1tJrtwHRwyfIk=QP^a3B&(nYwWlq5CXycwW092=rApMoW!r)%*E4B57t~ zXf_gbzN5l1{K3NS?;CpMttw<{EVuOCzYBpYph3UZbC|QziexGl{7LnokEO0Swr{e~ zkd{lpF9-nXT;vj|6+Jj$=4JAbv?;d$UmWd0!#n!V`{Czlh~z$$s*eo3J!Q(Ih=|&= zfOWU`;KI;GjjCECfllz0DRd7mGcDQ32gk`!3DP^m#3^DI~8 zjO#`k9Oqxf0uZ4xp2%0 zai$PT0pjMzc3oP|kLuy$f{uk4y3Ryx(!^g&MTi6uza?m6IoJu(ZqYz_?5^~Fy%Y@xHGti+g=ZoIyW&_F})E!TywT1J+>J2*c#W9ug zNu#1ole`;@G@;PTPFnXT6Yc|OxosQ9oKy6d?e2y{9d+y@QGY8K;Fm|4{)wm&GQcBh z_dt~GxPL7>geN-cR~_%B39%*L99v&^CShCO zkd5@vG(oaAD};(9mUCB)3A!g2Opk}_^tMKVIW>4-n`NyzqTe+9QXH#KaqWx$LN2Tv z7{M}xKWe1wx$n17bzYActwIIUFX~QYb)~u_n+ZRR(gY)>iBJ25l|0AZJX*zIHfiy` z;ThoUr|?t(HoG`AzhilFDFR;gCr#^`y|Ku;z?<7od_|u_QyBn*>f771CXsI^7YU|p zED_Ki8}r8qYgY(jfk2+iE2bWGk&hk5wzjqJs8XKM7IKurWxvtOh5+g0NxgLgdw2N} zXZLxOq>)-o)O{;RwuyA(WN;8_Fqgy>i}VLPHQb)L`qozqF;yit^6>Qf9As$`At_ki zCz8|=>sfBNy5Kr$%hR*No2CRY!feM48F)c_OlF6v6Ydp9os`1b?>KedhDO#1G}~6u z1Ai!4$qkR_?u_GmZ>tErgPnLBjXLUZOAK<-V)I7RS52Amwy~gDir?7$#e{bjk^$I@ zY-H*`0LoB@%|?#|qnn!}CF{R++R0id3!5u-sreHlYF)z3I7r{i_s#xLgku_%fXthO zhyDD&sEq48s*_&F<8)C3=ts+T?w;$RkelOx!xhm0?4t#s*lzidYViS)M%uaCF5Kvv z=3 zU&EASl@z5&Whe{5DlN>O66*0fA#vo()#$g#@@FNH9mHLYT{Pos2n?1r>Y9z3#v{a` z(|gbvJp)Uz23IIdaW)=EVfQ`q<^`j@Q481(Ds&-aT?HgL+eum|i@@mV&G4&g>rZB9 z=6By(dE8R1Da5>a4pt~+iBCJ4{XgstrgX`ToC)#jsYi`1}gQ^oQE!{izjRsBp7?wMZ z*C zw|e%21XuXe;`F0${nVyKN@!o#O%v)-hE6+Z?Z?i#M|v==i$sa^gf3#>@64zp_6CZ; zim%w^3p2+#3Ba`5qT=N>3cg-?g@OG|4*pTTQnr8HqVJhZbds&J$Af`dfe-V4O5OPS4HLu_}-v*mMYmY zq}Oz(A>wNAXL6k(6BmA=i=_|XMloO9QVD@`s7=<+WPewk+9Suo9s$#=uwg;(@hD#E%E}M-ju@lr_j9s>{AG z9$vIQ>{V*&%VsN?`G6g?S`aUEvFWbZhR9r;$&F;ip;rgpU`^3C`X8UD6_Ug2Sir{L zk?zZmT=f{Dt_2n5Rw&C%4}&R0F{r6RSi$xr$mx zJDkJ(lPUB0t@!i;j$sN8;Me%{4r`}6hv$7W2tIX(&3NeXm5|i7;eE3W1-sDat^N4) zzmGaS5RCr-91zmED?SmE`9*bU) zcPr($A5|TEsfD^H)ws<=?G!ht^R!Z1P8<2BhwY{{egYz~9Q19+9jjCq z7;Am0f<8Ie*gcGe0zn;6`^wgwOh+E3l$wcW#l~~K9RaD(CR=ROO+54!)03|MhbB}! zvG(Rqz9KwQVImJjn{=IDOJ2G*L|!!vF{7Gzsdb#pL%bwwvKwfjGu;!U2q0<@n<)qP zyrv9~B0$@6UBBz5XKSP?g9&7a8wC-Z??#q#xad3ZI7O$oGxc|kC|_QHOI|Ua=koD5 z+I_{gUa{IPq)iqQHj5F}YT5OgJVroyNV`oCH7Jr|t#!5#>vb$k0P+yEW_sYc&|MkI zs@ihN(8iSx2jTo_t@Y#Q;e-!d5~6aK&2-Z@CF_x%~-Tv#X>VA9g?ssdgXRY<%kVp6kZLs}A-snGpE2uRh{r{_m9cFrt5F^64 z9Pr2r`HgND%Rz!DS|StLWkm)obgvIHNvIe}yy-MI0DgYy*NQQy#+YsU2taJQz^GR0 zE0ZUYuaCD`J^VQryN<=TmNn86jqMD37y3?afVGD0W&@c+1%M^Kney7}`U`_XDthjxv8Da4qjONM1Nc5676R$|;R%-u6#QCGWWX`nC4< z_WA|}Lcj}1vgq#zrGFnBf`oevPh1SZzr^I;K^9Dd0?Uxgwj;Xo>5A@3ipJ2kxPiGL zmy=8qW;{tr5}}`~xiyB0wIf1E$^AqHVJz%R~B`8p+|7t|ndR(!Yzk-2-qb3q@(96hND&YEjPPF5As!6K;w`LSzD;6hgM3j`! zrHnj0I=+Gon%UWF`XQGPfRJkHy=Oj2k|ZNjxTgbtZNyKf2N+rVzYW{+o6V^Q*i|VU3-pWxj^)RJWVgx0`f*HhOrSkj={IzI1d$5Y~HH zX{_F88|H2*EWoaebgVoWiQ8;Cm4{BNOs84{;$1AA?)-4R){H)2N30oTThazFB}rJ% z*d!cV;73|0wPYOZDI+^D|+igg@xY{_R?=hisJ&tFt^0m3KXYvNnSelVVyKQd=+Z4J1eFX|{F;I=Yas08GML3tl8@qS`@ialXt(S@rj&&c1DyvBOf z@FE161(d3ls2Ld;DJvzJl~50uKgJb)t_BZcjb)@)E#T||qa{(Ph|~zLPYp<=nmjf} zoh)Rp4A%%I0U5pwi)Rc|HN*g}92UOPEmh(zp?>BWzPyG`x8`{3lul0n{SOh4?MAfv zM8IEHfP4`vko>`LPvio-tv*QG_Y<8D99r+YaviO1uQw|YAzMz(gq)Hv5C!y2)fJ>$ zK5&(k)wZU#(KM-eUDO>IgXP2Ak@fdqZzktipoJs(NyTUdExb;J0${Ed`tv;0ZuZaX zN5Zk;H6LkzSoNOt_U`t^M)$Ydwoi^0rW`;hkGxQ;PO^7&Dud?rdShRD3|X3Ur{!;<^hMumtvhmjE3Us8IYvX%Id> z_eHI_{sgD=P=C99T-!=hrL)_dueD>I$U&bI=sw#U0!{-6 zK$?dY4Ysz#$C3hi&$c?sI@Va!C_;w@2jRDxw#vQaVk*jlU~8aZplg?-SCR{++vVeZ zccgTtduDO8uv~c7j_Q08cns?5uj`+ZmomIBK@?_vt7YA{moc58YMEq|P^eszq}`I` z9OG=S_Vtu$aXq=FT5H~mW^Xp5hx1wQ*|tDl=t?CKLV{@|gkk zZ~0FO^CH!6wmyH)qSDIVLj(SYaqno7TOh%puD<@roZgn6j;;a7x1sDo{s|8<-6;TQ zW9*qK;D_4?5t&i~hJ@EpE?Z1m`N~|$HsM-47zQ^4YM-n?bliRlvx_~L?aiz%uL|de z9}d&ATJq0+oplA(PENO_o9C%=)l}7JVRydR`qeMyzWw0Jd-sb&Yrb~AC9*7u1}b$emFoP@u7pM1U*C6 z7Ooq*M?^#fNWF2~4Qg+H0hR+e_gCV%m>7b?x2FR{A|YLcZ$EJa{OBxLRf#PU(G#J_ zrBI$yUUFJ8^<5-r#=i>61cAy1dAyz(!8*yW$fYYKgAI0c)XaVCWbrU_6LL#V-vk*c zA4d%fv|43@O1>hw!g_3{w2qbwm>NupjGZ9GRmYvI3*2^86VII3)+i?WkQ=A4~sOZHb^dmeB zT==&-cy5P1>nUg`@Z0%->5iyM&I*Ip=+)?HORw)-|Hg_AD@w4p6RupsZgx<6{E9Zv zzS=-$DgM*xIewV3=Ims9L2Xcjq%u^?zw$9{Q$ZikJOW}ReByUz1vg3Vq4+@jz*cyy znm;l)+W5ln3O>7s@7A6SW!s_(Q8ee83gMG6fAhLBRKG!|pyjfzhChc4T_Ax1 z7UDZQ5hDl&E`l5}B(avwC+7As!*{jy8ntLj_d}FwudgY&& zIVp8z#PmY=scJ&%V8-B`er^Zg<{+tI*P>)&U1-{5e6P<`jRA5PZZUMXf63n&lQnpF zxUxgB^vL_-ot<4WorP@}VVkrPTZ8MGZtkSJJJTW4CZSqXT)KmIdk>M>qAvV`A_dyhxDmiHQQ z-6U5MYn4HtClMDG-}K8$AP}2-w$40TiAP9gCwxcXYZrBkc)2Pq*ZZ#6bSzRsPuWJq z?K()jG1(ksOD7{3Cz`ftOTr2EU5Ton23Z5{0NP-Vl;j)_>DXrMc=g1=rRz7}0C#n;W(bh+28eJNnL$tl7~LUdSG(54 zSXw!x-_U!v{xi193eCL+y3h&PcHkVi=g?N&FgL$`7PQT`Ny;*8?ej5_NjiaXzTfbD z)T@B>!vS7v1b~XD0(lUpA|GR_AlasJ`E~Kgd2|2{3yn-9&^X@}5t{>+MUreCz5?YA z6OE}Vm@+$jn8?EU2uIia%cgh!uJ&ZArXnQm)EIRO zr&OWYYES;m)LF@nax|KA4Dz7l(iiP%OE-5YBNjbSYqQY>BzEO%O#h9tT0r#c_D%xg zv#v4eknp)?mzUF`#*P7D%8^XTG>Fh7YG*aqt#tIBwwKUV|_4dZBml!wj8?0w2e&Y*yAyV3oEr`Lp$6$XjX1ESYe&qMkpD+ zG~XDc86YxPEPk{jVFFA>8mLrIBKbco#vB&lhOOboUd)6)t(pgE9w}Dt)%?p*WXV?g zrJDYkrTMN1sVnx=lPh&KLdsgCjiH3L=j{4O_=^jL@gyK4ab^bS2wn1-a1=RVpOqun zF2e4NP3}0U%Qt(!i$BSz9>sC6U7;mRJ&Yb?ci7MwZ#1-VMRjFj zimOHeoFe#>*HeD~q7__bni8_IqQ-?xy8}53;pS}mDpW)9YjB+hi8*2#u*`6J8g|+C z^JX^Y4=V?~2Dx~-e6W>aV*U960YlqzJ{%}YTRknxoCA>{zI;pScGkbGgT~0FKI_6a zp8F@y$0R%HB<#5-UlntoZQ#QP1TRT{ZsntboziR;{00e$hg;(&{0sgz8G&sEutY*W z2G)P4snS&>(%kwvcvp`!K_JBy(pBwRN#9RD749i~8D=Cf!bC8z-7|otERrdo!)cAn z9!*z)sAh$2Y=&>tNoo!K6VrgDdPS`nbp)k6MTw*|4S~x492x+ghfpEo{vj=34UWj< z|3;lL+MfvFdbB!7z5-|%MGOMV-;Z*eI0lepph;xLh5QS!!~6oPS^kj2mOzIu0;J${RV6~dDj=y+{1Z#r)J8rY9zYl3`Uf$Qy0j<~ zjr@cNqAdEeZpVCHlfAQ@l*Mvm(Jm^29QUzcg*mwL>|=_Gd#a)vj^f&U`SoO}{X&)f zf_(9AuGU_zZ=i&tt7ZMkk19)@n|lpQ^beOMX5&k3>@45d1@4o zMo!58%9ac;8G}yINnU#0)UW&qD@(60ua>RsWXpXY+!c8^l5RF(b04>EWiB4Dur6Qd zP`-G=p9XUhyU~%!TvDVfW4tiWJ8kMX>AI*ih+sP&Fgap`_L7;md41Hf+BAW^dSS%(SziJ(aXuSu9N zmEcs`Vyk=~RP5;buS|iqO4>?-lX|bYbT%9;|9Ksc=Fe|&7<+T1nwlfG#*OJ?AeqmR z&-mZA%`(qqK{=Z1BoIEdAU<0O0lcXAO~n8%R;Uz}cx5*WfwwWU>xab26{EaaFmwSq zaP5pB%rN?7UOUmdv!#$*_MX@0)8TXn+%<2qpk~SYA5Qr9u8pB!S6G)K}~=He3Ng>QbdV;X0N{5^3#nHr&^6Q5F-Z+`k-T@^322S{m^4_W+@W!8#qp*&f$J z4Q4aT%j;`V(kpH##f8ftBLz;qN&nzz4a|lj22-b%6Qa4mifTB`IbR0+CyDZ+oIQBH zvo0dh;-QTOirKcgi5N~>_>phZ%sGSiUZt=%yVv7uQqt1Uom#q)FPG}yq2P7(9Q5WQ zQ?HqZ9=!cO3$7*+4jMEzK&3EwH10vUd3j!{$BO;2t}?x2m#?sdQTx3ImrlUJ)M0!F z%DL`fz8z&3c!ofXVUzakRSElIDiGOcTo~*;d0yD8HsI&yR}RE}w%S8>_Xi_gKCHA{qtZ(xt9o@s^Mqef z&0U6NbP_-F({OV8Rx($mGp6tfri#Z~gQsqQ)4xzRTvuT;D}Jv3l*@)EGzSpFs*n&5 z?L#LZ-Z%nDh^tckP|<4>YX%$5^Pkx#Z>eE#~e4cTi`GJ9g`< zw1wKPwV-zq-k%Y=%*Uha4jP`0>K@M(fPUd0y+zKgmC^G2yz*p=_s2UBn0I|`|Lt3+ zHAt7+jj@xHlbqZXaKrC19!ooyocar1$w8A;e5Tyb{of|I=)2k~iav?h$=4s?G0mXV z#Eh9%h4T&4z!)g<q3t;iFN-w+xk@1cvw~Fx7FL8s>Z5>eoL#$ajS@xiOa0uHwzNWlW+od zCgM*847t zv3PF!b#+4PU}~M)v(&dA2qF=)D`_TrG<+|o%o-XR&lfj4O`M&Q@(E@J~Fhr<(09*NFFhR*X+H0u4Q}2qVpy_?r|w%<+I*8ZPiQtI!pdr7<2tx?h z<|)&@(k;_$ck!#CfDL!q4C|}L#aJbgSrQwjk~61P#0Oq}jA~*9kp=iL8&Ys?9C%)L z+>Co(a6jyOZ8)5_9%Q&5;-fuYj~ZIohtRwEm|cwANgvQ$Hz!+vv~xP;R+4pBEgOH! zGMD-E5Jn=+KAq}VD*It{M%w_S19v{{ry~*ajy~lHhck$7u2{EA+u6@osCfW^xEGDo zXMW=pww~x_EHEYyLEp@Lu4ddWXIk{~tlVteW$G$9kPzlOtm!0lmhL$dX@90Z(3g}~ z|AvUHvfxQo^Rks2n0}#Efl{J-B0R}u$Hl>+orkZjiYjfwKn<{7y{j;CLvE_No~u<# z%2U?}r6wQG!h6XGuJFE43HCh|8Sd#zRDNb(hz<@%>S9-s4D`DW3ei>^C{E5DPhSX?b|?9NZjCbZ_g&E!MuK^hlD5%Wgq}RfqYMM?FKS zs&{o{H;Mt5x~8f_ovggtL=46Ks;`V)-Cw=aI~#I53e&31M`;CV=gF|xrD#@eeq0deFnRkx|>!h|2nMJF3;k;1Do+FlKRSN?!N9!c1c07 zqGY~}mCd+v2&cVtGVA4wN=kbgyEF~sBm7!RTgM;O7<0b(rQMRIYH6PyR;4B!txvlu zA_g#;W~}o^ah3Xbsaljs`XUJ95rCE^ev<^(^v>qlQ6;cN? z(3HJi9Zo|1wIX^xm6nz=c0FzbnUxxFdf!=Q3`#7%rgE`}1@x>51oHAB%vU!jABMYh zD=O*LdBuUe#kd-AAIvMMBv@uC>8NNm?OY@d2`pwX*)4^CjZ80EoF`LFelWpV{c-UF zqN*-g#fZMw)|1*do?B`&mmW3)MXm0Rn#}fSKUHdgQEXETUR^t}C$n0xc@W5pvTohO zV0VXx$I`7;t+I}R@oo42EGg|j;@l0QQa+B?h`({6DQ;i+JEMr3wPp)Rj60#ZXbdYnYwZrY z-c0(9ut{#{?iVdPh)GdZ_o4c~juA)1FpGLEMA^8^uTbg=7!=|9#(|Wz%WH!dx3s%O zukqL+v7MlOhoVum$I;_ha;q;xvJ-5q>TJ^XC@pn)G%wxB$cx6MGsT*Mx)FM%;hGTd z!TDWRV7?o+MM2kOHN1t>$}$K|1w;qDh$RcD ztEbs70s-2sL6pN^;|Ng~C8O{#Rs0q5R8NV;e=a@4a>!(LXQ5egzbY#TA$W5ZV=0p> zh{WYr&C4msX&h-n@YbKDwjE!GF)v@sqLk4Wmq&G7(75^b6e&1yel%9X*yGmXDPdTS zt2Rlxj5;Z*NuLllP~P>Ag`W^OY!aPsYn$6XN0J3&D{Pc8p>i)UfHiJDkd=qEos1Znt}B0p>oCINdKNXYfKcP7TiJ6xmQ2 zHTW^~wBVH418y9#-)JDgCR1NUXrzT5s&1jqjbnC7*UeVD9p55puA2U%*0|<(qJT`2 z7s^S+(@x5#@l3Ze7R}mhzV6MqA+6c{wm@`akEY7QM7ySZ!g@}9I(chE@1Ao8I#>e5MC)yJr*T?dx6-EL99)F zvgH=$^qePJlBQ`4*fL@rpSK@ODs2xkU9OY=cro%yPP#$d%kz7K>~^VPD>q%mmSq$i z`&rE`&kf=`)ReeU(=8E#KQBFtS^3Z6{6cd6ULwKot&809QZQ?0ekv{?_4A8FJ4OJj zcBs(xN&*+?6&i63CXx7Am#Tbwx41mFfC-A~^st2b(tOcZaavp^2wuw2HS*f_ViAha zHSnmOgA9#w!+Mnv%SwB6jdD6Yi^Pm^9K5>5FyxlGy53aMy4EEnOKWAi^mN$Q(4K?Y z`@C{P_bFN{#y0gPO!P-`-%OElF5FVv#i2G!aYkHX-@4xB_VC3_CgT^qlYP_*5fID1O#?Qq`_q=l>{rdiYAUV zzTaW#!LMgIEJZ0V7;0aR%^`SgmT1Q63c9p`h}5a=O=iM-x~ENElf|)VukRCT%J4)y zJ{+oGo-i^kw;?bA{X5WaiHXc(X}4$I9gjDq)@-9 zGYI8^QitvRegqb3@|=KCdhC+u$oc4Jgj6f3P+Yp*3@#1+JQ*79klqVk|9bHxx|Eb! zctVNc%~Ql-w3xd4m{+ivx91<0gg~c`A*`P2!<8qNzx8@Wt8WT3M*U<6pWcnt%xnE_ znZ3B4b~|IycKQr^v3P!fs!a>%NKi zYJAXpQC(?PR$j=-0$AM1-AE%5Lr-xuH^0{%JBoraS6INojd8o6(Z63lj@-b@e#_0| z;xy?4SIZYQM8vgcA!abJl@dA4xn1-JvZ}#JoD=illy#avNoN^h1E>bSYxpa+lxJ*v-SBNPZ2+)%Y+AX7pR}$U1_pfF~;QB zBE@_P1B;8UJ3(#v%6+nnTWu6gn2v#+MzBiRDH}bSv%Zx3=FsQwKq}Ob#$; z>+1vhZ;+^buCEk#=PZd^?TcKMAs1}*p|o}K@|yS0pLt%bjt)KE@34v=a)ir_zw0?X z_UK+*g*VVQHr`)uwD??%ziX8)weL)mOS5D^?gJaKoWVv#W5KU;;EI0V zwsdsNqP*u1jU>oZ$aL`p_CtbINlwoo2m36bhv7xkS|*Kxhnr3e!bbG_7kptCrF}z} zyi=vqwH+lY#Be-BCNS;@BW$6adckKnckXe$ws08-tVkdZ>xauigYG!(bUYT>f)LQb55yZ?0udokF`A|Il0ey0E48}MZ`2G&l!yj1qJ0Bsli5gKGToP z{)5A<5jxYkW#Vm+KE3KD?6b%YqkiLYh;+E4Z*Hmc=iyWNgR z3klQ*5c&WSA^oDnY;iiuwSFuYVdA8vLW{$b!i9c(A%Ng2O=@+dBa?LBN?vN=g*ijGf#2EJ&h zEb#~{yOSeL3xeUr(WP>&Dw9=++p5laP_Z9w0;5`8?VzL?pLQ||?=i8(zjJ)GTU)^2Lxi|}%O>MZ}-Ghr+uuMzyM^<1Ig>E(g-PIvBW zlFfhiFdD*H#)mNVdr71$jOEuORA`+9U#Wjb9Y;>9m8!TMUiZ> zu4-6nh?aKfQtL1cr|7aDCexAi2f&`x<&T%=`se%7;w&6@H=f5$|DmCwm;1B!JdCj& z*ODJogs>h>RSXWUc`~S32Ttg1tiGHi(0J~9d(RFB4a|gd!I0>cIvN+YXk9l+_d~yL zFh{Ft8QJm2_z`hY^l8V@mck~mqVX71FTI~zWmoL$QYB9YBZo*0T@H0MvT~OVdAct7 zf({On&en}+sjV%!$}_*w%A%G<&S4=D)?sGy-d{jIAG~WfnW$v;+nuHs-@dtHFg{Jn zdlWtDmc2>I9kt2cB1PO*2}fENFdxYicG;$<&vi6-f}z$$n|7X5wOgBF!eP*fNlTyo zVM*zZ``u3nJ33ANM0LB4`dx*H>DK*O9LjZFk`Y;6CnHhq@t#Dho4{?Wx9#N}lOq0_ z-21y9120aLQgV_hDl~4N|4pCY?auFccGkU49$CWK^2@bmobk*VSvOU}X~yWyml~p( z^>6T1t7^>f#GbO9@7Xl_>jolN&kv(;N9ilw#byr-;o8LrXA||v??wL54#D5^;aok{ z!hyZ_Y{QX?@C_U9&RcH>n4Z0n}H?w1cbFoFtNJyBa2rib%9Bzg= zj+*V?aixmJU~_f>JL&fqm+B7-IFAht3fb&1i+LD{5-?YT0h^n9Vugkf?}A^h zKcnPk^ZMldiCV+g(ym&$mrYY4S7a_X8P}Mn9$r@Hd89*yhDU!13pZ=Q3gQYrWeZQ+ z?AKNY8Osfc<+i+s^($)Mx8EUiU=R-s8cnC`?ia%M_FhV-=%h&-jHJ?fK=%O55iuuL z*5{{>+3w4X_kjahhS%slU7Cx_I4g~e@LD=Jz9$YsIF(|oL3oq965FG=By%U z3T{}-CRJYTJ#pRFHkq!@Kgi3n?9PUXOO||gnh&FRX9hEpO;$#*!*UAwp86CwdS{o! zhr4@AYFx^pgYfJ;-`WR_Y1bNsa94{D{U091c}Z$?=t&#RX10?M)hi9LsdZsI#!aH| zOxUXUG!zsrxbT#e66ro08O8lrHuJFO)H*U?4Wx}fHn%uAMQ1fuIC}4FJ2;q6O4e{x z$0y^l>+8^`cG$mxAV^g;slCKtYEgE)LyBhPwr^QBuB=m)P~e+*JK!_7Vp|(MqOlcZ z-vWi#di4DQT2;Fe-fStDFG7^<hK;`VC3M1gw}*C-f4wl zjjSNWK%)F4C&axMQ$M7N;jtqjW@eJcBeMaBN^j7y1}{y#EA59#Vj|8O_s5>w{I>pE zL2!dWXJc=t!w%GPL#uM9_Qlb&e~tsp>2;CE;>cD&7q@<1Lw?X! zsFEIAdXo*SjiwE!vMwVn>u5$59z8d6#^eL4E+i}^8ki1PHpK1Ac}UbO#jh;aJDoiZ z_GFtC`N#8>WoQv65_j?(oyj2x#Et~6!vi^DE<7f=cTy-v>o}0)H#PZV7_Mjl?TMeU z#imNfEo)iGw-Xpbc4YMn#x2A8YK#XgeNmhq*0xYzT8dLvo=k;+iu#&Q=G;C1>)Z%< zMkA|jM}9=9k^Bo3=QPT9_Z{aqV=9#bdgyztwN97F)6<{Z3Y|hyk$ZtKp}` zyu_{0gxT45pNCY}Y1+jH|9MGU5oQ%-9H9$Sb8(YfneDNwrq|^(5TQ#a7NHB$OG>wy ztMb2((KWM2_QpJX32UM%d&dJ%ZFo!$q)-J9XW}Z8#FAaJ7bu!*i%HwhQo*>9V4X13jRd{FjwRrvZx{rJ~u=G zJvSjy@IC-oELWby!x7dcLLh6S0)WHqCa+m+?$XZhIFk6P%a6|rYHFc3q;iiC#6&8@ z#lxUAGmz++6T)42AcWMT^nDEslDdKWgM-Tol+qe(m|YKS0uDh-^$idx02*Qa`F;N~ zARpEa`|8VX{+|&16oP#5=qQp_DIz?%BLD>HLmRf|Pmu18m>tJGCPwShK)U5k=6QT5x`8 zRa0rvpqrwKLkt>C4B~=~by=zN`}?vwfP~Z9lhA_=aa0p=0qACL@n6*VAF%j;MU8(k z=6}KBKZE}XHvfU2|ID|Qj7bfI=p$1ycg!X3$yFC{FjZWT-|p#5RSb zwpv=`$!+$F7LYjxoWt=>33u`0jLb~wznD%Sl&HU+goYB(o?4IfRerIHtwyWmj9pF8 zitj1F|7N@CgYzrGtTBGCI9XpdS?C06+BU6w9g-`+`f8#UjL*W{d=m3mk~H zSPrNG4A(7D8Zq-NwqwnFPrLE#tG4|K)C#;nM-N7zpU%U&yG=UZI~=dDZ6=Jz_OH-J zi-n&qsyn8k6G9KUU+~4)wX?tY?kN5?GDsg#uF`b#haQY3+=$A+ve|^RY_S{87jWj=x{RkFKk$io5sAoLIHb0?x@L4U4RApuT0q5 zN$MU`f_?Tc4m;J$C?x_#Z$A(R=Pf%iCmGXP3`Vv-Z|5mq(iCtRD33)QB#c(LBemj@ zZ0j~!N^;Plf_$|<=Cj`oss7Lj0By>jk;&qD3UUT5rygt<@!a+PwP7|>)L316^CLHp z4@Fhlr_(uAUH}u`%B#D69!?Tdy{$S-2#bmer3m;#UCnuGwS2t4 zct7?NzHdVFYQXUwdMV? zvO!}%J%>smmBQ&jfnQa{bWvzP&1NtN&pT}(6~vj#&rRV-aNuOZNL;gU`vraAd~NEK zf(Zr5?)gL0M{ojY?L=GMab3*!cBHZKjG@d>GBD|DGYJdE-wHql=B!OhR(>dv#Y~s= zr`s7>p~uO|N#M7f{B7^)U~f<0^|+P&x=Wd2;`Ka}jfl$ze=j)B2Q>CnHKOWy@smhd z#&`5}Z~feNb4Z!x3WoS_JXhX${5~K6Jmq)IvoRJ=UT;$|Fzh?IEoiw+c|1dtCOv;L znFtAiVOV$FiM&Nu!#)(^@VMR;Z!8Glw?62c>6&IZlmfe17ZxKq^bpkzLSt#)iQ-27 zQF1ccE-x?Nb)8tv^YMBEpU>&A&!iO8ECzKh2;OlwuQ3%iC2TU0qm`@01W>}I5N7x-DOlzrnnGpSZ>J`Iuq%}%eaO6lhN;hu z)t(4HZ=Nr$%b&hD7RjpkCqkBwB@$QN)H#$7v(yZHhrKVWc6GnLK7JHZ`ifC&@Wkk= zRM2$+6Y&{xAn{89MHSCgQM$EXz>ip$51>2hm?(i;fK6;aASz&A-Em%=Yj?3Z{KTo_ zvIU&j!ohPX-+7ZoGD=7VX2|Q z6Ep*Bfz~+{JOWI&+NRNkXmiP-t1gT_M+}526{@|Ricv<*bculfL%olUoo6 zY?jZ>1YW{?2*kF{%DL#iqLDar6uw(D3JML}tD(iR*-?p-iN0EY`)A65t%XI#z73pmAA=M{4EYB9}}eDk-fIjV4eWKk;#ZU^H(n3s_eC#9NJ<$E_0Ryi)RU z-`q{@j*b&H92#hTQ?BzSp=C$`W^iP+N_hlbza&M;tYKzy%m8tIE>htP6Y(X~E;#MBwhvAF-CPI%tR>`eD7B#szI$CS8!U`k$n`2L}dA ze$6!B@SV-d^vfb*iq)-uJ4YH?*HWP$iqJvggy3u|Cwc?U4BfAWD7m~O0Y^e%dK9~) zX)yb+GMlz9{@){1*Q~K&12MScNtn=ZzUT)~`hFq(0q-`a|=pPoLEP5h3;{q2v&?1nd^sLV(;h(5sI&<^NYO76&%U>9nC@n`y@yI*qHaKD=by)k|qlzM;Y+REF!ORq5fuWgs z1FdxQ8U=fwfF5T#T@pJtiGOG5~aUl?Zdz#EMfWeoCfCqVX}6>lLeBy)>zKaiy&<>Kb; zrd}W+A&~+rq|So#i?PUyM3xD!p)^&J$-f(Q5pyeGjj3n@sULO)G#-XLBNc@9#`hwN z9O9nSwJPM!7j(?gWX_lX z!dg<_Ghd?BD2I6s=@|xs{2{f&1gGwEn|w}gJN=9tn2BvA|J>)D!D$0fW^)08_uvzQ z5t7By=1P2X7OqG9su0^F#v`LI`Xthol%ifkin-$IM{#mqx&2(dFH6RLd5s}g!OYw~ z?R88ye!?J{!v+bhh*o6JCx{kg$Z?KA-F&Fp;fb<5E0>m^+g5cz+vdVvOiAmK(zH$FvE1_BM!LBxe+zE=tA`u#85Ob(F% diff --git a/Screenshots/screenshot0.png b/Screenshots/screenshot0.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a9028aa6a60ee6ff2847f750875c6077f0ed90 GIT binary patch literal 14813 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

5s0`vj= zOj}U&kOQ*qOzh6@mh1$ZuGG+U#v6dEzhc-ZLo%YB3tU=hCg%-_#)x* zk=(4g4?!9zafXUbUf;1Zz*?lNJsLRgQdwIMu5gPi=V66G~rg4ZZ z`esYVBrdEPuY==C%7h40ty~ix@Ff`aGmvBNGxp8p&d^9#@_}ZENX~WjE~Rv_(~ZqL zo8Zb3n$Q%ZVC&?dsvPR?>ajfbW~(hfl{KW5TdUk^d2ECjcHm`(dKv;xJ_^N<8w4P~ z$29ATp`dcFz|k%5AAQK7XmJ-^w6e^K_1Na(as?sKkqX@}upDR0{>Wt+r|gLeM3AP# zYV^uYQZ{1K_h?4os4q3v!2NC~%)?he$6>ubr{g*Db+3!VWD^%~+J2|wxIzV}vs$?P z6)nIL*M8tvy1e|ImI{z;DOk~dyC^~I-uLx9)hIRW`&1x@DMz`P5_cN+HX^ZGS9-UX zdh&}r?@8T298H=`Q+AZOZNI_iqN_r|mxGq03f_n9xGeYG6fAi@%v&iqa6^&4>_>2k zc6F2bwH20*25k;yJ<5`G!7x5q?3 zf%T|y7hUOnZFx7cgV)PTX)D;nXL=HJr%=S}O5s}y0X>S>4Svf!@NChL#e??D8(IPL&S}ev;{6gJZAg9yn!bqM< z&vuyBVd69Yb+16{H+3TP-fzSU;$XL1YOt2Y#RuH3`TDNiP04Q3SGHZcc0Of1Op4T+ zj0}IRoLyx5Jyqxd-OEQd6!xyC@)e7(JB>&J0a5R>Dlx334Ma3xjEX|*=O9V#pL`_w-wD{YRIi(;G_dE` zeIgJvWPUVSlCStgz+m~9>#k~22ERiWJM1Q)5myX)md2bWS$I`s>Tq>nwzbS6OuRcj zB%ni7l9o2V$QGubKL#cj2mI`s+BKJbh$9*UV+GvB)So-Y9w2>P4XPdnJD?5UW>eQ` zG%(k}&*z-Yp`nn~c2BiXvnA*2{DpxDTf*P?hBzfp`!bCHllFJ}4beS<`=IuP0fvkc zNO|nB9B6|2wxlGg2lL_o%#!{wji;|r4&_CKg9%*v^7=zMpb~^1`4BF2h7GJJFNbfS z5rUL`QqH%a5~lb(8H0_m9M=&!eSL%QMbwN1PT}ZXcSSdtlp+u$8}`A_lY#WVs2G&a z{3l2I*T_F+_MaT>e?MWB^uG=p;;^-sXyRh#One~!)5Af|R$P)A4+cg40h3X@6InL2 zwb*++yfiJ4*J`8PoFC_6P~f5IeK_AWG{8hm4c;payK8&eS+0+bK`Wa$Q*&W>p55B( z%gy0u@1m8L)oQ~lw}ZgohdgA{S@O${J1N?n&n(xAaD`K{p`+B5gcpY1ZZ8dzi}Y2) zylRUnI`H(H^4%K??0+A|Nd%N{{u@gcuJI4hU%)3g{I1&{0M=bZ zO-pRFr9`SmeyV%(AFzaGllb`WKqA>f^R%+-^bQQ7daW$&Cs)5Zc^iE1qM8>p@Pr;m zJADN_2WG1%2xiB4gFv!=W^-BT0Eo*9H+PrlIFFKv1Z6G&P&Q=hu4r3suMJNobDX?- z3~m^(pG|bv0T6C#i&zeVB6yid=1R4+=BaV2>w|;+yFxNz6_LqO*LAU{GgP}OzG%|t zTP^JZ&S2oyJzn7rp9pz#)AkUB^gwX^)w|_P9d{>ULlH_##`8BfF~r<=S+48VuD&f5 z!?jc}mTb%l0iKOz@@L`fY4jzV#wt=W2Hrij2DiqA7}4T{OFyrBcPF*7n9?{*mAH($ znR17RjORIZ?8XswD_)&U^tmWqXA+(bLmGImA)|K!g1oWUK|<)~Okgx_skzqeVrK0u z@I-aCT3Y%LHEPqDYwxJnc4?D5Or+D!SCOt3hr2L&Rkgyp_mTinQgCROl^C2K2mqJO ze&R$a9tT{qo`kz$1_D5m0GJ$|Uhi80A0b9Z)|}DDo=L&gTOYm+jl`Y#+}CIvhwTYN zL`tR8mPjhJBduDC+|q+RA0vuqSJCbH%XQ55q_WcUncz>7_f!qO+-qtpJPlmW>m3*! zY|-zC0f=sM*?9yED?g}ZOQ@m^s?KJXVh;bcv zae#y%6IJZ#C#k4s65pde%~#+`!sQRRl*KR-`0PzE04Nm#MRrNQb`qKs!7W;a z(|iYjMZ`sL$n(Cfv=+y|1HqA}3)rOz9mErWC}s7uRR6{voYvWLn90JKXL5HI4y!J` zRR$|l;^+x)ho+v>E+9T$wGOggoz_g-CffDkew)H$8?-n-J=3V^zB#PX;$~a=F zu+)zUmx#{hC_RhHnNttU!vP9v}{&Ee$ zQA&z`zKWRXM?G@trS1K5JHlM@^<}60%prHQo(8RB!_EG6%8`$xg12KX4AIH+d_|0& zGa&`GlE-FzghpeJpC57Jv0J8$0Yl4fri!@Ir(J(E*liw12mJNJa*pK^PEbMwT+eD? zD1!_!UmLC!R%9T;%?ausdPk61$e#w58~tqHhG!JTmnf>(SFeG6C?M1A)(`(12_X4!_&1;>%loPQ|2$Q1tgJhl!YaFYAlfcC8E#<<1b@=gXbDBw^T# zyiVWBw$7DLIYo7czba<|q=@&plcIR~dsV9=UrCQ1y9_#S-Azd*9lH;6ZBZ-;myp>a zNfx)l_c~H*iu#l`@BNx9aKYYd`RZ1j6(e*xtl$rg#Q|V0tkfn(k*}Ko&3!j)) zXq4ss4O0)fw!YaNcHTh}#A(pC^)IT^X>(9YOVk)~WC3G~`CI>&$I8>RX{A>cDzK$t%>AT$jo8_4>`c{bhJoJc zMeG;Sd81lqhrNvK)$urrYZlu@TR_2>XT5D>Ti9N-_raTq;Oiov;CO(?o}ky(XWVC# zb2JR^3U)HRF{X#PwYQC=E9Af~6d%^}BH` zDxX7ad2TP)BAZVAim4kpzq9?p*#9x`Mn@+TNMt$bj`;oJ>2rjd^~+-`qe3Ca0os1% z(|BZm8RN$+w=;>0JO`@*;A@aqJ}WDEW2TRgwP5apn3V zchZcD(i;s;l2);T*W1|LWm*_cR)I*KVP5^jau^+jytIrO36l6834__~RBP_8wQl%t z^gsop79nR@EjbVZ5OhQGQ;0oZOR3!m)XyM(H51biK|6|%OT&9TUlQqW&^sfCPc6%I z-QuMonV2#{0?b-5JWOSfcnHwSCW@MMsg-#4x1n1*9LiYBbiDedvKTr`1@Rtax(Z}z zlY+nI%*H#ss84^B#yC!yt2cZlik8(-QOHQZT-4lId0YMw8?eaTz;$u{GDvSp>}l*m zp3f-rHLd>j#at$uxK?+_cT_R8hwP|a9><5xP+L`;OW`r!H7VV#5ArR5x1H1axBZq! z`GUgbZvRkF9i!ixSL4o`fX3yLA%d|W|1a0QbeoJz8o~3|Ke>y;KNJSl_MCu2tsbgUF@Hjc}1TRlo4*ZcEj?y4U<#atLDHXnquoeEvt0Up0w%41_9K@*|Y z7Sm%U<OO>OxBEtwF zbF8`63LbL&NCtIH^|VWh955U4o!`*b=^YS32+&^xCgV5ANsw#t;fdoFskPFrX%|vD zVmLa(C9JB*GntfeA{*?Od9UUkLyzuv<)zyjV<7u^;P84D}~1@>LpV010O+ z7>KhSKT2a+ec7!CjAPUtFv4cD7 zO%h+p?$vByIge8{_C*wnu~sj@-rVnT*znOj-`BTSD~PJz4@L>e^iQs+kz$Lv3?5*6 zPh8EWtby@c+I2tLncevMt*@uOs+5LxDPP;mMR95%)u$bLR)*zjXA`l=IR<(I4b|3J z?vBcj2K41$qK+4Heyd&0s;Lxm;3hd+Wl+Ieki$)Dy4tKUD73Uue`KPCg{Zp6`fqB= zgbRHu{Z7-UF}wRyQ;<|iB#*@1-Nu=Z`xbKQ%X5^?9nl!C>eetaCD|D-6c6KT@}i(C zCPehD^EHka#ZSwU4`BaXg|2Jcie}^>kh~y%aL8 zD1JYAnHT&irGKbcSVOI$v1Q@^ql(M1$0xRGE2R%GqN{3z!0yB91EDA`p-#c7WfDB< zdga$rn{m?})n04<^7;+Y8J0Z1_>0e`eLI=ev_|_ zCfq4mKDE@ble(izp9~b{y1g$;Efsgu`FV|_NoKC5@aRjnii7B7;-t=|e<4UttFY6q zIm!#PaRR&rES>*WPdciJ48}`fyl$16a90av3NR=DG3UBEm3vUWM&tUVFQi_o@aTfp z=}V;V4~}w|h0>fKFEZL&h^)faaApOrCURND@A!N~Ip@?+=8|;o#!?zH1vU$?o^)<| zmcs*+1WGbRKbGDIYPIcPNZh{J3FpNBJTtcm{DOnYMhX52^yc!OamFQj+%E5D&{A8i zHRJ$SEGV#Zt*6@w>!NL>8mJt8a^_G3A(*}LrJs_3p@!3cJZ|w^w&V)>}L^S?rb&d zgP=z*b9D~`+&hRlbCujxHdA~@oUMkG+oC(JXV`HGFPDiXf=UN@8Y3c?JC~*^N7Ne{ zdTIgxXRSX$* zJ0{RQ_z{B!Ad?u@ArahoHAmw78#RB%`0>@q-h2{mvfl%F)WaZgfm^lFkNJ%eqr$*r)yWLWsEK^O#uF5bz6CDY`DkqSZxpIVV$bn>xZ}Dv&o7D zbBWt9u@k$$KAwk%li}O<-&T0*2hux@rnIscv>PhO@f*DIE8mt(X^2)mx4T?Srpkig zZM~X|cK(z|&P%r(7SHW@vAa4~GBIM1EKnUFxC(OLWE9gYNNVZ1*Sjtdon^TwcM7*_ zS;&(3G#}nz;8-uDqH_PVdiWzT6ftBG&DYewzS>+MCHT;dQ8=t_xx_&}s;hZ@oaU&_ z9P^H-D%1UHX;AZ>2v0-yiXqd7Fi`4O=N$yO0>W{3$7dma<*xHL10X4AoIV+nV`P>yn6zM0LIkNs52H;Y17Yb=VWpOV##{xpz_`C}p;e6OIB`y=i5uW7;0>bzph+5`MQkX5I7T2fnYuMVu#g2hR?tgTON z1BZ}A&#HX3Xz7J7&-2DqFc@%7gWi|LbrOwvKlS!uo7dsk5iYlIzrz&=R*2Gw`<*^X zj2!M3;0z5+%4z^>$cOPC_4)r$PX4DP^-qI>%S1$vzZC{rvI!~x9@X4BVaoN?*6$($ zS8HJzzz!_wgPLRHXl2!P4~EEr1p%OiYC9D^s#pj+I+FEka;T>RgtccBk&{G5w95rv zbQrWWZp1>K(?~2B0-9&?1MSKq%ZC47=~MqrxH@rw>QnggNN}@mq2Ovtk*SjMTLsc8 z@h^RL(@=HlENsWJ#r5>D`8T`148W35?0xOdFGCM;Yb4p;yX&~dVQs$Bc_ghad& zq?oCoDdak8GXQ3w)lV7acnk%@x+tqBnc@1H^Kb zt%AGIQaba8VWmt}yX^RTgd{w1cg1Wj1&3u&9(R{#L0)B)MV5De=%{{J>N<^Ec(8E< zZ*YU4ZRc!2YS6O~?9vX1Z;Zs%qP3KSZ@tDd_`5-3Ysm9K2U%PeiT%dO(~fHcjC?PX z2tHeJ+}pJE@&M6F{1|XmNkcKvir`RT#lQ?8=6rOsqZw(5y+kOl&E04=s48d`_9&a$ z#QM4rqMu^zg&TojhzA?3fo3Q3Ii28q=B)eb+GZ~Iqrw%(q~4N*q90mM@fZV z`ACP!<#eF0?x2A?*eu8i44e(!d=2${8}+B?prHVB+xXYL;(Ti!BiDUwBrmig06QDy zdr}~P3}{jQ_YRik$48)0+HXf}O`dmgkU<&R+{bOGZgpRwO82QXD7WVdrktzG69f~J zJ!Wf(7FyJ+$<=tACZV1?ofYhRwu zg6plNi^Q6V+U?&%y(6b}4GJ=Ua zZH^bcCF>fbZ}3u_hsDZ8KJz?WR?P9&cOGoYHC5fj^g4zRPdsmWdg$KlLn6)=Z2Kmf z=@dk(h_H^CURXz4>-VrRZqn}WAy}{T-*`0X{rLfi$pD~7gO!U(G)_QT$l9v<%lsyz zv}V%X$QZ6Lw?=KLitHe>EPQQ=6P1+i0VenC%~K)l7m1>fh2znUsJ zm|gWzW30``52G${D`u?J&NSw;yE3jyC(4Rm;aYW=nzgdF?7SLF;a#vPQJBfb7EL`t zess-+nl06Qxl8{dcUb3PfAD9A)*LC0KTb!eXs_8%H4tP&XEsCKSV!u-mhXs_!1L3b zHlG3I&3&wf(b9VfXU)5sCFMMt@7I$*^WacK+ar?`7eRDq(NoeHPTOslX1~1`bBB-l z^PxoWHQ~?Z?IU~|2Iy)6NOZN;DChSi2ZWPSS;>E4FfyzUmwX?Z*i|G7usYjstMc-& zZpD%g z-}S%|L0ePkABOjfNCRTE;W8W^cp4l4(82I?mD#dXM(cH0!uxn@Pce&$Zkq*a!^1?C zb_t{TC{mW7k{0rXH^{S?t_lniQ~*9j_xl)zgIs;mtbrOxGAY^|h5Fw5rY`c`p}I(X zUtFFt&i#&_j9zDq_0VPcg+ztUz9%IZsq609hz~3x?P-d23wNU+1TG3Ew+^Z5pwt0s z3a7@zlnG<&>G(9LQr+AY44Ui9kVW&h`u5se$Sj5r=10OozQdkjp6{VmPv2{j{-LCU z$ARR8*7TCm8pANa&3+VpUwP@36e#ow%&;T^SKciIXYoN(Mn(&ey$U@42XMHCJW ze`F0HA}1>@p!UlZ*fvAxdM0%{9ewzHRA&qec=rtq2hdx>x%0cDdzUi~t2XslHD#@$ zA~C8Qn1?K0XQ88zPz0(IMJlro6eS}gTK52Dvo+K1h<-k=SB(Ers?%%OU~Dcc=t3}} z^TmNRZD3K_n%m6cQhzH=#*aWvd1h@^MpM15yR`g*=XzL&@7E{%+IkrCBP=HCMhoGY zTxKj65O-HAtsg1oQCwJ)w`z5FrpadpNV)X0=g2IpXMKs}gKnZb$M^(M&ExLx(+ss3 za!hf(&SdaM%2)NJe%XDrAxi|3pKm8>Y0@bEI=w7^GM70L9HzcW1fE2x0F8G7$C9VF zekIM##UH&Qnr7MwSGrGerd@m*!Vw`weh*_oH%(Jn!Tai;X+x(j(25KY&zgVix*#&~ z=0e1DQ6kiXlcX)Vz@836+@=+|C-$SA5D;#m%=wt#p^G7P;S+mQI)cT+Ay^X;378p} zez`)~Q!TBE@51kvEisY>@CNBgJzNYCXw`-3xDDy8O{rkllXTSCED!jzk@}x~>mig; zV1A$ISYT7Z5Up!BBt%OI;y1O}@Eo%Sn-DqE<+R01uUR<$@yv%~JI#xd$iNf{EV=BP z^3`cFPp}N3M0DfCZrE80sz0-pYf2RgT}o1ggTs``J6cuFrWv8Xtw)y;sv_16=ZdbzzCJWlin(S^r{HP${ACRyq!YLXXN>H#750r={q({o)1!A`xr znuTodEmD})RL!F5@W*kY-1=10t$!wH3XihDF;pen2(27B-(Lgk(fn0cmC*k0cN7^8rd zL#zmp*(?E=BO4$TgY%j`$3i92^=1lnW`co$HD4cX*=83JoHfOeYJOxGun%Xs$;)P7 z9p)|9cUaclK===Eo#YjM|K;TT&wAm%@*xx{Uhq|sPin$i)(KfcRlKjXKAkR+q~nxk zW9Xk?`mFHo6hlE}_Hf^Z6G2dSDGSSqXk;O#ANxlrRmYFgVqe zY$%tQ3a;X3auBR8xRJvIAFqqR$C$tqeo{D`;y8lWMQ+ zYs!7aI6YhCf_^tQwK4N|ztB zc87{6h5x}tBG)ZZI9YL8s7vTwm}nsQ+;T$GGZWE@6ZI2Ja2Xh>CJ?@CLV=X+GqkFF zMbDYzcfrj1>EF~rq2PZ5*-$8ZizxzHYIt}@kN#9#l>)Q$=8+HdwbLS3JiL(G*$MP|9EtSGl& ze5Y)GjvNkcmKGz4+M!KjOUpT&r{7UdVDS8#V60?dC>=e$TABK1%h@uhIkQ~5l>-D* zR15uDQ&ZE{#+U!T%A2(dpUr~r*A!lei$EQRO4_9oHy(HBy)XUSS-b4nLL%Dn8)Dhj zKetYnz{>Wl5w?q-1`avQQc~Ku&pOGwj_WDE zG@~36Pyld7I7N-M@6a@3S)vurOl?a9ReG;17at0on%%$JE^2W{)mkmoNX1dNKb^KN z6(-q3j(Wj38xtquV|3~4#zXP%^I<@ADm#K|Z?)NVdQL|ZA}BC0@I{#TijY7BiC72N zIci>${=CFuQZb=7=QxCn)p&DLe*}5=s>niq?4lxU_A~`U>HI?_>ruS`>%m^~WB65_ zWi?!pZ5UZZ-~j;0e~O@=ay5z71yy>5q)R=?<1g53*X5c=kNG~gUY?EOxs6_&M9I%p z2sR+GeP6x1+^`PzRlncZS`*NTXK1lFSAk7MlPnT#7|!G}Ghln~ZL+}{&FE$&V=-j> zg_&U5N}*njzvJXy$uo<`d+0i3m+v}@{S9x@<8RjEi&V^bp8i@)R+jJdH;EOms}bhT z=S%m!jKX?o_4|mu%8;7`+xvREjYdmMOPlpLH3Z$q>@s_x^WZ*hR@IVJ@+#hRa>-6~ zF;F3vWe2fQph-d}+H-IDDa-$jL7Iuh`b=KcmnC-uL~s(Ib>bBllvq60y64pCeS1Rk z-uF|f$!t5yS%x;-Q#?~4=pExRPIF50S%sUc#lp1vg}Xe1x4~cyEuL!dbd7wiKu|)E zZH2p|kHPDc*qI>PShAFoLv?+i8=wi$RMwgGV#`txrfRa$F5d)ni_F!%4=vi<7|_WTe6ddZ%6azhy@1 z;trC?v#}grn|HJH>C2=r1_|o63PQ0bG%?IS=M@!vRNHMpuSWo=wWbYnMjmnw@-aH0 zpwJ^TFTUm8S}rj!wwOgU?u22>2WC_m@;b`wWeTo8rvjBfCA#gNdDLP;#orG11J){s>YH?ozk2$eL2U$msPaqx;7J0D!5+v^MrTJ*p<&nAP9@oyEb9k`4VteH zBnZz?*;1|IO|KWxacFOGay0_hszeuSPLzDYZWspB&mL=$qSCaf5D$C^KGd5u{zX)u zOUA4G{(XDHHG5c%mJ6ru18ClER6M3CFoC#F4q+hl$Ml{;K$JmU=@d55GGH;o1_lOq zIY+2hX)R%d#XhBe32`)0ARGOs_w<}VLNg1$8yalO1GKEh`x zlUo~ExV}DnjjnR(pD#AtF#;f^Av!BGwb6zA^PUeKmGRQi<|!WY_UYH&|B% zZdEzy{NY*r%H4f*33)=kiMiL*RCeB#JRwFp-D&n#dRjW!MAatjG^{k<5ZIA|2+DZmF>5|1UAVm#>i^FpFFS@MTV}qb+zvgZJ*w7Fa?+HHK0QA_AK5Rb$*i$0yw8yV(r=)BRYC$t+H!`1?bZF#D#pJJ?bGPU0;Hc+Fa=@@~ z2ZI@ywQW#5nTIS|GTK&@*C?X-E_c&xMPQ$;Dc1$6kT!UO&M5u+0xPi4tvs_~-~l}2 ztSF`(9k?2IbU|$=mduvUt|XY3#^*6^+71a!h$-k?kmfy)s!A-lp5T_Kdf@-@Gxp zO*;UGQq@ZPA{zUx%IYX#rjm4>1o7ot4h+PI?qS-$FmZ-y$?~yFaZur-QA=y)UWy%0 zloH9h5sNuf>GJ2pYV{uywYLWVitPByUPhA9j~TJ1dpm#A;kV0)4pEH zs2uR4oPCDXPD$2~oyjj&G|zU*V{J4zootqIJX!t}XjxRy#|Q+HVM;4(4(!OkdaiWV ziZx*PXeg*|&2c3LKs+TpEG;c{-FFhMU)CHQ9c7cJ>OW(qtX4iePCzY_-!wEd-uOdm zM|nz}k7k9zT>_DXu>cCyKB~qp`gtJ&@Hfb(1pVH`1_bNiUr3VvYy)iU9Qe)ypXHH? z=INPX^%Os$bmTHeW8+;Xr1I8M=PfUdZItL ztD6WU{GfQ%OdqPqLQ!yo_1F~{(}(fE(-rU}mU^4n4i|qN*Lq0xfn59;1S1lMrUAZUJ`0WMeFP9yIeW}1fi-Q;E~LMmV{^!PNS&m9gTFYu6;oeh9`AWvv*T2C6F4q}hVJgI*nru&O6d7cBx zwL8C)A)q+&aE*7)t#6(}Hu`!zG>^5j*Y^Ox01JS>oX7^Sx(w)4e>i?9Q_igkQnZlG9$L8tBhqMu}~N+0$gBp;Ly^306kzZH0=Pl^VR z^cl2C;C;=R7j86jYQRRQnBqCA>J%Qz0q133#2*>ojc`BfuMNN}0=l4(@eaBx!gN9N z0j$o4(|D{V$)`+!;Z*jcm%Ft!Xu<`$5+4TXD}NAjJ8bra6+%JIzbKdE?yw9~^ENab z1m9qbFfW4KP!WSSvZAo$l$H{2x_38c7UHnjoa1sJqR{d8#F{&bPB*v*A%HE0We8)b z%P7%W>js^wq~n&lE`6F>^PwhxGZ5y`6}E)8e6_<|+c!A4a3vynTrT<3#&(=MhxL|e zraQtRG%1Gbd*4g)Rrd~>$niZYZ>(tA41axjV%BP~dVPNQ{rfjG*=Ap=S}q5*Z-4tG z4qW1dMeQjF&zA&SOhnXS0Du}bJFf$gYkiG2sEv4{gAx#-UsJi!YT8CLoUpmKamZFq zHGc;|{#|^Czic?k;dba^D0`QrA^!0==<_LlI3|{l&L@4r+pc4S*$6^rBDFMTy0peF zQ{-j-B-f3!cGyyOHSZ-AD`vCVdUUq)lXU3l=wJY>JjNvkMM{c_m(amL^LPlt=l{|L z&;(!GRupf8)dGv#`MS%=Vv6SCbZ^1q4&ba6NKKZn^|NIDW9l7xov7l6!Nd{If?4@` zx+J|*2!IFx?-Km?q*SK!OD7K?&Epvzy=@Kus)+E43%#QotzP)Vyl&;CLbA`Jw5|Jg zKjfKs&$C1BriCq*m2&?RP<+*v=rZtwdt(wWYJA9IdE`l9@Y;#SNRYJKNJyT?>u2nP zuU~9%evO!uXV`4cHO(WjD>nymNc_rDRQ$$CG6<*)ccW>$>W03e9L_ z%U$h`FgLCHL!)~w@>v23G=%7a&^#I7{9!K(whM?zsF#ZZ$nw6$ixxTC3Q!06zzpJO zG(Y9U0T-`+WiZlMsWH09;AoAs>U~6X0tad?raYV`+K%wt@NoV*D^~uLzggOfwZ@+| z(GtymuBiJfcBTQtg^RE5Eup1AC~-uLtakAjm%yoG#v`zEGx9Lyj#tE(&@N-I4(23< zmGg`b)hM*i)_9x!NZ=3gHBA{~QHpzK=VM0MYQNrGT*4)-B!V@@5WX|TbQxz_(YaD# z|G)@BI==a;lqH&{0Qq8@`;|XDia#j;(qO%mT5?ldnE805`^EzeI6|?-J3zc5lr_^b zFtDK=Lyh#4*MTFDS?4)zSLj?8;rk5zkyQL~ea2uVN)q`I9bD zX6S;oWnK$KtTs~=sLBwe&=BriqJ3Ugf0)leliR3DNv=^Xj7uq!qWK_6*Vw;5c;Nas zmzgn4&zKBCCFV8Cudj_H6vmxa6YV9wbKS>i=~svT9RMSw*nx#agDjX-sypCB{yJN^ zyqh6fs&DZSp%=u0keR0W6ejq@{B0?>JX5QK<*6vdG6BUi$c@j&LYY+@-kGWOn1z*F zSr;3c$2`gMc`QDAGR<&SWx(+~Yrlg&q<}?+lPEt5V}<5(E#PC`aj&pTCQQjIGl`ra zxmuPuDAkRS&MDmXj?cJi*BlUo56BIdnS|6h{V^Di6lA(P`bq z>Tejq>l*mUURuh*j5X=k?yp!P&>oyZ=#RkTv=2rOI{anxrvhRRAs~<6w{fON>1Fgl zbkWJvXx%PwpRD;LIT-$%&QuV2Pf?EfqgE(g(4x}Bt-*feX7&@S_$uTC{bE@Y8x8<< zFPl-J!0kW2d68FrBm*DCEv{DsMHMpxh^?3W0GMFOFI>2FB9+JrHoS$i#nM7R&mc)k zhsT4$e|-Ef*@Ttt{ANx!4Nnj7cVGbTvw`SZhj##Jk-Wes^iP1)GJ^+$j2WuGOM;;9 zG#$a?v5J%&%%HtGv>J~fR>wFk9CiQit;Y9VOXYSh4zv8P*QF;5oRn(5c@zFTi|27@ zo2kL)jwcNBHfSIu7w>$uP(|@82-`9CS9nXFx(FObd;u>mKr%Pw6i|*jE_2WOe{^!5 z(Qt+P8XtYM7|~md5^eN^5Q69-dhaDj7&S78Hb_Ath%&*1gs9O)i7tpRdKoVCvzFI4CCZoUH;>33AIeAySQX4@Imq$4*SjQ>I}NP2w-i_Dd?kn|$}m;; zJgvmtqU-LWfNj09I;a$;6bQ==LnWKjV5t4&1RZf&YDidugU zy$A$p<`^>BJR1arhVz}e&e!45BJyvi8_Lb07d>j0fWkGjWZfR+${fiUuG&M|H;}roU98JN@^5 zD3M1EDA`1hH)S_*d0^kY#vST|w3J=zf9~EaeSDyxdwf^%1|H>(Pz~5&@NA%>br5sR zea?2|rK5AURWpaZlTd{PY}=IusGx&20#N#0#Kvr+9CsQcLPzJ_1ckfZHStV(TeaYB z?gP5}>&i)e#|AuhNn(bfgxyT3h=fewp4?o5UU)4jM?(4{TKEUlEu~3M*57dRWNt?b6eqIZ+NT zrn^0S9X6-!erXCO&vx)~XtH-I`Ht!DM*{jd?AxHeJ=@qT)t}ot4fv|jUQN$Cj~iz7xUgB zf9G}g1g>$mRNP0M7c8Ng;K4csoSQHVP*^hB-ar$RdGWK&?%`dc@PcTgd?o1TpB=CnrLx7@~$V9)}lYYJnU_uImS^A8kFA|1-V#SKvH_ zTM2&vGqhBBBwGP_v?9yW8Ep9o%EHfG z;Sto6BC$d{j%TnRD^9xyb0a5UWsP(->`G%D`p>HVem`Z*0uo)JDmlZGHnn42cg&_ku^JJw`@P zq*FOm(>W%`fs1H`WA*jGO2qr)NhwP*mN+PQ1Np#Q%k}H@Y-3PR#)nyli3(>X+kngo zV$iy2rL%={R2>IZhm^QMJbKk1pH=tF#HPL=HeG^W!wRL9qa^r*wWoUPbbl4Cz6V74 zA-z&#)_xPtKo-=1{qr|+-2;+>|9gyw(GwHwj@NES5{Z|DM+f(JU-k-~KB6&c(nH*I zd0=YVo`K zrrvADYZW&x=OXSrwDjMnX5*|=l!Ci-&wZR+iLHOpBMfvV@}vYvT(}|v5vh@XidTH( zR6pySR)2}Impdf$MD`t&vql|Nl$4T}tuMBU{e3uJfK1Uq9j=wrJ}HH=z!r6+&Kcjk zXzx&*i=W7W_pLt`${AuYD#)((c%Mwd!g3#?G_S((N)t4x^M1+RCHH!SJkv%2bSEUr zNojSJkk8qxK4t{4fGH*+%2tS1;ZfwQRkYCmpBAQMnCjq6uQ+c1t5- z(c|H=G#nANpofw^7pcT`^!*9B?8@U)xCm&o+ZMe1^-cEduZk?PO3*$h27?)m(wFOTPnQB6 zEUcPOtf!w@^{qFx}R8ky>wdoSmh+dNYH5@ZA@4o9>q9&iCe!H{x?(XUC8 zaqH-S>>4e>nyFvzQju4`!Hi2Fy422azH}{$;zF-R!JP*EDZj7JOGZmV_I)BPExE$N zV-r)P=!Ci@P!F^$x`+cZ5^3LR!z7)|mm^35FYdx_(LvIkDi-(qZ)x0k8Ko5!lc{24 zC0*Dc?>@{3kw`8Q8XxyLNJ%g)Hb_(#4%$c5S2H@6Hb zPXx3ZU}77a97)Nci^m4m#Jb?4yHQUPPAB1|Tjp;8wo8`RToc2S7WBkBk07sbIVe$yM+O5GIkI`O&83Ka ziAWh`NI3X>Bx{>{rXH5{`MZFC*fAw#CcI`qb~QnXHzH&xhUHctfZ=(IOJUfjzl3#2 zm2tfN5k*wFP2?yeC+D@cv$?=i9ei%Ev9IUMn>sxMRtqELYlA zbfCZeRN4h@LbZOCobFtFERU>4pRellD{5C&)oQS>AFM6kye{z4TX~cdne=>Zp_qTp z@Vxa~g*)tkbKnRA|GL_*gT+Qb1a7)No=Z{R!<|nPv5?8+zmo&mh}IK=^6^dC1+5Y9 zj%U)-6nZO!!LPi3R`hx`VE0m%=F8f8S2h^B?Lz@1H7 zkjABTT4DFi0C^G`Hx;e#E7{X)`@=d2$^uB0QMPB^WTbE<`ajiDn3ic0+xyn$k|GsKVx9%I%3?ASGS znH^kd^Xsd0Szw>8#0m%*XDFEdP#P>{uB;?8ExroKex+&>{R;@`OJzs6ATvsBH{fE7 z1_!slt!Kle9@C?^RJ17Pd1xj~M2zX{Qe3W_tb!w+*J^HiO+|EmoRECXDB!^cAqWfB zt1oD*VkoYv7RCX;%mv`IhXW)hq(fHFT4tn{Ah4|4v)ikHUw%TxR*_JTD$a1Zq==S# zAP1FW#wwe(biIDaAINWxTD3b`;p^F6fY?_x`rV=UnGk!rW`Mtwj=)+(oit--yPOh+ zrw#~Q3@t}Z&|Y;4l8#PCp&<`5mW&kNB5$=liy6%J|CE=crN<)yZ1=)c2+tiWoP7t1 zZ6GD6WhTTskcBKj&+Str&voV{O4QJ!0TZclE{!x3rfY~|g0Q-I0 zKwp$nQ&Woy?n4G-V)WA#`6%2s=Ja;uX=oS5lvSHg%*>djw<0;;Yw`MxYKyBT4GP?L zu8V-49L|ZUR-TM`UvdWd$FM@F!W?eDQ-jDS9sl|M^SU^g86pm~|2vdg!ouzYgMi=#Fo+0AiK+e$rybV4vq|%;m+Ps>RHeOF@;)Q@ zx{{{tJlBeV1G6PBn=$9~u&L@Tnb z1U%Z7SKgRxl94y2hbsrNWXHdZR|@2D{6WeHQTzFZ2-j(AV6gcH%1A#FZ9|Mx+T>7E zrA62il=rq13hB<0vH9H?(^y>IJ=t&eFa5Fn5rLh(bK}TA6khDxAB{#^>FM=T%^6kIb|9_3I@d_UFfuV^))W?YkBtGqN3(PY$xhWJ&-1n92;pZb)P_J6se{XP z(=Fh4exXG0)3xm>NyE0^2GR%bY|YHZwzfQ~^>lTEgM;bYDCQN>Aa#Y@w!F;D1)vPO zyDL!-003M2m-JQL;-ih^_b^m3i?pA6Az!W0#efq`|v@xsEwP$*PL2tb=rbm;2o0gy;CGBOgch~KTPtw%?G z@k_MM1I0x}ybOPpcUh8;e4rDi{H{jCpKOP!JA>d&odfPtVM($xCUh zkfaTu7K5#=tu-~l`}9mqz8nruFTR)sy#`*=dkjEN+1uOO-St5tuac7J2QZzT<1;gj z2pprU^mkiZ+w0`UGOm@=O(AIJm$yYkJe-``ySv{S(A<#M)Y6Iw&Uk%KMrQsVv8=2t zK!S^njSZ$f;Qkq$o13c;cpw0S!5tkVaD>tTmXeLF`=dBJJG(ra()AVX(rqG*%}T4s}FoLrIBl59!eC>@2`p1i*&&{iL!NRKU7-CE9nrFZJs2FE@Qx+yweFhf}0Qea?ht8!qPDNo6kp~Sv z0D2B08TtD4PNJe>=y`yL2X!)ItFD5(qvO+n08Qpd&5;Mqt1By=Jr3g&6D$sMlarGZ z6Sc@Ig+Fl;4EDDarz()Sk2=stAu@kzX>plB#J@IG;|xhE!KGgES+}a-}!bnLS9qMBa>~K zL(UjE@Y~yYPtQ*G`7L$Qbkr|^{sqAF44~6`i?p{7LrJNL={`3AAy_SEW@ZlZf$6XR zXb54PHp?up81jd{AA_N&x}%Gdnr5V@4?aH`#9~pdh|S==v7hbjz!$RFH)ZMS1PE;~ zAt4z=a|4FHW${L-_03JUBDQeOP!P|Ohnri3D4v_4C0PqErO(c9ev5n1srKZouH%>!5B7s)@dvvU>M( z*0c(rqLZ-3t80nOJl|?-YfVf{GBYy;Xb6A_2>dZF^pt6gw;imZZgBVnv_L%^nC^n6 zwRo01%R)t+oB;}Zoi8M>nD@G^80qT4(88DP=JC4+X_P6Q=0f%X7a)QS^xFvgk1xw?8p{Mx3Zf#2cw(iEZo=<6|O?-#P!? zMYpJS6x-Fs^$~3Xma0ENB-_To=|uc9i0UsPo(;_byUN3b4@X;`T2*8xYb-{pS|e=V zt+JKRJ%fvf1bjQU+nOn-4ue9J3`9J;rjQiMStPHD4S4Nmt-?BJdc#v|9pZ@~|I#z1 zmVfFQpk)S_`Vw-dS=Zs27j_ycfwH8;0NRgUQE7cIGp-gpj7OBeyue)m93MFO@9i35? z*_D-9{p2@4->1SA6!qIT?+-~4K^6D4 z3m#|- z^T}Tq-7`T*LccEyJDj#kvVE(Ux?I|~yyUXDR2OTa1&EGmU*n*lz(^SU1&BaU|EB;( zh6I%^Xli=+`fw(zkJ*aJc?{_v85!C0a+qP*AM&w_=y$waL+D!Vat4H*j%bb&w}b<@Iv) z^nA72j`4~MtVY%Nfl{T{^*YS|c{A<%*f5$vUZd4yIUIxkJjfQa!!fm&&i62^t*!lJ z6}tU#>2@(aG(7zE`PB1uBJcN_vHea)K>;NWFm`fs!h4yG^}SzI*Z0qyM*Xa6*%DF% zc4{InF%gaIuCkKm!Nl)vecS%;^=|(FZ}c}Uw4U`AyQ`;DfUXR}a*h6Q$;$zlt&Pnf z@0ZGV+?B<-UW8P3yDdb&XW`n!K_eHAU{b54%HGvBr=!O*{_f^xHg)jYvp__?R8}js zw}z|EyQzgTWx+LYSd8C}9Jd!O+n*0LepO{ppgR13y3B z=(QTd7=Lp&sYOLaiN)YSn||J=^!&YXw*-kL;C!Mo# zGi}xv+Ua>epueyis!m35jUW||dEbHL2Y}B|G2|Uh=fv9Jos1`y<>r3duAiAvV1*{e zJC>BFudk1{@G)55-2903dna}OH%}kHd759h>w#C@==~$eS0b0y=XOob|1w(lYj^>S z&*zmTC<^iCJtq^V(;*ykD%3j{SjfKd*-}-Mqrq<*JVQ&%ZLs?bOnvX!T_R_iADW7a zz0d8n7rVRPbGCnf2Ne)%^qpPO?e_L~(|)|%j5Hl7l1|~_<=ytW;?*f5W9UZ6@%!ZL zhVAa|uI);L3kS5D3h~Qlrew_EvfD1q_0l1sq6VG@s}IvRzuo#FQuS?Yw%F;1?wcQ! z`zV%`m95B0NqIhPx(Ny$f@lnqk&#{4y#U7yvShhO^>^|REkpAn7@zw!(J3S!Msjj; zR67xfRWblyV@8(YVp847C~y0O7QHs_QOM%m0P}aZsP4dezx;fP3;j16XwKjHr=-_+ zy_$naD12rN-a}E?QC|JMy}SBfub4Du&s{s|TTNCeuhjzsB7Xxn7Pf=+-}f*hG3nJ% zv0PdAyC3iFNI|SH?7R2wUe{Xow=mo6T-g7B4(+bg{Td%1e|z@pu~}z(4k}VAdxd(R z0EI*t7%C8ty%r2oeLv#=O1m-5D{#Nw=_Mk@Y1|)*w))Bog2aVzee=Fn6j#PhV*ne9 zyV)Nmb#i7!_Gg7r05A}LC>f&v z6p&K|h>-lD!9f07_`d>;hyjTIzh+SX3jb~PzYG6u_Mi6uiBGk~xeN+e#g=K@<_*7cpprrgNo18%HUHW74}?RSn&z+Z&Ly_1?DZp-g`}G3^+=(Tb|uwy)Fr zE3>U2tCcjXwcwtZ@rrXTje97Vdn=fGG>LmKI&yDC@9$*ykoMu|HU<#~GWGo=5@v(3 zQddsA}3SRXMA2NgYzP3b=~xi_;7&EA(WT?6-g7En7?B`g86KAR`co z8Dvb=Zk7ajC=zHM{`xtjzTFTbmp_asN6eP24`q9hMRVGimkEDYG)BWq{5;Nu%GWsU z4b*tW^H(&%o&=>8@eO+$SQD>!Ty#h%EObin1R`*=>@5uoE}DOBI`m(ywJ^H! z%1RkoSy@R*NjbTxkr9JBjT%eiz1OfXC_=&*p1n^sznZ zSC&5lkaU00OUzxS?iI+5CaIUZZD!wMx5UmhGJfULk6$a>fM%^jaE?NDP!MwMEu8Ua z9mFLIMDfm`EOGf`-^uT<(rGmwm+*g_)cAdzZI@nm02kX$x9!aaGkNwL@L)EFJ(0iH zv*Lt{i;G>Z^9I1R3>bz?U8i&S2{AB=7nAJ~S%e+W3PEEXk$)}tkVQErWrf>xssq|8 zq!>AA<228M-iJGG+N?zoVvm{n^QvudecI|)quDTnNjGL1%2VydxGozrIk`U@z56WE zLXrwIyn`z8K{-R)nq@nFblU6xO(S{b(qK4D9QZ6Bc@4N`<$(Jx6xFtdcrnA}kGvPz zN)l~mWoGvDw*AG&$cXI8K}iW6;e2;EN%Yq&$7g9}<#}#>e{T<{Y>qB35eToW+~$4* zKq25#`Th7B-g3U)&9*u{))IaUKp9%TeYM{z+>Z+OrZU%v?NCF*W1G;P6wy-tw9Zzr zfH_ceRFYN^kH|37J4CpO2Y~9X#SHDl{+a3?Bdj!1G*q3>Hn_}9u)$KaC(ip>R%@|` zomPB*J(FOg{lTGr#R|_&32w32?lz=q=t8>Y8MT#Yn(TCadskiG@x|$to_J~gJ*eyn zETnoq1afg}>+@gVLId5dw!mpqXf)?`Iog%h+4}@}?Ch>`KF-a8gM;y-EZH(P1w;Ay z1Jr%Mdi1?-2K$0x>!Jssc0s}#rHKe4o-wEu0TEp%<@xPD7;TFh`igiedwM#(| zV7`kz>k9j5*YHaJk#d=-jQY`6VhGg;czSibczAgXK$f4OD}%N319^ zXM{l2VUEJwadUISko0x+^?3ypc3O2t;7%XqsuiCfSAP5Ti2UzJ_rD-OeeNdN8A`U5 zde_#pCT;ZfwSnOmw~t8R3G7**;xu4-ZZIecthZy-e%-JgAzRmnP$ouGvET z`pY%c?fY>0c{E$DM%~IXBYBxqtzxuwH-GIbutM0!QGZZhXi7t8M* z`#^$hWs$lQY&*o>9%ktDQsA+Wd9Ex)RQUrE1DR&B(;-2>*B4a>StuKb*R`nh`#5@PD_IcwZbJK5S+(2 zCmpCX7A84D;3eS4?zT{Z&C@|AcQlM!B}L~BVffDU-vS`fdHk_VWgS%eJ!=l9v(Ur~ z7{X*V6qn<*S4mRB?#jWXOjLk=$w!G~6L*V5%ncLck zXh$Y=AcoY`)tS3=fCrr%92E6E_6DGJp!;#xtE;R3iDGRntpzi;^OYN*yw#Q60V;lm z;n{b+F3%>6kN!1shITr}=plP}WGonr=#?!04YpwSkE-PFayC|-oG_Zyu81N~d~TKv zohwu}=-h+Q{9J3Ucx+Wd`PQI0DidveHVI8!gVzw8;~`xAGw3W1LCRAR4r9H-7O#4K zfM5r{1=02iX$q9cKqmKV+*p2E+DiXmk|*y4BOgVM-E-KtA_I%7d%HME{kb=yxUq8; zuCIr}JhXy_C9goQ0Ki(Q6FrH&fdLT|9HFYK>mzW3)1N>tZ^TVS1yhcWTU&&klaP}` z2$h+VvfM2TJCv_|JeEWa6wz(zjr2bm<{`uoa=dRx=Zd5s6jSB#H;urHlLXHcmBGZE z7WM)(sF3wNi9UB~-*1H_ZLz5PZr5!H60gAusbPkz>a z1LMP>eeRRANGO1Z1Ci$-6=!B;iCmsQk8;NF^$=oP(R`iFTUw{&iPJFhmg5?dRa2X$ zt~`k4DO-5dz1Qts%W>Dbt^ND6d+}YXm!oC*DN`^Ci7W-`T?!0hTVSWWoT^c`?&jaZ zM(_7Bo}&tYaK#p9ysu3M2xw`gS5;kbUv&m{mjbt)u{f+SVz-e{olZw`B=+pkQKZM4 zvUCUJDc2#HNJWYE)jVh&TgXeSH=$h8NT&*00NgXOkGU60|GY*sJw+5OF6;|=W31;O zK!HvXwh3N!E-PP(6S;g^z7t1M^tJowq0W9Dd0WIF;`pBb3Vk%RAhY{W@L?vC8s;q@ zRxkeFN_QLmmR+P)a@k|xUvi)0{3s|0EVZ|;u5MEPw<`^^I>COr5-OIp8BUiuC$r6_ z)pB(&>7cc6XdvK1cOJNzIY$RMD}b&#CvjBEY$yE-E%K-?5{=gjq5p~EW}>pXQ9;|L z%5$YMD`3Xi9@j2xpwQKttUZpgEtRr0rSfb%=F{+ZSqZJ=YBcv~xP7!-qjQGl^N%eO zRmkW#*<|mc4u-U);?q-jl-y7_V zUNB?@s6Q_ckG;B_T+AyIi;19b@!Ko#p#g6E&0B%=@8=7W zV+ijUmaJiH?A!#$Q`e!>#H`!~7~g7Yl8U?E`6{EfxD+6|jf^%UfMpkvT+f>Krci-E znn2-d2ifZ&x+L?_940T^bn`5|zCeSw$MNwN*YXVOU(A99V%r!Xaa4MN4Lz7cuj>JC z*z)j}yWHQj+J4LBQ(>9?+-Av-Jo&Lb4r%23V3n7t%w^*s;~{XH}ge&727LdHuYvQp5?YT$ZvPmsqC{aufU_S`aaa%`+mvo$@h z)PcA4;~&`gc-l7OYI%FQszKPo;&H!D(f7s1#$KJ7nOO$T1kp7Gded!ro45b9p&=~K zw6LymT^mncX;ZtRfumghxwmIB;FwOxL4Fe%z#VP-_ct7JfN(Bi4+k+n4mh+#Gx#+G zUW$*ekgd0v#^_!NIy)kN_z11$6STFro~4VX|6$8=K{A3v_k(rssrI`+ogG(UFH(El zS|i3to%hS__UB`Z4Bk(+Tx)S49N=?ng**RP?)e;S^v@$+2kPlef7=#4j!r!1OrA_cOT01iBQ2jqbv^Bm?z; z&YIlNe!x=Ovb(|vRC~FF*hbp(+GdF0)NNoKh^mfCWWVfGZ9;uVFi)EZS~~5mOu_;S zG>7+YUxrYrvNLIued~<}y&Y&QSCNKu*NZKmcBORygbElSxEciu zE998JM>+Bjc>+oeq7fYw8N@g`dsp!D+I8E`=GgWM!Fn?Svkv-oa>C=l`a3vZ2yS~} ziKux}+Tt8CtbS~0ai;Eu3BsA0&rjL+bwl72%9SRS(dsp?`;O#Y%G#Sz^h2+k3-pBO zK=X3t`tke0$=2MEfxaSQ&HVOFR}v?kL`qi*EnYam2WgotbhX=fEt0%2SL)dMVUH_I z{nmcmWMR@}uBDl-*6fp&8@{PO?k0-bF+Xt0CAh<;rFF2lj^EYM2%`p#EhSyiIW|Yt zAL}#+=VFoch*vx~*}mUiGB|1Oz??;Dk4sCx24B)uO-pYnIv&|=?V)(aSKnzK$|Y6) z>@iposLx)h*CpNrcrt4QxS7Fv|9Wt$^xvZPlkL%~#E@}DKBX4&&a-)~6f!kk3`8P= z0kb}?%()UwGcJR?itOKrMTnSLgq~!6l~h$D7d|NGidGAeq=Mj--bh!8 zswgx+$Th_yFxK&n5XIYB0g4vvikc$Yl6L^S0Q{g|j%wbXtc^)B4^i@=oSd+SA0}Wg zSAhZtX636ED;VECmH!!Q`4QwwpzvG%@k38R&L!}&w#9My}UL)(Ptt1?$$xj5$9R<*f91 z>f7fPr6YW4ZMuOGmpqN>P>ETp!r{;O*1`ex(8UzF^Kckt#Wz;`weA{)T(I8*~ zt)UG5dRE8~$5Svs2Is2wVp6-84=h#;bTaE@ZuFO7>)_lkhKT64daYAZQq(7-1gXjOvI9x0B#TXy3sF9TX_u4MlcRzAd(wHVLz0kqtFB-r`&z3w7i zF7>OPuo`=vj>&3}wQch_lpmipuMpF{NQ^eyod^W^J%<&{c>u3 zoeoyt(sR7XI$+<{KDp^p%_gkAc{Q(MpBp~2CHBb=m3%q0vSTa~0FDD1JotM{zYE$U zzjU>4>uvjL%lBUHo)G%QL>!A zR)@FAKGV$MUxD?6z{FA2wBl1?BfUknmqQ8tRiZZFRG>vXmaWzymf(5V&GiDmUi)rK zFUrRur$hw*0WLQut3y0QKev;`FKy?Ck0gSe>K9e5YNlOH*oVB4W&I=w0>BCO5?+D zOnkDye5MUT|H01JXxt=aY^t0_ZcQU!^E|lp!><;CeQ>*HRH^Q!svw4e`rCt`-mKHM zK7e|H;F7`FS0f+fZRC9{yiY1zoWt}#wIX7pV!f@s&6jWf9AXIS6WgnK>=)MfeAVqR zsn`-8*_6nHXb@$FcX$(1=o;9`DQ2bhx4Ds@6Y^ZB{P!$g7)3|z)HSp>eam43EBj}| zeMo&h$}jGN+EYxDfLzbb%RZG4a zIZXSu_VzIf8QxVhW(Z|-LU%>**5erl(1Qm5(y_MyKoIWztssMf&ky|O6%T+?cemT? zHgvVsT~>D{h0nTV6G^I-1ydUx_*Vfw6cF|kui@j-i<(E`qdOZVkJ!`?-46|DVP_h`nn6`lXt`|Ldfeq3DS=`NjBe1-PcHX4vvC7WF%H5M+-dt85 z(qx@-l)_exfA3TxX;m(NmxkEjH_5Y|(fVa-P)>}5#dx{&7Qk}gAy&FnxcRA!2qw#o z6~OXgFtPwjyzd6-bLjq7;L^fva#eca>lzvWX`{GRF-&lBaEVkP^F~X}(`UQ6C_mYL z%hPX7!2RZIyUTpJ6#eGS*Wwuh2(;Gak`*q=nS<~TmEq=`kn88%SH0=0$qOO|4g};U zeHAK4N9T>-c+G=bXVv#d+xrjurWAE=xeAd!R45N`lRl;=rLw=iwnY!0J4c-Fz3J;` z(;_XS+LPU|uf|;jEdb!}FlxW$;X|!s8Tg{j2I#8H(A&sWZ(J00|EwwHV&wGeO~wVa zkuSsM^Vod>lr|oFak>#44!1}{$KK*Uz4%)AC?zZaC(fexrF9^467r*`(RER!nSp}s z@(D3=9FPBsN9sO8KS3FZ^dIfw!^{TfKRv=x>;Z~;UJA?I8#4mvx=lj3hsfwIc2sTm zzP;0-JncjXw#Lif!>7xTiOp+-dpPO5o@U>iG8vomqTi@%?iG)sbPJD~SgJifRo=vj zb{EXDHjXPKJ9H0XLKvDp{B+wtu0JFpL)YCFb1&?6Z=;p0c%~KvUpSU=-QKi0dcu3(Wf&*3ySEJ-@(uH^AT3JJsgPT5Nm%Rr#(->JPqq??%WMRY`DD5KeUKl!r`?-r+7TM-4Al) z?XG`_UqYSt5Cn$WR$xE(EN-=$E>!34u7mOog_S-X}nQ`DF4n*b}_d2+s@+_0rR1@iV)6WJqJPav$3_INuan+@<%U#+d>r84YIT4bm{fZp=E#W0wH*)B&9Z8 z8;1I{$E9c6FY77z`hILpj4c#1N73@ehau|X6W6JEKr?%#3sR z04c)G!K*a!0b_!jcHCQ{uW{Mf2L?XsdBotYX`1HM62=bQlSsXjybDtXQ=D3Tw<_2# zW|~pxyQ$&LY1$e~16yRMLCUnBk`}>tY`W?hGnOE4K}D3qw6bovYjp6+*j@b>ayGnp z$N0%7xM>H@FEN92k)Sz9=rRpDt~Y-lf^t*OaX%^V*gAgMZ~sEkYMa<}-j5pgxtfWx zlMgANjOhS+r|xW?Yv~os9|>JT^KmaTC)MsVP>cHvLiQg|-Fn0ppNg7q^5Tr_<%DLJ z_PsA-S%BlpGvCq3W)A~2;_O9#!1IOx2c7!fp`9z?J5%t)bG}1YGr8Rioj)Vw;7HY2 zUTyjbvQN4HsyS-FAHvG6kI!^%JMPx2C(m#2JXh`velxec$iimJsVK3C5Xm+-B}*J*2RKq|7brd&VtsuGEtH^>y@L> z{oI?p21Sy%*3NRel3FFYgufW7+B6+d5CH(8x*yCn_1TM=+8Vvy`XB{!yTMAX%JNPR zP%=W^QnrRBQfg%~Yw5}=HmCOA+tIF={UW_&eVn9WpM0eZWo-&%s5m|OVDN0^4bTjy zhHxjXZRG@uPU2w$OWIrtpnXvK&?0_#${0B7`nGL>2ClJ6?EHQM*Xah_=uA+xlrEMO zuxG}0A!Yweks^No9@7G0b5l`jl`L6AEk7(^;@@Z`CmtADybbYT*0$V2u;a15H14*o zcY1SKt}WdB9HI3y_O{}yWo-Y0wdJdA;KNvU%#TjoZ4t$xVTte7?OnMDB zs#;p6z+dn}w>6TCuJuov{^GzPQ%hsB)L1!=BTR)X27lEOoc~W0O<&0mkE_CQzA|~G zu^~`F^J2Qq-5A76|9RvnXq$%H2owyYB#9Xae@GkdI%n>}Sq}lEFfkaVEQ6tJvqG2Cj^FRHhK3jKmbXy)Y zSYoWcb?~={jSio4YaX*~@+?!ND2{-+xJTRIBA0_jS+dCKeY9>GUt|lIV7%#9gE5B? z0I6wqTH7aAM{r7}=9ZpIPhknXQKQq6t6i-tbd*OPLtB(7wD+4W!KYWZ!o&}M37zec z$F>aiT`NBd05G;|SnFAPuD((88qVZPZe#<9h@ZnDXxn4*a3O6TtL!W}QRCjW(X*u{ z+t%K2pWa9u&PK8XrG8=Y)v{*yyMY0Ex^9HLt{4Bck*jM)z{zz>U*S^z-#VxkWD@930LkW$9~#P2-w!>?;^U6n}2Uyt52W)E;PpI%f0x<=z4} zaQ{XIdVWO*l=Vrxt+tU)HI%g7Z*_S=*ceF#8d_L(gZ@TKiE zekfqBp`_?x^UK0U*;{M2pp&XvAj%8U_R;1G%A~-p3sGw-UhM{^W#!As{z-1c?~iu4 z`keKB*d@}lveVI(Trj_bk!m01VsA|WTOMcuv%<;nG(W#!l0XAv!}K1Ad+G!pUG|Mc zR98+)oH9%YCZ<0#WCRXEZB!-`ojg)TD(({z{imRw zv5=f-Q@#GA?ZsmF9lgP2o3Pn0K4p(QLD889LoEkSxtG?}l8jZJoNH%qnr!zHoo;?` z^2`m_gQ7sQUx~OCbj+gPUXZobw6~)s_){J4pNrgC>St8LOM(W?{A>>vK3WlkiE7zo z%!k6k5mDbIk6B(DbqNvKLTn$btPeRLO}Z=g{@#Hd!UmCM|GYjqg5q)Z+DXmwohe1U zE8mI1sUzLlOv*Ng5C-On*nUAB4)SU3C#5PQKi8Iian+oL9NMT~cK5t49i@}m*JRAZ zcFiQyy=@S9dsQx@u zcD%(SSeDdmST=sQZDDlp5UqpGN?GV=;4^a?fYdvoFDIg7B1ID7C? z#>isVaz++=?p8*2XAc1g7iW7X>SbmsGWl+$Evc1xDMXx7U$1m|A6v7q)DF(U(k;&@ z7Bc92hTll%MKgFVVZZm}-K>5wbAfn3AV+& z$i)WnYg+ZA?c-l7#Mp-D?3#eBuJ_~I=)_2fY$JuVfp^aaNaUUsN4i`9dz(8G)*QB zjt%QR_<-HHr=Eh(BoC3klQMVLyHZt^O3P68W#nGLYzzr^2`e*p(eJgm5x|4_r<`9K zv={f(^P05jq%DG9g+@U~KQiE5xgWjnX_-5+BtfobpX%X-eR9{O+7>>stVN^U)`krp zItv=O!af<>C#M5)^Ht`?ke&fm;v{jUy#BZu+EZeG%b?%0jslmK)M}lVkin=%=tD|k zSFsH`*=IP3f`|9_>09`aAV6CD2KL46u0=sxbMwDnR9DQdURf>p6mf4#;1FNWSX5hZ zn*2n65H86AL!U)4y~ovAQt&iIz?>n7@lxOz8G1pT-`}wjbwPE1YYU$DpN|{MJ`Ma% zn1S~-a1Zvboy1zXP`T&NMmGaUJxT6IozU@vw>keb9Y)Mj)r&ej1BSSoXNsoRJ^bue z%HG4_+=No%uaxK zn%;V`4*0o9bF_2rri$6qv-Wm|8-7gJ2VSc_9a0D#Ov0xATYCn&vyT*mtxJ61FG<2=%)%@3W?d(pT>GBjL+aA?yfxI*-SZijj*kPofYdRKx2A48A1xb z+q`UNEES5hqN3_Hz*6iN>t~+h{lUcyT4Ru5guI@8b#9>=4a%#Su_r_cJFC--`;Y;g zd*Mu-_cdH8-SkLV>tTu~dm9pac3awSx(fNptf^M!IE@rYdEVdvBH?oqn2VykTnLnr zyj2A$vbVoId)I3#Hxb@cJ39^A*=WB{}Pf^R^ zJ@DPfR#D+Wh6pkY20{Pc_jfFKpIr6J&)(o65uM%rTi|o(+%p0+kPRYH#vkF>QbPc`<=(j`zPxP!vHxGB+a1T{2yMS^R0>I@iR< zU)|lJql3uVUHz0`)rs4sa^+WjfOBb;E;{WRy1KQp-SxeCx$aWk3gJ!tu1aWIlIq1N zp>Dg4&smVb=vH1#cId&sdZOYkBZIy`T4`?1rdpUt9i`C(ipSokGziYI-hBk24IUb*Qe@@F~(3%&`K38ILij7cL!Nt~6mk$UDU54$((LVcc?xstUL9 zgw2Q(&Wj^2o?(77akE^x7jl^$yO;ZZ)&9UXW>9tWnC*NK5(2TwOEcRw9eW<}`x@?$ zy-<-I1Dkpv=&K8@AUf$gY_;|B&V&Q^2j9|Et|%1J9ZBN@lr0tH{ngc!gj*HD%<@?f zHu47iF9APo!c-;5AvT^li5xD=>@HsZB7_z%e5jTR>BDySWZ1wdOOuIo$J)#(`{ zeMNVg%(aHKGkg=}TQ3992zsqf~hwT~*%>9j)yn zRbw?em3!)<&gQWClFr^WY?w!Jmq6F@k)5jukCCdk5P zbzbe)^zNxRb&dS$Ma%HVcahoRJBg`s9(ytvWesmbkNbYg(5(#j>wZdc1~IqagU~V_ z{ti%B(7)>-Q^8Rz{xG#s&8zrGOjML_;m!ZfC8CIN#LcMfo2~Bt```Dv7?-(Ca6f(cXy5(cV#ZSnU=ei%INuD?T4-^9D}+sMQR_bj^~N zciq&-T@yPbMM4K(VMb1k)0bn{8vs5Vi2Gw!_M-Q&u5Ma*k)qIr*>$BjE^|(wa$8HA zi&Uws=BXu$Zu1>6`p_9b5g?A~R(CCWKGP3wBZnfV1AVBJQ{Fqo2?@}Cpe$JE{a#WC5 z6GoF1BP95Lyp6D*#wdrub14Iz40;5j0)h&7Xi`fJirBpOexrX&mq_YFe)r{%fH0!u zGd<7|gQ3{PkO0RD0j6mDOTC8;#6P#?|8P(Kf2QgFzuzbL*KDQ)ibkE{hhv)t8K&fc zP?-#oB3U;9+2N!j*nd)3jbT7Dl^`p=Oa8o7tCOKgi~v(2*3XyW2^XlD+h0DER`^#f zuKbgM8xmd6M2lc?5+O%~9CBZ8D9@Svr%gk$chAOD61F ze5{?!yRYW^vQt6Jnz(g6ytW;7`xK9Hw8gb$!j9^YXM!3oWDO&<-Y<-R6t_m0bz|I^ zz4LV3k1XL0#bGbAZpmA&Bp341%JxLkgt2fyY~11qca~nbr44?nAvZ73U-VoJ0*I1=9wOf8v+&FqI*;5s7*dl3Rb^t;St<>jj>c6)lPs6c zCsOcATdxs7sgO4w~4?%PsIX$1K$mH@?*XP z%s5YLT@-yfj4};fdyQ{0ijuMR-ut_vy#kJL2n8_98|b5CBy89le{2pGd>kRdYw+<| zS2-+r&Zoj3)?FkNXh!)L#elO!3-+c&!)EX=5ax5#U)stk3FnY9h|{=8(Xu~Cv%`-y z$I`L=*G3swpr52H!Xuf(KfTo&NI@v1!#QX%H=g0zHy1uQt*FPz|E;CRGIzE2iAJZr zp$?@pfI$;Ek@h#m7E^WMKRLyDf5_j8=%XhnjbWYryG&lr@f%2v;2#4IPxd=65=W6> zgFul56++|*SF>_)(*EcWE#Cu-qFfBy4N-~?A8OpV!Zydt}T(`3iV!RhdEg(6zG%dr9i zT49*d;SvDw0ZSf+nukC)WVcpSg6>~lF^^ZqDHyJG-;N&HqiasTl*4L}pmT_rfr!a@ zw>rxpf5OUJIbO&N5tqmGkS`I{{_~KReItsOeo{X$QT8re5 zeWWf}JD24Dc2H&opzu`Y7*^T4)Gd2-Wkws1FZFnM+XvX%2k5jgftH9+6tD1(c}_g= z5=|;S%h6qW{*>D;s6 z!3tduOF@U;(nc3ef2~O`3rExYM_D30T9duUay^v|Nrba3sPJ#3Uv-bd++(mS2>T#Q zI97QNRyYlgO71!e#7h$x*TLSZC{RI4Wk1-94&RDytjNSI&ZP}e8m3t4i8`o=Tb&1= zud|l{NJIk~)gLnmRjALdhFx)fLlax(9{~Vj6PjS5UL^M+R9@?vzx~QtQSj^60gY5@ zf}mc$&b#L;X3niXjZBlrE(pWPLcq+|=C2xtC!wOdRT?#EFkd9yp#vy{s_5+&nX*vC zs_>rO#Ib#-it!BgRgo%YMavTej3%YvbiOIWkA!F!ve^kbCy`N&ee`Ch9LAy|m~bM1C_=UYDp zo-7A_29Y?*qg1Cg?J&A5l@jaWc{n{s!>-3e;|)4Htb0NO&n8KhGk6Ok90q1-w3?8k zm2(M0U~HPhR}H=k83~9kluO3NU?{E^4_2{9>##B^jas7nN8VXp1t(WPcjCxrqWF(D zuM8O#B5UnyHRTfzHFy!8u=~$~*+(hIWS{AR&_~f{Ve6u0X?qgY?KpdiTKJG=jE`5? zyk822o2ZOFwr*_PT57D(f*87bEM9VZC>KcEkitG~(aTm>*4P-S*QH-2E!wmy4WNd=e3)TE(x`H5C`Rz2M28Al1rM2+@1(D*C{QHaIa zHbqN!=$|$peafUP~gS6!l<@hNlf)WnGRf zG2$T_S@j1HJ>I}SF%zhY&)fV``vT0EDfNMR7`jvc`0?8sx{1`(7{=R`%(Hw9r zh^n2{oE2S^rCm_D%j$QZ3*zmr(2dy}ufah=Qv*!uf>W5OaX8-l$S#AUBARZ3laU9p zZ0Hjt;w{r3x9PbaOAA}W$5CO}xBcfXS%1O-jTWS`$4~kR!8!{|j>ZJF@&{%3jryq{ zmV@r*Ef1F*-JMA9sz@Sf zNunsnG!B#m&zG|QI3MZ6LEtZF zUPW+qr$@#DlIfSVbNC@R4lCKfyxvCfoq;eVK6&@U^|xyMZSE%Sn+-R_eqPu@M@d6d ze2SJ{l62MS7<+nMzDG)bQK7mH>DT-`!|dv`Yx6>Kwd$5I4K6P0EDIF}y(|f$kP45J zW2o8%LlyH@^==W8Ena%tCPgseor7Qf>{?>#>MWsNhxAw|_0B2_eZ;%lv~8re=xsh9 z_KO1)wEyWFvC;<_Lvd2?JzBfKP6&pr1oSvbrNF@gt)_E{423OkhMq0DrV*jyANBqS zO1nk``rjX&%)~viRG)lxGq2&@O<@%6@w&7rk|{$^TH=fY<|QT|zmzB@XaY|tf%h6T zV?-gDCr~Nl%{T%bhym#~C5FrDnV_l;HWbCCun@XTR*6Sgbg!N!u9{p=AjWTVkT3c% z8NksdINyN`~r?%gj?ZEmT5Lkuor z0FT^S>Oa}0JJzh?g6tm@d6gKR2v&V8V31K7zmFJMXoUQ#Tf)Cfg+Sn|@WTq-E@C=I z49u4q73c8mk`sFU;_|#ve#J27n;TlD64cRe*mhJ9c`qr0t9i|1r!`y5ua#YE0#((i zh;G$xYnkT+in!w{<^7*17S~B6G6DTa?l;#n%wAX2XiT<|Vf`4T3BRe^P?f+$yRxAw z5y=|k0eqW83;}hITeN`thz^v*bs4qfxIwdd>UHC}q?^I{g3%yfWpWIe16DCbnOKBQ zO}Jnz5MkobZEvX^eCE9$O5q(1@qm^o?s`bMN(RIEi(qciB zzlg;|Gq>)L$eyB6EwWHr8*{tM{99JZV8mEg&KQ{R)QzSlge$Hp)9+V;^w`+E#}`r$ z$u2LPG$TWT^O>PBYZxQK;3s%Hp7_pP9gVsgaVcwB+T(=AHEdwOg?EZEV(eC#!IB%B zv%Q3N0<_e0g5v>Fft>ZnmdQ%nTNC9P1nP}s)eN1b&9Zd7*GSFIb%t)FJ|zdXh2o3{ zJ4z*BYI+PnSJ<60mO7|;!xrM|2BwhKAiaWsT(y4XKB zXb4L!rBTx3p^>QVbtm$=XJ|-3-k{;KQKg)N(pnz`j*sh2nz1>t-wf5JN8F29F&Rat@#za-HUAlG|U-+Hp7 zs#6zm5cuH;JkYW^L?vLikQ!J;%AR+d+=O*(nU`%8DM)1zOfV>;k5>9NGNm)M_e1%Y z2u{gN+}*XvtN--EnaC~M4I-PRkM;xMoXu6WR7^@%JJp^qiJOqeoj6onJg9vBW+H#J ze-@pComT1`%Uf~eAj0`uG0iC!&Xi*2s~4_|BXcH~Y#7D_2k^?9sgOX5stQ(JWw;4V zrS6sIV(wVUn755RWZ&1Uhd*P-FlqpCZ&fRLVNMV&Q2i_BDbLsC;sMS~zzzRk8wUpPal^{7W{? zD^k_7ut-8r0I4I8mH!my?P}Gu?6P!d0P>r2lgJG4G7R>!i>3f4g2i8xbd?*Tkr^&s zt=LO`%Cxpi^H$(beYg1nt%?Z?|TE8DXH6x7G-xfV3MG(a5rlBX((c@W3e~j~S%*$<~6wd<23!v`$ z>lHJTX4`Q0U|q>E2&L(IvXxPlS5-#QCI3dSbp^;!)zBRf>3qLa$$B9>Dc$D{`pnm| zYl>Yl#=SI0{|_tB9KlK0Ssd!ExF@e-1EK<)s1$u5Mi^y-8+`G!y?+|t15$?0TKd%| zZ#g4(6IpC^s<^We!dZE@iZCJKxbZ=zHVGUK|35Egl>{}`+D(ZN4h6IY2u)v-+-oF-B)fvjdTGNv` zX)2sc!v8_r{O?}b|CO%(FWTlmUfF*S{uAoH$A@gA!$fIu<@#uf-@d{{e*t>Y5j^HJ zQ`FnW`y6;&<8I;zc^b9vn8nW+@X?Fa8CBp((Iqn2!%-ie2bLyg45dt_91zbbEx)d& zcO2{g9#bl=C4eZ%d}_o#=X7lUV}Z-xa`D&v(htD9-eZMqNXiyV!;GoDhqG11X}%pA zj@4@FMXo69$8e-7=_2VP*R0MuQ~91YevpKO67T*1km4XwVaV$t)8Wta8b(pw7fODp4lup0Th+JfS7gHW*r?JTwGjuc=$hm z{s1uvDi%-Lr+kqMPLVUbrwfN8bs;eoWNLrXv;VN}w2u9nTe`jhyCIuc(9LuH@Y+Um zj~PL342*+>QXpmtd=w$t?zI)DA>Gr{>Yt~^#;}=VK7IP+|1rf=nX(tD2@||YxE#I| z;e;%1{3&Jga(ochgQ;sReTw-nGXmtYi%=AC;uJL!fae1!W!TgBwy-Pvi-uim)X!_Iob;90v=COn0!u}bJnViI?9Ovx1gl(7~C()ep^s|zZb`B0OJQfvJJ%`Mf zKgoY4;C!+1lL=x%xwulp)#*@CR+ihlI?7-690LetU$qEeRi6L;bt5L+Z~VyzfnA!X zMm+R;Qd7|f#8H!N`HL*eZ9A!dD3P>%5d!f8sg>a>KIwd8e);#>W2nni)+r~if1EeG z{Ev&Y!mBOX#zs_BltUM;Mrud$bvreC9;fHP5$`o8-E{|J7&SMLt3F&$Q_;~u(;y}w zD8K^I>Y0C%!9lnR0<5F#EjHX-=5#LS8h8NPA{HpJY=&5L7S*Q7pYr*$^N9tNhs~Ck zOO!?U<9*U)AQbh5K3NlyLFU&0Bc;C%(eAgtlit#g4n>zyv9TyzD=RAo`uZ7}nFfY% z87-biBzZN?XHopoGM}l-Q4pW8qVl@(O}=$#z^JapYN$u6NhJ{`Sn?0+$1zqGQy!Z} zqlg6)5q-bB5gjwMR>Z@L2jaZDuMaU_-*#c&*Y^NrBooU=2|e=eNRxY!=aQ0q2< zP$3%EQ>>Yj=yBqykA>wi`UeSn?gGEhCt78+LMt;!xCy%S{JYb)?a(-`<>iRFV%bzX z0W;gt(Jzk(u^?oHbY6$!gp;Cq`bC(m{WCfGMN7%FNvK(#*D%}87kT=8h)Nha4kLKWxF;_`jc7-d%&RJ50(Gc$m;Mf9qzWFU^1 zIy2k!)25agviLmnKQ_ib(`t59cwBI1Lx9V^R_Fap6zT);q@o;K^c(ko{|YpfuzOyG zV1SQT+m~$Qh_J=8ykDuP$e{VXI75{Nw@3WOB!NB4GFVaf?>y`X$wrch{@FEk1Uh6S zVdP}wDnyaja^WM&?67{)k6yM%aG06i-@yMioT2-?8Icao z-rHkm>SNIY(jrTwcCeavg~R9aw3+XaW(%=-&~imwgCM|$iKi_7>14;maT(715<`9Z z6tM^660sQS2T{eC4Sa&^0`Wv8m%pVbeNkW|Nn^O!9*Ky^mbb

jh=Sii?|nA9Cv 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 Q_R!&Er4%JA#En1xe`3MO3IG5A literal 0 HcmV?d00001 From 413855dc39644250f708f1c70d2007a70a58e004 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 27 May 2014 18:22:41 -0700 Subject: [PATCH 158/170] update readme and license --- LICENSE | 16 +++++----------- README.md | 12 +++++++----- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/LICENSE b/LICENSE index ac8133d..28ffd45 100644 --- a/LICENSE +++ b/LICENSE @@ -1,8 +1,4 @@ -BButton -------- -MIT License : http://opensource.org/licenses/MIT - -Copyright (c) 2012, Mathieu Bolard, Jesse Squires. All rights reserved. +BButton - copyright (c) 2012, Mathieu Bolard, Jesse Squires. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including @@ -21,12 +17,10 @@ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -FontAwesome ------------ -* The Font Awesome font is licensed under the SIL Open Font License: http://scripts.sil.org/OFL +Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome -* Font Awesome CSS, LESS, and SASS files are licensed under the MIT License: http://opensource.org/licenses/mit-license.html +The Font Awesome font is licensed under the SIL Open Font License: http://scripts.sil.org/OFL -* The Font Awesome pictograms are licensed under the CC BY 3.0 License: http://creativecommons.org/licenses/by/3.0 +Font Awesome CSS, LESS, and SASS files are licensed under the MIT License: http://opensource.org/licenses/mit-license.html -* Attribution is no longer required in Font Awesome 3.0, but much appreciated: "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" \ No newline at end of file +The Font Awesome pictograms are licensed under the CC BY 3.0 License: http://creativecommons.org/licenses/by/3.0 diff --git a/README.md b/README.md index 8c9a6b6..e85365a 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,10 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs [docsLink]:http://cocoadocs.org/docsets/BButton/4.0.0 [mitLink]:http://opensource.org/licenses/MIT -[img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png -[img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png -[img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png -[img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png -[img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-5.png +[img1]:https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/screenshot0.png +[img2]:https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/screenshot1.png + +[img3]:https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/plistfont.png + +[img4]:https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/screenshot2.png +[img5]:https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/screenshot3.png From c17fc988c6fd496a62ac03aea77369cca2f4c967 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 27 May 2014 18:25:41 -0700 Subject: [PATCH 159/170] update readme --- README.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e85365a..48af57c 100644 --- a/README.md +++ b/README.md @@ -69,17 +69,15 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs `BButton` is released under an [MIT License][mitLink]. See `LICENSE` for details. ->Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. +> Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. -## [FontAwesome](https://github.com/FortAwesome/Font-Awesome) License +### [Font Awesome](http://fortawesome.github.com/Font-Awesome) by Dave Gandy -> * The Font Awesome font is licensed under the [SIL Open Font License](http://scripts.sil.org/OFL) -> * Font Awesome CSS, LESS, and SASS files are licensed under the [MIT > License](http://opensource.org/licenses/mit-license.html) -> * The Font Awesome pictograms are licensed under the [CC BY 3.0 License](http://creativecommons.org/licenses/by/3.0) -> * Attribution is no longer required in Font Awesome 3.0, but much appreciated: - * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* +> The Font Awesome font is licensed under the [SIL Open Font License](http://scripts.sil.org/OFL) +> Font Awesome CSS, LESS, and SASS files are licensed under the [MIT License][mitLink] +> The Font Awesome pictograms are licensed under the [CC BY 3.0 License](http://creativecommons.org/licenses/by/3.0) -[docsLink]:http://cocoadocs.org/docsets/BButton/4.0.0 +[docsLink]:http://cocoadocs.org/docsets/BButton [mitLink]:http://opensource.org/licenses/MIT [img1]:https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/screenshot0.png From f55532f98734708e49e56f855804918300c3b7ef Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 27 May 2014 18:26:20 -0700 Subject: [PATCH 160/170] update readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 48af57c..50c70c5 100644 --- a/README.md +++ b/README.md @@ -71,10 +71,12 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs > Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. -### [Font Awesome](http://fortawesome.github.com/Font-Awesome) by Dave Gandy +## [Font Awesome](http://fortawesome.github.com/Font-Awesome) by Dave Gandy > The Font Awesome font is licensed under the [SIL Open Font License](http://scripts.sil.org/OFL) +> > Font Awesome CSS, LESS, and SASS files are licensed under the [MIT License][mitLink] +> > The Font Awesome pictograms are licensed under the [CC BY 3.0 License](http://creativecommons.org/licenses/by/3.0) [docsLink]:http://cocoadocs.org/docsets/BButton From 24183c679df44509fe486b07b685f1bf01ff7f02 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 27 May 2014 18:30:02 -0700 Subject: [PATCH 161/170] update pod --- BButton.podspec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 48fcacd..f987845 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,15 +1,16 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '4.0.0' - s.summary = 'Twitter Bootstrap buttons for iOS' + s.version = '4.0.1' + s.summary = 'Twitter Bootstrap buttons for iOS.' s.homepage = 'https://github.com/jessesquires/BButton' - s.social_media_url = 'https://twitter.com/jesse_squires' s.license = 'MIT' + s.screenshots = ['https://raw.githubusercontent.com/jessesquires/BButton/master/Screenshots/screenshot0.png'] s.authors = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com', 'Mathieu Bolard' => 'mattlawer08@gmail.com' } + s.social_media_url = 'https://twitter.com/jesse_squires' s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } s.platform = :ios, '6.0' s.source_files = 'BButton/Classes/*' s.resource = 'BButton/Resources/*' - s.framework = 'CoreGraphics' + s.frameworks = 'CoreGraphics' s.requires_arc = true end From fe0f69db0163a5c7534cdcffd5603b5af7854b52 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 27 May 2014 18:34:56 -0700 Subject: [PATCH 162/170] fix screenshots. update version nums. --- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- Screenshots/screenshot0.png | Bin 14813 -> 14294 bytes Screenshots/screenshot1.png | Bin 38354 -> 38173 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 2bc7208..06129d6 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.0.0 + 4.0.1 CFBundleSignature ???? CFBundleVersion - 4.0.0 + 4.0.1 LSRequiresIPhoneOS UIAppFonts diff --git a/Screenshots/screenshot0.png b/Screenshots/screenshot0.png index a7a9028aa6a60ee6ff2847f750875c6077f0ed90..421dd51c17a468c67b88891e279fdfd1c6888d5e 100644 GIT binary patch literal 14294 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 S+5-7{ASHPSBG>CwJNJ~gFG$@S-N+aFfaW=lb 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 literal 38354 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 Date: Tue, 27 May 2014 18:40:25 -0700 Subject: [PATCH 163/170] update cocoadocs styles --- .cocoadocs.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.cocoadocs.yml b/.cocoadocs.yml index a1fc088..516da11 100644 --- a/.cocoadocs.yml +++ b/.cocoadocs.yml @@ -1,7 +1,7 @@ -highlight-color: "#43D15B" -highlight-dark-color: "#319942" -darker-color: "#8A998C" -darker-dark-color: "#454D46" -background-color: "#D7E5CF" -alt-link-color: "#00A81C" -warning-color: "#0FB82B" \ No newline at end of file +highlight-color: "#5BBFDE" +highlight-dark-color: "#3175B0" +darker-color: "#499AB3" +darker-dark-color: "#245580" +background-color: "#CCE7FF" +alt-link-color: "#0081a8" +warning-color: "#0F69B8" From a06f4775970493bce4f5ffe68eea6866f90f48bc Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 28 May 2014 19:36:00 -0700 Subject: [PATCH 164/170] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 50c70c5..6b316e7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.svg)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] [![license MIT](http://b.repl.ca/v1/license-MIT-blue.png)][mitLink] +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.svg)](http://travis-ci.org/jessesquires/BButton) [![Version Status](http://img.shields.io/cocoapods/v/BButton.png)][docsLink] [![license MIT](http://img.shields.io/badge/license-MIT-orange.png)][mitLink] [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS From 97f015be026af566e97f144fba0f04294ef1fe9f Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Fri, 14 Nov 2014 10:27:29 -0800 Subject: [PATCH 165/170] Updated TTF file and added new values in the FA Icon enum --- BButton/Classes/NSString+FontAwesome.h | 148 ++++++++++++++++++++++++- BButton/resources/FontAwesome.ttf | Bin 80652 -> 112160 bytes BButtonDemo/TWBSDemoViewController.m | 4 +- 3 files changed, 146 insertions(+), 6 deletions(-) mode change 100755 => 100644 BButton/resources/FontAwesome.ttf diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index dacc3f3..4ed62dd 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -47,6 +47,8 @@ typedef NS_ENUM(unsigned short, FAIcon) { FATh = 0xf00a, FAThList = 0xf00b, FACheck = 0xf00c, + FARemove = 0xf00d, + FAClose = 0xf00d, FATimes = 0xf00d, FASearchPlus = 0xf00e, FASearchMinus = 0xf010, @@ -96,6 +98,8 @@ typedef NS_ENUM(unsigned short, FAIcon) { FAOutdent = 0xf03b, FAIndent = 0xf03c, FAVideoCamera = 0xf03d, + FAPhoto = 0xf03e, + FAImage = 0xf03e, FAPictureO = 0xf03e, FAPencil = 0xf040, FAMapMarker = 0xf041, @@ -161,6 +165,7 @@ typedef NS_ENUM(unsigned short, FAIcon) { FAArrowsV = 0xf07d, FAArrowsH = 0xf07e, FABarChartO = 0xf080, + FABarChart = 0xf080, FATwitterSquare = 0xf081, FAFacebookSquare = 0xf082, FACameraRetro = 0xf083, @@ -223,6 +228,8 @@ typedef NS_ENUM(unsigned short, FAIcon) { FASave = 0xf0c7, FAFloppyO = 0xf0c7, FASquare = 0xf0c8, + FANavicon = 0xf0c9, + FAReorder = 0xf0c9, FABars = 0xf0c9, FAListUl = 0xf0ca, FAListOl = 0xf0cb, @@ -244,9 +251,9 @@ typedef NS_ENUM(unsigned short, FAIcon) { FAUnsorted = 0xf0dc, FASort = 0xf0dc, FASortDown = 0xf0dd, - FASortAsc = 0xf0dd, + FASortDesc = 0xf0dd, FASortUp = 0xf0de, - FASortDesc = 0xf0de, + FASortAsc = 0xf0de, FAEnvelope = 0xf0e0, FALinkedin = 0xf0e1, FARotateLeft = 0xf0e2, @@ -314,8 +321,8 @@ typedef NS_ENUM(unsigned short, FAIcon) { FAFlagCheckered = 0xf11e, FATerminal = 0xf120, FACode = 0xf121, - FAReplyAll = 0xf122, FAMailReplyAll = 0xf122, + FAReplyAll = 0xf122, FAStarHalfEmpty = 0xf123, FAStarHalfFull = 0xf123, FAStarHalfO = 0xf123, @@ -442,7 +449,140 @@ typedef NS_ENUM(unsigned short, FAIcon) { FAVimeoSquare = 0xf194, FATurkishLira = 0xf195, FATry = 0xf195, - FAPlusSquareO = 0xf196 + FAPlusSquareO = 0xf196, + FASpaceShuttle = 0xf197, + FASlack = 0xf198, + FAEnvelopeSquare = 0xf199, + FAWordpress = 0xf19a, + FAOpenid = 0xf19b, + FAInstitution = 0xf19c, + FABank = 0xf19c, + FAUniversity = 0xf19c, + FAMortarBoard = 0xf19d, + FAGraduationCap = 0xf19d, + FAYahoo = 0xf19e, + FAGoogle = 0xf1a0, + FAReddit = 0xf1a1, + FARedditSquare = 0xf1a2, + FAStumbleuponCircle = 0xf1a3, + FAStumbleupon = 0xf1a4, + FADelicious = 0xf1a5, + FADigg = 0xf1a6, + FAPiedPiper = 0xf1a7, + FAPiedPiperAlt = 0xf1a8, + FADrupal = 0xf1a9, + FAJoomla = 0xf1aa, + FALanguage = 0xf1ab, + FAFax = 0xf1ac, + FABuilding = 0xf1ad, + FAChild = 0xf1ae, + FAPaw = 0xf1b0, + FASpoon = 0xf1b1, + FACube = 0xf1b2, + FACubes = 0xf1b3, + FABehance = 0xf1b4, + FABehanceSquare = 0xf1b5, + FASteam = 0xf1b6, + FASteamSquare = 0xf1b7, + FARecycle = 0xf1b8, + FAAutomobile = 0xf1b9, + FACar = 0xf1b9, + FACab = 0xf1ba, + FATaxi = 0xf1ba, + FATree = 0xf1bb, + FASpotify = 0xf1bc, + FADeviantart = 0xf1bd, + FASoundcloud = 0xf1be, + FADatabase = 0xf1c0, + FAFilePdfO = 0xf1c1, + FAFileWordO = 0xf1c2, + FAFileExcelO = 0xf1c3, + FAFilePowerpointO = 0xf1c4, + FAFilePhotoO = 0xf1c5, + FAFilePictureO = 0xf1c5, + FAFileImageO = 0xf1c5, + FAFileZipO = 0xf1c6, + FAFileArchiveO = 0xf1c6, + FAFileSoundO = 0xf1c7, + FAFileAudioO = 0xf1c7, + FAFileMovieO = 0xf1c8, + FAFileVideoO = 0xf1c8, + FAFileCodeO = 0xf1c9, + FAVine = 0xf1ca, + FACodepen = 0xf1cb, + FAJsfiddle = 0xf1cc, + FALifeBouy = 0xf1cd, + FALifeBuoy = 0xf1cd, + FALifeSaver = 0xf1cd, + FASupport = 0xf1cd, + FALifeRing = 0xf1cd, + FACircleONotch = 0xf1ce, + FARa = 0xf1d0, + FARebel = 0xf1d0, + FAGe = 0xf1d1, + FAEmpire = 0xf1d1, + FAGitSquare = 0xf1d2, + FAGit = 0xf1d3, + FAHackerNews = 0xf1d4, + FATencentWeibo = 0xf1d5, + FAQq = 0xf1d6, + FAWechat = 0xf1d7, + FAWeixin = 0xf1d7, + FASend = 0xf1d8, + FAPaperPlane = 0xf1d8, + FASendO = 0xf1d9, + FAPaperPlaneO = 0xf1d9, + FAHistory = 0xf1da, + FACircleThin = 0xf1db, + FAHeader = 0xf1dc, + FAParagraph = 0xf1dd, + FASliders = 0xf1de, + FAShareAlt = 0xf1e0, + FAShareAltSquare = 0xf1e1, + FABomb = 0xf1e2, + FASoccerBallO = 0xf1e3, + FAFutbolO = 0xf1e3, + FATty = 0xf1e4, + FABinoculars = 0xf1e5, + FAPlug = 0xf1e6, + FASlideshare = 0xf1e7, + FATwitch = 0xf1e8, + FAYelp = 0xf1e9, + FANewspaperO = 0xf1ea, + FAWifi = 0xf1eb, + FACalculator = 0xf1ec, + FAPaypal = 0xf1ed, + FAGoogleWallet = 0xf1ee, + FACcVisa = 0xf1f0, + FACcMastercard = 0xf1f1, + FACcDiscover = 0xf1f2, + FACcAmex = 0xf1f3, + FACcPaypal = 0xf1f4, + FACcStripe = 0xf1f5, + FABellSlash = 0xf1f6, + FABellSlashO = 0xf1f7, + FATrash = 0xf1f8, + FACopyright = 0xf1f9, + FAAt = 0xf1fa, + FAEyedropper = 0xf1fb, + FAPaintBrush = 0xf1fc, + FABirthdayCake = 0xf1fd, + FAAreaChart = 0xf1fe, + FAPieChart = 0xf200, + FALineChart = 0xf201, + FALastfm = 0xf202, + FALastfmSquare = 0xf203, + FAToggleOff = 0xf204, + FAToggleOn = 0xf205, + FABicycle = 0xf206, + FABus = 0xf207, + FAIoxhost = 0xf208, + FAAngellist = 0xf209, + FACc = 0xf20a, + FAShekel = 0xf20b, + FASheqel = 0xf20b, + FAIls = 0xf20b, + FAMeanpath = 0xf20c }; @interface NSString (FontAwesome) diff --git a/BButton/resources/FontAwesome.ttf b/BButton/resources/FontAwesome.ttf old mode 100755 new mode 100644 index e89738de5eaf8fca33a2f2cdc5cb4929caa62b71..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch delta 36983 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 A%K!iX delta 6041 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 R;Gi@Lnj&1+_tKvc`d{@9jCue7 diff --git a/BButtonDemo/TWBSDemoViewController.m b/BButtonDemo/TWBSDemoViewController.m index 55c0aac..cce4f53 100644 --- a/BButtonDemo/TWBSDemoViewController.m +++ b/BButtonDemo/TWBSDemoViewController.m @@ -31,13 +31,13 @@ - (void)viewDidLoad [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; if(type == BButtonTypeFacebook) - [btn addAwesomeIcon:FAFacebook beforeTitle:YES]; + [btn addAwesomeIcon:FASortAsc beforeTitle:YES]; else if(type == BButtonTypeTwitter) [btn addAwesomeIcon:FATwitter beforeTitle:NO]; type++; if(type > BButtonTypeGray) { - btn = [BButton awesomeButtonWithOnlyIcon:(arc4random_uniform(0xf196-0xf000)+0xf000) + btn = [BButton awesomeButtonWithOnlyIcon:(arc4random_uniform(0xf20c-0xf000)+0xf000) type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault style:BButtonStyleBootstrapV3]; From 0c06cb5be3edc29a2548ea7b4d33f14180ad3610 Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Sat, 15 Nov 2014 11:12:46 -0800 Subject: [PATCH 166/170] Put back the correct icon for Facebook Button. --- BButtonDemo/TWBSDemoViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BButtonDemo/TWBSDemoViewController.m b/BButtonDemo/TWBSDemoViewController.m index cce4f53..f1204dd 100644 --- a/BButtonDemo/TWBSDemoViewController.m +++ b/BButtonDemo/TWBSDemoViewController.m @@ -31,7 +31,7 @@ - (void)viewDidLoad [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; if(type == BButtonTypeFacebook) - [btn addAwesomeIcon:FASortAsc beforeTitle:YES]; + [btn addAwesomeIcon:FAFacebook beforeTitle:YES]; else if(type == BButtonTypeTwitter) [btn addAwesomeIcon:FATwitter beforeTitle:NO]; From 12010f1f36bff95d7cc08bd61d69e57d496fa6d5 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 15 Nov 2014 11:58:53 -0800 Subject: [PATCH 167/170] clean up. use asserts to prevent nil color. close #24 --- BButton/Classes/BButton.m | 15 +++++++++++---- BButtonDemo.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 27744f5..005e912 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -96,6 +96,8 @@ - (instancetype)initWithFrame:(CGRect)frame - (instancetype)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style { + NSParameterAssert(color != nil); + self = [self initWithFrame:frame]; if (self) { _buttonStyle = style; @@ -397,8 +399,11 @@ - (void)drawRect:(CGRect)rect CGContextRef context = UIGraphicsGetCurrentContext(); - if(!context) + if (!context) { return; + } + + NSAssert(self.color != nil, @"Error! Attempting to draw button with nil color. %s", __PRETTY_FUNCTION__); switch (self.buttonStyle) { case BButtonStyleBootstrapV2: @@ -444,7 +449,7 @@ - (void)drawBButtonStyleV2InRect:(CGRect)rect withContext:(CGContextRef *)contex CGContextRestoreGState(*context); - if(!self.highlighted) { + if (!self.highlighted) { // Rounded Rectangle Inner Shadow CGRect roundedRectangleBorderRect = CGRectInset([roundedRectanglePath bounds], -shadowBlurRadius, -shadowBlurRadius); roundedRectangleBorderRect = CGRectOffset(roundedRectangleBorderRect, -shadowOffset.width, -shadowOffset.height); @@ -482,14 +487,16 @@ - (void)drawBButtonStyleV3InRect:(CGRect)rect withContext:(CGContextRef *)contex CGContextSaveGState(*context); UIColor *fill = (!self.highlighted) ? self.color : [self.color bb_darkenColorWithValue:0.06f]; - if(!self.enabled) + if (!self.enabled) { [fill bb_desaturatedColorToPercentSaturation:0.60f]; + } CGContextSetFillColorWithColor(*context, fill.CGColor); UIColor *border = (!self.highlighted) ? [self.color bb_darkenColorWithValue:0.06f] : [self.color bb_darkenColorWithValue:0.12f]; - if(!self.enabled) + if (!self.enabled) { [border bb_desaturatedColorToPercentSaturation:0.60f]; + } CGContextSetStrokeColorWithColor(*context, border.CGColor); diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index e84d1a2..e3085fa 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -436,14 +436,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; + PROVISIONING_PROFILE = ""; WRAPPER_EXTENSION = app; }; name = Debug; @@ -454,14 +454,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; + PROVISIONING_PROFILE = ""; WRAPPER_EXTENSION = app; }; name = Release; From 5f210997fc4e6d46ba7f071dc3e27245244fd592 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 15 Nov 2014 12:00:35 -0800 Subject: [PATCH 168/170] bump version nums --- BButton.podspec | 2 +- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index f987845..2f82246 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '4.0.1' + s.version = '4.0.2' s.summary = 'Twitter Bootstrap buttons for iOS.' s.homepage = 'https://github.com/jessesquires/BButton' s.license = 'MIT' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 06129d6..c560ce0 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.0.1 + 4.0.2 CFBundleSignature ???? CFBundleVersion - 4.0.1 + 4.0.2 LSRequiresIPhoneOS UIAppFonts From 705887ce2b437af3f09379cc51dcc17e88399ffe Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 26 Feb 2015 21:32:11 -0800 Subject: [PATCH 169/170] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6b316e7..b5ab62f 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,8 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs * [OpenWatch](https://itunes.apple.com/us/app/openwatch-free-video-streaming/id642680756?mt=8) * [VSNotes](https://itunes.apple.com/us/app/vsnotes/id695433001?mt=8) * [Crew Scout](https://itunes.apple.com/us/app/crew-scout/id721124938?mt=8) +* [Chronorea](https://itunes.apple.com/us/app/chronorea-interventions-manager/id813086719?mt=8) +* [MA Mobile](https://itunes.apple.com/us/app/ma-mobile/id447421885?mt=8) ## License From 46db9bce4fd44d6d2699ef5a6d4f399f920d1c45 Mon Sep 17 00:00:00 2001 From: front9tech Date: Sat, 20 Jun 2015 09:44:41 -0400 Subject: [PATCH 170/170] Added Idealyzer app to those that use this --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5ab62f..d88ea04 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs ## Apps Using This Control +* [Idealyzer](https://itunes.apple.com/us/app/idealyzer-research-keywords/id991571238?ls=1&mt=8) * [Gitty for GitHub](https://itunes.apple.com/us/app/gitty-for-github/id645696309?mt=8) * [Hemoglobe](http://bit.ly/hemoglobeapp) * [Audiotrip](https://itunes.apple.com/us/app/audiotrip/id569634193?mt=8)

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 BXQ2Q9 literal 35924 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 z%0AT>czkW#_cO<9<*2oRdgM_)fkM%D0&o!o{HIe%fbb4hygds3)vH1VDoml;!-eU8 z``)ycr)f+qduM^wpaCXNU0zJPryp({?BU#HXaOI2j>op$=W{na`x4*;_pm(1{odRo zO8Xh}e3UHF6)SGnWfAZP*jPYl7JB>*q_j{fcLV?x8yf7FUE|-oW9Qv%Py40E*XO<; z-Fq0+ZDZj0BoQHlq3Lw20{EDfpD($=S~n{yU&9Ea>nYIDnYADNy}6y+%7-H}FgNd1 zvoX+nUY$?`F^OL18RdH*plmS+R!G{fjCK3>{43ut>mksx31Gw4dh*zUE}(y)Vo8gZ z0R}=%9#3Xnzuhk=15DFfF(N(M31G*3U+{!Y8^=Jkv-E|S%O|bwc}M#?jBfLuEV?JA zz5508+w;VaI*UVTck+)I0ZgoEen=-sl5rnl+kNynwB$`KZ|7omiwfM4Ge*UL>wnFk zzOebz2^umG;WnT=ais#6+x^Rt_?_B+>NF@L7solaj~LM2-v=Ha0fYj3sbONh4O5B@ zHkCQHn{rjtM?>dltis5s(77UI?a$C2^0AqddXOFxpIF#EyP*Y=lx6Cyy+$ppJzr0A zWgQ)!e=kFOZ@Cgzuq&Y)rn#aWw^kIb-If&0U{;K~4pVz>0>vqU2X)2Re&TGtT8HLo zNvvpEYQjY$LYfDOv9I1Jp`HBfK8x1;*DctvRQ9}olY4Xv3Lr#C~>v2 z1dg$yQ2!I%>PSPX6z(@{5_NolQsD`vTDtn`sIvmkHgUht{fpY5^Cm*SY{%<^RLJka zDl?-bR@(b$?5lb!Nc_UvMPxTd|4OR=fR(BMw|`&%zD9SBx)|2cyeyDc=?XaDtid$O#oR6u}`SrAcrV-Dw1G>WN-w?F|v}w$Cs)yuR_ZF zBM?Jxs}WeSA<=W#?=UM3@sb4SdxRfv1_-E^5Xkd;jz9DlcbrzQDF_tY{{RB|Uj+90 z{eY11fB2t^*GnA)Up2Y-TvfG#TFR7+D6TF@a8T4$$ONgsX)mvUpk<1p@JS~2pY!|U z%Ki%dJUz?P3zrr z5YIG2qI%+6=Ykv8_2#|p=X3V;0vFfwhSw!}<8N8%<%;Q^*Ej1>3Pje1_$@avMOrNS z5V-Mk9*^R7JhH=fj!nLHcSm-1(mvqrX%)2| zkCT;7%|tuOTod{FJ_D{*Zs(i#$9dx8)cesZ5w@Zi@XG$hx}~+*=8wf#+f2>3T4@Fj z8|_uu9zLb^*MpB&l+sPkKHFAUk9g)ZHwyrk)(6s_m4{gd76;n*8YqmKxq<`tVImC((@x~mOc zm-}L4g32`80Fa)RinE)mCo(i;5TVFz$h*BLq%@OG2r#Z2qW1*ZEcgdwFa#B|9Y~kv z^<iv zF9oPrs+VNR$W2?9Qf}t?i**_VTa9)w@6-IJtUf;ltW4gl>M<{`skbkYNhG8)boq zTThGhLnX>vA;O9sP-#@ZTD_`C)fYGNk5@pK&CNYG`e8a37gqofHG=Uggf&vGY-4nm z;=s=(eKumr)2u>La0XB}8hb1W22j8#aTxY6>o^zu41ceo#ZmI;dNi60+9PJ{>B|fG zr3J?FTCDhREEX=^M+)VMj%pP`$Uw{>cYwAYE4-;SP6Bm*D`FTWGB#?zgv;H0@iez< z<1hVX^Vv^h?&=j#F)SL$#DOMeGPs8|+b8q{P3HfiY`v5PcYN%Hz{cmeK7-GoRsUL1 zS>omr%!=l+G+`_ntu4HdIWdx(P;hX->3Uh=X?h$z@b0cS+&;`{d|`BKr6o!SbsLL+ zj#H?o%0-~L5MC^QoJdl-{7ocl-5a(L{t#s0w_iMspddVJW7t=EOm0WBjQ8g2JCdX) zaGu{-dc7a7;R`s-JSwM_h4KYY{=V2IiGV}>K3et;WBu?~`TICmh#m>sX=qyb;EqHs z5j3rRR%=)w+0t+?)eExpkbmB1p)fJXUNca%Lzj#Ie|q2?x0yXwqp>egcceF2xPsn~qs@0wwtv1Y`D zkh-DZQK^W#O;;R^su4b*K+a$tU#%|f?iyJ*t}8uvO&ImSrK%X6D|TOdwCbI=(AX>Q zUcB@#p6<(JJXA`^_m_Df$>umJ=x46!1fqY_S|>5^K)}6WB^2Dq&u6Wn%cg_?U~+v2ZN`( z0wlxI>iugR<@zK4YwHB!q#uw(vB{MuX5wU_xj9>oO&+%MA$s=9M)6=^uKovf} z9sjzLDXoLuMLxP)A30NLrkYfOQRa^I>E`?-VM&**v`|_>z$}(=f#1;<>+gV z&+Jfaj_Vp9Q1>Ts{L>4b#hK35yG(UAl`bVGBW(>>v0G!L7x~uZi?^f2YJI-eMo-zt z+n+$O2N=SI_jT{AnZ@#lWTIIO0-;L=eTZ$*x)=bhkG|(drBTxpZrgXQt&flI`herl zp1-?i?ep}NmKGlt&)s~@`sTXapWR|CJsgF&8p^s;rFOb+v+3Q1T5XSk@XvJGod;Xj zsZmtc*H`717M`w`p5GHN>R%R#H-%O}kSugClZ;OE>^CAo7%q+J`K%(gfxlIoTjl|V zQ*uj>G8yS9DOcD$h6lF{O`*B%SSfe7E2~TMy?z45L65h&RY4R2>ob*}?xzzIJ)LHz z64KY}wLW)&x%5=HES~58gxm+O>bjcE)|+U=w|pP@POla|y{xvhx@@Ngd8{K;38=vC zZpP%vCtJ2Z54KTLQCqUk%lI`~Z67<*_w8I(lzVI<$if|sAG8@6#SF)ggG*iqFlFX2 zuvzyoG&PB>GHCsk*+@scR7&2@+8f_L{l%QjqDLh|N2DXfw^izI#+EsJ%<5HW)ASP( zA*@f!YfRPYEI4N#7T>kE0e9D>$#OxN*vCV`g**4=>JuIN>8Txe66pZ~fKy_~xxs#> zgg^it9)o!l#Os5y!vb;h1FIk&%==%^5$hI9Bmu@?Czq*@ayj+!@za33;C>)NWK@9uNfQP{UTH(9GL~mCD zFsfQ!27G20w{AD{?rCd^ADHX2+aTNXKc9>QV>w0bF882t?;{o~T#fAt|3g8m%kv_i zwl>WQ&k#$)k~K%+J((p$I5|Ex|C?&F@xD_Uy8hld(_}Jk;`dk>Td8ih4VyZWsa?C- z_8eH!l1YI9ed%-Cdwc%8lb zmqDOk?q1zG%-JrBr`0v6d^ONxVCJVyc>$h2$?^cw-hp5&ZgOT$%Ij*0Q*tIZJ*VdD zD+xQVulFO0i^S6-6kbkO5g|RqF80r+Nhk-<=WYi{Y}Lly$3U`>ulwAAgHviu!cOWz zJ#2tkkZ6X2-k5=ZFgFa+IEMiu3;9Wb4(kdK7&PIoPlH;L@%*{O^lSgxmlNMR&WcN_ zd@v*1eiss_LOwZNwhLCA%cM=_S;nrTos(O6;3kj2pQGa9)no}?^j54FuDd*Nc3C}I zVg}?7972i!sN^V&@9A;Zp1QYVPoPV45XcrcCA;W-(}@#~?gi%>ro7af7`NCZ0yxmy z5q*N6()iHwbSnH1yjt}wT|-YP$GDj~Kkse#$xTJQt$RqxhY}LbeW*FLr{(VuCIHUt zWPeFi?-)FtcU}_4JE}c0AXKg!HlS)cX*zqD!cka}ZRrRW+6FdAWfo^#_Ly9j5*PfT zdyPA;sJG=>a-i$J6o{#tu(l*O-Cy5e@7N1j2RaTzQvsG#JcN-%mNWJad?v+Sl1KL# zk~q4zIFF`=T1hRF3+ukc@lV zB&yaZ{Qo2EoPr~bx<(z_$;6o0b~3STJDJ#aI<_;ht%+^hwrx+Goc`*ozv}$w_FQ(= zuD;m)_Pf_wd#&e5f({^g=G9-5J3sFh$k zZJOE+c#qeW;XAB8Kv}iqG5E(x`o)+hi&VI&LvFIaI-~CH0Duh9zYCSr z6Ig)5Sce{BszT}4dXoHad3rxW%wcT@i@&vtbsA)u=$zZJsHK(eVz2a?$75@+pbj$7 z^J>90>ltSt?j~SgBB#uWQig`SI^>wG5QS32Gyuh_r}Y=S^zC|9xgxIw=KWitVw7wK z{7fV-bvk!J*kWLvgQdH9sC$R);3II_h0Q5Yw(PyaBE9wo45OQ{svJ#Cd6+Tll6Nc zC8h${0=7cefstChXE!U`@1J8O1B50oPoZvtA1{87d+SC$RW^4G_Hwk0SJw~a2#DE5 z*sH_IvJH4!nUUHEXg(wxQ^&>Jkqz^_zI{o){KNDS{m7_`S(A+!>!Ijz)%ePuTV1DH zXA2Z=?$D|+D!)Y}1PNE#W}}Sk&mi_n)8c(0#i^LWqtaL&)chq2SH4@`cY~yppJ( zx-D2-i5Zv`r3PbXhVS$KofeDIH}juSB)rtkk^L}3=t0Mt9qB5+C}SVM zj0KU*OGMR)mkAl-(cJBbc2qEuqWCd}6B3I;CM?5}K3JS^Wq+&H&I&~Xz7;ZHfr)_# zO^MQz2FGqoh@A>I9FuAVLYeQJSWL!nrzIs{A}TW&B&wh2+kh5sK=wkm^o!}l>Djf{ zFmba($eLoUI$8deMgG__0UG|bT6BNJxVy8A1ek_to0td9nI>mlHV44$Z*#X(k@2cn zV8uP>&_xX7$}%*nq4tQE=?xO}_kzDBB-?0^Ih#5jaM3||l4S~!!wG1Md8CUlFjhJd z+ag)LVilMU+)2+zDzQHWh-eAG84FgH-6YZAl`v7F2^`!S-LiyrftB*AsLG+Q^}}sp zBf>jUD{X^&^I=~mXw%bR8xuReNdR*9rGEMib9agZznY#=BSTLmT@n!E!&uOl0dZI> z*L+7BO1DpMMAj~|0&ge)1B$9>(OM#i0y|V=Ihh=Kk6T@ee$BnKe2vVSU}E#~$PBKo zbWc}*8wKq9hE5JL=<-Pk|trP`l_^5NFepT^Tpb~RpX67~tY)6(6>N6E=sW|f75;=d=-5|g_o^Ntf; zkP$~DsS(-LR_r@rU|`)3x>M9?NQ@g?mM#U%=tN3x9HDFCQPrj%YB3 zf_I0tKr%R#{(}-R$hL9iA}}64DmYo7s(%P3Vb@ZKsuv^_!d7UExA_d(30a*SMn+Jt z+`oG81B?f6n9J59IF3y_3uPGj%5^O41=Urt>gldv=A|95YLHNs!1)NM8U}Wvy%&9E`Wu9YT3Yp< z^f;@Z&Cr&>voi_l*VI&0_}u(WGsk4F)N0;H73dm4A$+@bmX;H8%XN$fA|_UU(RmT$0DM$cfDN^Le3M zlODhQD$KV#_b2Y-@K-JR4LSZk{@XaH8V-jbCIrchGK|jE)=}v>uC{M$x zjCPcooJtyWrLM6U>#YHmWjSBpd*o~u4m{6VI8=f>@?`8u(r~E&kkf_Rm}#- zyFQ&g39vp*^|<8rc;f3QiOCGzbsofJ5W1eVV~fw51Qkhz%*O{1(^A&pvm5@2F=wQq zS+6sZ5E2SdE{6d5sGB)DKj*QWFQV6J4h{)%)O31TfSrZ{6i0j0-zB zRW4%`?%n^#k*9wj2d0h}Gkn~9>}tLu78fJ$!PjSIWZGi4<+VQ;0VE3naVmW`LlC`O zE|sQb8uj?aGr5&*+%z;+K)4SOIZ(DK6ancle^qq3e%Y4b>?*ETSbz$4Qt$vOMWVo( z2Vry*#ewh&S`YdS0+Pe3K=$L)b=d$g_I_mXZ>}fgdkP99HZD#R$#;*3jM<1m*U9SgP=1=Mx}0TYd&H1e+VK z04Y*al#4hmUQhl#opo|AO_6Zc?jl}%S9x0VhSBR!j?xJhAegU+jQ|x|;WR^Mq&U5` zwe{rHB}vBPew{_SAC%mCGE=Y2hJWM3Y zF`|Ny7($U`$nsKB;qL{=D8jf!Wm&Rw78X=8<&uFZvUe_Nm!krQb5$__Mzr9UxCo4` zvdG3H$H)o#4c^8VQ&8DJ%pGF_yje)fD286I+Ej+UXf`hI=rZ)v4STYC03vA4#&_}p~1GPfrEDVBb1oE{y44vbW6fyt$&M1 zr1jf{`pY;gj;yk!M^bN#bCh$!&B<|YnaEa|${g?z5R_>Oq{cYnA435yG8M~{uh8|y za4}4>_petiJN-0w2P1KS?@xDHkoVVDxiluwDzQF(6pHy)qOw^!|1&%KU^Yo=!u8TN z1>OnXAfF&GXozM$TW{6pQPbdwT>#$Yq-&^l=rmcRb5y|KHTU-;GtPZn&LW4X!58SG za7KE%=lLRaB?GJ3q#y`Ii^4)tT_HNWA*(J3@<$NrMXuSpvYd#L$m8tkQtn?&_@OfC z%9WgMAD$<>^Y~HXvS1b@nj%Tn65lDl-Q3z1sS`}+uPF{O#w~rl??C;f?9KkA9$Uj@ z_?Syh$*NzCvR}#ONExql^KpvL<{9SO#`XznWW*l!Est?pCPX^_)-c6N5Oh~P6_KJpZs(ljH40|YmWd<=6sZ&$qb)M2`i z$xq7XgPIZhwx*+l=(q=~hrHj8kH*~r$eL82<&B5NQr2R$^~CH1xUKYEnibcIq`!Iz z!%LrY__^MHK8xCknTe@rB?*}eLSYw0ii@o!*MHnR5aj?glT-?Alt{SxiZw21>uKN= zu#U4wgR~A64$}aIeVUmXIxix7U4_q)06M?>jil;jhRL3KEiJD$HcoD=P%&08D9MOO z0WOh08^(}n4D{)F?mz$qp8o9dROa5l(FD?4r$Fthl4ujP>)An`I)4!KqJt4>S5d2G z^3V{lJ&+mDc&Qob8jG@c$WgNGMEE5vQ4&-Pqu-;ED< z6X@?T%i7bu8~7Uaju{uIU7K*4F1}5CH6_zj>F6sNc%83g^~|$(xCC}PkKLv^SB|Ij zI966BTK1(N5i-AY+ErSUM&%$**#+2cw7Y44i^5PPDJE-VrTTJuOAew$;@Y?6$oe7o zR>XA8s?Qb-{B3RJ5)dF_VPIg0FDWi2r=+aWtlR(kd^fI31E~tJy}7)ceK7=;<*_`y z$X(qFj+X6GV!TQ8mgZZb*QMm5e7X9ve{Fh2Ba#|RLz^+mxqT4HysdRmtRQm#RjsZu zz-8R+@iutI)SLW9OA}ks)cBN}`^oBI!DLM8V7U8H_R2K99p)`|U4T*=&-i^;+>peo z3i%58N&To`ja3!1gH^+9y=ZzK<;~dM(JJ!e^7rGzT_(5d@iZxK<nSyvh)9hm%Ruog|LoiG3@i-0*>=Q}M!!FEwaV*pyCyj=D2Gt| z+CB|}#F!hl;iSZr$7v2T1aWnB_1`<1NEPt71^KcyXllO9LrYW3KjZkZjNllmTA7DZ zY?*ASNadVtt6O*XvHigPo%t}eZXaqLnp%`{%I-y0!UTr0hgO!&Zj70SRUZbA9Q5Yf zbWXDn`P~Fjykv#Q_;pTJoIsY?*+Zv<`(H0Tb98En- zGeIj6mY$Pgr_6FzkUI}+crB~Z^KNCtjMT1ewy4*Jr*+7!p1gh$IpsVu;g3(~)1f za07_A9rkY#utvp5rm%!CdwQ|Qt@e%%zb#11ux4<(q5cyvx0zD!X@GNgWdVFZZvB;` z)vc;zR7IrIg|ixunzrZqUBQ7vy4bN$ztA?}w&J_VTAWi%r?S3h<0+NuQOgNl)9~%x zo?^0IJU!zdUOu<>96tiPK4(l0Dp~V+>L%&d&&!}0j>$D9O-_%mj92FGAI^pMP`5Rh z<@r{kv*F;d(8dx&`tn`BOpc;mDVOK2^b-Nzp7~R%1$dK&&*Mk;7b`Uy>gp6^WW5>a zq8lE`TN?s-6JTlko%xc6qUUa|uTA$80=i!e4;?SjFLLRbu>xHB+uE^g+bxtmww7)A z0I#57Lux57AMl?B8_H3KnSH-o)g2J4y*#^eQ;Dp!cGTloj$DrvT`ONwDhHRQh7hH{ zSl$^adw5`1uH`zE@Vk@T2TCPeKA~Qd}_Y1+DUZa44dYby5 zvdE2>>h9pe9zHqFVXQfr3^79Bp41vvig+HzIR)x{)Brmhc+!xqe!Io_MJpEQG~$Jv z6$Xy*p)cc@Qm9FLP=)x61a0#2K$fxLI^h9J3f*cuLLBV+X&|s*lbdYEKwmua*}Qb59^xS?E@&C2D9vZ z-Tmo$F9;Yd=B?~Px?QVW`vUq*z=sLnN0@zEz8=_fb+m^NGeQ%x5{wE5atM8Z=exlJ z;A*woL@_5VeYMD1I4jx}&-?yEO7P`*qX!ut>AiSA^|1c1{a?Eg|3FEo{8n~r=1u?e z(R(-61EE2GPgNJ6@5f`y!FDL+o8boZ*7cSl9;I(Q1X8Ufdg&3?$<0>lipb&JLw0V< z)jGvfN~lK&{?{YZ>a9s=T)Dbxj|(`gX)3mMYp4SZ$3J0k<{M)i&WQ^A!qiRaHRNq^ zV>OF@EisiP$&;AjvbM(;G`4WKxOUh3)4z&@srpR}e^tS?l<%kYdlP$0ldc z^PpX`FY*TjRKGMlk?uu4!m_q}-JZ|4%oC^SvN{}OPqAxL@LXerzJvnV>(%eovw<>LxS<-wfb=zwokOqel`0nyOu7fwJTYZ zu+4I#?s~EJF>q1(H;kiJ`u8={3hjB)HF;HfBb3!%;C=sae~>41f{#3dG}Oo$#y2&( zFoj_9dS2+Y+C5DfjU5AjnzzH)3;6(e*gyymA?+_HWUz+IsjZG*Hf?cXGap(Hb36+% zfUQ<#S4b#1dYNPxvW37BIfQH&tVJNKA&*q~IDudGI+eqbYA0@M8=3-ExJyLVZJY(o zS*>%&BY!O%-ytD^Ve}NejJ@3MQ}^lNX{Tm@LfXEZlWJ_L!Yo8TAhSH?{Hmoz#sf_w z-#V%S@_4j-rY^e3vFGgTt@7ei_j41%jy)0=B{U8Cw1d$-x3ZVLmmcJc;vBBJ?8eP$8uR?mia` zx;4|yjE>G)HAxpIKAMIP?E{gb)G8&N=L!KM2c8}tz2XdyZ}}ohg5f@6hH_ zH?ir>g;DrnWb>Ay&>Yl19GCq*Oo}(YZorc~xyAy}Qo0%&F{0M|Dg_#JsL$pRsKF*@ z&{^`G-nf2y{|Q)hx?!$jv@>!4n$pdHvrT<6qEm`8K>2-&mf1Xg`7*fPt9c)9q?Pb} zT#Oct1aFo{W>BzM{jmXAR-{tF=~(;rd=U&xVUTa|P~REi0S zZ(27zoOlodP9He#Mgri}N`_=$uwX-9e5u#>JqB(H4BL&`=qw=Mk)~fceD75}jmn&W zIlSWT{+9E18^NoD66labw!yE+rRVT2%9zIYXfli`>NEQhp* z1{^lZHkER!-zkpKjZyOIdUr@P!E2b#3+~>;r8UR^-s`EP(obb4<;62X`|ZFpLuKe8 zX!u>jon13qR!py8#0Wd;6SO(OC{Q!CSQR*!DmQ=BPSpANv7CVrdTC;F%<>^3?eh<%BNofLaV~INF;o3;x6T!C?~uhZ+bNcU;(>P`$zida<0Kd z*o4bh7RZddJUtzqniA{5qIQ+aQwCd}Te4wDtyC_@q}PT>aL30W`U@d`yW#9Svs7Qn z!ikeQA{O!(U(L6QBHWyhf4CLI3_G@Y@)m3rHm@_4Ui@v6i(~-;Vu%9L1+dH&fhLfo-(>;)FSOzR z!8ZJFqC-xXbwF%^^g>HTyNEkaHj-xoG)nL-MQ0!chN9>7c{^BaLzs~R5)xNKeFH;~ zH`L>0j;jV10ptv*QK%#I49NB0-Do(fNdI4=zlrbR6rj<5LOl4myd_*$w7Y*-d(XF& z<3(PFxVTT3@9?MgIDLCxw2X}aE;;~PJAwP;_ft+c`9JPs3R}An#Z=M;FoaNS<*kj< zP41edeKM(d-mn>4G`%Z3#d6?YxD6z`+7vS+;w)4w+m9nkWf2VLe! zV1u!9y`~#2Dv#Y6>eeL;wgr&B(8&zN5ZM+vyLhMh|CLT_-3(r7uHkXoEiNqqJ1vEM zeWembm7>o;+)eULjW_K$7r(BTDm8#;vZOantp`o5XY;5-S|YPwOhSpDMO$&IKZrLi zi+zLyg9W{3c1=NwMhU%C`sD^y&8CWIKT9*h$s$%SSFP+{-!lK?3pn!EC%2`2kVxxzX8_|#p(RxT&dZX4gg^Z< z+J8eD*TGma^cWzvHn8}$c34|$>9rra@Z?i~i_{n?-K5!gc*ERJO-qVeXB7pqJm&(SJ%9arYN`{o|7<%W~Q1|j>IFcO52bGyQWH*>dk9{602()rEoz0 zgTM$i=ieuatQ}a(L3@oIl^=ru;PECSn+MpkMDLR;fh7{5Ev#M#=%Duo^RF7w|1sQR zB?Ct$YPZB{D(D%a!*?h`ojXQu%D5dWe{xn1i6TpQKo{yLsy0fL{62u!1GgAbUF5|r zpe;ADNz~jHVJ!Xeh!%K7726ZSc8!B^%s~=wNQGrt4qPoHceYnqE|BT4)qhXWm9Jj zRsY6H8YF>9K&lU$;Ql=m*#f$q64X6_WvaNXxhvZck#|`MW5YL(G@iw>F`2+eb@won zsk8BM_+@;-8doHq3@Ii>Dne9tH&)sIK0?;2%dOF*srdKnLAXHP&+rSqHk{In*F0ZL zNmfcKz*eVc2XHz|OxX1^KD5p6^9{)F@^=K%+L^Fb)tbEd!81Y3gxLn&;zbgElWjGi z+GQ3!zRYZYjg1nCjGQ%zh_7xkjdDBP-FzLe*K)s|07UL@3_bKJ-|kb!*)-$_)&%k+ z4Q3Ov?H~Mwmu>-cXy;nS=MKxWli!G4r@IR(0&5<6&aXv6K-`yW zHTiYHgH1eTHea=gdL!_OgpLt_lV$+;eBv$8fPOKZNJ&mj4XOsGr*e-oQW3>~KGPIl zP*<^-z@RZ|7>!ePN2z3yHJQRgW`Y^#D&4W*aWuN)YSDnq^tb-ir6T>AI&1s`;8)@M zBtIhqaOru9cpfPHI)_S@_j{}8bW3%gAU3d#sz1xKpJHHqseO$HY?*IIT6ylQ^`2*M ze}9ZNG<0@t$56M^C|s^Lc0M9c$kc5jvG!6i@jJ_HyHmJCX$aVWn`nXsf7(Cn30yw+ zbXHyM2;Aa-GI$&+J6xS?+e&==nKq+EoyuvZV-40vS$E=aL@mIAIws(CyT!lXY;y*J zNFj;cfg%J!<1>V6y$*FHrF@;p2JViaG*nHQqoq7*QN=o+X<~N&espB2k5cZG4FB66YWR-DVf4&fHb(sb zz5fR~()e0Qh{r={V!8t8Nl!3Ke??Y!#qAc6V|4#J3%i%{9Q}U0V}AXDq@)XBJx@JW zL?wM#JY@!s>9zb<%dTbPL5~1W4!ZGpD+jHm-%j6&zMp`Qv1-J$n)qZul5rAmzZAwVE*!6Ayc=ZZ;j1 z&Pe0A6a&t`Z5ao4y0HMz&3Cru+QK&aZ&ssD2#PU*|>|Zn=R4 zeOj-d)X$rx9*;n{jrI43p}odzMhd6HCPEsWgH-UVy}8eW0`lXOB9eYHqvwO-OxCt! zlDYavcl8@%TNm`Q&xx=c+wZy*l3;98Q!)Oeq(M_-R|Z=3ziAw{>+{7joOYWqsY#Ry z+dw5i2D`P{Ob#MA;_;2mj}^4PG}IgtRy$*Rze=Mog;N(| z6}rs0J6I-7xb^s!X1=7?I2PUQSar>gen2WiFZ{4MM4F`^CSp3sGl9YW9qr2ytRJ{! zpF%^Fy2ok{>SeE$VJxeoXvnc%|J!DK)kIe3oXM73iYbjaUbuFv*%nWX5$1Lt`0B9I z(!%M)!{%#AV?PzmQSxT??LhFq&!WF?k?B*qyxLw0#UtFZeA4<9{X0?`H1$EnL_3i=|>o{c_Zv z3cC37v3=19Ua*eGNy(oH4*`Z^cvy^lL8ylN-Ls~r6RZESd}XsOuJjqV%w*ofa5mV= zVod|h65jwV%0T!*a$;&qPC-Ech=@Ma9M?d^WedMza(&meK<@<;qj*;5O-&d5!H3Mi5Z5Cq|fB;gH3zyT|yp{0Gj-H2hWlf}#k zLCuL7Y+U01sXc*lbpnEKexM)Y#xTW*yZrV^j%E>pOjSNTxrcrts9`mr4_9Zlu?jh{ z4DPiQg}0v6V*SKIWX^-BAk$_=9U;!m2y)utmrf1{$Q zDWx#bh#dXf?CM_x9uhv``z$gcK2xGEvd`q+KW*M`LPNS(T6hAvET6j}tp6Z$2Y>iu zYFdCe$jD4I%!msReex^odAE|gddsq&r@@X&O(tu#C4E`NTa9AI< zzOPSGP0l3NPM~y_Nsh*d6HhuX6D1igO%fv{rC>TdN@+O5{*;6>A8Y`>W+Jxp+)GZWH3ELjiJ2nHvld^IpkfxK? z!W!}~;u5HeX-??3BF7D#aP(3-(OLc?@7YKybPs=fdN}9oLGwZ)o-$9MIasJ180|gz zhR+2^NaR4aq|_eKVtZCk+?Xk5&c@T~?4kcN*w%K6`ZmPh8-O191CAvxX+PuPmDr@9 z@Tfu0=cEV1#e^+yU3)JTg>w1(4tOZ@LEf3 zHQT`3#84W2#`Dc)l1MV@&MBWLArJ$6u^xYKdooeBrIDo=I?Pwb z%I<@Vu>`givuB2B#g9Hzy8Ol_kPN^6$?Jwze62r8;q|S<2;CBk=`<4Mi40c_I;ba= zF}*t;htkgbEyhe-gO2;FL%a>)`peun9R!Inf*NeKoE=IB!>7BE`ECHi%Ng~69Y6{#w}=e}TJBZT0J3Mf2# zLvfJS{tVXy{~@DlSRUAZqBFdL{pae^g;QEVR4Js!1LX`{4JM)P6;9IEH@U9u+(!_6l>F8AmXn*J|M|Mo3%)Jgh-M?ZU zo^5V!?!QWG`PHLEl(t`GyJGx3wzHwJKy8ZsN(IEjUF`(ghE zeIy3C9t>z?0|M�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 diff --git a/Screenshots/screenshot-4.png b/Screenshots/screenshot-4.png deleted file mode 100644 index d4f217d00bfbb3747043f564f36dae2851b1d67c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39161 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 From 1172ed403e07705da5b6a55f43b3e48ec7850d00 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:34:19 -0700 Subject: [PATCH 032/170] update readme --- README.md | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 8d35e57..9e4f8b6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #BButton 2.0 -BButton is a subclass of UIButton that looks like the [Twitter Bootstrap 2.3](http://twitter.github.com/bootstrap) buttons. +BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. (Bootstrap v2 or v3!) Forked from [@mattlawer / BButton](https://github.com/mattlawer/BButton) and refactored for more awesome. @@ -8,14 +8,13 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa ![BButton Screenshot 1][img1]      ![BButton Screenshot 2][img2] -### Notable changes +### Features -* Up-to-date for iOS 5.0+, ARC, Storyboards -* Custom initialization methods for easier creation +* iOS 5.0+, ARC, Storyboards +* Style like Bootstrap 2 or 3 * Option to show button 'disabled' state -* New button type options -* FontAwesome already included -* Refactored to be much cleaner, better organized +* Button type options +* FontAwesome included ## Installation @@ -42,12 +41,24 @@ Create a `UIButton` and change its class to `BButton` Initialize with any of the following methods: ````objective-c -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type icon:(FAIcon)icon fontSize:(CGFloat)fontSize -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor icon:(FAIcon)icon fontSize:(CGFloat)fontSize -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon type:(BButtonType)type -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon color:(UIColor *)color +- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle +- (id)initWithFrame:(CGRect)frame + type:(BButtonType)type + style:(BButtonStyle)aStyle + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize +- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aStyle +- (id)initWithFrame:(CGRect)frame + color:(UIColor *)aColor + style:(BButtonStyle)aStyle + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize ++ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon + type:(BButtonType)type + style:(BButtonStyle)aStyle ++ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon + color:(UIColor *)color + style:(BButtonStyle)aStyle ```` **See the included demo project `BButtonDemo.xcodeproj`** From 6007610490a5cd952a24cc048b26c0db094c6d42 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:36:37 -0700 Subject: [PATCH 033/170] update podspec. bump version numbers --- BButton.podspec | 10 +++++----- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- README.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 29d5b1d..7b9860c 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "BButton" - s.version = "2.1" - s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap 2.3 buttons." + s.version = "3.0" + s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap buttons." s.homepage = "https://github.com/jessesquires/BButton" - s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-1.png", "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png" + s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png", "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png" s.license = 'MIT' - s.author = { "Jesse Squires" => "jesse.d.squires@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '2.1' } + s.author = { "Jesse Squires" => "jesse.squires.developer@gmail.com" } + s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '3.0' } s.platform = :ios, '5.0' s.source_files = 'BButton' s.public_header_files = 'BButton' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 0ad6280..d104f65 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.1 + 3.0 CFBundleSignature ???? CFBundleVersion - 2.1 + 3.0 LSRequiresIPhoneOS UIAppFonts diff --git a/README.md b/README.md index 9e4f8b6..4cce12c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#BButton 2.0 +#BButton 3.0 BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. (Bootstrap v2 or v3!) From 380a3c1d13990a949c4d1df175af3b58522c512a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:48:40 -0700 Subject: [PATCH 034/170] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4cce12c..d52d8a3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #BButton 3.0 -BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. (Bootstrap v2 or v3!) +BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. (Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com)! Yay!) Forked from [@mattlawer / BButton](https://github.com/mattlawer/BButton) and refactored for more awesome. From 7e8a4252714f68f2b2a376a99a499a0a227cf587 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:50:46 -0700 Subject: [PATCH 035/170] readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d52d8a3..9933308 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ #BButton 3.0 -BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. (Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com)! Yay!) +BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. + +New! Use Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) style! Forked from [@mattlawer / BButton](https://github.com/mattlawer/BButton) and refactored for more awesome. From aee57ab4a8247a3f3be313c0909df6b3ea709cb4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:51:45 -0700 Subject: [PATCH 036/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9933308..86e28cf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #BButton 3.0 -BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://twitter.github.com/bootstrap) buttons. +BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://getbootstrap.com) buttons. New! Use Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) style! From 97f654e0d3b750aca4dc57187722c84cd15c5259 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 6 Sep 2013 23:52:14 -0700 Subject: [PATCH 037/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 86e28cf..cc0599a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://getbootstrap.com) buttons. -New! Use Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) style! +*New!* Use Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) style! Forked from [@mattlawer / BButton](https://github.com/mattlawer/BButton) and refactored for more awesome. From ddbb7f3fb83b3a11ee94432b1353b5d51dd60a98 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 12:45:57 -0700 Subject: [PATCH 038/170] refactoring / clean up --- BButton/BButton.h | 14 ++++--- BButton/BButton.m | 41 +++++++++++++++++-- BButton/NSString+BButton.h | 29 +++++++++++++ BButton/NSString+BButton.m | 36 ++++++++++++++++ BButton/NSString+FontAwesome.h | 16 ++++---- BButton/NSString+FontAwesome.m | 23 +++-------- BButton/UIColor+BButton.h | 2 + BButton/UIColor+BButton.m | 2 + BButtonDemo.xcodeproj/project.pbxproj | 25 +++++++---- .../xcshareddata/BButtonDemo.xccheckout | 41 +++++++++++++++++++ BButtonDemo/ViewController.m | 2 + 11 files changed, 190 insertions(+), 41 deletions(-) create mode 100644 BButton/NSString+BButton.h create mode 100644 BButton/NSString+BButton.m create mode 100644 BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout diff --git a/BButton/BButton.h b/BButton/BButton.h index e271e47..52b4c08 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -24,14 +24,14 @@ #import "NSString+FontAwesome.h" -typedef enum { - BButtonStyleBootstrapV2 = 0, +typedef NS_ENUM(NSUInteger, BButtonStyle) { + BButtonStyleBootstrapV2, BButtonStyleBootstrapV3 -} BButtonStyle; +}; -typedef enum { - BButtonTypeDefault = 0, +typedef NS_ENUM(NSUInteger, BButtonType) { + BButtonTypeDefault, BButtonTypePrimary, BButtonTypeInfo, BButtonTypeSuccess, @@ -42,7 +42,7 @@ typedef enum { BButtonTypeFacebook, BButtonTypePurple, BButtonTypeGray -} BButtonType; +}; @interface BButton : UIButton @@ -51,6 +51,7 @@ typedef enum { @property (assign, nonatomic) BOOL shouldShowDisabled; #pragma mark - Initialization + - (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle; - (id)initWithFrame:(CGRect)frame @@ -76,6 +77,7 @@ typedef enum { style:(BButtonStyle)aStyle; #pragma mark - BButton + - (void)setType:(BButtonType)type; - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before; diff --git a/BButton/BButton.m b/BButton/BButton.m index 07fead7..90c04b5 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -20,15 +20,22 @@ // #import "BButton.h" +#import "NSString+BButton.h" + #import @interface BButton () @property (assign, nonatomic) BButtonStyle style; +@property (strong, nonatomic, readonly) NSArray *fontAwesomeStrings; - (void)setup; - (void)setTextAttributesForStyle:(BButtonStyle)aStyle; +- (void)didRecieveMemoryWarningNotification:(NSNotification *)notification; + +- (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon; + + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; @@ -43,12 +50,17 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect; @implementation BButton #pragma mark - Initialization + - (void)setup { self.backgroundColor = [UIColor clearColor]; _shouldShowDisabled = NO; _style = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(didRecieveMemoryWarningNotification:) + name:UIApplicationDidReceiveMemoryWarningNotification + object:nil]; } - (void)setTextAttributesForStyle:(BButtonStyle)aStyle @@ -106,7 +118,7 @@ - (id)initWithFrame:(CGRect)frame if(self) { self.titleLabel.font = [UIFont fontWithName:kFontAwesomeFont size:fontSize]; self.titleLabel.textAlignment = NSTextAlignmentCenter; - [self setTitle:[NSString stringFromAwesomeIcon:icon] forState:UIControlStateNormal]; + [self setTitle:[self stringFromFontAwesomeIcon:icon] forState:UIControlStateNormal]; } return self; } @@ -140,6 +152,7 @@ - (id)init } #pragma mark - Class initialization + + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon type:(BButtonType)type style:(BButtonStyle)aStyle @@ -161,6 +174,7 @@ + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon } #pragma mark - Parent overrides + - (void)setHighlighted:(BOOL)highlighted { [super setHighlighted:highlighted]; @@ -174,6 +188,7 @@ - (void)setEnabled:(BOOL)enabled } #pragma mark - Setters + - (void)setColor:(UIColor *)newColor { _color = newColor; @@ -214,15 +229,25 @@ - (void)setShouldShowDisabled:(BOOL)show } } +#pragma mark - Notifications + +- (void)didRecieveMemoryWarningNotification:(NSNotification *)notification +{ + NSLog(@"%@ recieved %@", [BButton class], notification.name); + _fontAwesomeStrings = nil; +} + #pragma mark - BButton + - (void)setType:(BButtonType)type { - self.color = [BButton colorForButtonType:type style:self.style]; + [self setColor:[BButton colorForButtonType:type + style:_style]]; } - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before { - NSString *iconString = [NSString stringFromAwesomeIcon:icon]; + NSString *iconString = [self stringFromFontAwesomeIcon:icon]; self.titleLabel.font = [UIFont fontWithName:kFontAwesomeFont size:self.titleLabel.font.pointSize]; @@ -238,6 +263,15 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before [self setTitle:title forState:UIControlStateNormal]; } +- (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon +{ + if(!_fontAwesomeStrings) { + _fontAwesomeStrings = [NSString allFontAwesomeStrings]; + } + return [NSString stringFromFontAwesomeStrings:_fontAwesomeStrings + forIcon:icon]; +} + + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style { switch (style) { @@ -328,6 +362,7 @@ + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type } #pragma mark - Drawing + - (void)drawRect:(CGRect)rect { [super drawRect:rect]; diff --git a/BButton/NSString+BButton.h b/BButton/NSString+BButton.h new file mode 100644 index 0000000..9347833 --- /dev/null +++ b/BButton/NSString+BButton.h @@ -0,0 +1,29 @@ +// +// NSString+BButton.h +// +// Created by Mathieu Bolard on 31/07/12. +// Copyright (c) 2012 Mathieu Bolard. All rights reserved. +// +// https://github.com/mattlawer/BButton +// +// +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT +// +// +// ----------------------------------------- +// Edited and refactored by Jesse Squires on 2 April, 2013. +// +// http://github.com/jessesquires/BButton +// +// http://hexedbits.com +// + +#import + +@interface NSString (BButton) + +- (NSString *)trimWhitespace; +- (BOOL)isEmpty; + +@end diff --git a/BButton/NSString+BButton.m b/BButton/NSString+BButton.m new file mode 100644 index 0000000..d4a734d --- /dev/null +++ b/BButton/NSString+BButton.m @@ -0,0 +1,36 @@ +// +// NSString+BButton.m +// +// Created by Mathieu Bolard on 31/07/12. +// Copyright (c) 2012 Mathieu Bolard. All rights reserved. +// +// https://github.com/mattlawer/BButton +// +// +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT +// +// +// ----------------------------------------- +// Edited and refactored by Jesse Squires on 2 April, 2013. +// +// http://github.com/jessesquires/BButton +// +// http://hexedbits.com +// + +#import "NSString+BButton.h" + +@implementation NSString (BButton) + +- (NSString *)trimWhitespace +{ + return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; +} + +- (BOOL)isEmpty +{ + return [[self trimWhitespace] isEqualToString:@""]; +} + +@end diff --git a/BButton/NSString+FontAwesome.h b/BButton/NSString+FontAwesome.h index 1acb189..98edc4b 100644 --- a/BButton/NSString+FontAwesome.h +++ b/BButton/NSString+FontAwesome.h @@ -34,10 +34,10 @@ #import -extern NSString * kFontAwesomeFont; +extern NSString * const kFontAwesomeFont; -typedef enum { - FAIconGlass = 0, +typedef NS_ENUM(NSUInteger, FAIcon) { + FAIconGlass, FAIconMusic, FAIconSearch, FAIconEnvelope, @@ -338,13 +338,13 @@ typedef enum { FAIconEditSign, FAIconExternalLinkSign, FAIconShareSign -} FAIcon; - +}; @interface NSString (FontAwesome) -+ (NSString *)stringFromAwesomeIcon:(FAIcon)icon; -- (NSString *)trimWhitespace; -- (BOOL)isEmpty; ++ (NSArray *)allFontAwesomeStrings; + ++ (NSString *)stringFromFontAwesomeStrings:(NSArray *)strings + forIcon:(FAIcon)icon; @end \ No newline at end of file diff --git a/BButton/NSString+FontAwesome.m b/BButton/NSString+FontAwesome.m index d73f9bb..a077ff5 100644 --- a/BButton/NSString+FontAwesome.m +++ b/BButton/NSString+FontAwesome.m @@ -34,30 +34,19 @@ #import "NSString+FontAwesome.h" -const NSString * kFontAwesomeFont = @"FontAwesome"; - -static const NSArray *awesomeStrings; - +NSString * const kFontAwesomeFont = @"FontAwesome"; @implementation NSString (FontAwesome) -+ (NSString *)stringFromAwesomeIcon:(FAIcon)icon -{ - if(!awesomeStrings) { - awesomeStrings = [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; - } - - return [awesomeStrings objectAtIndex:icon]; -} - -- (NSString *)trimWhitespace ++ (NSArray *)allFontAwesomeStrings { - return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + return [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; } -- (BOOL)isEmpty ++ (NSString *)stringFromFontAwesomeStrings:(NSArray *)strings + forIcon:(FAIcon)icon { - return [[self trimWhitespace] isEqualToString:@""]; + return [strings objectAtIndex:icon]; } @end \ No newline at end of file diff --git a/BButton/UIColor+BButton.h b/BButton/UIColor+BButton.h index 4b4d532..fa841bf 100644 --- a/BButton/UIColor+BButton.h +++ b/BButton/UIColor+BButton.h @@ -24,6 +24,7 @@ @interface UIColor (BButton) #pragma mark - Custom colors + + (UIColor *)defaultColorV2; + (UIColor *)defaultColorV3; @@ -51,6 +52,7 @@ + (UIColor *)grayBButtonColor; #pragma mark - Utilities + - (UIColor *)desaturatedColorToPercentSaturation:(CGFloat)percent; - (UIColor *)lightenColorWithValue:(CGFloat)value; - (UIColor *)darkenColorWithValue:(CGFloat)value; diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index f002c55..2d30d04 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -24,6 +24,7 @@ @implementation UIColor (BButton) #pragma mark - Custom colors + + (UIColor *)defaultColorV2 { return [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; @@ -115,6 +116,7 @@ + (UIColor *)grayBButtonColor } #pragma mark - Utilities + - (UIColor *)desaturatedColorToPercentSaturation:(CGFloat)percent { CGFloat h, s, b, a; diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index c590b0f..fc3eb3f 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ 880EED9F170B357400462214 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 880EED9C170B357400462214 /* FontAwesome.ttf */; }; 880EEDA2170B3EDB00462214 /* UIColor+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EEDA1170B3EDB00462214 /* UIColor+BButton.m */; }; 880EEDA5170B6D2600462214 /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */; }; + 88136CAD17EE2050003362C6 /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88136CAC17EE2050003362C6 /* NSString+BButton.m */; }; 8857FBFD1718B92B001C200D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8857FBFC1718B92B001C200D /* CoreGraphics.framework */; }; /* End PBXBuildFile section */ @@ -47,6 +48,8 @@ 880EEDA1170B3EDB00462214 /* UIColor+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+BButton.m"; sourceTree = ""; }; 880EEDA3170B6D2600462214 /* NSString+FontAwesome.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+FontAwesome.h"; sourceTree = ""; }; 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+FontAwesome.m"; sourceTree = ""; }; + 88136CAB17EE2050003362C6 /* NSString+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+BButton.h"; sourceTree = ""; }; + 88136CAC17EE2050003362C6 /* NSString+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+BButton.m"; sourceTree = ""; }; 8857FBFC1718B92B001C200D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -124,11 +127,13 @@ children = ( 880EED99170B357400462214 /* BButton.h */, 880EED9A170B357400462214 /* BButton.m */, + 88136CAB17EE2050003362C6 /* NSString+BButton.h */, + 88136CAC17EE2050003362C6 /* NSString+BButton.m */, 880EEDA3170B6D2600462214 /* NSString+FontAwesome.h */, 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */, + 880EED9B170B357400462214 /* resources */, 880EEDA0170B3EDB00462214 /* UIColor+BButton.h */, 880EEDA1170B3EDB00462214 /* UIColor+BButton.m */, - 880EED9B170B357400462214 /* resources */, ); path = BButton; sourceTree = ""; @@ -169,6 +174,11 @@ attributes = { LastUpgradeCheck = 0460; ORGANIZATIONNAME = "Hexed Bits"; + TargetAttributes = { + 880EED2F170B33B000462214 = { + DevelopmentTeam = 5VRJU68BZ5; + }; + }; }; buildConfigurationList = 880EED2B170B33B000462214 /* Build configuration list for PBXProject "BButtonDemo" */; compatibilityVersion = "Xcode 3.2"; @@ -213,6 +223,7 @@ 880EED53170B33B000462214 /* ViewController.m in Sources */, 880EED9E170B357400462214 /* BButton.m in Sources */, 880EEDA2170B3EDB00462214 /* UIColor+BButton.m in Sources */, + 88136CAD17EE2050003362C6 /* NSString+BButton.m in Sources */, 880EEDA5170B6D2600462214 /* NSString+FontAwesome.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -308,15 +319,15 @@ buildSettings = { CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 5.0; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; + PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; WRAPPER_EXTENSION = app; }; @@ -327,15 +338,15 @@ buildSettings = { CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 5.0; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; + PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; WRAPPER_EXTENSION = app; }; diff --git a/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout b/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout new file mode 100644 index 0000000..59f6ad7 --- /dev/null +++ b/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + A70632F2-3205-4720-BB00-ABED18CEE29D + IDESourceControlProjectName + BButtonDemo + IDESourceControlProjectOriginsDictionary + + 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 + https://github.com/jessesquires/BButton.git + + IDESourceControlProjectPath + BButtonDemo.xcodeproj/project.xcworkspace + IDESourceControlProjectRelativeInstallPathDictionary + + 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 + ../.. + + IDESourceControlProjectURL + https://github.com/jessesquires/BButton.git + IDESourceControlProjectVersion + 110 + IDESourceControlProjectWCCIdentifier + 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 + IDESourceControlWCCName + BButton + + + + diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index bbfb934..8df65bd 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -21,6 +21,7 @@ - (NSString *)titleForType:(BButtonType)type; @implementation ViewController #pragma mark - View lifecycle + - (void)viewDidLoad { [super viewDidLoad]; @@ -60,6 +61,7 @@ - (void)viewDidLoad } #pragma mark - Utilities + - (void)buttonPressed:(UIButton *)sender { NSLog(@"Good jorb, you pressed a button: %@", sender.titleLabel.text); From 1a8626fd51f95a6af419e9358031276a91045920 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 13:08:47 -0700 Subject: [PATCH 039/170] bump min OS to 6.0 --- BButtonDemo.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index fc3eb3f..d51b449 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -325,7 +325,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; @@ -344,7 +344,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; From 91448d895db7bc86ad65d3906f9f36a5dd0b2466 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 13:47:57 -0700 Subject: [PATCH 040/170] new corner radius UIAppearance selector --- BButton/BButton.h | 2 +- BButton/BButton.m | 39 ++++++++++++++++++++++++++++++++++-- BButtonDemo/ViewController.m | 7 ++++++- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index 52b4c08..ea941e1 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -23,7 +23,6 @@ #import "UIColor+BButton.h" #import "NSString+FontAwesome.h" - typedef NS_ENUM(NSUInteger, BButtonStyle) { BButtonStyleBootstrapV2, BButtonStyleBootstrapV3 @@ -48,6 +47,7 @@ typedef NS_ENUM(NSUInteger, BButtonType) { @interface BButton : UIButton @property (strong, nonatomic) UIColor *color; +@property (strong, nonatomic) NSNumber *buttonCornerRadius UI_APPEARANCE_SELECTOR; @property (assign, nonatomic) BOOL shouldShowDisabled; #pragma mark - Initialization diff --git a/BButton/BButton.m b/BButton/BButton.m index 90c04b5..04b0120 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -24,6 +24,10 @@ #import +static CGFloat const kBButtonCornerRadiusV2 = 6.0f; +static CGFloat const kBButtonCornerRadiusV3 = 4.0f; + + @interface BButton () @property (assign, nonatomic) BButtonStyle style; @@ -39,6 +43,7 @@ - (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon; + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; ++ (NSNumber *)cornerRadiusForStyle:(BButtonStyle)aStyle; - (void)drawRectForBButtonStyleV2:(CGRect)rect; - (void)drawRectForBButtonStyleV3:(CGRect)rect; @@ -187,6 +192,21 @@ - (void)setEnabled:(BOOL)enabled [self setNeedsDisplay]; } +#pragma mark - UIAppearance getters + +- (NSNumber *)buttonCornerRadius +{ + if(!_buttonCornerRadius) { + _buttonCornerRadius = [[[self class] appearance] buttonCornerRadius]; + } + + if(_buttonCornerRadius) { + return _buttonCornerRadius; + } + + return [BButton cornerRadiusForStyle:_style]; +} + #pragma mark - Setters - (void)setColor:(UIColor *)newColor @@ -361,6 +381,21 @@ + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type } } ++ (NSNumber *)cornerRadiusForStyle:(BButtonStyle)aStyle +{ + CGFloat r = 0.0f; + + switch (aStyle) { + case BButtonStyleBootstrapV2: + r = kBButtonCornerRadiusV2; + break; + case BButtonStyleBootstrapV3: + r = kBButtonCornerRadiusV3; + break; + } + return [NSNumber numberWithFloat:r]; +} + #pragma mark - Drawing - (void)drawRect:(CGRect)rect @@ -388,7 +423,7 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect CGFloat shadowBlurRadius = 2.0f; UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) - cornerRadius:6.0f]; + cornerRadius:[self.buttonCornerRadius floatValue]]; CGContextSaveGState(context); @@ -467,7 +502,7 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect CGContextSetLineWidth(context, 1.0f); UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) - cornerRadius:4.0f]; + cornerRadius:[self.buttonCornerRadius floatValue]]; CGContextAddPath(context, path.CGPath); CGContextDrawPath(context, kCGPathFillStroke); diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 8df65bd..04d7405 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -26,6 +26,10 @@ - (void)viewDidLoad { [super viewDidLoad]; +// uncomment to set corner radius for all buttons +// +// [[BButton appearance] setButtonCornerRadius:[NSNumber numberWithFloat:0.0f]]; + BButtonType type = 0; for(int i = 0; i < 2; i++) { @@ -51,7 +55,8 @@ - (void)viewDidLoad [btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; - // uncomment to show buttons as disabled +// uncomment to show buttons as disabled +// // btn.shouldShowDisabled = YES; // btn.enabled = NO; From 90f19a6041ba92da6d2ae70584bf68358b798fd0 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 13:48:23 -0700 Subject: [PATCH 041/170] bump min OS to 6.1 --- BButtonDemo.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index d51b449..4859003 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -325,7 +325,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; @@ -344,7 +344,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; From 7d8f9ad85daef1cd0417747e2ad61a7345f05014 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 13:48:58 -0700 Subject: [PATCH 042/170] bump version numbers to 3.1.0 --- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index d104f65..cd3f976 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.0 + 3.1.0 CFBundleSignature ???? CFBundleVersion - 3.0 + 3.1.0 LSRequiresIPhoneOS UIAppFonts From f18f6a42f0ee89bef2fd7c9731ad99fd731e3797 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 13:52:09 -0700 Subject: [PATCH 043/170] bump version numbers to 3.1.0. update spec --- BButton.podspec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 7b9860c..96b3faf 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,13 +1,13 @@ Pod::Spec.new do |s| s.name = "BButton" - s.version = "3.0" + s.version = "3.1.0" s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap buttons." s.homepage = "https://github.com/jessesquires/BButton" - s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png", "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png" + s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png" s.license = 'MIT' s.author = { "Jesse Squires" => "jesse.squires.developer@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '3.0' } - s.platform = :ios, '5.0' + s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '3.1.0' } + s.platform = :ios, '6.1' s.source_files = 'BButton' s.public_header_files = 'BButton' s.resource = "BButton/resources/FontAwesome.ttf" From fb8bfba8340a2633b7b693d5ff25e1eb1d3f916a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 14:02:18 -0700 Subject: [PATCH 044/170] update ignore --- .gitignore | 1 + .../xcshareddata/BButtonDemo.xccheckout | 41 ------------------- 2 files changed, 1 insertion(+), 41 deletions(-) delete mode 100644 BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout diff --git a/.gitignore b/.gitignore index cdd2a05..d43e9c8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ BButtonDemo.xcodeproj/project.xcworkspace/xcuserdata/jesse.xcuserdatad/ BButtonDemo.xcodeproj/xcuserdata/jesse.xcuserdatad/ +BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/ diff --git a/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout b/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout deleted file mode 100644 index 59f6ad7..0000000 --- a/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/BButtonDemo.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - A70632F2-3205-4720-BB00-ABED18CEE29D - IDESourceControlProjectName - BButtonDemo - IDESourceControlProjectOriginsDictionary - - 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 - https://github.com/jessesquires/BButton.git - - IDESourceControlProjectPath - BButtonDemo.xcodeproj/project.xcworkspace - IDESourceControlProjectRelativeInstallPathDictionary - - 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 - ../.. - - IDESourceControlProjectURL - https://github.com/jessesquires/BButton.git - IDESourceControlProjectVersion - 110 - IDESourceControlProjectWCCIdentifier - 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 72305823-5E7B-4DFB-BE3B-9D6A22F32E66 - IDESourceControlWCCName - BButton - - - - From 76a7bed783e3c2ae889afd1b2c863927a5e4dbbe Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 14:02:44 -0700 Subject: [PATCH 045/170] update README --- README.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cc0599a..e6aee21 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,11 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa ### Features -* iOS 5.0+, ARC, Storyboards +* iOS 6.1+, ARC, Storyboards * Style like Bootstrap 2 or 3 +* Set corner radius via UIAppearance * Option to show button 'disabled' state -* Button type options +* Many button type (color) options * FontAwesome included ## Installation @@ -63,6 +64,15 @@ Initialize with any of the following methods: style:(BButtonStyle)aStyle ```` +### UI Appearance + +Set corner radius for all buttons via UIAppearance + +````objective-c +[[BButton appearance] setButtonCornerRadius:[NSNumber numberWithFloat:0.0f]]; +```` +![BButton Screenshot 3][img4]      ![BButton Screenshot 4][img5] + **See the included demo project `BButtonDemo.xcodeproj`** **See `FontAwesomeIcons.html` for list of icons** @@ -79,7 +89,7 @@ Initialize with any of the following methods: [iExplorer for DeviantART](https://itunes.apple.com/us/app/iexplorer-for-deviantart/id657212778?mt=8) -*[Contact me](mailto:jesse.d.squires@gmail.com) to have your app listed here.* +*[Contact me](mailto:jesse.squires.developer@gmail.com) to have your app listed here.* ## [MIT License](http://opensource.org/licenses/MIT) @@ -104,3 +114,5 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png [img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png +[img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-3.png +[img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png From 4624db6b23741a430d140795f647733c9c39a019 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 14:07:10 -0700 Subject: [PATCH 046/170] tweak demo --- BButtonDemo/ViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 04d7405..dcc9809 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -35,7 +35,7 @@ - (void)viewDidLoad for(int i = 0; i < 2; i++) { for(int j = 0; j < 7; j++) { - CGRect frame = CGRectMake(32.0f + (i * 144.0f), 20.0f + (j * 60.0f), 112.0f, 40.0f); + CGRect frame = CGRectMake(32.0f + (i * 144.0f), 40.0f + (j * 60.0f), 112.0f, 40.0f); BButton *btn = [[BButton alloc] initWithFrame:frame type:type style:BButtonStyleBootstrapV3]; [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; From d70904d395d63b5a9b0a84d1bc9e3380a4107e6b Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 14:12:37 -0700 Subject: [PATCH 047/170] new screenshots --- Screenshots/screenshot-4.png | Bin 0 -> 22840 bytes Screenshots/screenshot-5.png | Bin 0 -> 32087 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Screenshots/screenshot-4.png create mode 100644 Screenshots/screenshot-5.png diff --git a/Screenshots/screenshot-4.png b/Screenshots/screenshot-4.png new file mode 100644 index 0000000000000000000000000000000000000000..26f7cc5005c166cadafaa00ebbde30dfd64b9842 GIT binary patch literal 22840 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�=qzk`>{nYEBEW8o_6UT9Ws{A)2w?v?3^0P%vV63&tI@_ISQ(z`M z@#aDaTxH>?_rXt z6_l%}VVRgc0GY-^9OOIOK=$9R=4f2XJ#v|k>9K?SF@Qz%!i)S_uzKDC$J&2MN z$`B?raUMr3zW*$l(yc;+&@NZ_@=**Y+C239`}}4Ugb{W#ESmt1(eImXjj0Q~z7>;6 zqunjzDD@Fi5&L|Uq|3_KZ&|k7@a&X&C@cD7e&0Ph4lAT#zMwf$|GIE`$KJ6kiSVkg zK|>Sub5;{!`)I@=#-P>TQtrUWDgI~x#&|EqDRH04GWd%x_1&%tSFdJWjkf235 zg0c`DrLF$#?!$r%*%sAyoCixP@7giyK9(%>0MseBT2d5BAp!Mz-4t7pi$mcnh1YOf z3<BG%*m~GCOdBvByxuKwp)3@WYTaRh_#1I_6Cb0AMvjrHRpL;@DDUu z^~JjK`^q83w<^7JMexM|FpCAAFr(-{!0k*V59yh3I=(YkVXc z91#)0427;@HFF6V8RzbB0L6ngil^&TY)6>tUYniNdlh7dvUDM5d-Pem1YhdY=y)H%%rx;z6AoT*4UcDjKyBp#=%RqU`)Q^;LH%#1v6O>u znZdA`GK?iV z1O%w7tK)7!PEXSHd1(lv^40{cfKA0U35bgy%7hlxHf_oTh0suko6G8eG@UZLc0p z2j7Nr191R+=04l#%Nn%%?veZ3u`;8oju^5CBtW+Vic7c8_3?}Gdu3c)T=$asmB7S3 z;R7ZpyI|~Icj#%qg~BEF0Qk@@?bzOUYu!yMCME`Y8p14THtPH#N9iZW=4_%hZ*{!l zQI%O!R|fH>oQwvMyk z5W=^LDVA665n?jpfjK~+2Iy-80|UTrew>^%pKX@O{qYs|S-RBa<?Oz^%>j=Ftv=VtW|H`+~iY`kpT!^3pd#{ zva_?jWwJ6e7lrFbI%Z~|732tVty^1LTc!!Pr)6b)&kM@3vRDGROsQP9HaGF`@B{?~ zOFH)f|H>m>-N$pptWmtX7CVEzmXMIIU?U@=qy{T@M1xmXO^qmrifY!Xp1HY#h{!wh zC67CIu6_LoZJM5*{y-x$UjUHs=$V-XczN@Bu~_*D)}{yIK2Hjts#v+WxOjUfB|Oej zEX<*afK2_Eo@UH^d9SLnlCrX?smU>Y{sxpPJat73zomy%0opb4Lr#BTElZhQSZ_)l z4hzPGDU){OksFB|Ei8n|-N%Q`#U25zUO~%1DwU#TWB-dEKYr8}dhAoElT&m@&`Q=`df|3>O0B$)vU_u}D-IpfPkMD?yJuA-jj+5elp0}0d0?zz zs-LCf=I4iqS5mJhcTeq1BxB#%*x-5dhp+GA(cz&u_#iz7lHT9npP89yGi0gK(A->5 z6NUb!_aLQ+uc!~#zp+rJ&iSTymsV*zIRYit=m>)(@K_-u50K1hYqb;?7?mPwUP*x{fB`96-hm8!OzV#O-iw~#m`6pY zRzqp+3W-7kWjF>CB$s;*0rz~N+_0`N7!{koS>NG+UZQt0qUFkA-?G5qVI z{rmPmF+*U*|5&qdsSR&&Y&*Lk+lQafp9-@o!CRhO?ocfH5JD}&PbtY#X65{agW`e^ zFK+B6<+OQHp9F61@mX-(w>gMRi;=@}lvrs(XeoYPI&g|VufGC7_&+h==CANS#eQA- h*Sh~B=Ffr!O$U8YB5`hC0*J_^SE~ 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 literal 0 HcmV?d00001 From f270ce377e012153f978d07ac18f47bc0f393058 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sat, 21 Sep 2013 14:16:34 -0700 Subject: [PATCH 048/170] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e6aee21..6359f53 100644 --- a/README.md +++ b/README.md @@ -114,5 +114,5 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png [img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png -[img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-3.png -[img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png +[img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png +[img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-5.png From afba4c12f2ec8a52959ae6c48239af82108e5b65 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 22 Sep 2013 19:27:50 -0700 Subject: [PATCH 049/170] Update BButton.podspec --- BButton.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BButton.podspec b/BButton.podspec index 96b3faf..293c7e1 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -6,7 +6,7 @@ Pod::Spec.new do |s| s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png" s.license = 'MIT' s.author = { "Jesse Squires" => "jesse.squires.developer@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => '3.1.0' } + s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => s.version.to_s } s.platform = :ios, '6.1' s.source_files = 'BButton' s.public_header_files = 'BButton' From d81605d656a2ef85345a275628c26bdeb35ba83c Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 10:50:38 -0700 Subject: [PATCH 050/170] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 6359f53..bb08640 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,12 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa ### From [CocoaPods](http://www.cocoapods.org) +#### **This fork** + + pod 'BButton', :git => 'git://github.com/jessesquires/BButton.git' + +#### Original repo + pod `BButton` ### From source From eec5fd8ccf36af6a1310b09a1b48e5286840cd96 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:24:21 -0700 Subject: [PATCH 051/170] clean up demo proj --- BButtonDemo/AppDelegate.m | 6 ------ BButtonDemo/ViewController.m | 12 ------------ 2 files changed, 18 deletions(-) diff --git a/BButtonDemo/AppDelegate.m b/BButtonDemo/AppDelegate.m index d96d01e..8204a0b 100644 --- a/BButtonDemo/AppDelegate.m +++ b/BButtonDemo/AppDelegate.m @@ -17,10 +17,4 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( return YES; } -- (void)applicationWillResignActive:(UIApplication *)application { } -- (void)applicationDidEnterBackground:(UIApplication *)application { } -- (void)applicationWillEnterForeground:(UIApplication *)application { } -- (void)applicationDidBecomeActive:(UIApplication *)application { } -- (void)applicationWillTerminate:(UIApplication *)application { } - @end \ No newline at end of file diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index dcc9809..8ed2edc 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -10,18 +10,8 @@ #import "ViewController.h" -@interface ViewController () - -- (NSString *)titleForType:(BButtonType)type; - -@end - - - @implementation ViewController -#pragma mark - View lifecycle - - (void)viewDidLoad { [super viewDidLoad]; @@ -65,8 +55,6 @@ - (void)viewDidLoad } } -#pragma mark - Utilities - - (void)buttonPressed:(UIButton *)sender { NSLog(@"Good jorb, you pressed a button: %@", sender.titleLabel.text); From b53dcc140107826d933e48f013ced2209f3cf99a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:30:10 -0700 Subject: [PATCH 052/170] add prefix to all category methods to prevent potential name collisions in future --- BButton/BButton.m | 72 +++++++++++++++++----------------- BButton/NSString+BButton.h | 4 +- BButton/NSString+BButton.m | 6 +-- BButton/NSString+FontAwesome.h | 6 +-- BButton/NSString+FontAwesome.m | 6 +-- BButton/UIColor+BButton.h | 44 ++++++++++----------- BButton/UIColor+BButton.m | 44 ++++++++++----------- 7 files changed, 91 insertions(+), 91 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 04b0120..349b666 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -213,7 +213,7 @@ - (void)setColor:(UIColor *)newColor { _color = newColor; - if([newColor isLightColor]) { + if([newColor bb_isLightColor]) { [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [self setTitleShadowColor:[[UIColor whiteColor] colorWithAlphaComponent:0.6f] forState:UIControlStateNormal]; @@ -236,13 +236,13 @@ - (void)setShouldShowDisabled:(BOOL)show _shouldShowDisabled = show; if(show) { - if([self.color isLightColor]) + if([self.color bb_isLightColor]) [self setTitleColor:[UIColor colorWithWhite:0.4f alpha:0.5f] forState:UIControlStateDisabled]; else [self setTitleColor:[UIColor colorWithWhite:1.0f alpha:0.5f] forState:UIControlStateDisabled]; } else { - if([self.color isLightColor]) + if([self.color bb_isLightColor]) [self setTitleColor:[UIColor blackColor] forState:UIControlStateDisabled]; else [self setTitleColor:[UIColor whiteColor] forState:UIControlStateDisabled]; @@ -273,7 +273,7 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before NSString *title = [NSString stringWithFormat:@"%@", iconString]; - if(self.titleLabel.text && ![self.titleLabel.text isEmpty]) { + if(self.titleLabel.text && ![self.titleLabel.text bb_isEmpty]) { if(before) title = [title stringByAppendingFormat:@" %@", self.titleLabel.text]; else @@ -286,10 +286,10 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before - (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon { if(!_fontAwesomeStrings) { - _fontAwesomeStrings = [NSString allFontAwesomeStrings]; + _fontAwesomeStrings = [NSString fa_allFontAwesomeStrings]; } - return [NSString stringFromFontAwesomeStrings:_fontAwesomeStrings - forIcon:icon]; + return [NSString fa_stringFromFontAwesomeStrings:_fontAwesomeStrings + forIcon:icon]; } + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style @@ -307,38 +307,38 @@ + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type { switch (type) { case BButtonTypePrimary: - return [UIColor primaryColorV2]; + return [UIColor bb_primaryColorV2]; case BButtonTypeInfo: - return [UIColor infoColorV2]; + return [UIColor bb_infoColorV2]; case BButtonTypeSuccess: - return [UIColor successColorV2]; + return [UIColor bb_successColorV2]; case BButtonTypeWarning: - return [UIColor warningColorV2]; + return [UIColor bb_warningColorV2]; case BButtonTypeDanger: - return [UIColor dangerColorV2]; + return [UIColor bb_dangerColorV2]; case BButtonTypeInverse: - return [UIColor inverseColorV2]; + return [UIColor bb_inverseColorV2]; case BButtonTypeTwitter: - return [UIColor twitterColor]; + return [UIColor bb_twitterColor]; case BButtonTypeFacebook: - return [UIColor facebookColor]; + return [UIColor bb_facebookColor]; case BButtonTypePurple: - return [UIColor purpleBButtonColor]; + return [UIColor bb_purpleBButtonColor]; case BButtonTypeGray: - return [UIColor grayBButtonColor]; + return [UIColor bb_grayBButtonColor]; case BButtonTypeDefault: default: - return [UIColor defaultColorV2]; + return [UIColor bb_defaultColorV2]; } } @@ -346,38 +346,38 @@ + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type { switch (type) { case BButtonTypePrimary: - return [UIColor primaryColorV3]; + return [UIColor bb_primaryColorV3]; case BButtonTypeInfo: - return [UIColor infoColorV3]; + return [UIColor bb_infoColorV3]; case BButtonTypeSuccess: - return [UIColor successColorV3]; + return [UIColor bb_successColorV3]; case BButtonTypeWarning: - return [UIColor warningColorV3]; + return [UIColor bb_warningColorV3]; case BButtonTypeDanger: - return [UIColor dangerColorV3]; + return [UIColor bb_dangerColorV3]; case BButtonTypeInverse: - return [UIColor inverseColorV3]; + return [UIColor bb_inverseColorV3]; case BButtonTypeTwitter: - return [UIColor twitterColor]; + return [UIColor bb_twitterColor]; case BButtonTypeFacebook: - return [UIColor facebookColor]; + return [UIColor bb_facebookColor]; case BButtonTypePurple: - return [UIColor purpleBButtonColor]; + return [UIColor bb_purpleBButtonColor]; case BButtonTypeGray: - return [UIColor grayBButtonColor]; + return [UIColor bb_grayBButtonColor]; case BButtonTypeDefault: default: - return [UIColor defaultColorV3]; + return [UIColor bb_defaultColorV3]; } } @@ -416,9 +416,9 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); - UIColor *border = [self.color darkenColorWithValue:0.06f]; + UIColor *border = [self.color bb_darkenColorWithValue:0.06f]; - UIColor *shadow = [self.color lightenColorWithValue:0.50f]; + UIColor *shadow = [self.color bb_lightenColorWithValue:0.50f]; CGSize shadowOffset = CGSizeMake(0.0f, 1.0f); CGFloat shadowBlurRadius = 2.0f; @@ -430,7 +430,7 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect [roundedRectanglePath addClip]; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - UIColor *topColor = (self.shouldShowDisabled && !self.enabled) ? [self.color darkenColorWithValue:0.12f] : [self.color lightenColorWithValue:0.12f]; + UIColor *topColor = (self.shouldShowDisabled && !self.enabled) ? [self.color bb_darkenColorWithValue:0.12f] : [self.color bb_lightenColorWithValue:0.12f]; NSArray *newGradientColors = [NSArray arrayWithObjects:(id)topColor.CGColor, (id)self.color.CGColor, nil]; CGFloat newGradientLocations[] = {0.0f, 1.0f}; @@ -487,15 +487,15 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect CGContextSaveGState(context); - UIColor *fill = (!self.highlighted) ? self.color : [self.color darkenColorWithValue:0.06f]; + UIColor *fill = (!self.highlighted) ? self.color : [self.color bb_darkenColorWithValue:0.06f]; if(!self.enabled) - [fill desaturatedColorToPercentSaturation:0.60f]; + [fill bb_desaturatedColorToPercentSaturation:0.60f]; CGContextSetFillColorWithColor(context, fill.CGColor); - UIColor *border = (!self.highlighted) ? [self.color darkenColorWithValue:0.06f] : [self.color darkenColorWithValue:0.12f]; + UIColor *border = (!self.highlighted) ? [self.color bb_darkenColorWithValue:0.06f] : [self.color bb_darkenColorWithValue:0.12f]; if(!self.enabled) - [border desaturatedColorToPercentSaturation:0.60f]; + [border bb_desaturatedColorToPercentSaturation:0.60f]; CGContextSetStrokeColorWithColor(context, border.CGColor); diff --git a/BButton/NSString+BButton.h b/BButton/NSString+BButton.h index 9347833..705c561 100644 --- a/BButton/NSString+BButton.h +++ b/BButton/NSString+BButton.h @@ -23,7 +23,7 @@ @interface NSString (BButton) -- (NSString *)trimWhitespace; -- (BOOL)isEmpty; +- (NSString *)bb_trimWhitespace; +- (BOOL)bb_isEmpty; @end diff --git a/BButton/NSString+BButton.m b/BButton/NSString+BButton.m index d4a734d..9822caa 100644 --- a/BButton/NSString+BButton.m +++ b/BButton/NSString+BButton.m @@ -23,14 +23,14 @@ @implementation NSString (BButton) -- (NSString *)trimWhitespace +- (NSString *)bb_trimWhitespace { return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; } -- (BOOL)isEmpty +- (BOOL)bb_isEmpty { - return [[self trimWhitespace] isEqualToString:@""]; + return [[self bb_trimWhitespace] isEqualToString:@""]; } @end diff --git a/BButton/NSString+FontAwesome.h b/BButton/NSString+FontAwesome.h index 98edc4b..a9276b6 100644 --- a/BButton/NSString+FontAwesome.h +++ b/BButton/NSString+FontAwesome.h @@ -342,9 +342,9 @@ typedef NS_ENUM(NSUInteger, FAIcon) { @interface NSString (FontAwesome) -+ (NSArray *)allFontAwesomeStrings; ++ (NSArray *)fa_allFontAwesomeStrings; -+ (NSString *)stringFromFontAwesomeStrings:(NSArray *)strings - forIcon:(FAIcon)icon; ++ (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings + forIcon:(FAIcon)icon; @end \ No newline at end of file diff --git a/BButton/NSString+FontAwesome.m b/BButton/NSString+FontAwesome.m index a077ff5..97a4ac0 100644 --- a/BButton/NSString+FontAwesome.m +++ b/BButton/NSString+FontAwesome.m @@ -38,13 +38,13 @@ @implementation NSString (FontAwesome) -+ (NSArray *)allFontAwesomeStrings ++ (NSArray *)fa_allFontAwesomeStrings { return [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; } -+ (NSString *)stringFromFontAwesomeStrings:(NSArray *)strings - forIcon:(FAIcon)icon ++ (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings + forIcon:(FAIcon)icon { return [strings objectAtIndex:icon]; } diff --git a/BButton/UIColor+BButton.h b/BButton/UIColor+BButton.h index fa841bf..0c08d01 100644 --- a/BButton/UIColor+BButton.h +++ b/BButton/UIColor+BButton.h @@ -25,37 +25,37 @@ #pragma mark - Custom colors -+ (UIColor *)defaultColorV2; -+ (UIColor *)defaultColorV3; ++ (UIColor *)bb_defaultColorV2; ++ (UIColor *)bb_defaultColorV3; -+ (UIColor *)primaryColorV2; -+ (UIColor *)primaryColorV3; ++ (UIColor *)bb_primaryColorV2; ++ (UIColor *)bb_primaryColorV3; -+ (UIColor *)infoColorV2; -+ (UIColor *)infoColorV3; ++ (UIColor *)bb_infoColorV2; ++ (UIColor *)bb_infoColorV3; -+ (UIColor *)successColorV2; -+ (UIColor *)successColorV3; ++ (UIColor *)bb_successColorV2; ++ (UIColor *)bb_successColorV3; -+ (UIColor *)warningColorV2; -+ (UIColor *)warningColorV3; ++ (UIColor *)bb_warningColorV2; ++ (UIColor *)bb_warningColorV3; -+ (UIColor *)dangerColorV2; -+ (UIColor *)dangerColorV3; ++ (UIColor *)bb_dangerColorV2; ++ (UIColor *)bb_dangerColorV3; -+ (UIColor *)inverseColorV2; -+ (UIColor *)inverseColorV3; ++ (UIColor *)bb_inverseColorV2; ++ (UIColor *)bb_inverseColorV3; -+ (UIColor *)twitterColor; -+ (UIColor *)facebookColor; -+ (UIColor *)purpleBButtonColor; -+ (UIColor *)grayBButtonColor; ++ (UIColor *)bb_twitterColor; ++ (UIColor *)bb_facebookColor; ++ (UIColor *)bb_purpleBButtonColor; ++ (UIColor *)bb_grayBButtonColor; #pragma mark - Utilities -- (UIColor *)desaturatedColorToPercentSaturation:(CGFloat)percent; -- (UIColor *)lightenColorWithValue:(CGFloat)value; -- (UIColor *)darkenColorWithValue:(CGFloat)value; -- (BOOL)isLightColor; +- (UIColor *)bb_desaturatedColorToPercentSaturation:(CGFloat)percent; +- (UIColor *)bb_lightenColorWithValue:(CGFloat)value; +- (UIColor *)bb_darkenColorWithValue:(CGFloat)value; +- (BOOL)bb_isLightColor; @end \ No newline at end of file diff --git a/BButton/UIColor+BButton.m b/BButton/UIColor+BButton.m index 2d30d04..6feb128 100644 --- a/BButton/UIColor+BButton.m +++ b/BButton/UIColor+BButton.m @@ -25,106 +25,106 @@ @implementation UIColor (BButton) #pragma mark - Custom colors -+ (UIColor *)defaultColorV2 ++ (UIColor *)bb_defaultColorV2 { return [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; } -+ (UIColor *)defaultColorV3 ++ (UIColor *)bb_defaultColorV3 { return [UIColor colorWithHue:0.0f saturation:0.0f brightness:1.0f alpha:1.0f]; } -+ (UIColor *)primaryColorV2 ++ (UIColor *)bb_primaryColorV2 { return [UIColor colorWithRed:0.00f green:0.33f blue:0.80f alpha:1.00f]; } -+ (UIColor *)primaryColorV3 ++ (UIColor *)bb_primaryColorV3 { return [UIColor colorWithHue:208.0f/360.0f saturation:0.72f brightness:0.69f alpha:1.0f]; } -+ (UIColor *)infoColorV2 ++ (UIColor *)bb_infoColorV2 { return [UIColor colorWithRed:0.18f green:0.59f blue:0.71f alpha:1.00f]; } -+ (UIColor *)infoColorV3 ++ (UIColor *)bb_infoColorV3 { return [UIColor colorWithHue:194.0f/360.0f saturation:0.59f brightness:0.87f alpha:1.0f]; } -+ (UIColor *)successColorV2 ++ (UIColor *)bb_successColorV2 { return [UIColor colorWithRed:0.32f green:0.64f blue:0.32f alpha:1.00f]; } -+ (UIColor *)successColorV3 ++ (UIColor *)bb_successColorV3 { return [UIColor colorWithHue:120.0f/360.0f saturation:0.50f brightness:0.72f alpha:1.0f]; } -+ (UIColor *)warningColorV2 ++ (UIColor *)bb_warningColorV2 { return [UIColor colorWithRed:0.97f green:0.58f blue:0.02f alpha:1.00f]; } -+ (UIColor *)warningColorV3 ++ (UIColor *)bb_warningColorV3 { return [UIColor colorWithHue:35.0f/360.0f saturation:0.68f brightness:0.94f alpha:1.0f]; } -+ (UIColor *)dangerColorV2 ++ (UIColor *)bb_dangerColorV2 { return [UIColor colorWithRed:0.74f green:0.21f blue:0.18f alpha:1.00f]; } -+ (UIColor *)dangerColorV3 ++ (UIColor *)bb_dangerColorV3 { return [UIColor colorWithHue:2.0f/360.0f saturation:0.64f brightness:0.85f alpha:1.0f]; } -+ (UIColor *)inverseColorV2 ++ (UIColor *)bb_inverseColorV2 { return [UIColor colorWithRed:0.13f green:0.13f blue:0.13f alpha:1.00f]; } -+ (UIColor *)inverseColorV3 ++ (UIColor *)bb_inverseColorV3 { return [UIColor colorWithHue:0.0f saturation:0.0f brightness:0.75f alpha:1.0f]; } -+ (UIColor *)twitterColor ++ (UIColor *)bb_twitterColor { return [UIColor colorWithRed:0.25f green:0.60f blue:1.00f alpha:1.00f]; } -+ (UIColor *)facebookColor ++ (UIColor *)bb_facebookColor { return [UIColor colorWithRed:0.23f green:0.35f blue:0.60f alpha:1.00f]; } -+ (UIColor *)purpleBButtonColor ++ (UIColor *)bb_purpleBButtonColor { return [UIColor colorWithRed:0.45f green:0.30f blue:0.75f alpha:1.00f]; } -+ (UIColor *)grayBButtonColor ++ (UIColor *)bb_grayBButtonColor { return [UIColor colorWithRed:0.60f green:0.60f blue:0.60f alpha:1.00f]; } #pragma mark - Utilities -- (UIColor *)desaturatedColorToPercentSaturation:(CGFloat)percent +- (UIColor *)bb_desaturatedColorToPercentSaturation:(CGFloat)percent { CGFloat h, s, b, a; [self getHue:&h saturation:&s brightness:&b alpha:&a]; return [UIColor colorWithHue:h saturation:s * percent brightness:b alpha:a]; } -- (UIColor *)lightenColorWithValue:(CGFloat)value +- (UIColor *)bb_lightenColorWithValue:(CGFloat)value { int totalComponents = CGColorGetNumberOfComponents(self.CGColor); BOOL isGreyscale = (totalComponents == 2) ? YES : NO; @@ -155,7 +155,7 @@ - (UIColor *)lightenColorWithValue:(CGFloat)value return retColor; } -- (UIColor *)darkenColorWithValue:(CGFloat)value +- (UIColor *)bb_darkenColorWithValue:(CGFloat)value { int totalComponents = CGColorGetNumberOfComponents(self.CGColor); BOOL isGreyscale = (totalComponents == 2) ? YES : NO; @@ -186,7 +186,7 @@ - (UIColor *)darkenColorWithValue:(CGFloat)value return retColor; } -- (BOOL)isLightColor +- (BOOL)bb_isLightColor { int totalComponents = CGColorGetNumberOfComponents(self.CGColor); BOOL isGreyscale = (totalComponents == 2) ? YES : NO; From c6bb1c152518096e28c5b50ed550b7a0485115ed Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:34:13 -0700 Subject: [PATCH 053/170] avoid using properties in init methods --- BButton/BButton.m | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 349b666..89f341e 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -58,7 +58,7 @@ @implementation BButton - (void)setup { - self.backgroundColor = [UIColor clearColor]; + [self setBackgroundColor:[UIColor clearColor]]; _shouldShowDisabled = NO; _style = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; @@ -72,12 +72,13 @@ - (void)setTextAttributesForStyle:(BButtonStyle)aStyle { switch (aStyle) { case BButtonStyleBootstrapV2: - self.titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f); - self.titleLabel.font = [UIFont boldSystemFontOfSize:17.0f]; + [[self titleLabel] setShadowOffset:CGSizeMake(0.0f, -1.0f)]; + [[self titleLabel] setFont:[UIFont boldSystemFontOfSize:17.0f]]; break; case BButtonStyleBootstrapV3: - self.titleLabel.font = [UIFont systemFontOfSize:17.0f]; + [[self titleLabel] setShadowOffset:CGSizeMake(0.0f, 0.0f)]; + [[self titleLabel] setFont:[UIFont systemFontOfSize:17.0f]]; break; } } @@ -121,9 +122,10 @@ - (id)initWithFrame:(CGRect)frame { self = [self initWithFrame:frame color:aColor style:aStyle]; if(self) { - self.titleLabel.font = [UIFont fontWithName:kFontAwesomeFont size:fontSize]; - self.titleLabel.textAlignment = NSTextAlignmentCenter; - [self setTitle:[self stringFromFontAwesomeIcon:icon] forState:UIControlStateNormal]; + [[self titleLabel] setFont:[UIFont fontWithName:kFontAwesomeFont size:fontSize]]; + [[self titleLabel] setTextAlignment:NSTextAlignmentCenter]; + [self setTitle:[self stringFromFontAwesomeIcon:icon] + forState:UIControlStateNormal]; } return self; } From 658c0bebd72e49f79b0a2416b7a0f22eb41800cf Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:39:46 -0700 Subject: [PATCH 054/170] improved memory management --- BButton/BButton.m | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 89f341e..a8d0db0 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -26,12 +26,11 @@ static CGFloat const kBButtonCornerRadiusV2 = 6.0f; static CGFloat const kBButtonCornerRadiusV3 = 4.0f; - +static NSArray * kFontAwesomeStrings; @interface BButton () @property (assign, nonatomic) BButtonStyle style; -@property (strong, nonatomic, readonly) NSArray *fontAwesomeStrings; - (void)setup; - (void)setTextAttributesForStyle:(BButtonStyle)aStyle; @@ -158,6 +157,13 @@ - (id)init return self; } +- (void)dealloc +{ + _color = nil; + _buttonCornerRadius = nil; + kFontAwesomeStrings = nil; +} + #pragma mark - Class initialization + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon @@ -256,7 +262,7 @@ - (void)setShouldShowDisabled:(BOOL)show - (void)didRecieveMemoryWarningNotification:(NSNotification *)notification { NSLog(@"%@ recieved %@", [BButton class], notification.name); - _fontAwesomeStrings = nil; + kFontAwesomeStrings = nil; } #pragma mark - BButton @@ -287,10 +293,10 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before - (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon { - if(!_fontAwesomeStrings) { - _fontAwesomeStrings = [NSString fa_allFontAwesomeStrings]; + if(!kFontAwesomeStrings) { + kFontAwesomeStrings = [NSString fa_allFontAwesomeStrings]; } - return [NSString fa_stringFromFontAwesomeStrings:_fontAwesomeStrings + return [NSString fa_stringFromFontAwesomeStrings:kFontAwesomeStrings forIcon:icon]; } From 5d5e16973cd46c5af1b726909151da1ff822ba04 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:47:28 -0700 Subject: [PATCH 055/170] organizing --- BButton/BButton.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index a8d0db0..1dd52cf 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -53,7 +53,7 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect; @implementation BButton -#pragma mark - Initialization +#pragma mark - Setup - (void)setup { @@ -82,6 +82,8 @@ - (void)setTextAttributesForStyle:(BButtonStyle)aStyle } } +#pragma mark - Initialization + - (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle { return [self initWithFrame:frame From 9834664da5713abc3fa729989e5fa4f1b2bf97e9 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:49:32 -0700 Subject: [PATCH 056/170] make style property visible --- BButton/BButton.h | 1 + BButton/BButton.m | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index ea941e1..d8dd7de 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -46,6 +46,7 @@ typedef NS_ENUM(NSUInteger, BButtonType) { @interface BButton : UIButton +@property (assign, nonatomic) BButtonStyle style; @property (strong, nonatomic) UIColor *color; @property (strong, nonatomic) NSNumber *buttonCornerRadius UI_APPEARANCE_SELECTOR; @property (assign, nonatomic) BOOL shouldShowDisabled; diff --git a/BButton/BButton.m b/BButton/BButton.m index 1dd52cf..6275e38 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -30,8 +30,6 @@ @interface BButton () -@property (assign, nonatomic) BButtonStyle style; - - (void)setup; - (void)setTextAttributesForStyle:(BButtonStyle)aStyle; From 158d8813e498c2e5b8258de798c173134e52979c Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 22:59:30 -0700 Subject: [PATCH 057/170] update UI appearance for corner radius --- BButton/BButton.h | 4 ++-- BButton/BButton.m | 20 ++------------------ 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index d8dd7de..7ee925a 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -44,11 +44,11 @@ typedef NS_ENUM(NSUInteger, BButtonType) { }; -@interface BButton : UIButton +@interface BButton : UIButton @property (assign, nonatomic) BButtonStyle style; @property (strong, nonatomic) UIColor *color; -@property (strong, nonatomic) NSNumber *buttonCornerRadius UI_APPEARANCE_SELECTOR; +@property (assign, nonatomic) CGFloat buttonCornerRadius UI_APPEARANCE_SELECTOR; @property (assign, nonatomic) BOOL shouldShowDisabled; #pragma mark - Initialization diff --git a/BButton/BButton.m b/BButton/BButton.m index 6275e38..7648354 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -160,7 +160,6 @@ - (id)init - (void)dealloc { _color = nil; - _buttonCornerRadius = nil; kFontAwesomeStrings = nil; } @@ -200,21 +199,6 @@ - (void)setEnabled:(BOOL)enabled [self setNeedsDisplay]; } -#pragma mark - UIAppearance getters - -- (NSNumber *)buttonCornerRadius -{ - if(!_buttonCornerRadius) { - _buttonCornerRadius = [[[self class] appearance] buttonCornerRadius]; - } - - if(_buttonCornerRadius) { - return _buttonCornerRadius; - } - - return [BButton cornerRadiusForStyle:_style]; -} - #pragma mark - Setters - (void)setColor:(UIColor *)newColor @@ -431,7 +415,7 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect CGFloat shadowBlurRadius = 2.0f; UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) - cornerRadius:[self.buttonCornerRadius floatValue]]; + cornerRadius:self.buttonCornerRadius]; CGContextSaveGState(context); @@ -510,7 +494,7 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect CGContextSetLineWidth(context, 1.0f); UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) - cornerRadius:[self.buttonCornerRadius floatValue]]; + cornerRadius:self.buttonCornerRadius]; CGContextAddPath(context, path.CGPath); CGContextDrawPath(context, kCGPathFillStroke); From 6c14bfabc65838462a9a489db091b950ece8553c Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 23:04:49 -0700 Subject: [PATCH 058/170] revert to previous ui appearance code. set showDisabled on by default. --- BButton/BButton.h | 2 +- BButton/BButton.m | 22 +++++++++++++++++++--- BButtonDemo/ViewController.m | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index 7ee925a..a9f3fc0 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -48,7 +48,7 @@ typedef NS_ENUM(NSUInteger, BButtonType) { @property (assign, nonatomic) BButtonStyle style; @property (strong, nonatomic) UIColor *color; -@property (assign, nonatomic) CGFloat buttonCornerRadius UI_APPEARANCE_SELECTOR; +@property (strong, nonatomic) NSNumber *buttonCornerRadius UI_APPEARANCE_SELECTOR; @property (assign, nonatomic) BOOL shouldShowDisabled; #pragma mark - Initialization diff --git a/BButton/BButton.m b/BButton/BButton.m index 7648354..ae04327 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -56,7 +56,7 @@ @implementation BButton - (void)setup { [self setBackgroundColor:[UIColor clearColor]]; - _shouldShowDisabled = NO; + _shouldShowDisabled = YES; _style = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; [[NSNotificationCenter defaultCenter] addObserver:self @@ -160,6 +160,7 @@ - (id)init - (void)dealloc { _color = nil; + _buttonCornerRadius = nil; kFontAwesomeStrings = nil; } @@ -199,6 +200,21 @@ - (void)setEnabled:(BOOL)enabled [self setNeedsDisplay]; } +#pragma mark - UIAppearance getters + +- (NSNumber *)buttonCornerRadius +{ + if(!_buttonCornerRadius) { + _buttonCornerRadius = [[[self class] appearance] buttonCornerRadius]; + } + + if(_buttonCornerRadius) { + return _buttonCornerRadius; + } + + return [BButton cornerRadiusForStyle:_style]; +} + #pragma mark - Setters - (void)setColor:(UIColor *)newColor @@ -415,7 +431,7 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect CGFloat shadowBlurRadius = 2.0f; UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) - cornerRadius:self.buttonCornerRadius]; + cornerRadius:[self.buttonCornerRadius floatValue]]; CGContextSaveGState(context); @@ -494,7 +510,7 @@ - (void)drawRectForBButtonStyleV3:(CGRect)rect CGContextSetLineWidth(context, 1.0f); UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) - cornerRadius:self.buttonCornerRadius]; + cornerRadius:[self.buttonCornerRadius floatValue]]; CGContextAddPath(context, path.CGPath); CGContextDrawPath(context, kCGPathFillStroke); diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 8ed2edc..55a9edb 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -18,7 +18,7 @@ - (void)viewDidLoad // uncomment to set corner radius for all buttons // -// [[BButton appearance] setButtonCornerRadius:[NSNumber numberWithFloat:0.0f]]; +// [[BButton appearance] setButtonCornerRadius:@50.0f]; BButtonType type = 0; From 757405b1a7b0ab3f087c48653ff506cbec6a605c Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 23:44:36 -0700 Subject: [PATCH 059/170] clean up --- BButton/BButton.m | 9 --------- 1 file changed, 9 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index ae04327..1d8bf19 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -148,15 +148,6 @@ - (id)initWithCoder:(NSCoder *)aDecoder return self; } -- (id)init -{ - self = [super init]; - if(self) { - [self setup]; - } - return self; -} - - (void)dealloc { _color = nil; From 23426fda9e4ef48ca79f6ca58d55064e569e335e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 3 Oct 2013 23:47:34 -0700 Subject: [PATCH 060/170] refactor --- BButton/BButton.h | 1 - BButton/BButton.m | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/BButton/BButton.h b/BButton/BButton.h index a9f3fc0..fa20702 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -46,7 +46,6 @@ typedef NS_ENUM(NSUInteger, BButtonType) { @interface BButton : UIButton -@property (assign, nonatomic) BButtonStyle style; @property (strong, nonatomic) UIColor *color; @property (strong, nonatomic) NSNumber *buttonCornerRadius UI_APPEARANCE_SELECTOR; @property (assign, nonatomic) BOOL shouldShowDisabled; diff --git a/BButton/BButton.m b/BButton/BButton.m index 1d8bf19..703976a 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -30,6 +30,8 @@ @interface BButton () +@property (assign, nonatomic) BButtonStyle buttonStyle; + - (void)setup; - (void)setTextAttributesForStyle:(BButtonStyle)aStyle; @@ -57,7 +59,7 @@ - (void)setup { [self setBackgroundColor:[UIColor clearColor]]; _shouldShowDisabled = YES; - _style = BButtonStyleBootstrapV3; + _buttonStyle = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRecieveMemoryWarningNotification:) @@ -106,7 +108,7 @@ - (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aS { self = [self initWithFrame:frame]; if(self) { - _style = aStyle; + _buttonStyle = aStyle; [self setColor:aColor]; [self setTextAttributesForStyle:aStyle]; } @@ -134,7 +136,7 @@ - (id)initWithFrame:(CGRect)frame self = [super initWithFrame:frame]; if(self) { [self setup]; - [self setTextAttributesForStyle:_style]; + [self setTextAttributesForStyle:_buttonStyle]; } return self; } @@ -203,7 +205,7 @@ - (NSNumber *)buttonCornerRadius return _buttonCornerRadius; } - return [BButton cornerRadiusForStyle:_style]; + return [BButton cornerRadiusForStyle:_buttonStyle]; } #pragma mark - Setters @@ -261,7 +263,7 @@ - (void)didRecieveMemoryWarningNotification:(NSNotification *)notification - (void)setType:(BButtonType)type { [self setColor:[BButton colorForButtonType:type - style:_style]]; + style:_buttonStyle]]; } - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before @@ -401,7 +403,7 @@ - (void)drawRect:(CGRect)rect { [super drawRect:rect]; - switch (self.style) { + switch (self.buttonStyle) { case BButtonStyleBootstrapV2: [self drawRectForBButtonStyleV2:rect]; break; From 875e40f80c2e6445c5bf4476ed8683b2ca655da4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Oct 2013 10:47:56 -0700 Subject: [PATCH 061/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb08640..5294428 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa #### **This fork** - pod 'BButton', :git => 'git://github.com/jessesquires/BButton.git' + pod 'BButton', :git => 'https://github.com/jessesquires/BButton.git' #### Original repo From f3a489c3c18c6ec33ac8f780e7eb5861eab60d0d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 6 Nov 2013 21:46:48 -0800 Subject: [PATCH 062/170] update project settings for Xcode 5. minor tweaks. --- BButton/BButton.h | 3 + BButton/BButton.m | 6 ++ BButtonDemo.xcodeproj/project.pbxproj | 24 ++--- BButtonDemo/BButtonDemo-Info.plist | 4 + BButtonDemo/Default-568h@2x.png | Bin 18594 -> 0 bytes BButtonDemo/Default.png | Bin 6540 -> 0 bytes BButtonDemo/Default@2x.png | Bin 16107 -> 0 bytes .../AppIcon.appiconset/Contents.json | 88 ++++++++++++++++ .../LaunchImage.launchimage/Contents.json | 94 ++++++++++++++++++ BButtonDemo/ViewController.m | 8 +- .../en.lproj/MainStoryboard.storyboard | 17 ++-- 11 files changed, 220 insertions(+), 24 deletions(-) delete mode 100644 BButtonDemo/Default-568h@2x.png delete mode 100644 BButtonDemo/Default.png delete mode 100644 BButtonDemo/Default@2x.png create mode 100644 BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/BButton/BButton.h b/BButton/BButton.h index fa20702..4cad7b3 100644 --- a/BButton/BButton.h +++ b/BButton/BButton.h @@ -78,7 +78,10 @@ typedef NS_ENUM(NSUInteger, BButtonType) { #pragma mark - BButton +- (void)setStyle:(BButtonStyle)style; + - (void)setType:(BButtonType)type; + - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before; @end \ No newline at end of file diff --git a/BButton/BButton.m b/BButton/BButton.m index 703976a..8ccafe4 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -260,6 +260,12 @@ - (void)didRecieveMemoryWarningNotification:(NSNotification *)notification #pragma mark - BButton +- (void)setStyle:(BButtonStyle)style +{ + _buttonStyle = style; + [self setColor:_color]; +} + - (void)setType:(BButtonType)type { [self setColor:[BButton colorForButtonType:type diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index 4859003..249efa1 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -12,9 +12,6 @@ 880EED3E170B33B000462214 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 880EED3C170B33B000462214 /* InfoPlist.strings */; }; 880EED40170B33B000462214 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED3F170B33B000462214 /* main.m */; }; 880EED44170B33B000462214 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED43170B33B000462214 /* AppDelegate.m */; }; - 880EED46170B33B000462214 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 880EED45170B33B000462214 /* Default.png */; }; - 880EED48170B33B000462214 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 880EED47170B33B000462214 /* Default@2x.png */; }; - 880EED4A170B33B000462214 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 880EED49170B33B000462214 /* Default-568h@2x.png */; }; 880EED4D170B33B000462214 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 880EED4B170B33B000462214 /* MainStoryboard.storyboard */; }; 880EED53170B33B000462214 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED52170B33B000462214 /* ViewController.m */; }; 880EED9E170B357400462214 /* BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED9A170B357400462214 /* BButton.m */; }; @@ -23,6 +20,7 @@ 880EEDA5170B6D2600462214 /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */; }; 88136CAD17EE2050003362C6 /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88136CAC17EE2050003362C6 /* NSString+BButton.m */; }; 8857FBFD1718B92B001C200D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8857FBFC1718B92B001C200D /* CoreGraphics.framework */; }; + 88745460182B44ED004ACF15 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8874545F182B44ED004ACF15 /* Images.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -35,9 +33,6 @@ 880EED41170B33B000462214 /* BButtonDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BButtonDemo-Prefix.pch"; sourceTree = ""; }; 880EED42170B33B000462214 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 880EED43170B33B000462214 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 880EED45170B33B000462214 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - 880EED47170B33B000462214 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; - 880EED49170B33B000462214 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 880EED4C170B33B000462214 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard.storyboard; sourceTree = ""; }; 880EED51170B33B000462214 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 880EED52170B33B000462214 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; @@ -51,6 +46,7 @@ 88136CAB17EE2050003362C6 /* NSString+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+BButton.h"; sourceTree = ""; }; 88136CAC17EE2050003362C6 /* NSString+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+BButton.m"; sourceTree = ""; }; 8857FBFC1718B92B001C200D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 8874545F182B44ED004ACF15 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -103,6 +99,7 @@ 880EED4B170B33B000462214 /* MainStoryboard.storyboard */, 880EED51170B33B000462214 /* ViewController.h */, 880EED52170B33B000462214 /* ViewController.m */, + 8874545F182B44ED004ACF15 /* Images.xcassets */, 880EED3A170B33B000462214 /* Supporting Files */, ); path = BButtonDemo; @@ -115,9 +112,6 @@ 880EED3C170B33B000462214 /* InfoPlist.strings */, 880EED3F170B33B000462214 /* main.m */, 880EED41170B33B000462214 /* BButtonDemo-Prefix.pch */, - 880EED45170B33B000462214 /* Default.png */, - 880EED47170B33B000462214 /* Default@2x.png */, - 880EED49170B33B000462214 /* Default-568h@2x.png */, ); name = "Supporting Files"; sourceTree = ""; @@ -203,9 +197,7 @@ buildActionMask = 2147483647; files = ( 880EED3E170B33B000462214 /* InfoPlist.strings in Resources */, - 880EED46170B33B000462214 /* Default.png in Resources */, - 880EED48170B33B000462214 /* Default@2x.png in Resources */, - 880EED4A170B33B000462214 /* Default-568h@2x.png in Resources */, + 88745460182B44ED004ACF15 /* Images.xcassets in Resources */, 880EED4D170B33B000462214 /* MainStoryboard.storyboard in Resources */, 880EED9F170B357400462214 /* FontAwesome.ttf in Resources */, ); @@ -317,6 +309,8 @@ 880EED57170B33B000462214 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -325,7 +319,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; @@ -336,6 +330,8 @@ 880EED58170B33B000462214 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -344,7 +340,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index cd3f976..0ca2e52 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -8,6 +8,10 @@ ${PRODUCT_NAME} CFBundleExecutable ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundleIcons~ipad + CFBundleIdentifier com.hexedbits.${PRODUCT_NAME:rfc1034identifier} CFBundleInfoDictionaryVersion diff --git a/BButtonDemo/Default-568h@2x.png b/BButtonDemo/Default-568h@2x.png deleted file mode 100644 index 0891b7aabfcf3422423b109c8beed2bab838c607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u diff --git a/BButtonDemo/Default.png b/BButtonDemo/Default.png deleted file mode 100644 index 4c8ca6f693f96d511e9113c0eb59eec552354e42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6540 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0To@QwR5G2N13aCb6#|O#(=u~X z85k@CTSM>X-wqM6>&y>YB4)1;;ojbLbbV-W^iFB1wa3^zCog^LCAReC4K0-?R_2{6 zrP*)4+_uWUy3w5N52M3PW_}MFMP9a~>YLvVZ1D_k*IMQ2QT^fwzoOb(*3gH$%aYWC zkHmcab=va2<#X%jakpJ;<1@F;k__#bwtC&%^D0v(FBh9K&$sK+<}2RJS609D)17$w ztdQP8(eLM8Ka}m_IQ@3wyMKP)l=oM4-?`YS_*P?4V_ORLPxsj&7Ju#kH;>6^Kp?T7~ zl+q?{UOOqV==?+d{=)5s|M~T1mwtH@+Z^$G&eEO9JNP^AX@3jZ*J*!!>lc|1-W%fA z@AOQpXZ_Lt>rxFXrGp*zLPiW@uo_c7C{As>j zWeX)wi+LTp_)@KYZCX{j;H?|1yXT4DnlS(Fr8gyP5|uaX_gLvaW0ScZdnG7o+u{T6 zFI-%d{ls*WuCDa5UJ@|RXv&ejZe}*BMkiWY51&pnRPw(hlykSzvj6e%mYz-GdvzBD zF10?szF_~!jS=?2HyQuPCvARXAe}C}WP|yQ*>5~~=*Nxq8+HHW1~FMDRCP^TcacKuk$ z(U#REVv)D!PhJ*ecH-ELFUrfyV&*)Z)>UCOuS?yd^L@Afk>ihynYPc{^CRwu+JHX+#$@YsC4c|l0tGigsn@jy) zXD($Ouk>H+V(Mr6NQT0S9BFM~V6nkj;1OBOz`zY;a|<&v%$g$sEJPk;hD4M^`1)8S z=jZArrsOB3>Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@Y)NXd>%K|#T$C?(A*$i)q+9mum)$|xx*u+rBrFE7_CH`dE9O4m2E zw6xSWFw!?N(gmu}Ew0QfNvzP#D^`XW0yD=YwK%ybv!En1KTiQ3|)OBHVcpi zp&D%TL4k-AsNfg_g$9~9p}$+4Ynr|VULLgiakg&)DD)EWO!OHC@snXr}UI${nVUP zpr1>Mf#G6^ng~;pt%^&NvQm>vU@-wn)!_JWN=(;B61LIDR86%A1?G9U(@`={MPdPF zbOKdd`R1o&rd7HmmZaJl85kPr8kp-EnTHsfS{ayIfdU*&4N@e5WSomq6HD@oLh|!- z?7;Dr3*ssm=^5w&a}>G?yzvAH17L|`#|6|0E4}QvA~xC{V_*wu2^AHZU}H9f($4F$btFf{}TLQXUhF5fht1@YV$^ z9BUdFV+73^nIsvRXRM40U}6b7z_6}kHbY}i1LK(xT@6Mi?F5GKBfbp|ZU-3BR*6kv zXcRSQ(0-)mprD+wTr)o_4I;(%zOu)+jEgNB)_SXCVoSa}|F?cfwR!69+L=W3IX z!UiU`0@ph%94Rb33Cpq^IY*r_8XBW%V>G9XmK&p`=xCiXTEmXEH%41uqixaAmicH0 zVYIt6!aI*K%s=kP-v##6IXGZ2Cama>{@)81;C?K-P&M2k<0!GL}5+H~XTq*@SQi|Ft z2*0X`$`8S!qO#)xBeJRkf?;t189=ZB6Imw-h=`q;FP(2UpWZvmJ@=k-@45M(dtb7r zyVEiaLk$=Vw#>zu;st}j6Jf9=m1+nXCFe!$1PrEZ%5Ze_ba8YX_9-*rJujiLuQmJo&2v+Cxes}ec zU|qeux&7*yz#W=X_|wGQskL7*OHNjwFs@sEC+64Hb$Z(#H21Gh$Pe2WzOubdr6fzg z{l{!k%OD?N5Z7j33SoK?YdV6Scm>})U+MIQLNRgIvkZQEc^mP9XBPg%y|S$~Br|;N zk?-!-(Qqh_mQ|6WINQ{hHAjBRV#O#!FkAJ+oxy`L#f8V45*VvWMJFBB5m zG6vOLtDvgoDjHlSq-*h5xM56O>Jjau2f2IxKItIb@coX4XTyf$^{LZG&lI|D95wN1 z!fo0)q>WV7-V;q|A?HR!*bgozJw%j98-~gwBKVV0;=hZIF>7oJSr2YjOWO*rSxz#& z;KXnDrJVZp;Yduiy1-H%s$ZFz6Q=x@$V_B@Tqwl?>6e;EHt|MiK<(#hXQMuj@Jseeh&eN{FxsQ$iw>D1aX1HMMlUbh?Z zmhY4eHffn5&LUbL_}o8|$JYz&$WFiLWmEg0ZPX+;W>@CxQz-%{E5+P7dH9&ey_y$R z@Zzje>2B%z!i!7Brqi{t5Y)~5>vpqRs~2aXD8DVE8vKl=`k(`duI1-k@?!pJ^HA6S zS;3WpuhjQHyoC>X>Xf8gze%_8^#+^RTV>V9&YPAWMjd~%xpSg?ON?kK^X*Pb(o8jR zz;DmaOWMMr6=M~K?MFx4_xDkARTxLJ@W@ohAx z5RD0jGgk?QL@H`VubD2k4}?VtB8@g`%hHBA$2pJ(gK5g1HMNysXEF_BNu-p!&+Qa8_APgopHWnRgg=TZZF*sXWTMQPD z!Q(Au5|+F;7M~`tWbsU98~NA{h0Y7%GB|t&n}w9OOABU4^X*V5xuN;rY(M#ouuqm) zyt!e?28fY!FgP?8GvBsMl_aM^UUVKiGFsleFN?t^<46kO#pF-cX0;sIOb(aM z)^jQgX^Z6pKA9mC@N)_aiHj9HxD2|?A@Y9B_h}(*v3%ek8CXc1Qy^jFPF&zrMa1OZ zSVaF{&ZY|(|H0XE&X>-XQz1`=fF2n@VKC_|h3jlKVM&-jmyMavllcYr`6LVtfq2ou zd+8zkkCB+2)rxq0Lkq_&Ad@g(O8;pAm96>tu79?81T@Z<;gm^3ZtPG-SR94Mr<3tm z9NrR3u*4I5aMlo(09g@8m_;%Rf+XiSa_KZao9n}7N0JrsV#;5Ucr+F*TTzQ8{%f3O zeIUy?WDS|-$LvMc@Z7320)tr}bfIka5hx9H;8H|%our=C+Do0CSFRWue14o5#r8v2 zw=|&r4*eMX%lgCV(ka?*j%H^UuP4LmBC(ON`)&7>NF-|PDRU{-7o`CU0HNbd&c~))@yl9IKu_ zXA+A-!khpP_yx=f#qt2_0ptmgBf4gF!{Y)MW6R$cC1d7@$Yb?+_j zYwfE^5_e`vhT zX=u3r>4$fsxP&apbm@Rcbyuc2T=giqZiMo9@9=oua6#YH0hO-1ak9^rJTPMM qY4Yr5Cu^v99p{E9VdroUHKlRW;M8#BJ^AOQE?e9wSHJo8(7yq;BYKSh diff --git a/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..da837d9 --- /dev/null +++ b/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,88 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "1x", + "size" : "57x57" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "72x72" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "72x72" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "iphone", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "50x50" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "50x50" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json b/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000..0e8b0ff --- /dev/null +++ b/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,94 @@ +{ + "images" : [ + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "subtype" : "retina4", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "subtype" : "retina4", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/ViewController.m index 55a9edb..2300ae5 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/ViewController.m @@ -25,7 +25,11 @@ - (void)viewDidLoad for(int i = 0; i < 2; i++) { for(int j = 0; j < 7; j++) { - CGRect frame = CGRectMake(32.0f + (i * 144.0f), 40.0f + (j * 60.0f), 112.0f, 40.0f); + CGRect frame = CGRectMake(32.0f + (i * 144.0f), + 40.0f + (j * 60.0f), + 112.0f, + 44.0f); + BButton *btn = [[BButton alloc] initWithFrame:frame type:type style:BButtonStyleBootstrapV3]; [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; @@ -36,7 +40,7 @@ - (void)viewDidLoad type++; if(type > BButtonTypeGray) { - btn = [BButton awesomeButtonWithOnlyIcon:arc4random() % 209 + btn = [BButton awesomeButtonWithOnlyIcon:arc4random_uniform(300) type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault style:BButtonStyleBootstrapV3]; diff --git a/BButtonDemo/en.lproj/MainStoryboard.storyboard b/BButtonDemo/en.lproj/MainStoryboard.storyboard index ca57a67..c3399b9 100644 --- a/BButtonDemo/en.lproj/MainStoryboard.storyboard +++ b/BButtonDemo/en.lproj/MainStoryboard.storyboard @@ -1,28 +1,29 @@ - + - + + + + + + - + + - - - - - From 645ed2f4b36b112bd1a49571fad588f97e21c821 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 6 Nov 2013 21:47:43 -0800 Subject: [PATCH 063/170] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb08640..17de39d 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsa ### Features -* iOS 6.1+, ARC, Storyboards +* iOS 6.0+, ARC, Storyboards * Style like Bootstrap 2 or 3 * Set corner radius via UIAppearance * Option to show button 'disabled' state From fffef7fbd3f2a3eca5e909e8c867615638d43153 Mon Sep 17 00:00:00 2001 From: Georges Giroux Date: Mon, 11 Nov 2013 17:13:51 -0500 Subject: [PATCH 064/170] Fixed font edges (some letters like "g" were being clipped) Solution to font taken from http://www.andyyardley.com/2012/04/24/custom-ios-fonts-and-how-to-fix-th e-vertical-position-problem/ --- BButton/resources/FontAwesome.ttf | Bin 64960 -> 64960 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/BButton/resources/FontAwesome.ttf b/BButton/resources/FontAwesome.ttf index 7e5ff642d45dd8dedcb750392b76159a1489cced..f364aa51fcb5b3715c4bed639e7f952c2ffec05c 100755 GIT binary patch delta 71 zcmX@`oB6H13zHKVRb=j#KR6uEZ}XLb an;j_6z;JfcL;(+eT%GcYjLFfcHfWn`o#o?xBWbcgBRpUDY~Dl%2M*AwFTZN4&a YvjgQB7|w2*C;+B+eYW1bfKlNO0KjV*%m4rY From fb5bb333cde2ae85c28f54f0101a1cb046cbedc1 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 00:11:11 -0800 Subject: [PATCH 065/170] get context from drawRect and pass ref to drawing methods. closes #13. --- BButton/BButton.m | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/BButton/BButton.m b/BButton/BButton.m index 8ccafe4..ccbb20d 100644 --- a/BButton/BButton.m +++ b/BButton/BButton.m @@ -44,8 +44,8 @@ + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; + (NSNumber *)cornerRadiusForStyle:(BButtonStyle)aStyle; -- (void)drawRectForBButtonStyleV2:(CGRect)rect; -- (void)drawRectForBButtonStyleV3:(CGRect)rect; +- (void)drawBButtonStyleV2InRect:(CGRect)rect withContext:(CGContextRef *)context; +- (void)drawBButtonStyleV3InRect:(CGRect)rect withContext:(CGContextRef *)context; @end @@ -409,20 +409,20 @@ - (void)drawRect:(CGRect)rect { [super drawRect:rect]; + CGContextRef context = UIGraphicsGetCurrentContext(); + switch (self.buttonStyle) { case BButtonStyleBootstrapV2: - [self drawRectForBButtonStyleV2:rect]; + [self drawBButtonStyleV2InRect:rect withContext:&context]; break; case BButtonStyleBootstrapV3: - [self drawRectForBButtonStyleV3:rect]; + [self drawBButtonStyleV3InRect:rect withContext:&context]; break; } } -- (void)drawRectForBButtonStyleV2:(CGRect)rect +- (void)drawBButtonStyleV2InRect:(CGRect)rect withContext:(CGContextRef *)context { - CGContextRef context = UIGraphicsGetCurrentContext(); - UIColor *border = [self.color bb_darkenColorWithValue:0.06f]; UIColor *shadow = [self.color bb_lightenColorWithValue:0.50f]; @@ -432,7 +432,7 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) cornerRadius:[self.buttonCornerRadius floatValue]]; - CGContextSaveGState(context); + CGContextSaveGState(*context); [roundedRectanglePath addClip]; @@ -446,14 +446,14 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect CGColorSpaceRelease(colorSpace); - CGContextDrawLinearGradient(context, + CGContextDrawLinearGradient(*context, gradient, CGPointMake(0.0f, self.highlighted ? rect.size.height - 0.5f : 0.5f), CGPointMake(0.0f, self.highlighted ? 0.5f : rect.size.height - 0.5f), 0.0f); CGGradientRelease(gradient); - CGContextRestoreGState(context); + CGContextRestoreGState(*context); if(!self.highlighted) { // Rounded Rectangle Inner Shadow @@ -465,11 +465,11 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect [roundedRectangleNegativePath appendPath: roundedRectanglePath]; roundedRectangleNegativePath.usesEvenOddFillRule = YES; - CGContextSaveGState(context); + CGContextSaveGState(*context); { CGFloat xOffset = shadowOffset.width + round(roundedRectangleBorderRect.size.width); CGFloat yOffset = shadowOffset.height; - CGContextSetShadowWithColor(context, + CGContextSetShadowWithColor(*context, CGSizeMake(xOffset + copysign(0.1f, xOffset), yOffset + copysign(0.1f, yOffset)), shadowBlurRadius, shadow.CGColor); @@ -480,7 +480,7 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect [[UIColor grayColor] setFill]; [roundedRectangleNegativePath fill]; } - CGContextRestoreGState(context); + CGContextRestoreGState(*context); } [border setStroke]; @@ -488,33 +488,31 @@ - (void)drawRectForBButtonStyleV2:(CGRect)rect [roundedRectanglePath stroke]; } -- (void)drawRectForBButtonStyleV3:(CGRect)rect +- (void)drawBButtonStyleV3InRect:(CGRect)rect withContext:(CGContextRef *)context { - CGContextRef context = UIGraphicsGetCurrentContext(); - - CGContextSaveGState(context); + CGContextSaveGState(*context); UIColor *fill = (!self.highlighted) ? self.color : [self.color bb_darkenColorWithValue:0.06f]; if(!self.enabled) [fill bb_desaturatedColorToPercentSaturation:0.60f]; - CGContextSetFillColorWithColor(context, fill.CGColor); + CGContextSetFillColorWithColor(*context, fill.CGColor); UIColor *border = (!self.highlighted) ? [self.color bb_darkenColorWithValue:0.06f] : [self.color bb_darkenColorWithValue:0.12f]; if(!self.enabled) [border bb_desaturatedColorToPercentSaturation:0.60f]; - CGContextSetStrokeColorWithColor(context, border.CGColor); + CGContextSetStrokeColorWithColor(*context, border.CGColor); - CGContextSetLineWidth(context, 1.0f); + CGContextSetLineWidth(*context, 1.0f); UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0.5f, 0.5f, rect.size.width-1.0f, rect.size.height-1.0f) cornerRadius:[self.buttonCornerRadius floatValue]]; - CGContextAddPath(context, path.CGPath); - CGContextDrawPath(context, kCGPathFillStroke); + CGContextAddPath(*context, path.CGPath); + CGContextDrawPath(*context, kCGPathFillStroke); - CGContextRestoreGState(context); + CGContextRestoreGState(*context); } @end \ No newline at end of file From f2c180142328e5bfad3e8ba4b0985752d6230472 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 00:12:33 -0800 Subject: [PATCH 066/170] travis CI --- .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..58423c4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: objective-c + +branches: + only: + - master \ No newline at end of file From 9c29961dff157caee7a727e633d7f3e1e906cde3 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 00:20:01 -0800 Subject: [PATCH 067/170] version nums to 3.1.1 --- BButton.podspec | 4 ++-- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 293c7e1..85a4a01 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,13 +1,13 @@ Pod::Spec.new do |s| s.name = "BButton" - s.version = "3.1.0" + s.version = "3.1.1" s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap buttons." s.homepage = "https://github.com/jessesquires/BButton" s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png" s.license = 'MIT' s.author = { "Jesse Squires" => "jesse.squires.developer@gmail.com" } s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => s.version.to_s } - s.platform = :ios, '6.1' + s.platform = :ios, '6.0' s.source_files = 'BButton' s.public_header_files = 'BButton' s.resource = "BButton/resources/FontAwesome.ttf" diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 0ca2e52..f17ba92 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -21,11 +21,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.1.0 + 3.1.1 CFBundleSignature ???? CFBundleVersion - 3.1.0 + 3.1.1 LSRequiresIPhoneOS UIAppFonts From 38d3419cb394212a10c69c1a8c4005d72773646d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 20:48:20 -0800 Subject: [PATCH 068/170] new Xcode5 proj. reorganize source. update spec and license. --- .gitignore | 26 +- BButton.podspec | 26 +- BButton/{ => Classes}/BButton.h | 0 BButton/{ => Classes}/BButton.m | 0 BButton/{ => Classes}/NSString+BButton.h | 0 BButton/{ => Classes}/NSString+BButton.m | 0 BButton/{ => Classes}/NSString+FontAwesome.h | 0 BButton/{ => Classes}/NSString+FontAwesome.m | 0 BButton/{ => Classes}/UIColor+BButton.h | 0 BButton/{ => Classes}/UIColor+BButton.m | 0 BButtonDemo.xcodeproj/project.pbxproj | 475 ++++++++++++------ BButtonDemo/BButtonDemo-Info.plist | 12 +- BButtonDemo/BButtonDemo-Prefix.pch | 4 +- .../Main.storyboard} | 18 +- .../AppIcon.appiconset/Contents.json | 77 +-- .../LaunchImage.launchimage/Contents.json | 71 --- .../{AppDelegate.h => TWBSAppDelegate.h} | 7 +- .../{AppDelegate.m => TWBSAppDelegate.m} | 11 +- BButtonDemo/TWBSDemoViewController.h | 13 + ...wController.m => TWBSDemoViewController.m} | 29 +- BButtonDemo/ViewController.h | 16 - BButtonDemo/main.m | 8 +- BButtonDemoTests/BButtonDemoTests-Info.plist | 22 + BButtonDemoTests/BButtonDemoTests.m | 34 ++ BButtonDemoTests/en.lproj/InfoPlist.strings | 2 + LICENSE.txt | 18 +- 26 files changed, 484 insertions(+), 385 deletions(-) rename BButton/{ => Classes}/BButton.h (100%) rename BButton/{ => Classes}/BButton.m (100%) rename BButton/{ => Classes}/NSString+BButton.h (100%) rename BButton/{ => Classes}/NSString+BButton.m (100%) rename BButton/{ => Classes}/NSString+FontAwesome.h (100%) rename BButton/{ => Classes}/NSString+FontAwesome.m (100%) rename BButton/{ => Classes}/UIColor+BButton.h (100%) rename BButton/{ => Classes}/UIColor+BButton.m (100%) rename BButtonDemo/{en.lproj/MainStoryboard.storyboard => Base.lproj/Main.storyboard} (78%) rename BButtonDemo/{AppDelegate.h => TWBSAppDelegate.h} (52%) rename BButtonDemo/{AppDelegate.m => TWBSAppDelegate.m} (60%) create mode 100644 BButtonDemo/TWBSDemoViewController.h rename BButtonDemo/{ViewController.m => TWBSDemoViewController.m} (85%) delete mode 100644 BButtonDemo/ViewController.h create mode 100644 BButtonDemoTests/BButtonDemoTests-Info.plist create mode 100644 BButtonDemoTests/BButtonDemoTests.m create mode 100644 BButtonDemoTests/en.lproj/InfoPlist.strings diff --git a/.gitignore b/.gitignore index d43e9c8..9e5f0fe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,25 @@ +# Xcode + .DS_Store +/build/* +*/build/* +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +profile +*.moved-aside +DerivedData +.idea/ +*.hmap +*.xccheckout + -/build/ +#CocoaPods -BButtonDemo.xcodeproj/project.xcworkspace/xcuserdata/jesse.xcuserdatad/ -BButtonDemo.xcodeproj/xcuserdata/jesse.xcuserdatad/ -BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/ +Pods \ No newline at end of file diff --git a/BButton.podspec b/BButton.podspec index 85a4a01..8e7d6ba 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,16 +1,14 @@ Pod::Spec.new do |s| - s.name = "BButton" - s.version = "3.1.1" - s.summary = "BButton is a subclass of UIButton that looks like the Twitter Bootstrap buttons." - s.homepage = "https://github.com/jessesquires/BButton" - s.screenshots = "https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png" - s.license = 'MIT' - s.author = { "Jesse Squires" => "jesse.squires.developer@gmail.com" } - s.source = { :git => "https://github.com/jessesquires/BButton.git", :tag => s.version.to_s } - s.platform = :ios, '6.0' - s.source_files = 'BButton' - s.public_header_files = 'BButton' - s.resource = "BButton/resources/FontAwesome.ttf" - s.requires_arc = true - s.framework = 'CoreGraphics' + s.name = 'BButton' + s.version = '3.1.1' + s.summary = 'Twitter Bootstrap buttons for iOS' + s.homepage = 'https://github.com/jessesquires/BButton' + s.license = 'MIT License' + s.author = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com' } + s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } + s.platform = :ios, '6.0' + s.source_files = 'BButton/Classes/*' + s.resource = 'BButton/Resources/*' + s.framework = 'CoreGraphics' + s.requires_arc = true end diff --git a/BButton/BButton.h b/BButton/Classes/BButton.h similarity index 100% rename from BButton/BButton.h rename to BButton/Classes/BButton.h diff --git a/BButton/BButton.m b/BButton/Classes/BButton.m similarity index 100% rename from BButton/BButton.m rename to BButton/Classes/BButton.m diff --git a/BButton/NSString+BButton.h b/BButton/Classes/NSString+BButton.h similarity index 100% rename from BButton/NSString+BButton.h rename to BButton/Classes/NSString+BButton.h diff --git a/BButton/NSString+BButton.m b/BButton/Classes/NSString+BButton.m similarity index 100% rename from BButton/NSString+BButton.m rename to BButton/Classes/NSString+BButton.m diff --git a/BButton/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h similarity index 100% rename from BButton/NSString+FontAwesome.h rename to BButton/Classes/NSString+FontAwesome.h diff --git a/BButton/NSString+FontAwesome.m b/BButton/Classes/NSString+FontAwesome.m similarity index 100% rename from BButton/NSString+FontAwesome.m rename to BButton/Classes/NSString+FontAwesome.m diff --git a/BButton/UIColor+BButton.h b/BButton/Classes/UIColor+BButton.h similarity index 100% rename from BButton/UIColor+BButton.h rename to BButton/Classes/UIColor+BButton.h diff --git a/BButton/UIColor+BButton.m b/BButton/Classes/UIColor+BButton.m similarity index 100% rename from BButton/UIColor+BButton.m rename to BButton/Classes/UIColor+BButton.m diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index 249efa1..5d0f843 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -7,149 +7,221 @@ objects = { /* Begin PBXBuildFile section */ - 880EED34170B33B000462214 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 880EED33170B33B000462214 /* UIKit.framework */; }; - 880EED36170B33B000462214 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 880EED35170B33B000462214 /* Foundation.framework */; }; - 880EED3E170B33B000462214 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 880EED3C170B33B000462214 /* InfoPlist.strings */; }; - 880EED40170B33B000462214 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED3F170B33B000462214 /* main.m */; }; - 880EED44170B33B000462214 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED43170B33B000462214 /* AppDelegate.m */; }; - 880EED4D170B33B000462214 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 880EED4B170B33B000462214 /* MainStoryboard.storyboard */; }; - 880EED53170B33B000462214 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED52170B33B000462214 /* ViewController.m */; }; - 880EED9E170B357400462214 /* BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EED9A170B357400462214 /* BButton.m */; }; - 880EED9F170B357400462214 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 880EED9C170B357400462214 /* FontAwesome.ttf */; }; - 880EEDA2170B3EDB00462214 /* UIColor+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EEDA1170B3EDB00462214 /* UIColor+BButton.m */; }; - 880EEDA5170B6D2600462214 /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */; }; - 88136CAD17EE2050003362C6 /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88136CAC17EE2050003362C6 /* NSString+BButton.m */; }; - 8857FBFD1718B92B001C200D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8857FBFC1718B92B001C200D /* CoreGraphics.framework */; }; - 88745460182B44ED004ACF15 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8874545F182B44ED004ACF15 /* Images.xcassets */; }; + 88F28F1B183336920044C99F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88F28F1A183336920044C99F /* Foundation.framework */; }; + 88F28F1D183336920044C99F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88F28F1C183336920044C99F /* CoreGraphics.framework */; }; + 88F28F1F183336920044C99F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88F28F1E183336920044C99F /* UIKit.framework */; }; + 88F28F25183336920044C99F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 88F28F23183336920044C99F /* InfoPlist.strings */; }; + 88F28F27183336920044C99F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F26183336920044C99F /* main.m */; }; + 88F28F2B183336920044C99F /* TWBSAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F2A183336920044C99F /* TWBSAppDelegate.m */; }; + 88F28F2E183336920044C99F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 88F28F2C183336920044C99F /* Main.storyboard */; }; + 88F28F31183336920044C99F /* TWBSDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F30183336920044C99F /* TWBSDemoViewController.m */; }; + 88F28F33183336920044C99F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 88F28F32183336920044C99F /* Images.xcassets */; }; + 88F28F3A183336920044C99F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88F28F39183336920044C99F /* XCTest.framework */; }; + 88F28F3B183336920044C99F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88F28F1A183336920044C99F /* Foundation.framework */; }; + 88F28F3C183336920044C99F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88F28F1E183336920044C99F /* UIKit.framework */; }; + 88F28F44183336920044C99F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 88F28F42183336920044C99F /* InfoPlist.strings */; }; + 88F28F46183336920044C99F /* BButtonDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F45183336920044C99F /* BButtonDemoTests.m */; }; + 88F28F5B183337F40044C99F /* BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F52183337F40044C99F /* BButton.m */; }; + 88F28F5C183337F40044C99F /* BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F52183337F40044C99F /* BButton.m */; }; + 88F28F5D183337F40044C99F /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F54183337F40044C99F /* NSString+BButton.m */; }; + 88F28F5E183337F40044C99F /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F54183337F40044C99F /* NSString+BButton.m */; }; + 88F28F5F183337F40044C99F /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F56183337F40044C99F /* NSString+FontAwesome.m */; }; + 88F28F60183337F40044C99F /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F56183337F40044C99F /* NSString+FontAwesome.m */; }; + 88F28F61183337F40044C99F /* UIColor+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F58183337F40044C99F /* UIColor+BButton.m */; }; + 88F28F62183337F40044C99F /* UIColor+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F58183337F40044C99F /* UIColor+BButton.m */; }; + 88F28F63183337F40044C99F /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 88F28F5A183337F40044C99F /* FontAwesome.ttf */; }; + 88F28F64183337F40044C99F /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 88F28F5A183337F40044C99F /* FontAwesome.ttf */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 88F28F3D183336920044C99F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 88F28F0F183336920044C99F /* Project object */; + proxyType = 1; + remoteGlobalIDString = 88F28F16183336920044C99F; + remoteInfo = BButtonDemo; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXFileReference section */ - 880EED30170B33B000462214 /* BButtonDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BButtonDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 880EED33170B33B000462214 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 880EED35170B33B000462214 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 880EED3B170B33B000462214 /* BButtonDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BButtonDemo-Info.plist"; sourceTree = ""; }; - 880EED3D170B33B000462214 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 880EED3F170B33B000462214 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 880EED41170B33B000462214 /* BButtonDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BButtonDemo-Prefix.pch"; sourceTree = ""; }; - 880EED42170B33B000462214 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 880EED43170B33B000462214 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 880EED4C170B33B000462214 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard.storyboard; sourceTree = ""; }; - 880EED51170B33B000462214 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 880EED52170B33B000462214 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 880EED99170B357400462214 /* BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BButton.h; sourceTree = ""; }; - 880EED9A170B357400462214 /* BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BButton.m; sourceTree = ""; }; - 880EED9C170B357400462214 /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontAwesome.ttf; sourceTree = ""; }; - 880EEDA0170B3EDB00462214 /* UIColor+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+BButton.h"; sourceTree = ""; }; - 880EEDA1170B3EDB00462214 /* UIColor+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+BButton.m"; sourceTree = ""; }; - 880EEDA3170B6D2600462214 /* NSString+FontAwesome.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+FontAwesome.h"; sourceTree = ""; }; - 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+FontAwesome.m"; sourceTree = ""; }; - 88136CAB17EE2050003362C6 /* NSString+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+BButton.h"; sourceTree = ""; }; - 88136CAC17EE2050003362C6 /* NSString+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+BButton.m"; sourceTree = ""; }; - 8857FBFC1718B92B001C200D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 8874545F182B44ED004ACF15 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 88F28F17183336920044C99F /* BButtonDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BButtonDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 88F28F1A183336920044C99F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 88F28F1C183336920044C99F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 88F28F1E183336920044C99F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 88F28F22183336920044C99F /* BButtonDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BButtonDemo-Info.plist"; sourceTree = ""; }; + 88F28F24183336920044C99F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 88F28F26183336920044C99F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 88F28F28183336920044C99F /* BButtonDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BButtonDemo-Prefix.pch"; sourceTree = ""; }; + 88F28F29183336920044C99F /* TWBSAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TWBSAppDelegate.h; sourceTree = ""; }; + 88F28F2A183336920044C99F /* TWBSAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TWBSAppDelegate.m; sourceTree = ""; }; + 88F28F2D183336920044C99F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 88F28F2F183336920044C99F /* TWBSDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TWBSDemoViewController.h; sourceTree = ""; }; + 88F28F30183336920044C99F /* TWBSDemoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TWBSDemoViewController.m; sourceTree = ""; }; + 88F28F32183336920044C99F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 88F28F38183336920044C99F /* BButtonDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BButtonDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 88F28F39183336920044C99F /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 88F28F41183336920044C99F /* BButtonDemoTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BButtonDemoTests-Info.plist"; sourceTree = ""; }; + 88F28F43183336920044C99F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 88F28F45183336920044C99F /* BButtonDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BButtonDemoTests.m; sourceTree = ""; }; + 88F28F51183337F40044C99F /* BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BButton.h; sourceTree = ""; }; + 88F28F52183337F40044C99F /* BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BButton.m; sourceTree = ""; }; + 88F28F53183337F40044C99F /* NSString+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+BButton.h"; sourceTree = ""; }; + 88F28F54183337F40044C99F /* NSString+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+BButton.m"; sourceTree = ""; }; + 88F28F55183337F40044C99F /* NSString+FontAwesome.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+FontAwesome.h"; sourceTree = ""; }; + 88F28F56183337F40044C99F /* NSString+FontAwesome.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+FontAwesome.m"; sourceTree = ""; }; + 88F28F57183337F40044C99F /* UIColor+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+BButton.h"; sourceTree = ""; }; + 88F28F58183337F40044C99F /* UIColor+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+BButton.m"; sourceTree = ""; }; + 88F28F5A183337F40044C99F /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontAwesome.ttf; sourceTree = ""; }; + 88F28F65183338210044C99F /* BButton.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = BButton.podspec; sourceTree = ""; }; + 88F28F66183338210044C99F /* FontAwesomeIcons.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = FontAwesomeIcons.html; sourceTree = ""; }; + 88F28F67183338210044C99F /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE.txt; sourceTree = ""; }; + 88F28F68183338210044C99F /* README.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = README.md; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 880EED2D170B33B000462214 /* Frameworks */ = { + 88F28F14183336920044C99F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8857FBFD1718B92B001C200D /* CoreGraphics.framework in Frameworks */, - 880EED34170B33B000462214 /* UIKit.framework in Frameworks */, - 880EED36170B33B000462214 /* Foundation.framework in Frameworks */, + 88F28F1D183336920044C99F /* CoreGraphics.framework in Frameworks */, + 88F28F1F183336920044C99F /* UIKit.framework in Frameworks */, + 88F28F1B183336920044C99F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 88F28F35183336920044C99F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 88F28F3A183336920044C99F /* XCTest.framework in Frameworks */, + 88F28F3C183336920044C99F /* UIKit.framework in Frameworks */, + 88F28F3B183336920044C99F /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 880EED27170B33B000462214 = { + 88F28F0E183336920044C99F = { isa = PBXGroup; children = ( - 880EED96170B357400462214 /* BButton */, - 880EED39170B33B000462214 /* BButtonDemo */, - 880EED32170B33B000462214 /* Frameworks */, - 880EED31170B33B000462214 /* Products */, + 88F28F4F183337F40044C99F /* BButton */, + 88F28F65183338210044C99F /* BButton.podspec */, + 88F28F67183338210044C99F /* LICENSE.txt */, + 88F28F68183338210044C99F /* README.md */, + 88F28F66183338210044C99F /* FontAwesomeIcons.html */, + 88F28F20183336920044C99F /* BButtonDemo */, + 88F28F3F183336920044C99F /* BButtonDemoTests */, + 88F28F19183336920044C99F /* Frameworks */, + 88F28F18183336920044C99F /* Products */, ); sourceTree = ""; }; - 880EED31170B33B000462214 /* Products */ = { + 88F28F18183336920044C99F /* Products */ = { isa = PBXGroup; children = ( - 880EED30170B33B000462214 /* BButtonDemo.app */, + 88F28F17183336920044C99F /* BButtonDemo.app */, + 88F28F38183336920044C99F /* BButtonDemoTests.xctest */, ); name = Products; sourceTree = ""; }; - 880EED32170B33B000462214 /* Frameworks */ = { + 88F28F19183336920044C99F /* Frameworks */ = { isa = PBXGroup; children = ( - 8857FBFC1718B92B001C200D /* CoreGraphics.framework */, - 880EED33170B33B000462214 /* UIKit.framework */, - 880EED35170B33B000462214 /* Foundation.framework */, + 88F28F1A183336920044C99F /* Foundation.framework */, + 88F28F1C183336920044C99F /* CoreGraphics.framework */, + 88F28F1E183336920044C99F /* UIKit.framework */, + 88F28F39183336920044C99F /* XCTest.framework */, ); name = Frameworks; sourceTree = ""; }; - 880EED39170B33B000462214 /* BButtonDemo */ = { + 88F28F20183336920044C99F /* BButtonDemo */ = { isa = PBXGroup; children = ( - 880EED42170B33B000462214 /* AppDelegate.h */, - 880EED43170B33B000462214 /* AppDelegate.m */, - 880EED4B170B33B000462214 /* MainStoryboard.storyboard */, - 880EED51170B33B000462214 /* ViewController.h */, - 880EED52170B33B000462214 /* ViewController.m */, - 8874545F182B44ED004ACF15 /* Images.xcassets */, - 880EED3A170B33B000462214 /* Supporting Files */, + 88F28F29183336920044C99F /* TWBSAppDelegate.h */, + 88F28F2A183336920044C99F /* TWBSAppDelegate.m */, + 88F28F2C183336920044C99F /* Main.storyboard */, + 88F28F2F183336920044C99F /* TWBSDemoViewController.h */, + 88F28F30183336920044C99F /* TWBSDemoViewController.m */, + 88F28F32183336920044C99F /* Images.xcassets */, + 88F28F21183336920044C99F /* Supporting Files */, ); path = BButtonDemo; sourceTree = ""; }; - 880EED3A170B33B000462214 /* Supporting Files */ = { + 88F28F21183336920044C99F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 88F28F22183336920044C99F /* BButtonDemo-Info.plist */, + 88F28F23183336920044C99F /* InfoPlist.strings */, + 88F28F26183336920044C99F /* main.m */, + 88F28F28183336920044C99F /* BButtonDemo-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 88F28F3F183336920044C99F /* BButtonDemoTests */ = { isa = PBXGroup; children = ( - 880EED3B170B33B000462214 /* BButtonDemo-Info.plist */, - 880EED3C170B33B000462214 /* InfoPlist.strings */, - 880EED3F170B33B000462214 /* main.m */, - 880EED41170B33B000462214 /* BButtonDemo-Prefix.pch */, + 88F28F45183336920044C99F /* BButtonDemoTests.m */, + 88F28F40183336920044C99F /* Supporting Files */, + ); + path = BButtonDemoTests; + sourceTree = ""; + }; + 88F28F40183336920044C99F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 88F28F41183336920044C99F /* BButtonDemoTests-Info.plist */, + 88F28F42183336920044C99F /* InfoPlist.strings */, ); name = "Supporting Files"; sourceTree = ""; }; - 880EED96170B357400462214 /* BButton */ = { + 88F28F4F183337F40044C99F /* BButton */ = { isa = PBXGroup; children = ( - 880EED99170B357400462214 /* BButton.h */, - 880EED9A170B357400462214 /* BButton.m */, - 88136CAB17EE2050003362C6 /* NSString+BButton.h */, - 88136CAC17EE2050003362C6 /* NSString+BButton.m */, - 880EEDA3170B6D2600462214 /* NSString+FontAwesome.h */, - 880EEDA4170B6D2600462214 /* NSString+FontAwesome.m */, - 880EED9B170B357400462214 /* resources */, - 880EEDA0170B3EDB00462214 /* UIColor+BButton.h */, - 880EEDA1170B3EDB00462214 /* UIColor+BButton.m */, + 88F28F50183337F40044C99F /* Classes */, + 88F28F59183337F40044C99F /* Resources */, ); path = BButton; sourceTree = ""; }; - 880EED9B170B357400462214 /* resources */ = { + 88F28F50183337F40044C99F /* Classes */ = { + isa = PBXGroup; + children = ( + 88F28F51183337F40044C99F /* BButton.h */, + 88F28F52183337F40044C99F /* BButton.m */, + 88F28F53183337F40044C99F /* NSString+BButton.h */, + 88F28F54183337F40044C99F /* NSString+BButton.m */, + 88F28F55183337F40044C99F /* NSString+FontAwesome.h */, + 88F28F56183337F40044C99F /* NSString+FontAwesome.m */, + 88F28F57183337F40044C99F /* UIColor+BButton.h */, + 88F28F58183337F40044C99F /* UIColor+BButton.m */, + ); + path = Classes; + sourceTree = ""; + }; + 88F28F59183337F40044C99F /* Resources */ = { isa = PBXGroup; children = ( - 880EED9C170B357400462214 /* FontAwesome.ttf */, + 88F28F5A183337F40044C99F /* FontAwesome.ttf */, ); - path = resources; + path = Resources; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 880EED2F170B33B000462214 /* BButtonDemo */ = { + 88F28F16183336920044C99F /* BButtonDemo */ = { isa = PBXNativeTarget; - buildConfigurationList = 880EED56170B33B000462214 /* Build configuration list for PBXNativeTarget "BButtonDemo" */; + buildConfigurationList = 88F28F49183336920044C99F /* Build configuration list for PBXNativeTarget "BButtonDemo" */; buildPhases = ( - 880EED2C170B33B000462214 /* Sources */, - 880EED2D170B33B000462214 /* Frameworks */, - 880EED2E170B33B000462214 /* Resources */, + 88F28F13183336920044C99F /* Sources */, + 88F28F14183336920044C99F /* Frameworks */, + 88F28F15183336920044C99F /* Resources */, ); buildRules = ( ); @@ -157,105 +229,167 @@ ); name = BButtonDemo; productName = BButtonDemo; - productReference = 880EED30170B33B000462214 /* BButtonDemo.app */; + productReference = 88F28F17183336920044C99F /* BButtonDemo.app */; productType = "com.apple.product-type.application"; }; + 88F28F37183336920044C99F /* BButtonDemoTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 88F28F4C183336920044C99F /* Build configuration list for PBXNativeTarget "BButtonDemoTests" */; + buildPhases = ( + 88F28F34183336920044C99F /* Sources */, + 88F28F35183336920044C99F /* Frameworks */, + 88F28F36183336920044C99F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 88F28F3E183336920044C99F /* PBXTargetDependency */, + ); + name = BButtonDemoTests; + productName = BButtonDemoTests; + productReference = 88F28F38183336920044C99F /* BButtonDemoTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 880EED28170B33B000462214 /* Project object */ = { + 88F28F0F183336920044C99F /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + CLASSPREFIX = TWBS; + LastUpgradeCheck = 0500; ORGANIZATIONNAME = "Hexed Bits"; TargetAttributes = { - 880EED2F170B33B000462214 = { - DevelopmentTeam = 5VRJU68BZ5; + 88F28F37183336920044C99F = { + TestTargetID = 88F28F16183336920044C99F; }; }; }; - buildConfigurationList = 880EED2B170B33B000462214 /* Build configuration list for PBXProject "BButtonDemo" */; + buildConfigurationList = 88F28F12183336920044C99F /* Build configuration list for PBXProject "BButtonDemo" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); - mainGroup = 880EED27170B33B000462214; - productRefGroup = 880EED31170B33B000462214 /* Products */; + mainGroup = 88F28F0E183336920044C99F; + productRefGroup = 88F28F18183336920044C99F /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 880EED2F170B33B000462214 /* BButtonDemo */, + 88F28F16183336920044C99F /* BButtonDemo */, + 88F28F37183336920044C99F /* BButtonDemoTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 880EED2E170B33B000462214 /* Resources */ = { + 88F28F15183336920044C99F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 88F28F33183336920044C99F /* Images.xcassets in Resources */, + 88F28F25183336920044C99F /* InfoPlist.strings in Resources */, + 88F28F2E183336920044C99F /* Main.storyboard in Resources */, + 88F28F63183337F40044C99F /* FontAwesome.ttf in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 88F28F36183336920044C99F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 880EED3E170B33B000462214 /* InfoPlist.strings in Resources */, - 88745460182B44ED004ACF15 /* Images.xcassets in Resources */, - 880EED4D170B33B000462214 /* MainStoryboard.storyboard in Resources */, - 880EED9F170B357400462214 /* FontAwesome.ttf in Resources */, + 88F28F44183336920044C99F /* InfoPlist.strings in Resources */, + 88F28F64183337F40044C99F /* FontAwesome.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 880EED2C170B33B000462214 /* Sources */ = { + 88F28F13183336920044C99F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 88F28F2B183336920044C99F /* TWBSAppDelegate.m in Sources */, + 88F28F27183336920044C99F /* main.m in Sources */, + 88F28F61183337F40044C99F /* UIColor+BButton.m in Sources */, + 88F28F5F183337F40044C99F /* NSString+FontAwesome.m in Sources */, + 88F28F5B183337F40044C99F /* BButton.m in Sources */, + 88F28F5D183337F40044C99F /* NSString+BButton.m in Sources */, + 88F28F31183336920044C99F /* TWBSDemoViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 88F28F34183336920044C99F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 880EED40170B33B000462214 /* main.m in Sources */, - 880EED44170B33B000462214 /* AppDelegate.m in Sources */, - 880EED53170B33B000462214 /* ViewController.m in Sources */, - 880EED9E170B357400462214 /* BButton.m in Sources */, - 880EEDA2170B3EDB00462214 /* UIColor+BButton.m in Sources */, - 88136CAD17EE2050003362C6 /* NSString+BButton.m in Sources */, - 880EEDA5170B6D2600462214 /* NSString+FontAwesome.m in Sources */, + 88F28F60183337F40044C99F /* NSString+FontAwesome.m in Sources */, + 88F28F5C183337F40044C99F /* BButton.m in Sources */, + 88F28F5E183337F40044C99F /* NSString+BButton.m in Sources */, + 88F28F62183337F40044C99F /* UIColor+BButton.m in Sources */, + 88F28F46183336920044C99F /* BButtonDemoTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 88F28F3E183336920044C99F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 88F28F16183336920044C99F /* BButtonDemo */; + targetProxy = 88F28F3D183336920044C99F /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ - 880EED3C170B33B000462214 /* InfoPlist.strings */ = { + 88F28F23183336920044C99F /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - 880EED3D170B33B000462214 /* en */, + 88F28F24183336920044C99F /* en */, ); name = InfoPlist.strings; sourceTree = ""; }; - 880EED4B170B33B000462214 /* MainStoryboard.storyboard */ = { + 88F28F2C183336920044C99F /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 880EED4C170B33B000462214 /* en */, + 88F28F2D183336920044C99F /* Base */, ); - name = MainStoryboard.storyboard; + name = Main.storyboard; + sourceTree = ""; + }; + 88F28F42183336920044C99F /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 88F28F43183336920044C99F /* en */, + ); + name = InfoPlist.strings; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 880EED54170B33B000462214 /* Debug */ = { + 88F28F47183336920044C99F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -265,111 +399,152 @@ "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 880EED55170B33B000462214 /* Release */ = { + 88F28F48183336920044C99F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jesse Squires (64KYPKJ7RK)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; - OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PROVISIONING_PROFILE = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 880EED57170B33B000462214 /* Debug */ = { + 88F28F4A183336920044C99F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_OBJC_RECEIVER_WEAK = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; WRAPPER_EXTENSION = app; }; name = Debug; }; - 880EED58170B33B000462214 /* Release */ = { + 88F28F4B183336920044C99F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_OBJC_RECEIVER_WEAK = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "0D0EEA35-157A-4FFD-A4A2-5F4A52C12634"; WRAPPER_EXTENSION = app; }; name = Release; }; + 88F28F4D183336920044C99F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BButtonDemo.app/BButtonDemo"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "BButtonDemoTests/BButtonDemoTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + 88F28F4E183336920044C99F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BButtonDemo.app/BButtonDemo"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; + INFOPLIST_FILE = "BButtonDemoTests/BButtonDemoTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 880EED2B170B33B000462214 /* Build configuration list for PBXProject "BButtonDemo" */ = { + 88F28F12183336920044C99F /* Build configuration list for PBXProject "BButtonDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 88F28F47183336920044C99F /* Debug */, + 88F28F48183336920044C99F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 88F28F49183336920044C99F /* Build configuration list for PBXNativeTarget "BButtonDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( - 880EED54170B33B000462214 /* Debug */, - 880EED55170B33B000462214 /* Release */, + 88F28F4A183336920044C99F /* Debug */, + 88F28F4B183336920044C99F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 880EED56170B33B000462214 /* Build configuration list for PBXNativeTarget "BButtonDemo" */ = { + 88F28F4C183336920044C99F /* Build configuration list for PBXNativeTarget "BButtonDemoTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 880EED57170B33B000462214 /* Debug */, - 880EED58170B33B000462214 /* Release */, + 88F28F4D183336920044C99F /* Debug */, + 88F28F4E183336920044C99F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 880EED28170B33B000462214 /* Project object */; + rootObject = 88F28F0F183336920044C99F /* Project object */; } diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index f17ba92..f944edc 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -8,10 +8,6 @@ ${PRODUCT_NAME} CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleIcons - - CFBundleIcons~ipad - CFBundleIdentifier com.hexedbits.${PRODUCT_NAME:rfc1034identifier} CFBundleInfoDictionaryVersion @@ -33,9 +29,7 @@ FontAwesome.ttf UIMainStoryboardFile - MainStoryboard - UIMainStoryboardFile~ipad - MainStoryboard + Main UIRequiredDeviceCapabilities armv7 @@ -44,9 +38,5 @@ UIInterfaceOrientationPortrait - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - diff --git a/BButtonDemo/BButtonDemo-Prefix.pch b/BButtonDemo/BButtonDemo-Prefix.pch index 1369a89..82a2bb4 100644 --- a/BButtonDemo/BButtonDemo-Prefix.pch +++ b/BButtonDemo/BButtonDemo-Prefix.pch @@ -1,5 +1,7 @@ // -// Prefix header for all source files of the 'BButtonDemo' target in the 'BButtonDemo' project +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. // #import diff --git a/BButtonDemo/en.lproj/MainStoryboard.storyboard b/BButtonDemo/Base.lproj/Main.storyboard similarity index 78% rename from BButtonDemo/en.lproj/MainStoryboard.storyboard rename to BButtonDemo/Base.lproj/Main.storyboard index c3399b9..e0a9275 100644 --- a/BButtonDemo/en.lproj/MainStoryboard.storyboard +++ b/BButtonDemo/Base.lproj/Main.storyboard @@ -1,27 +1,25 @@ - + - - - + + - + - - + + - + - + - diff --git a/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json index da837d9..a396706 100644 --- a/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/BButtonDemo/Images.xcassets/AppIcon.appiconset/Contents.json @@ -2,83 +2,18 @@ "images" : [ { "idiom" : "iphone", - "scale" : "1x", - "size" : "57x57" + "size" : "29x29", + "scale" : "2x" }, { "idiom" : "iphone", - "scale" : "2x", - "size" : "57x57" + "size" : "40x40", + "scale" : "2x" }, { "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "72x72" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "72x72" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "idiom" : "iphone", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "50x50" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "50x50" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" + "size" : "60x60", + "scale" : "2x" } ], "info" : { diff --git a/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json b/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json index 0e8b0ff..c79ebd3 100644 --- a/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/BButtonDemo/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -10,80 +10,9 @@ { "orientation" : "portrait", "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", "extent" : "full-screen", "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", "scale" : "2x" } ], diff --git a/BButtonDemo/AppDelegate.h b/BButtonDemo/TWBSAppDelegate.h similarity index 52% rename from BButtonDemo/AppDelegate.h rename to BButtonDemo/TWBSAppDelegate.h index 4df86cb..367357e 100644 --- a/BButtonDemo/AppDelegate.h +++ b/BButtonDemo/TWBSAppDelegate.h @@ -1,16 +1,13 @@ // -// AppDelegate.h // BButtonDemo // -// Created by Jesse Squires on 4/2/13. +// Created by Jesse Squires on 11/12/13. // Copyright (c) 2013 Hexed Bits. All rights reserved. // -// http://hexedbits.com -// #import -@interface AppDelegate : UIResponder +@interface TWBSAppDelegate : UIResponder @property (strong, nonatomic) UIWindow *window; diff --git a/BButtonDemo/AppDelegate.m b/BButtonDemo/TWBSAppDelegate.m similarity index 60% rename from BButtonDemo/AppDelegate.m rename to BButtonDemo/TWBSAppDelegate.m index 8204a0b..f2931c0 100644 --- a/BButtonDemo/AppDelegate.m +++ b/BButtonDemo/TWBSAppDelegate.m @@ -1,20 +1,17 @@ // -// AppDelegate.m // BButtonDemo // -// Created by Jesse Squires on 4/2/13. +// Created by Jesse Squires on 11/12/13. // Copyright (c) 2013 Hexed Bits. All rights reserved. // -// http://hexedbits.com -// -#import "AppDelegate.h" +#import "TWBSAppDelegate.h" -@implementation AppDelegate +@implementation TWBSAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES; } -@end \ No newline at end of file +@end diff --git a/BButtonDemo/TWBSDemoViewController.h b/BButtonDemo/TWBSDemoViewController.h new file mode 100644 index 0000000..e296fcf --- /dev/null +++ b/BButtonDemo/TWBSDemoViewController.h @@ -0,0 +1,13 @@ +// +// BButtonDemo +// +// Created by Jesse Squires on 11/12/13. +// Copyright (c) 2013 Hexed Bits. All rights reserved. +// + +#import +#import "BButton.h" + +@interface TWBSDemoViewController : UIViewController + +@end diff --git a/BButtonDemo/ViewController.m b/BButtonDemo/TWBSDemoViewController.m similarity index 85% rename from BButtonDemo/ViewController.m rename to BButtonDemo/TWBSDemoViewController.m index 2300ae5..62f19eb 100644 --- a/BButtonDemo/ViewController.m +++ b/BButtonDemo/TWBSDemoViewController.m @@ -1,24 +1,21 @@ // -// ViewController.m // BButtonDemo // -// Created by Jesse Squires on 4/2/13. +// Created by Jesse Squires on 11/12/13. // Copyright (c) 2013 Hexed Bits. All rights reserved. // -// http://hexedbits.com -// -#import "ViewController.h" +#import "TWBSDemoViewController.h" -@implementation ViewController +@implementation TWBSDemoViewController - (void)viewDidLoad { [super viewDidLoad]; -// uncomment to set corner radius for all buttons -// -// [[BButton appearance] setButtonCornerRadius:@50.0f]; + // uncomment to set corner radius for all buttons + // + // [[BButton appearance] setButtonCornerRadius:@50.0f]; BButtonType type = 0; @@ -49,10 +46,10 @@ - (void)viewDidLoad [btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; -// uncomment to show buttons as disabled -// -// btn.shouldShowDisabled = YES; -// btn.enabled = NO; + // uncomment to show buttons as disabled + // + // btn.shouldShowDisabled = YES; + // btn.enabled = NO; [self.view addSubview:btn]; } @@ -69,7 +66,7 @@ - (NSString *)titleForType:(BButtonType)type switch (type) { case BButtonTypePrimary: return @"Primary"; - + case BButtonTypeInfo: return @"Info"; @@ -87,7 +84,7 @@ - (NSString *)titleForType:(BButtonType)type case BButtonTypeTwitter: return @"Twitter"; - + case BButtonTypeFacebook: return @"Facebook"; @@ -103,4 +100,4 @@ - (NSString *)titleForType:(BButtonType)type } } -@end \ No newline at end of file +@end diff --git a/BButtonDemo/ViewController.h b/BButtonDemo/ViewController.h deleted file mode 100644 index f19facc..0000000 --- a/BButtonDemo/ViewController.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// ViewController.h -// BButtonDemo -// -// Created by Jesse Squires on 4/2/13. -// Copyright (c) 2013 Hexed Bits. All rights reserved. -// -// http://hexedbits.com -// - -#import -#import "BButton.h" - -@interface ViewController : UIViewController - -@end \ No newline at end of file diff --git a/BButtonDemo/main.m b/BButtonDemo/main.m index 87233f1..6d94839 100644 --- a/BButtonDemo/main.m +++ b/BButtonDemo/main.m @@ -2,17 +2,17 @@ // main.m // BButtonDemo // -// Created by Jesse Squires on 4/2/13. +// Created by Jesse Squires on 11/12/13. // Copyright (c) 2013 Hexed Bits. All rights reserved. // #import -#import "AppDelegate.h" +#import "TWBSAppDelegate.h" -int main(int argc, char *argv[]) +int main(int argc, char * argv[]) { @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + return UIApplicationMain(argc, argv, nil, NSStringFromClass([TWBSAppDelegate class])); } } diff --git a/BButtonDemoTests/BButtonDemoTests-Info.plist b/BButtonDemoTests/BButtonDemoTests-Info.plist new file mode 100644 index 0000000..75431a4 --- /dev/null +++ b/BButtonDemoTests/BButtonDemoTests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.hexedbits.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m new file mode 100644 index 0000000..accb548 --- /dev/null +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -0,0 +1,34 @@ +// +// BButtonDemoTests.m +// BButtonDemoTests +// +// Created by Jesse Squires on 11/12/13. +// Copyright (c) 2013 Hexed Bits. All rights reserved. +// + +#import + +@interface BButtonDemoTests : XCTestCase + +@end + +@implementation BButtonDemoTests + +- (void)setUp +{ + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown +{ + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample +{ + XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); +} + +@end diff --git a/BButtonDemoTests/en.lproj/InfoPlist.strings b/BButtonDemoTests/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/BButtonDemoTests/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/LICENSE.txt b/LICENSE.txt index 63ed429..5f532ca 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,17 +1,25 @@ BButton ------- -MIT License +MIT License : http://opensource.org/licenses/MIT Copyright (c) 2012, Mathieu Bolard. All rights reserved. Refactored by Jesse Squires, April 2013. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From 289efc7e1371b05a35cf4cb2aee922b79d26bd5b Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 21:21:18 -0800 Subject: [PATCH 069/170] update license and readme --- LICENSE.txt | 4 +- README.md | 112 ++++++++++++++++++++++++++-------------------------- 2 files changed, 56 insertions(+), 60 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 5f532ca..ac8133d 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -2,9 +2,7 @@ BButton ------- MIT License : http://opensource.org/licenses/MIT -Copyright (c) 2012, Mathieu Bolard. All rights reserved. - -Refactored by Jesse Squires, April 2013. +Copyright (c) 2012, Mathieu Bolard, Jesse Squires. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including diff --git a/README.md b/README.md index d1afd00..ef5cf04 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,87 @@ -#BButton 3.0 +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) -BButton is a subclass of UIButton that looks like the [Twitter Bootstrap](http://getbootstrap.com) buttons. +[Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. -*New!* Use Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) style! - -Forked from [@mattlawer / BButton](https://github.com/mattlawer/BButton) and refactored for more awesome. - -Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS), fixed for iOS from the original [FontAwesome](http://fortawesome.github.com/Font-Awesome/). +`BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons, drawn entirely with `CoreGraphics`. ![BButton Screenshot 1][img1]      ![BButton Screenshot 2][img2] -### Features +## Features -* iOS 6.0+, ARC, Storyboards -* Style like Bootstrap 2 or 3 -* Set corner radius via UIAppearance -* Option to show button 'disabled' state -* Many button type (color) options -* FontAwesome included +* Works just like `UIButton`, but sexier +* Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) styles +* Highly customizable +* Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS), fixed for iOS from the original [FontAwesome](http://fortawesome.github.com/Font-Awesome/) -## Installation +## Requirements -### From [CocoaPods](http://www.cocoapods.org) +* iOS 6.0+ +* ARC -#### **This fork** - - pod 'BButton', :git => 'https://github.com/jessesquires/BButton.git' +## Installation -#### Original repo +#### From [CocoaPods](http://www.cocoapods.org) - pod `BButton` +`pod 'BButton'` -### From source +#### From source -* Drag the `BButton/` folder to your project (make sure you copy all files/folders) -* `#import "BButton.h"` -* Add `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` +* Drag the `BButton/` folder to your project. +* Add the `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` ![plist][img3] -## How To Use +#### Too cool for [ARC](https://developer.apple.com/library/mac/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html)? -### With Storyboards +* Add the `-fobjc-arc` compiler flag to all source files in your project in Target Settings > Build Phases > Compile Sources. -Create a `UIButton` and change its class to `BButton` +## Getting Started -### Create programmatically +1. Create programmatically via one of the `init` methods +2. Create via Storyboards + * Drag a `UIButton` to your view + * Set its class to `BButton` +3. Be a badass [programming-motherfucker](http://programming-motherfucker.com) and read the fucking documentation. (Yes, there's documentation! [Seriously](http://www.nrcc.org/wp-content/uploads/2013/05/Moonwalk.gif)!) +4. See the included demo project: `BButtonDemo.xcodeproj` +5. See `FontAwesomeIcons.html` for list of icons -Initialize with any of the following methods: +## Documentation -````objective-c -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle -- (id)initWithFrame:(CGRect)frame - type:(BButtonType)type - style:(BButtonStyle)aStyle - icon:(FAIcon)icon - fontSize:(CGFloat)fontSize -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aStyle -- (id)initWithFrame:(CGRect)frame - color:(UIColor *)aColor - style:(BButtonStyle)aStyle - icon:(FAIcon)icon - fontSize:(CGFloat)fontSize -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon - type:(BButtonType)type - style:(BButtonStyle)aStyle -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon - color:(UIColor *)color - style:(BButtonStyle)aStyle -```` +Documentation is [available here](http://cocoadocs.org/docsets/BButton/3.2.0) via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! -### UI Appearance +## Customization -Set corner radius for all buttons via UIAppearance +* Set corner radius for all buttons via `UIAppearance` ````objective-c [[BButton appearance] setButtonCornerRadius:[NSNumber numberWithFloat:0.0f]]; ```` + ![BButton Screenshot 3][img4]      ![BButton Screenshot 4][img5] -**See the included demo project `BButtonDemo.xcodeproj`** +* *More tips coming soon!* -**See `FontAwesomeIcons.html` for list of icons** +## How To Contribute + +1. [Find an issue](https://github.com/jessesquires/BButton/issues?sort=created&state=open) to work on, or create a new one. +2. Fork me. +3. Create a new branch with a sweet fucking name: `git checkout -b issue_<##>_`. +4. Do some motherfucking programming +5. Write Unit Tests, if you can +6. Keep your code nice and clean by adhering to Google's [Objective-C Style Guide](http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml) and Apple's [Coding Guidelines for Cocoa](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html). +7. Don't break shit, especially `master`. +8. Update the documentation header comments. +9. Update the pod spec and project version numbers, adhering to the [semantic versioning](http://semver.org) specification. +10. Submit a pull request. +11. See step 1. + +## Credits + +Created by [@Mathieu Bolard](https://twitter.com/mattlawer) (Original project here: [@mattlawer / BButton](https://github.com/mattlawer/BButton)). + +Forked, refactored, updated, maintained by [@Jesse Squires](https://twitter.com/jesse_squires), a [programming-motherfucker](http://programming-motherfucker.com). + +FontAwesome-for-iOS by Pit Garbe, [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS). ## Apps Using This Control @@ -99,9 +99,7 @@ Set corner radius for all buttons via UIAppearance ## [MIT License](http://opensource.org/licenses/MIT) -Copyright © 2012, Mathieu Bolard. All rights reserved. - -Refactored by Jesse Squires, April 2013. +Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: From 841ed9757b0753cba0d0d21e517e9d55b1ec3c2a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 21:28:05 -0800 Subject: [PATCH 070/170] remove NSString category --- BButton/Classes/BButton.m | 19 +++++++++++--- BButton/Classes/NSString+BButton.h | 29 --------------------- BButton/Classes/NSString+BButton.m | 36 --------------------------- BButtonDemo.xcodeproj/project.pbxproj | 8 ------ 4 files changed, 16 insertions(+), 76 deletions(-) delete mode 100644 BButton/Classes/NSString+BButton.h delete mode 100644 BButton/Classes/NSString+BButton.m diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index ccbb20d..3de4f88 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -20,8 +20,6 @@ // #import "BButton.h" -#import "NSString+BButton.h" - #import static CGFloat const kBButtonCornerRadiusV2 = 6.0f; @@ -44,6 +42,9 @@ + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; + (NSNumber *)cornerRadiusForStyle:(BButtonStyle)aStyle; +- (NSString *)stringByTrimingWhiteSpaceFromString:(NSString *)str; +- (BOOL)isStringEmpty:(NSString *)str; + - (void)drawBButtonStyleV2InRect:(CGRect)rect withContext:(CGContextRef *)context; - (void)drawBButtonStyleV3InRect:(CGRect)rect withContext:(CGContextRef *)context; @@ -280,7 +281,7 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before NSString *title = [NSString stringWithFormat:@"%@", iconString]; - if(self.titleLabel.text && ![self.titleLabel.text bb_isEmpty]) { + if(self.titleLabel.text && ![self isStringEmpty:self.titleLabel.text]) { if(before) title = [title stringByAppendingFormat:@" %@", self.titleLabel.text]; else @@ -403,6 +404,18 @@ + (NSNumber *)cornerRadiusForStyle:(BButtonStyle)aStyle return [NSNumber numberWithFloat:r]; } +#pragma mark - Utilities + +- (NSString *)stringByTrimingWhiteSpaceFromString:(NSString *)str +{ + return [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; +} + +- (BOOL)isStringEmpty:(NSString *)str +{ + return [[self stringByTrimingWhiteSpaceFromString:str] isEqualToString:@""]; +} + #pragma mark - Drawing - (void)drawRect:(CGRect)rect diff --git a/BButton/Classes/NSString+BButton.h b/BButton/Classes/NSString+BButton.h deleted file mode 100644 index 705c561..0000000 --- a/BButton/Classes/NSString+BButton.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// NSString+BButton.h -// -// Created by Mathieu Bolard on 31/07/12. -// Copyright (c) 2012 Mathieu Bolard. All rights reserved. -// -// https://github.com/mattlawer/BButton -// -// -// BButton is licensed under the MIT license -// http://opensource.org/licenses/MIT -// -// -// ----------------------------------------- -// Edited and refactored by Jesse Squires on 2 April, 2013. -// -// http://github.com/jessesquires/BButton -// -// http://hexedbits.com -// - -#import - -@interface NSString (BButton) - -- (NSString *)bb_trimWhitespace; -- (BOOL)bb_isEmpty; - -@end diff --git a/BButton/Classes/NSString+BButton.m b/BButton/Classes/NSString+BButton.m deleted file mode 100644 index 9822caa..0000000 --- a/BButton/Classes/NSString+BButton.m +++ /dev/null @@ -1,36 +0,0 @@ -// -// NSString+BButton.m -// -// Created by Mathieu Bolard on 31/07/12. -// Copyright (c) 2012 Mathieu Bolard. All rights reserved. -// -// https://github.com/mattlawer/BButton -// -// -// BButton is licensed under the MIT license -// http://opensource.org/licenses/MIT -// -// -// ----------------------------------------- -// Edited and refactored by Jesse Squires on 2 April, 2013. -// -// http://github.com/jessesquires/BButton -// -// http://hexedbits.com -// - -#import "NSString+BButton.h" - -@implementation NSString (BButton) - -- (NSString *)bb_trimWhitespace -{ - return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; -} - -- (BOOL)bb_isEmpty -{ - return [[self bb_trimWhitespace] isEqualToString:@""]; -} - -@end diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index 5d0f843..cc29393 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -23,8 +23,6 @@ 88F28F46183336920044C99F /* BButtonDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F45183336920044C99F /* BButtonDemoTests.m */; }; 88F28F5B183337F40044C99F /* BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F52183337F40044C99F /* BButton.m */; }; 88F28F5C183337F40044C99F /* BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F52183337F40044C99F /* BButton.m */; }; - 88F28F5D183337F40044C99F /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F54183337F40044C99F /* NSString+BButton.m */; }; - 88F28F5E183337F40044C99F /* NSString+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F54183337F40044C99F /* NSString+BButton.m */; }; 88F28F5F183337F40044C99F /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F56183337F40044C99F /* NSString+FontAwesome.m */; }; 88F28F60183337F40044C99F /* NSString+FontAwesome.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F56183337F40044C99F /* NSString+FontAwesome.m */; }; 88F28F61183337F40044C99F /* UIColor+BButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88F28F58183337F40044C99F /* UIColor+BButton.m */; }; @@ -65,8 +63,6 @@ 88F28F45183336920044C99F /* BButtonDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BButtonDemoTests.m; sourceTree = ""; }; 88F28F51183337F40044C99F /* BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BButton.h; sourceTree = ""; }; 88F28F52183337F40044C99F /* BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BButton.m; sourceTree = ""; }; - 88F28F53183337F40044C99F /* NSString+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+BButton.h"; sourceTree = ""; }; - 88F28F54183337F40044C99F /* NSString+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+BButton.m"; sourceTree = ""; }; 88F28F55183337F40044C99F /* NSString+FontAwesome.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+FontAwesome.h"; sourceTree = ""; }; 88F28F56183337F40044C99F /* NSString+FontAwesome.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+FontAwesome.m"; sourceTree = ""; }; 88F28F57183337F40044C99F /* UIColor+BButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+BButton.h"; sourceTree = ""; }; @@ -194,8 +190,6 @@ children = ( 88F28F51183337F40044C99F /* BButton.h */, 88F28F52183337F40044C99F /* BButton.m */, - 88F28F53183337F40044C99F /* NSString+BButton.h */, - 88F28F54183337F40044C99F /* NSString+BButton.m */, 88F28F55183337F40044C99F /* NSString+FontAwesome.h */, 88F28F56183337F40044C99F /* NSString+FontAwesome.m */, 88F28F57183337F40044C99F /* UIColor+BButton.h */, @@ -317,7 +311,6 @@ 88F28F61183337F40044C99F /* UIColor+BButton.m in Sources */, 88F28F5F183337F40044C99F /* NSString+FontAwesome.m in Sources */, 88F28F5B183337F40044C99F /* BButton.m in Sources */, - 88F28F5D183337F40044C99F /* NSString+BButton.m in Sources */, 88F28F31183336920044C99F /* TWBSDemoViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -328,7 +321,6 @@ files = ( 88F28F60183337F40044C99F /* NSString+FontAwesome.m in Sources */, 88F28F5C183337F40044C99F /* BButton.m in Sources */, - 88F28F5E183337F40044C99F /* NSString+BButton.m in Sources */, 88F28F62183337F40044C99F /* UIColor+BButton.m in Sources */, 88F28F46183336920044C99F /* BButtonDemoTests.m in Sources */, ); From c167e1491e27bf908f85c5f62c58c4e0502d1f28 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 22:12:10 -0800 Subject: [PATCH 071/170] formatting. fix spacing on add icon. --- BButton/Classes/BButton.m | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 3de4f88..c5ccb8f 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -282,10 +282,12 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before NSString *title = [NSString stringWithFormat:@"%@", iconString]; if(self.titleLabel.text && ![self isStringEmpty:self.titleLabel.text]) { - if(before) + if(before) { title = [title stringByAppendingFormat:@" %@", self.titleLabel.text]; - else - title = [NSString stringWithFormat:@"%@ %@", self.titleLabel.text, iconString]; + } + else { + title = [NSString stringWithFormat:@"%@ %@", self.titleLabel.text, iconString]; + } } [self setTitle:title forState:UIControlStateNormal]; From d3fa9b776050b501cef9f95aef6c2270425a3d4a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 22:12:28 -0800 Subject: [PATCH 072/170] unit tests. yay! --- BButtonDemoTests/BButtonDemoTests.m | 99 +++++++++++++++++++++++++++-- 1 file changed, 95 insertions(+), 4 deletions(-) diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m index accb548..ac4c739 100644 --- a/BButtonDemoTests/BButtonDemoTests.m +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -7,28 +7,119 @@ // #import +#import "BButton.h" @interface BButtonDemoTests : XCTestCase @end + @implementation BButtonDemoTests - (void)setUp { [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. } - (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. [super tearDown]; } -- (void)testExample +- (void)testButtonInitMethods +{ + CGRect frame = CGRectMake(0.0f, 0.0f, 140.0f, 44.0f); + + BButton *btn = [[BButton alloc] initWithFrame:frame type:BButtonTypeDefault style:BButtonStyleBootstrapV2]; + XCTAssertNotNil(btn, @"Button should not be nil"); + + + + btn = nil; + btn = [[BButton alloc] initWithFrame:frame + type:BButtonTypeDefault + style:BButtonStyleBootstrapV2 + icon:FAIconAdjust + fontSize:14.0f]; + XCTAssertNotNil(btn, @"Button should not be nil"); + + + + btn = nil; + btn = [[BButton alloc] initWithFrame:frame color:[UIColor redColor] style:BButtonStyleBootstrapV3]; + XCTAssertNotNil(btn, @"Button should not be nil"); + + + + btn = nil; + btn = [[BButton alloc] initWithFrame:frame + color:[UIColor blackColor] + style:BButtonStyleBootstrapV3 + icon:FAIconZoomOut + fontSize:16.0f]; + XCTAssertNotNil(btn, @"Button should not be nil"); + + + + btn = nil; + btn = [BButton awesomeButtonWithOnlyIcon:FAIconZoomIn color:[UIColor blueColor] style:BButtonStyleBootstrapV2]; + XCTAssertNotNil(btn, @"Button should not be nil"); + XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); +} + +- (void)testButtonClassInitMethods +{ + BButton *btn = [BButton awesomeButtonWithOnlyIcon:FAIconUserMd type:BButtonTypeDefault style:BButtonStyleBootstrapV3]; + XCTAssertNotNil(btn, @"Button should not be nil"); + XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); + + + + btn = nil; + btn = [BButton awesomeButtonWithOnlyIcon:FAIconZoomIn color:[UIColor blueColor] style:BButtonStyleBootstrapV2]; + XCTAssertNotNil(btn, @"Button should not be nil"); + XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); +} + +- (void)testFontAwesome { - XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); + NSArray *allIcons = [NSString fa_allFontAwesomeStrings]; + XCTAssertNotNil(allIcons, @"Array should not be nil"); + XCTAssert([allIcons count] != 0, @"Array should not be empty"); + + NSString *icon = [NSString fa_stringFromFontAwesomeStrings:allIcons + forIcon:FAIconWarningSign]; + XCTAssertNotNil(icon, @"Icon should not be nil"); + XCTAssert([allIcons containsObject:icon], @"Icon should be contained in icon list"); + XCTAssertEqual([allIcons indexOfObject:icon], FAIconWarningSign, @"Array index should equal FAIcon ENUM"); + + + + NSString *btnTitle = @"Button Title"; + FAIcon i = FAIconVolumeDown; + BButton *btn = [[BButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 200.0f, 50.0f) + type:BButtonTypeDefault + style:BButtonStyleBootstrapV3]; + + [btn setTitle:btnTitle forState:UIControlStateNormal]; + XCTAssertEqual([btn.titleLabel.text length], [btnTitle length], @"Button title lengths should be equal"); + + [btn addAwesomeIcon:i beforeTitle:NO]; + XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 2, @"Button title length should be 2 characters longer after adding icon"); + + icon = [NSString fa_stringFromFontAwesomeStrings:allIcons forIcon:i]; + NSString *btnIcon = [btn.titleLabel.text substringFromIndex:[btn.titleLabel.text length] - 1]; + XCTAssert([btnIcon isEqualToString:icon], @"Last character in button title should equal FA icon"); + + + + i = FAIconTerminal; + [btn addAwesomeIcon:i beforeTitle:YES]; + XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 4, @"Button title length should be 4 characters longer after adding 2 icons"); + + icon = [NSString fa_stringFromFontAwesomeStrings:allIcons forIcon:i]; + btnIcon = [btn.titleLabel.text substringToIndex:1]; + XCTAssert([btnIcon isEqualToString:icon], @"First character in button title should equal FA icon"); } @end From 7d0cd3f7715f1fdbef7673072c228263a586de56 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 22:14:02 -0800 Subject: [PATCH 073/170] version numbers 3.2.0 --- BButton.podspec | 2 +- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 8e7d6ba..930c4eb 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '3.1.1' + s.version = '3.2.0' s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' s.license = 'MIT License' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index f944edc..047a9aa 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.1.1 + 3.2.0 CFBundleSignature ???? CFBundleVersion - 3.1.1 + 3.2.0 LSRequiresIPhoneOS UIAppFonts From 7b259f6fdbb405f00f46d4fa0127e5118ac4e988 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 22:19:03 -0800 Subject: [PATCH 074/170] update unit tests --- BButtonDemoTests/BButtonDemoTests.m | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m index ac4c739..7ef3370 100644 --- a/BButtonDemoTests/BButtonDemoTests.m +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -32,16 +32,16 @@ - (void)testButtonInitMethods BButton *btn = [[BButton alloc] initWithFrame:frame type:BButtonTypeDefault style:BButtonStyleBootstrapV2]; XCTAssertNotNil(btn, @"Button should not be nil"); - - + XCTAssert([btn.color isEqual:[UIColor bb_defaultColorV2]], @"Colors should be equal"); btn = nil; btn = [[BButton alloc] initWithFrame:frame - type:BButtonTypeDefault - style:BButtonStyleBootstrapV2 + type:BButtonTypeWarning + style:BButtonStyleBootstrapV3 icon:FAIconAdjust fontSize:14.0f]; XCTAssertNotNil(btn, @"Button should not be nil"); + XCTAssert([btn.color isEqual:[UIColor bb_warningColorV3]], @"Colors should be equal"); @@ -69,7 +69,8 @@ - (void)testButtonInitMethods - (void)testButtonClassInitMethods { - BButton *btn = [BButton awesomeButtonWithOnlyIcon:FAIconUserMd type:BButtonTypeDefault style:BButtonStyleBootstrapV3]; + BButton *btn = [BButton awesomeButtonWithOnlyIcon:FAIconUserMd type:BButtonTypeSuccess style:BButtonStyleBootstrapV3]; + XCTAssert([btn.color isEqual:[UIColor bb_successColorV3]], @"Colors should be equal"); XCTAssertNotNil(btn, @"Button should not be nil"); XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); @@ -98,8 +99,9 @@ - (void)testFontAwesome NSString *btnTitle = @"Button Title"; FAIcon i = FAIconVolumeDown; BButton *btn = [[BButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 200.0f, 50.0f) - type:BButtonTypeDefault - style:BButtonStyleBootstrapV3]; + type:BButtonTypeInverse + style:BButtonStyleBootstrapV2]; + XCTAssert([btn.color isEqual:[UIColor bb_inverseColorV2]], @"Colors should be equal"); [btn setTitle:btnTitle forState:UIControlStateNormal]; XCTAssertEqual([btn.titleLabel.text length], [btnTitle length], @"Button title lengths should be equal"); From d097cddae074052b9adf695ccd39c9d752e0766c Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 23:00:20 -0800 Subject: [PATCH 075/170] documentation! whoo! --- BButton/Classes/BButton.h | 124 +++++++++++++++++++++++++++++++++++--- BButton/Classes/BButton.m | 36 +++++------ 2 files changed, 132 insertions(+), 28 deletions(-) diff --git a/BButton/Classes/BButton.h b/BButton/Classes/BButton.h index 4cad7b3..73ec191 100644 --- a/BButton/Classes/BButton.h +++ b/BButton/Classes/BButton.h @@ -23,12 +23,24 @@ #import "UIColor+BButton.h" #import "NSString+FontAwesome.h" +/** + * A constant describing the button style. + */ typedef NS_ENUM(NSUInteger, BButtonStyle) { + /** + * Styles the button like bootstrap version 2.x.x + */ BButtonStyleBootstrapV2, + /** + * Styles the button like bootstrap version 3.x.x + */ BButtonStyleBootstrapV3 }; +/** + * A constant describing the button type. This sets the button color. + */ typedef NS_ENUM(NSUInteger, BButtonType) { BButtonTypeDefault, BButtonTypePrimary, @@ -44,44 +56,136 @@ typedef NS_ENUM(NSUInteger, BButtonType) { }; +/** + * An instanace of `BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons and is drawn entirely with `CoreGraphics`. + */ @interface BButton : UIButton +/** + * The color of the button in its normal state. `BButton` automatically darks this color when the button enters its pressed state. The default value is `[UIColor bb_defaultColorV3]`, the color value associated with `BButtonTypeDefault`. @see BButtonType. + */ @property (strong, nonatomic) UIColor *color; + +/** + * The corner radius of the button. The default value is 6.0 for buttons initialized with style `BButtonStyleBootstrapV2`, or 4.0 for buttons initialized with style `BButtonStyleBootstrapV3`. @see BButtonType. + */ @property (strong, nonatomic) NSNumber *buttonCornerRadius UI_APPEARANCE_SELECTOR; + +/** + * A boolean value indicating whether or not the button should be drawn to reflect a disabled state when `enabled` is set to `NO`. The default value is `YES`. + */ @property (assign, nonatomic) BOOL shouldShowDisabled; #pragma mark - Initialization -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle; - +/** + * Initializes and returns a button having the given frame, type, and style. + * + * @param frame A rectangle specifying the initial location and size of the button in its superview's coordinates. + * @param type A constant that specifies the type of the button. @see BButtonType. + * @param style A constant that specifies the style of the button. @see BButtonStyle. + * + * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. + */ +- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)style; + +/** + * Initializes and returns a button having the given frame, type, style, icon, and font size. + * + * @param frame A rectangle specifying the initial location and size of the button in its superview's coordinates. + * @param type A constant that specifies the type of the button. @see BButtonType. + * @param style A constant that specifies the style of the button. @see BButtonStyle. + * @param icon A contant that specifies the FontAwesome icon of the button. @see FAIcon. + * @param fontSize A float specifying the font size of the button's `textLabel`. + * + * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. + */ - (id)initWithFrame:(CGRect)frame type:(BButtonType)type - style:(BButtonStyle)aStyle + style:(BButtonStyle)style icon:(FAIcon)icon fontSize:(CGFloat)fontSize; -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aStyle; - +/** + * Initializes and returns a button having the given frame, color, and style. + * + * @param frame A rectangle specifying the initial location and size of the button in its superview's coordinates. + * @param color A `UIColor` object specifying the color of the button. + * @param style A constant that specifies the style of the button. @see BButtonStyle. + * + * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. + */ +- (id)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style; + +/** + * Initializes and returns a button having the given frame, color, style, icon, and font size. + * + * @param frame A rectangle specifying the initial location and size of the button in its superview's coordinates. + * @param color A `UIColor` object specifying the color of the button. + * @param style A constant that specifies the style of the button. @see BButtonStyle. + * @param icon A contant that specifies the FontAwesome icon of the button. @see FAIcon. + * @param fontSize A float specifying the font size of the button's `textLabel`. + * + * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. + */ - (id)initWithFrame:(CGRect)frame - color:(UIColor *)aColor - style:(BButtonStyle)aStyle + color:(UIColor *)color + style:(BButtonStyle)style icon:(FAIcon)icon fontSize:(CGFloat)fontSize; +/** + * Initializes and returns a special icon-only button having the given icon, type, and style. The button frame is set with an origin of `(0.0, 0.0)` and a size of `(40.0, 40.0)`. The button font size is set to `20.0`. + * + * @param icon A contant that specifies the FontAwesome icon of the button. @see FAIcon. + * @param type A constant that specifies the type of the button. @see BButtonType. + * @param style A constant that specifies the style of the button. @see BButtonStyle. + * + * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. + */ + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon type:(BButtonType)type - style:(BButtonStyle)aStyle; - + style:(BButtonStyle)style; + +/** + * Initializes and returns a special icon-only button having the given icon, color, and style. The button frame is set with an origin of `(0.0, 0.0)` and a size of `(40.0, 40.0)`. The button font size is set to `20.0`. + * + * @param icon A contant that specifies the FontAwesome icon of the button. @see FAIcon. + * @param color A `UIColor` object specifying the color of the button. + * @param style A constant that specifies the style of the button. @see BButtonStyle. + * + * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. + */ + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon color:(UIColor *)color - style:(BButtonStyle)aStyle; + style:(BButtonStyle)style; #pragma mark - BButton +/** + * Sets the style of the button after. @see BButtonStyle. + * + * @param style A constant describing the button style. + * + * @bug If also setting the button type via `setType:`, *you must set the button style first*, via this method. + */ - (void)setStyle:(BButtonStyle)style; +/** + * Sets the type of the button. @see BButtonType. + * + * @param type A constant describing the button type. + */ - (void)setType:(BButtonType)type; +/** + * Adds the specified icon to the buttons's `titleLabel`, and sets `titleLabel.font` to `FontAwesome.ttf`. + * + * @param icon A constant describing the FontAwesome Icon. @see FAIcon. + * @param before A boolean value indicating if the icon should be placed before or after any existing text. Pass `YES` to place the icon before the text, and `NO` to place the icon after the text. + * + * @warning A single space is inserted between the added icon and existing text. + */ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before; @end \ No newline at end of file diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index c5ccb8f..2dbbe6c 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -85,44 +85,44 @@ - (void)setTextAttributesForStyle:(BButtonStyle)aStyle #pragma mark - Initialization -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)aStyle +- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)style { return [self initWithFrame:frame - color:[BButton colorForButtonType:type style:aStyle] - style:aStyle]; + color:[BButton colorForButtonType:type style:style] + style:style]; } - (id)initWithFrame:(CGRect)frame type:(BButtonType)type - style:(BButtonStyle)aStyle + style:(BButtonStyle)style icon:(FAIcon)icon fontSize:(CGFloat)fontSize { return [self initWithFrame:frame - color:[BButton colorForButtonType:type style:aStyle] - style:aStyle + color:[BButton colorForButtonType:type style:style] + style:style icon:icon fontSize:fontSize]; } -- (id)initWithFrame:(CGRect)frame color:(UIColor *)aColor style:(BButtonStyle)aStyle +- (id)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style { self = [self initWithFrame:frame]; if(self) { - _buttonStyle = aStyle; - [self setColor:aColor]; - [self setTextAttributesForStyle:aStyle]; + _buttonStyle = style; + [self setColor:color]; + [self setTextAttributesForStyle:style]; } return self; } - (id)initWithFrame:(CGRect)frame - color:(UIColor *)aColor - style:(BButtonStyle)aStyle + color:(UIColor *)color + style:(BButtonStyle)style icon:(FAIcon)icon fontSize:(CGFloat)fontSize { - self = [self initWithFrame:frame color:aColor style:aStyle]; + self = [self initWithFrame:frame color:color style:style]; if(self) { [[self titleLabel] setFont:[UIFont fontWithName:kFontAwesomeFont size:fontSize]]; [[self titleLabel] setTextAlignment:NSTextAlignmentCenter]; @@ -162,20 +162,20 @@ - (void)dealloc + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon type:(BButtonType)type - style:(BButtonStyle)aStyle + style:(BButtonStyle)style { return [BButton awesomeButtonWithOnlyIcon:icon - color:[BButton colorForButtonType:type style:aStyle] - style:aStyle]; + color:[BButton colorForButtonType:type style:style] + style:style]; } + (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon color:(UIColor *)color - style:(BButtonStyle)aStyle + style:(BButtonStyle)style { return [[BButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 40.0f) color:color - style:aStyle + style:style icon:icon fontSize:20.0f]; } From 65ec79282986063920850a22f5f1108266e79470 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 12 Nov 2013 23:08:11 -0800 Subject: [PATCH 076/170] update spec --- BButton.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BButton.podspec b/BButton.podspec index 930c4eb..4c105ca 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -4,7 +4,7 @@ Pod::Spec.new do |s| s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' s.license = 'MIT License' - s.author = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com' } + s.author = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com', 'Mathieu Bolard' => 'mattlawer08@gmail.com' } s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } s.platform = :ios, '6.0' s.source_files = 'BButton/Classes/*' From 0cb88ecdec772f6cceda6aa314f3133e46c2b888 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 00:11:26 -0800 Subject: [PATCH 077/170] schemes for travis-ci --- .../xcschemes/BButtonDemo.xcscheme | 96 +++++++++++++++++++ .../xcschemes/BButtonDemoTests.xcscheme | 53 ++++++++++ 2 files changed, 149 insertions(+) create mode 100644 BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme create mode 100644 BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme new file mode 100644 index 0000000..e12db92 --- /dev/null +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme new file mode 100644 index 0000000..46c8a97 --- /dev/null +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + From 8154ae99a42a7e8d67440fc9338e298023ca87cd Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 00:18:39 -0800 Subject: [PATCH 078/170] update travis yml --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 58423c4..0246696 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: objective-c +script: + - xcodebuild -project BButtonDemo.xcodeproj -target BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO + - xctool test -project BButtonDemo.xcodeproj -target BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO + branches: only: - master \ No newline at end of file From 72af3d675b11a43bb1d4eafaed8387bfa0506f90 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 00:31:12 -0800 Subject: [PATCH 079/170] fix travis yml --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0246696..3711e86 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ language: objective-c script: - - xcodebuild -project BButtonDemo.xcodeproj -target BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO - - xctool test -project BButtonDemo.xcodeproj -target BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO +- xcodebuild -project BButtonDemo.xcodeproj -target BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO +- xctool test -project BButtonDemo.xcodeproj -target BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO branches: - only: - - master \ No newline at end of file +only: +- master \ No newline at end of file From d161a2269f21a054d0f8daf878d6f5f2e4c5acb6 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 22:32:43 -0800 Subject: [PATCH 080/170] remove self from notification center. closes #15. --- BButton/Classes/BButton.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 2dbbe6c..914175a 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -156,6 +156,9 @@ - (void)dealloc _color = nil; _buttonCornerRadius = nil; kFontAwesomeStrings = nil; + [[NSNotificationCenter defaultCenter] removeObserver:self + name:UIApplicationDidReceiveMemoryWarningNotification + object:nil]; } #pragma mark - Class initialization From 2bcaffaab6686537399a4b23a4c30b25fdbe20f2 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 22:33:39 -0800 Subject: [PATCH 081/170] fix travis --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3711e86..2fcbe7d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,6 @@ language: objective-c script: - xcodebuild -project BButtonDemo.xcodeproj -target BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO -- xctool test -project BButtonDemo.xcodeproj -target BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO branches: only: From c0bd0fbd72429d46644e30f4786364be04dd28b4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 22:37:25 -0800 Subject: [PATCH 082/170] fix travis --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2fcbe7d..f15fc1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,5 @@ language: objective-c -script: -- xcodebuild -project BButtonDemo.xcodeproj -target BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO - branches: only: - master \ No newline at end of file From 56174f94e9383b6df31e7c0ee68004de2c1dfdd7 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 23:07:06 -0800 Subject: [PATCH 083/170] version nums --- BButton.podspec | 2 +- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 4c105ca..b7937ef 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '3.2.0' + s.version = '3.2.1' s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' s.license = 'MIT License' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 047a9aa..aeda44c 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.2.0 + 3.2.1 CFBundleSignature ???? CFBundleVersion - 3.2.0 + 3.2.1 LSRequiresIPhoneOS UIAppFonts From fb859cbb7f332a52e5ed8eaeded785146de58151 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 23:15:04 -0800 Subject: [PATCH 084/170] fix travis --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index f15fc1a..f81d9be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: objective-c +xcode_project: BButtonDemo.xcodeproj + +xcode_scheme: BButtonDemo + branches: only: - master \ No newline at end of file From 8b689edeea294dce9380abc5dd80532b32933446 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 23:23:43 -0800 Subject: [PATCH 085/170] prject settings --- BButtonDemo.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index cc29393..c49c3ab 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -445,6 +445,7 @@ GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; + ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -459,6 +460,7 @@ GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; + ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; From 75b2acd381471cbb32dd72cbb3c1b74992fa765d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 23:26:27 -0800 Subject: [PATCH 086/170] fix build warnings --- BButton/Classes/UIColor+BButton.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton/Classes/UIColor+BButton.m b/BButton/Classes/UIColor+BButton.m index 6feb128..f57d8df 100644 --- a/BButton/Classes/UIColor+BButton.m +++ b/BButton/Classes/UIColor+BButton.m @@ -126,7 +126,7 @@ - (UIColor *)bb_desaturatedColorToPercentSaturation:(CGFloat)percent - (UIColor *)bb_lightenColorWithValue:(CGFloat)value { - int totalComponents = CGColorGetNumberOfComponents(self.CGColor); + NSUInteger totalComponents = CGColorGetNumberOfComponents(self.CGColor); BOOL isGreyscale = (totalComponents == 2) ? YES : NO; CGFloat *oldComponents = (CGFloat *)CGColorGetComponents(self.CGColor); @@ -157,7 +157,7 @@ - (UIColor *)bb_lightenColorWithValue:(CGFloat)value - (UIColor *)bb_darkenColorWithValue:(CGFloat)value { - int totalComponents = CGColorGetNumberOfComponents(self.CGColor); + NSUInteger totalComponents = CGColorGetNumberOfComponents(self.CGColor); BOOL isGreyscale = (totalComponents == 2) ? YES : NO; CGFloat *oldComponents = (CGFloat *)CGColorGetComponents(self.CGColor); @@ -188,7 +188,7 @@ - (UIColor *)bb_darkenColorWithValue:(CGFloat)value - (BOOL)bb_isLightColor { - int totalComponents = CGColorGetNumberOfComponents(self.CGColor); + NSUInteger totalComponents = CGColorGetNumberOfComponents(self.CGColor); BOOL isGreyscale = (totalComponents == 2) ? YES : NO; CGFloat *components = (CGFloat *)CGColorGetComponents(self.CGColor); From 73339a97641913ab4f79d3d28cfe125b10f9af0d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 13 Nov 2013 23:36:28 -0800 Subject: [PATCH 087/170] edit schemes --- .../xcshareddata/WorkspaceSettings.xcsettings | 8 ++++++++ .../xcshareddata/xcschemes/BButtonDemo.xcscheme | 10 ---------- 2 files changed, 8 insertions(+), 10 deletions(-) create mode 100644 BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..08de0be --- /dev/null +++ b/BButtonDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme index e12db92..3d8041f 100644 --- a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme @@ -28,16 +28,6 @@ shouldUseLaunchSchemeArgsEnv = "YES" buildConfiguration = "Debug"> - - - - Date: Wed, 13 Nov 2013 23:42:03 -0800 Subject: [PATCH 088/170] project settings --- BButtonDemo.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index c49c3ab..46ab3e8 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -441,12 +441,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; WRAPPER_EXTENSION = app; }; name = Debug; @@ -456,12 +458,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; WRAPPER_EXTENSION = app; }; name = Release; From 9d40a79d0aacc3b240e3c4fe857532925414ee10 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 00:02:37 -0800 Subject: [PATCH 089/170] update travis --- .travis.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f81d9be..227efb6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,10 @@ language: objective-c -xcode_project: BButtonDemo.xcodeproj - -xcode_scheme: BButtonDemo +before_install: + - brew update + - brew install xctool + +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo test branches: only: From cbdbf1bb0ae298b1f8cb736441a8e6954a4bcd3e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 00:05:52 -0800 Subject: [PATCH 090/170] update travis --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 227efb6..954cb85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,5 @@ language: objective-c -before_install: - - brew update - - brew install xctool - script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo test branches: From fc9e4cfc7f620461bb2d7a3c52b0e30fa9c4ab6e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 00:12:13 -0800 Subject: [PATCH 091/170] revert travis. fuck it. --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 954cb85..f81d9be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo test +xcode_project: BButtonDemo.xcodeproj + +xcode_scheme: BButtonDemo branches: only: From 28ddd5fbd197e0d0b2a8c7661efba302fa8c904b Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 10:08:07 -0800 Subject: [PATCH 092/170] edit travis script --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f81d9be..773e1de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,6 @@ language: objective-c -xcode_project: BButtonDemo.xcodeproj - -xcode_scheme: BButtonDemo +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO build test branches: only: From f47acb91c18f162bf85ab63012b2a2fa0411539f Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 21:52:29 -0800 Subject: [PATCH 093/170] documentation --- BButton/Classes/BButton.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BButton/Classes/BButton.h b/BButton/Classes/BButton.h index 73ec191..2ae0644 100644 --- a/BButton/Classes/BButton.h +++ b/BButton/Classes/BButton.h @@ -28,11 +28,11 @@ */ typedef NS_ENUM(NSUInteger, BButtonStyle) { /** - * Styles the button like bootstrap version 2.x.x + * Styles the button like bootstrap version 2.x.x. */ BButtonStyleBootstrapV2, /** - * Styles the button like bootstrap version 3.x.x + * Styles the button like bootstrap version 3.x.x. */ BButtonStyleBootstrapV3 }; From 48b2a9320bfd716a219a412aff6b85f6d30455e8 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 21:53:24 -0800 Subject: [PATCH 094/170] second attempt to fix invalid context 0x0 bugs. closes #13. --- BButton/Classes/BButton.m | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 914175a..4cc51fb 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -429,6 +429,9 @@ - (void)drawRect:(CGRect)rect CGContextRef context = UIGraphicsGetCurrentContext(); + if(!context) + return; + switch (self.buttonStyle) { case BButtonStyleBootstrapV2: [self drawBButtonStyleV2InRect:rect withContext:&context]; @@ -484,20 +487,20 @@ - (void)drawBButtonStyleV2InRect:(CGRect)rect withContext:(CGContextRef *)contex roundedRectangleNegativePath.usesEvenOddFillRule = YES; CGContextSaveGState(*context); - { - CGFloat xOffset = shadowOffset.width + round(roundedRectangleBorderRect.size.width); - CGFloat yOffset = shadowOffset.height; - CGContextSetShadowWithColor(*context, - CGSizeMake(xOffset + copysign(0.1f, xOffset), yOffset + copysign(0.1f, yOffset)), - shadowBlurRadius, - shadow.CGColor); - - [roundedRectanglePath addClip]; - CGAffineTransform transform = CGAffineTransformMakeTranslation(-round(roundedRectangleBorderRect.size.width), 0.0f); - [roundedRectangleNegativePath applyTransform: transform]; - [[UIColor grayColor] setFill]; - [roundedRectangleNegativePath fill]; - } + + CGFloat xOffset = shadowOffset.width + round(roundedRectangleBorderRect.size.width); + CGFloat yOffset = shadowOffset.height; + CGContextSetShadowWithColor(*context, + CGSizeMake(xOffset + copysign(0.1f, xOffset), yOffset + copysign(0.1f, yOffset)), + shadowBlurRadius, + shadow.CGColor); + + [roundedRectanglePath addClip]; + CGAffineTransform transform = CGAffineTransformMakeTranslation(-round(roundedRectangleBorderRect.size.width), 0.0f); + [roundedRectangleNegativePath applyTransform: transform]; + [[UIColor grayColor] setFill]; + [roundedRectangleNegativePath fill]; + CGContextRestoreGState(*context); } From 600a3de040584b91ee6ce39c987a7e7d0f0f25f4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 21:54:19 -0800 Subject: [PATCH 095/170] bump version nums --- BButton.podspec | 2 +- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index b7937ef..29b4849 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '3.2.1' + s.version = '3.2.2' s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' s.license = 'MIT License' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index aeda44c..9955542 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.2.1 + 3.2.2 CFBundleSignature ???? CFBundleVersion - 3.2.1 + 3.2.2 LSRequiresIPhoneOS UIAppFonts From c71ce1a4c440d46a21c57225e46626fe2a08f0a3 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:11:02 -0800 Subject: [PATCH 096/170] proj settings --- BButtonDemo.xcodeproj/project.pbxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index 46ab3e8..fc9e86d 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -487,6 +487,7 @@ "$(inherited)", ); INFOPLIST_FILE = "BButtonDemoTests/BButtonDemoTests-Info.plist"; + ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; From 40f39f9b17f5720417faaa4c2ca05a43897e85fd Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:13:53 -0800 Subject: [PATCH 097/170] edit travis script --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 773e1de..80bd172 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO build test +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO ARCH=x86_64 build test branches: only: From d10a20f87ca9e0e74822fb28d52c5827e082fb51 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:16:59 -0800 Subject: [PATCH 098/170] edit travis script --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 80bd172..773e1de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO ARCH=x86_64 build test +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO build test branches: only: From 355917d3b134228662b64a9f7b8b6f1550254b32 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:21:36 -0800 Subject: [PATCH 099/170] edit travis script --- .travis.yml | 2 +- .../xcschemes/BButtonDemoTests.xcscheme | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 773e1de..6149ae6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO build test +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test branches: only: diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme index 46c8a97..bb99f03 100644 --- a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme @@ -5,6 +5,36 @@ + + + + + + + + + + Date: Thu, 14 Nov 2013 22:28:43 -0800 Subject: [PATCH 100/170] change storyboard to open in Xchode 4.6 to make travis ci happy --- BButtonDemo/Base.lproj/Main.storyboard | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/BButtonDemo/Base.lproj/Main.storyboard b/BButtonDemo/Base.lproj/Main.storyboard index e0a9275..1248176 100644 --- a/BButtonDemo/Base.lproj/Main.storyboard +++ b/BButtonDemo/Base.lproj/Main.storyboard @@ -1,6 +1,8 @@ - + + + @@ -8,12 +10,8 @@ - - - - - + From c073b23a9ac542cc667bd2c263fd644b54254181 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:33:21 -0800 Subject: [PATCH 101/170] add test script to travis --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6149ae6..ea319d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test +script: +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test branches: only: From d9d5783221aa2909b0a9d59b38dff7f651d2dca1 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:37:09 -0800 Subject: [PATCH 102/170] update test script --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ea319d0..db02920 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: objective-c script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO test branches: only: From 236981ee9df8bc05297a1dec82993be1d208635a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 22:40:46 -0800 Subject: [PATCH 103/170] revert to previous script --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index db02920..853b34b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,7 @@ language: objective-c script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO test +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test branches: only: From a004e0d99fe61489cf12401d80458a147cd2f940 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 14 Nov 2013 23:59:03 -0800 Subject: [PATCH 104/170] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ef5cf04..93f3ad3 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ ## Documentation -Documentation is [available here](http://cocoadocs.org/docsets/BButton/3.2.0) via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! +Documentation is [available here](http://cocoadocs.org/docsets/BButton) via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! ## Customization @@ -83,6 +83,8 @@ Forked, refactored, updated, maintained by [@Jesse Squires](https://twitter.com/ FontAwesome-for-iOS by Pit Garbe, [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS). +Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs/contributors) of this project. + ## Apps Using This Control [Gitty for GitHub](https://itunes.apple.com/us/app/gitty-for-github/id645696309?mt=8) From dee3569bf05f56122876c7ed16aa3dce56fc11b7 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 15 Nov 2013 00:05:07 -0800 Subject: [PATCH 105/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 93f3ad3..dd190b5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)](http://cocoadocs.org/docsets/BButton) [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. From 5137b83486b545392c0506416873cf25ec2fd0c8 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 15 Nov 2013 09:50:36 -0800 Subject: [PATCH 106/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd190b5..acfd4ff 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ ## Documentation -Documentation is [available here](http://cocoadocs.org/docsets/BButton) via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! +Documentation is [available here](http://cocoadocs.org/docsets/BButton/3.2.2) via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! ## Customization From 01eeb4d4191b523ab1eb9f31701fc80024a9b63b Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Fri, 15 Nov 2013 09:54:32 -0800 Subject: [PATCH 107/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index acfd4ff..2b8ac21 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)](http://cocoadocs.org/docsets/BButton) +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)](http://cocoadocs.org/docsets/BButton/3.2.2) [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. From efa6cde51b29505e2a0d221c99441bd5a3f1252a Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 18 Nov 2013 00:18:41 -0800 Subject: [PATCH 108/170] update readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2b8ac21..9484b4b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)](http://cocoadocs.org/docsets/BButton/3.2.2) +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. @@ -47,7 +47,7 @@ ## Documentation -Documentation is [available here](http://cocoadocs.org/docsets/BButton/3.2.2) via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! +Documentation is [available here][docsLink] via [CocoaDocs](http://cocoadocs.org). Thanks [@CocoaDocs](https://twitter.com/CocoaDocs)! ## Customization @@ -117,6 +117,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI * Attribution is no longer required in Font Awesome 3.0, but much appreciated: * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* +[docsLink]:http://cocoadocs.org/docsets/BButton/3.2.2 + [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png [img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png From 6b4d5911578bb874b26e1f3e17e68bab85dc79c5 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 20 Nov 2013 22:36:08 -0800 Subject: [PATCH 109/170] update SB and travis --- .travis.yml | 5 ++--- BButtonDemo/Base.lproj/Main.storyboard | 11 +++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 853b34b..2564ab8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: objective-c - -script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test +xcode_project: BButtonDemo.xcodeproj +xcode_scheme: BButtonDemoTests branches: only: diff --git a/BButtonDemo/Base.lproj/Main.storyboard b/BButtonDemo/Base.lproj/Main.storyboard index 1248176..378237c 100644 --- a/BButtonDemo/Base.lproj/Main.storyboard +++ b/BButtonDemo/Base.lproj/Main.storyboard @@ -1,17 +1,20 @@ - + - - + + + + + - + From 1df1fab725585a01fb2696e5a3dd1ce59d9e06d5 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 20 Nov 2013 22:50:46 -0800 Subject: [PATCH 110/170] update travis --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2564ab8..4e52bd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,10 @@ language: objective-c + xcode_project: BButtonDemo.xcodeproj -xcode_scheme: BButtonDemoTests + +xcode_scheme: +- BButtonDemo +- BButtonDemoTests branches: only: From 9b885ce1d6204c8adf19f435dbed4e42ae1f27aa Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 20 Nov 2013 22:55:43 -0800 Subject: [PATCH 111/170] revert travis --- .travis.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4e52bd2..6149ae6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,6 @@ language: objective-c -xcode_project: BButtonDemo.xcodeproj - -xcode_scheme: -- BButtonDemo -- BButtonDemoTests +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test branches: only: From 7294f7c3f36c4829b4fe4e3872559a71c9afc9a2 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 20 Nov 2013 22:55:58 -0800 Subject: [PATCH 112/170] remove arch --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6149ae6..773e1de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator -arch i386 ONLY_ACTIVE_ARCH=NO build test +script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO build test branches: only: From 974cf86b251f7c649bcc7d4ad280b9df19a4c660 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 20 Nov 2013 23:26:34 -0800 Subject: [PATCH 113/170] fix travis scripts. AGAIN. --- .travis.yml | 4 +++- BButtonDemo.xcodeproj/project.pbxproj | 4 ++++ .../xcshareddata/xcschemes/BButtonDemoTests.xcscheme | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 773e1de..0528486 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ language: objective-c -script: xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO build test +script: +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests branches: only: diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index fc9e86d..30799a9 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -475,6 +475,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BButtonDemo.app/BButtonDemo"; + CODE_SIGN_IDENTITY = ""; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -489,6 +490,7 @@ INFOPLIST_FILE = "BButtonDemoTests/BButtonDemoTests-Info.plist"; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; }; @@ -499,6 +501,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BButtonDemo.app/BButtonDemo"; + CODE_SIGN_IDENTITY = ""; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -508,6 +511,7 @@ GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemoTests/BButtonDemoTests-Info.plist"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; }; diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme index bb99f03..c3f8fd8 100644 --- a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme @@ -8,7 +8,7 @@ @@ -22,7 +22,7 @@ From 223c5d74fe4cc89ccf6b08a7cd2dc4e6f34ff89d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 20 Nov 2013 23:52:31 -0800 Subject: [PATCH 114/170] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9484b4b..b6e2925 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. -`BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons, drawn entirely with `CoreGraphics`. +`BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons, and is drawn entirely with `CoreGraphics`. ![BButton Screenshot 1][img1]      ![BButton Screenshot 2][img2] From 332e58a802a075dbf8d011478cd47c984c968dc7 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 21 Nov 2013 21:36:01 -0800 Subject: [PATCH 115/170] attempt to prevent travis-ci bug --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0528486..fb78282 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: objective-c script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build test +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests -freshSimulator -freshInstall branches: only: From e18540ceb0aae35e6e83ad0c314e2b6fcdde6a81 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 21 Nov 2013 21:39:46 -0800 Subject: [PATCH 116/170] font awesome docs --- BButton/Classes/NSString+FontAwesome.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index a9276b6..a10da63 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -34,8 +34,14 @@ #import +/** + * A string constant for the Font Awesome font family name. + */ extern NSString * const kFontAwesomeFont; +/** + * A constant describing the available Font Awesome Icons. + */ typedef NS_ENUM(NSUInteger, FAIcon) { FAIconGlass, FAIconMusic, @@ -342,8 +348,19 @@ typedef NS_ENUM(NSUInteger, FAIcon) { @interface NSString (FontAwesome) +/** + * + * @return An array of all the font awesome icon strings. + */ + (NSArray *)fa_allFontAwesomeStrings; +/** + * + * @param strings An array of all the font awesome icon strings. + * @param icon A constant describing a font awesome icon. + * + * @return The font awesome icon string associated with the given icon. + */ + (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings forIcon:(FAIcon)icon; From a9f267d6ff072682c3448ce858dab1c461a5f57f Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 21 Nov 2013 21:41:18 -0800 Subject: [PATCH 117/170] bump version nums 3.2.3 --- BButton.podspec | 2 +- BButtonDemo/BButtonDemo-Info.plist | 4 ++-- README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 29b4849..55a1d54 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '3.2.2' + s.version = '3.2.3' s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' s.license = 'MIT License' diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 9955542..974abf6 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.2.2 + 3.2.3 CFBundleSignature ???? CFBundleVersion - 3.2.2 + 3.2.3 LSRequiresIPhoneOS UIAppFonts diff --git a/README.md b/README.md index 9484b4b..177702f 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI * Attribution is no longer required in Font Awesome 3.0, but much appreciated: * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* -[docsLink]:http://cocoadocs.org/docsets/BButton/3.2.2 +[docsLink]:http://cocoadocs.org/docsets/BButton/3.2.3 [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png From a26056cdd01fd9356ab87e77df8236cc5c1a9187 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 8 Dec 2013 17:22:47 -0800 Subject: [PATCH 118/170] Update README.md --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 4e55a20..e87e871 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,18 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs [iExplorer for DeviantART](https://itunes.apple.com/us/app/iexplorer-for-deviantart/id657212778?mt=8) +[Travel Delay NYC](https://itunes.apple.com/us/app/train-delay-nyc-subway-status/id384027573?mt=8) + +[Libraries for Developers](https://itunes.apple.com/us/app/libraries-for-developers/id653427112?mt=8) + +[CPU Monitor](https://itunes.apple.com/us/app/cpumonitor/id680137811?mt=8) + +[OpenWatch](https://itunes.apple.com/us/app/openwatch-free-video-streaming/id642680756?mt=8) + +[VSNotes](https://itunes.apple.com/us/app/vsnotes/id695433001?mt=8) + +[Crew Scout](https://itunes.apple.com/us/app/crew-scout/id721124938?mt=8) + *[Contact me](mailto:jesse.squires.developer@gmail.com) to have your app listed here.* ## [MIT License](http://opensource.org/licenses/MIT) From 5938149f3f26d993386b361a075656bec1dbc0b0 Mon Sep 17 00:00:00 2001 From: Bitdeli Chef Date: Mon, 9 Dec 2013 17:54:18 +0000 Subject: [PATCH 119/170] Add a Bitdeli badge to README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index e87e871..da2af65 100644 --- a/README.md +++ b/README.md @@ -136,3 +136,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI [img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png [img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png [img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-5.png + + +[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/jessesquires/bbutton/trend.png)](https://bitdeli.com/free "Bitdeli Badge") + From fee82482c7123384f144a3847c0111e063351bfb Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 15 Dec 2013 21:33:17 -0800 Subject: [PATCH 120/170] update spec --- BButton.podspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index 55a1d54..cb0bb39 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -3,9 +3,9 @@ Pod::Spec.new do |s| s.version = '3.2.3' s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' - s.license = 'MIT License' - s.author = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com', 'Mathieu Bolard' => 'mattlawer08@gmail.com' } - s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } + s.license = 'MIT' + s.authors = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com', 'Mathieu Bolard' => 'mattlawer08@gmail.com' } + s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } s.platform = :ios, '6.0' s.source_files = 'BButton/Classes/*' s.resource = 'BButton/Resources/*' From e8805ef8a6646424085ff18178db5df4834811a3 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Sun, 15 Dec 2013 21:44:26 -0800 Subject: [PATCH 121/170] Update README.md --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index da2af65..afc56e1 100644 --- a/README.md +++ b/README.md @@ -115,11 +115,11 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ##[FontAwesome](https://github.com/FortAwesome/Font-Awesome) License @@ -137,6 +137,4 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI [img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png [img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-5.png - [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/jessesquires/bbutton/trend.png)](https://bitdeli.com/free "Bitdeli Badge") - From 87f9100a74543a72dbf9124b802133ad31e0e0d9 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 23 Dec 2013 23:10:28 -0500 Subject: [PATCH 122/170] update README --- README.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index afc56e1..234e9b9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] [![license MIT](http://b.repl.ca/v1/license-MIT-blue.png)][mitLink] [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. @@ -63,17 +63,18 @@ Documentation is [available here][docsLink] via [CocoaDocs](http://cocoadocs.org ## How To Contribute -1. [Find an issue](https://github.com/jessesquires/BButton/issues?sort=created&state=open) to work on, or create a new one. -2. Fork me. -3. Create a new branch with a sweet fucking name: `git checkout -b issue_<##>_`. +1. [Find an issue](https://github.com/jessesquires/BButton/issues?sort=created&state=open) to work on, or create a new one +2. Fork me +3. Create a new branch with a sweet fucking name: `git checkout -b issue_<##>_` 4. Do some motherfucking programming -5. Write Unit Tests, if you can -6. Keep your code nice and clean by adhering to Google's [Objective-C Style Guide](http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml) and Apple's [Coding Guidelines for Cocoa](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html). -7. Don't break shit, especially `master`. -8. Update the documentation header comments. -9. Update the pod spec and project version numbers, adhering to the [semantic versioning](http://semver.org) specification. -10. Submit a pull request. -11. See step 1. +5. Write [unit tests](http://nshipster.com/unit-testing), if possible +6. Keep your code nice and clean by adhering to the following standards: + * Google's [Objective-C Style Guide](http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml) + * Apple's [Coding Guidelines for Cocoa](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html) +7. Don't break shit, like unit tests +8. Update the documentation header comments, if needed +9. Merge the latest from `develop` and **resolve any conflicts** (*before submitting a pull request!*) +10. Submit a pull request to the `develop` **[branch](https://github.com/jessesquires/BButton/tree/develop)** ## Credits @@ -111,7 +112,7 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs *[Contact me](mailto:jesse.squires.developer@gmail.com) to have your app listed here.* -## [MIT License](http://opensource.org/licenses/MIT) +## [MIT License][mitLink] Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. @@ -130,6 +131,7 @@ Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* [docsLink]:http://cocoadocs.org/docsets/BButton/3.2.3 +[mitLink]:http://opensource.org/licenses/MIT [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png [img2]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-2.png From 81653607e4ad25e38d9b69e71efa96c198ae5805 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 25 Dec 2013 16:52:27 -0500 Subject: [PATCH 123/170] update travis --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index fb78282..7fc5b47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,3 @@ language: objective-c script: - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build test - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests -freshSimulator -freshInstall - -branches: -only: -- master \ No newline at end of file From ec295c59b85a11db01409d16407d3d71868c9c16 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 25 Dec 2013 16:53:26 -0500 Subject: [PATCH 124/170] Update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 234e9b9..145ceca 100644 --- a/README.md +++ b/README.md @@ -78,9 +78,9 @@ Documentation is [available here][docsLink] via [CocoaDocs](http://cocoadocs.org ## Credits -Created by [@Mathieu Bolard](https://twitter.com/mattlawer) (Original project here: [@mattlawer / BButton](https://github.com/mattlawer/BButton)). +Created by [@mattlawer](https://twitter.com/mattlawer) (Original project here: [@mattlawer / BButton](https://github.com/mattlawer/BButton)). -Forked, refactored, updated, maintained by [@Jesse Squires](https://twitter.com/jesse_squires), a [programming-motherfucker](http://programming-motherfucker.com). +Forked, refactored, updated, maintained by [@jesse_squires](https://twitter.com/jesse_squires), a [programming-motherfucker](http://programming-motherfucker.com). FontAwesome-for-iOS by Pit Garbe, [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS). From cb2eb6f36965df0868c9045257f5de5c9d043c71 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 25 Dec 2013 18:36:58 -0500 Subject: [PATCH 125/170] add social media url --- BButton.podspec | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index cb0bb39..a24f880 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,14 +1,15 @@ Pod::Spec.new do |s| - s.name = 'BButton' - s.version = '3.2.3' - s.summary = 'Twitter Bootstrap buttons for iOS' - s.homepage = 'https://github.com/jessesquires/BButton' - s.license = 'MIT' - s.authors = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com', 'Mathieu Bolard' => 'mattlawer08@gmail.com' } - s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } - s.platform = :ios, '6.0' - s.source_files = 'BButton/Classes/*' - s.resource = 'BButton/Resources/*' - s.framework = 'CoreGraphics' - s.requires_arc = true + s.name = 'BButton' + s.version = '3.2.3' + s.summary = 'Twitter Bootstrap buttons for iOS' + s.homepage = 'https://github.com/jessesquires/BButton' + s.social_media_url = 'https://twitter.com/jesse_squires' + s.license = 'MIT' + s.authors = { 'Jesse Squires' => 'jesse.squires.developer@gmail.com', 'Mathieu Bolard' => 'mattlawer08@gmail.com' } + s.source = { :git => 'https://github.com/jessesquires/BButton.git', :tag => s.version.to_s } + s.platform = :ios, '6.0' + s.source_files = 'BButton/Classes/*' + s.resource = 'BButton/Resources/*' + s.framework = 'CoreGraphics' + s.requires_arc = true end From 53875aec45975c5289c18856858df4e64bcd10f3 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 26 Dec 2013 13:43:16 -0500 Subject: [PATCH 126/170] update README --- README.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/README.md b/README.md index 145ceca..e28f7d9 100644 --- a/README.md +++ b/README.md @@ -63,18 +63,7 @@ Documentation is [available here][docsLink] via [CocoaDocs](http://cocoadocs.org ## How To Contribute -1. [Find an issue](https://github.com/jessesquires/BButton/issues?sort=created&state=open) to work on, or create a new one -2. Fork me -3. Create a new branch with a sweet fucking name: `git checkout -b issue_<##>_` -4. Do some motherfucking programming -5. Write [unit tests](http://nshipster.com/unit-testing), if possible -6. Keep your code nice and clean by adhering to the following standards: - * Google's [Objective-C Style Guide](http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml) - * Apple's [Coding Guidelines for Cocoa](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html) -7. Don't break shit, like unit tests -8. Update the documentation header comments, if needed -9. Merge the latest from `develop` and **resolve any conflicts** (*before submitting a pull request!*) -10. Submit a pull request to the `develop` **[branch](https://github.com/jessesquires/BButton/tree/develop)** +Please follow these sweet [contribution guidelines](https://github.com/jessesquires/HowToContribute). ## Credits From 5203ccc1d700075f6c3309bfcc51eb91a09082e1 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Apr 2014 23:03:23 -0700 Subject: [PATCH 127/170] update README --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index e28f7d9..0760104 100644 --- a/README.md +++ b/README.md @@ -127,5 +127,3 @@ Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. [img3]:https://raw.github.com/jessesquires/BButton/master/Screenshots/plist.png [img4]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-4.png [img5]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-5.png - -[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/jessesquires/bbutton/trend.png)](https://bitdeli.com/free "Bitdeli Badge") From eadfe0a6c15bd57df2315ccdfe755d416ea345ad Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Apr 2014 23:08:05 -0700 Subject: [PATCH 128/170] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0760104..4e574d4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.png)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] [![license MIT](http://b.repl.ca/v1/license-MIT-blue.png)][mitLink] +# BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.svg)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] [![license MIT](http://b.repl.ca/v1/license-MIT-blue.png)][mitLink] [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. From ce01ae86816f9eb677a4bd3e6740a9892de49ce4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Apr 2014 23:09:04 -0700 Subject: [PATCH 129/170] update travis build script --- .travis.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7fc5b47..b77f5bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,11 @@ language: objective-c +before_install: +- gem install cocoapods +- brew update +- brew unlink xctool +- brew install xctool + script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build test -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests -freshSimulator -freshInstall +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests -freshInstall From bc541c5bd71ace11816be989036d3166bae541dd Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Apr 2014 23:13:31 -0700 Subject: [PATCH 130/170] update project settings --- BButtonDemo.xcodeproj/project.pbxproj | 6 +----- .../xcshareddata/xcschemes/BButtonDemo.xcscheme | 2 +- .../xcshareddata/xcschemes/BButtonDemoTests.xcscheme | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index 30799a9..b4949a8 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -251,7 +251,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = TWBS; - LastUpgradeCheck = 0500; + LastUpgradeCheck = 0510; ORGANIZATIONNAME = "Hexed Bits"; TargetAttributes = { 88F28F37183336920044C99F = { @@ -368,7 +368,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -407,7 +406,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -473,7 +471,6 @@ 88F28F4D183336920044C99F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BButtonDemo.app/BButtonDemo"; CODE_SIGN_IDENTITY = ""; FRAMEWORK_SEARCH_PATHS = ( @@ -499,7 +496,6 @@ 88F28F4E183336920044C99F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BButtonDemo.app/BButtonDemo"; CODE_SIGN_IDENTITY = ""; FRAMEWORK_SEARCH_PATHS = ( diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme index 3d8041f..7e08bc9 100644 --- a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme @@ -1,6 +1,6 @@ Date: Tue, 15 Apr 2014 23:16:38 -0700 Subject: [PATCH 131/170] use instancetype for init methods --- BButton/Classes/BButton.h | 36 ++++++++++++------------ BButton/Classes/BButton.m | 58 +++++++++++++++++++-------------------- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/BButton/Classes/BButton.h b/BButton/Classes/BButton.h index 2ae0644..f84947b 100644 --- a/BButton/Classes/BButton.h +++ b/BButton/Classes/BButton.h @@ -87,7 +87,7 @@ typedef NS_ENUM(NSUInteger, BButtonType) { * * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. */ -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)style; +- (instancetype)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)style; /** * Initializes and returns a button having the given frame, type, style, icon, and font size. @@ -100,11 +100,11 @@ typedef NS_ENUM(NSUInteger, BButtonType) { * * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. */ -- (id)initWithFrame:(CGRect)frame - type:(BButtonType)type - style:(BButtonStyle)style - icon:(FAIcon)icon - fontSize:(CGFloat)fontSize; +- (instancetype)initWithFrame:(CGRect)frame + type:(BButtonType)type + style:(BButtonStyle)style + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize; /** * Initializes and returns a button having the given frame, color, and style. @@ -115,7 +115,7 @@ typedef NS_ENUM(NSUInteger, BButtonType) { * * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. */ -- (id)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style; +- (instancetype)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style; /** * Initializes and returns a button having the given frame, color, style, icon, and font size. @@ -128,11 +128,11 @@ typedef NS_ENUM(NSUInteger, BButtonType) { * * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. */ -- (id)initWithFrame:(CGRect)frame - color:(UIColor *)color - style:(BButtonStyle)style - icon:(FAIcon)icon - fontSize:(CGFloat)fontSize; +- (instancetype)initWithFrame:(CGRect)frame + color:(UIColor *)color + style:(BButtonStyle)style + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize; /** * Initializes and returns a special icon-only button having the given icon, type, and style. The button frame is set with an origin of `(0.0, 0.0)` and a size of `(40.0, 40.0)`. The button font size is set to `20.0`. @@ -143,9 +143,9 @@ typedef NS_ENUM(NSUInteger, BButtonType) { * * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. */ -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon - type:(BButtonType)type - style:(BButtonStyle)style; ++ (instancetype)awesomeButtonWithOnlyIcon:(FAIcon)icon + type:(BButtonType)type + style:(BButtonStyle)style; /** * Initializes and returns a special icon-only button having the given icon, color, and style. The button frame is set with an origin of `(0.0, 0.0)` and a size of `(40.0, 40.0)`. The button font size is set to `20.0`. @@ -156,9 +156,9 @@ typedef NS_ENUM(NSUInteger, BButtonType) { * * @return An initialized `BButton` object or `nil` if the object could not be successfully initialized. */ -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon - color:(UIColor *)color - style:(BButtonStyle)style; ++ (instancetype)awesomeButtonWithOnlyIcon:(FAIcon)icon + color:(UIColor *)color + style:(BButtonStyle)style; #pragma mark - BButton diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 4cc51fb..789f784 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -85,18 +85,18 @@ - (void)setTextAttributesForStyle:(BButtonStyle)aStyle #pragma mark - Initialization -- (id)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)style +- (instancetype)initWithFrame:(CGRect)frame type:(BButtonType)type style:(BButtonStyle)style { return [self initWithFrame:frame color:[BButton colorForButtonType:type style:style] style:style]; } -- (id)initWithFrame:(CGRect)frame - type:(BButtonType)type - style:(BButtonStyle)style - icon:(FAIcon)icon - fontSize:(CGFloat)fontSize +- (instancetype)initWithFrame:(CGRect)frame + type:(BButtonType)type + style:(BButtonStyle)style + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize { return [self initWithFrame:frame color:[BButton colorForButtonType:type style:style] @@ -105,10 +105,10 @@ - (id)initWithFrame:(CGRect)frame fontSize:fontSize]; } -- (id)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style +- (instancetype)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)style { self = [self initWithFrame:frame]; - if(self) { + if (self) { _buttonStyle = style; [self setColor:color]; [self setTextAttributesForStyle:style]; @@ -116,14 +116,14 @@ - (id)initWithFrame:(CGRect)frame color:(UIColor *)color style:(BButtonStyle)sty return self; } -- (id)initWithFrame:(CGRect)frame - color:(UIColor *)color - style:(BButtonStyle)style - icon:(FAIcon)icon - fontSize:(CGFloat)fontSize +- (instancetype)initWithFrame:(CGRect)frame + color:(UIColor *)color + style:(BButtonStyle)style + icon:(FAIcon)icon + fontSize:(CGFloat)fontSize { self = [self initWithFrame:frame color:color style:style]; - if(self) { + if (self) { [[self titleLabel] setFont:[UIFont fontWithName:kFontAwesomeFont size:fontSize]]; [[self titleLabel] setTextAlignment:NSTextAlignmentCenter]; [self setTitle:[self stringFromFontAwesomeIcon:icon] @@ -132,20 +132,20 @@ - (id)initWithFrame:(CGRect)frame return self; } -- (id)initWithFrame:(CGRect)frame +- (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; - if(self) { + if (self) { [self setup]; [self setTextAttributesForStyle:_buttonStyle]; } return self; } -- (id)initWithCoder:(NSCoder *)aDecoder +- (instancetype)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; - if(self) { + if (self) { [self setup]; } return self; @@ -163,18 +163,18 @@ - (void)dealloc #pragma mark - Class initialization -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon - type:(BButtonType)type - style:(BButtonStyle)style ++ (instancetype)awesomeButtonWithOnlyIcon:(FAIcon)icon + type:(BButtonType)type + style:(BButtonStyle)style { return [BButton awesomeButtonWithOnlyIcon:icon color:[BButton colorForButtonType:type style:style] style:style]; } -+ (BButton *)awesomeButtonWithOnlyIcon:(FAIcon)icon - color:(UIColor *)color - style:(BButtonStyle)style ++ (instancetype)awesomeButtonWithOnlyIcon:(FAIcon)icon + color:(UIColor *)color + style:(BButtonStyle)style { return [[BButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 40.0f) color:color @@ -201,11 +201,11 @@ - (void)setEnabled:(BOOL)enabled - (NSNumber *)buttonCornerRadius { - if(!_buttonCornerRadius) { + if (!_buttonCornerRadius) { _buttonCornerRadius = [[[self class] appearance] buttonCornerRadius]; } - if(_buttonCornerRadius) { + if (_buttonCornerRadius) { return _buttonCornerRadius; } @@ -240,14 +240,14 @@ - (void)setShouldShowDisabled:(BOOL)show { _shouldShowDisabled = show; - if(show) { + if (show) { if([self.color bb_isLightColor]) [self setTitleColor:[UIColor colorWithWhite:0.4f alpha:0.5f] forState:UIControlStateDisabled]; else [self setTitleColor:[UIColor colorWithWhite:1.0f alpha:0.5f] forState:UIControlStateDisabled]; } else { - if([self.color bb_isLightColor]) + if ([self.color bb_isLightColor]) [self setTitleColor:[UIColor blackColor] forState:UIControlStateDisabled]; else [self setTitleColor:[UIColor whiteColor] forState:UIControlStateDisabled]; @@ -298,7 +298,7 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before - (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon { - if(!kFontAwesomeStrings) { + if (!kFontAwesomeStrings) { kFontAwesomeStrings = [NSString fa_allFontAwesomeStrings]; } return [NSString fa_stringFromFontAwesomeStrings:kFontAwesomeStrings From 4ba665c2b4ad674ab8d384aca1bfbfb217b3a5e7 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Apr 2014 23:26:29 -0700 Subject: [PATCH 132/170] fix travis.yml --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b77f5bf..b24fed1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,5 +7,5 @@ before_install: - brew install xctool script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO clean build run-tests -freshInstall +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests -freshInstall From 2be16c3fea79ff695b3b0608860a0481742f764e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 15 Apr 2014 23:33:22 -0700 Subject: [PATCH 133/170] edit comment headers --- BButton/Classes/BButton.h | 2 -- BButton/Classes/BButton.m | 2 -- BButton/Classes/NSString+FontAwesome.h | 2 -- BButton/Classes/NSString+FontAwesome.m | 2 -- BButton/Classes/UIColor+BButton.h | 2 -- BButton/Classes/UIColor+BButton.m | 2 -- BButtonDemoTests/BButtonDemoTests.m | 29 +++++++++++++------------- 7 files changed, 15 insertions(+), 26 deletions(-) diff --git a/BButton/Classes/BButton.h b/BButton/Classes/BButton.h index f84947b..77bec71 100644 --- a/BButton/Classes/BButton.h +++ b/BButton/Classes/BButton.h @@ -1,6 +1,4 @@ // -// BButton.h -// // Created by Mathieu Bolard on 31/07/12. // Copyright (c) 2012 Mathieu Bolard. All rights reserved. // diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 789f784..1d2f6ff 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -1,6 +1,4 @@ // -// BButton.m -// // Created by Mathieu Bolard on 31/07/12. // Copyright (c) 2012 Mathieu Bolard. All rights reserved. // diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index a10da63..1caad98 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -1,6 +1,4 @@ // -// NSString+FontAwesome.h -// // Created by Pit Garbe on 27.09.12. // Updated to Font Awesome 3.1.1 on 17.05.2013. // Copyright (c) 2012 Pit Garbe. All rights reserved. diff --git a/BButton/Classes/NSString+FontAwesome.m b/BButton/Classes/NSString+FontAwesome.m index 97a4ac0..9aac14d 100644 --- a/BButton/Classes/NSString+FontAwesome.m +++ b/BButton/Classes/NSString+FontAwesome.m @@ -1,6 +1,4 @@ // -// NSString+FontAwesome.m -// // Created by Pit Garbe on 27.09.12. // Updated to Font Awesome 3.1.1 on 17.05.2013. // Copyright (c) 2012 Pit Garbe. All rights reserved. diff --git a/BButton/Classes/UIColor+BButton.h b/BButton/Classes/UIColor+BButton.h index 0c08d01..0620b86 100644 --- a/BButton/Classes/UIColor+BButton.h +++ b/BButton/Classes/UIColor+BButton.h @@ -1,6 +1,4 @@ // -// UIColor+BButton.h -// // Created by Mathieu Bolard on 31/07/12. // Copyright (c) 2012 Mathieu Bolard. All rights reserved. // diff --git a/BButton/Classes/UIColor+BButton.m b/BButton/Classes/UIColor+BButton.m index f57d8df..c7545b6 100644 --- a/BButton/Classes/UIColor+BButton.m +++ b/BButton/Classes/UIColor+BButton.m @@ -1,6 +1,4 @@ // -// UIColor+BButton.m -// // Created by Mathieu Bolard on 31/07/12. // Copyright (c) 2012 Mathieu Bolard. All rights reserved. // diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m index 7ef3370..cd5ee66 100644 --- a/BButtonDemoTests/BButtonDemoTests.m +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -1,9 +1,20 @@ // -// BButtonDemoTests.m -// BButtonDemoTests +// Created by Mathieu Bolard on 31/07/12. +// Copyright (c) 2012 Mathieu Bolard. All rights reserved. // -// Created by Jesse Squires on 11/12/13. -// Copyright (c) 2013 Hexed Bits. All rights reserved. +// https://github.com/mattlawer/BButton +// +// +// BButton is licensed under the MIT license +// http://opensource.org/licenses/MIT +// +// +// ----------------------------------------- +// Edited and refactored by Jesse Squires on 2 April, 2013. +// +// http://github.com/jessesquires/BButton +// +// http://hexedbits.com // #import @@ -16,16 +27,6 @@ @interface BButtonDemoTests : XCTestCase @implementation BButtonDemoTests -- (void)setUp -{ - [super setUp]; -} - -- (void)tearDown -{ - [super tearDown]; -} - - (void)testButtonInitMethods { CGRect frame = CGRectMake(0.0f, 0.0f, 140.0f, 44.0f); From 3d2a7f481ae42c70e68010e8e854eed48203c464 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 20:25:05 -0700 Subject: [PATCH 134/170] edit travis script --- .travis.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index b24fed1..e118993 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,5 @@ language: objective-c -before_install: -- gem install cocoapods -- brew update -- brew unlink xctool -- brew install xctool - script: - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests -freshInstall +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests From 4d059badbda68b3d39e0a2a05a15d0c8c89e3439 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 20:36:02 -0700 Subject: [PATCH 135/170] re-create schemes --- .../xcschemes/BButtonDemo.xcscheme | 24 +++++++++++++++++++ .../xcschemes/BButtonDemoTests.xcscheme | 14 +++++------ 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme index 7e08bc9..e5f069d 100644 --- a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme @@ -20,6 +20,20 @@ ReferencedContainer = "container:BButtonDemo.xcodeproj"> + + + + + + + + @@ -28,9 +28,9 @@ buildForAnalyzing = "YES"> From 58b96fca2777adf33b29daef39d79fd5d178a3c7 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 20:45:34 -0700 Subject: [PATCH 136/170] remove only_active_arch --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e118993..55849c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests From da32b68bf4b05b22211297eee2a6ab2aecb545e6 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 20:52:38 -0700 Subject: [PATCH 137/170] force i386 arch --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 55849c7..308e4a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 -arch i386 clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 -arch i386 clean build run-tests From 90c350c8865f08fcdaee777ce59be6f160353786 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 20:58:37 -0700 Subject: [PATCH 138/170] fresh sim and install --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 308e4a0..65f6ae8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 -arch i386 clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 -arch i386 clean build run-tests +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests -freshSimulator -freshInstall From 03f1659929e558693ef74519f08b87cbad0c6be4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 21:09:49 -0700 Subject: [PATCH 139/170] try simpler travis format --- .travis.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 65f6ae8..80c7773 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: objective-c -script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests -freshSimulator -freshInstall +xcode_project: BButtonDemo.xcodeproj +xcode_sdk: iphonesimulator7.0 +xcode_scheme: BButtonDemoTests + +# script: +# - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build +# - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests From a1bcf7b11e33e0addd40b1e7cd5cd3ba7cf8a0ac Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 21:19:57 -0700 Subject: [PATCH 140/170] update travis script --- .travis.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 80c7773..55849c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,5 @@ language: objective-c -xcode_project: BButtonDemo.xcodeproj -xcode_sdk: iphonesimulator7.0 -xcode_scheme: BButtonDemoTests - -# script: -# - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build -# - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests +script: +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests From e6cd51c86544d394f8bd790df059ef73483d61cb Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 16 Apr 2014 21:36:31 -0700 Subject: [PATCH 141/170] add contributing.md --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f54bfbc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,3 @@ +## How To Contribute + +Please follow these sweet [contribution guidelines](https://github.com/jessesquires/HowToContribute). From 451528cb48924415b785733d12d8117f32e8fc2d Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 17 Apr 2014 20:00:25 -0700 Subject: [PATCH 142/170] install xctool before script --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index 55849c7..568f90c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,10 @@ language: objective-c +before_install: +- brew update +- brew unlink xctool +- brew install xctool + script: - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests From 9676e0ab0a9c2c14739ada9381234bec85d6875f Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 17 Apr 2014 20:15:41 -0700 Subject: [PATCH 143/170] only_active_arch NO --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 568f90c..6f7fed3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,5 +6,5 @@ before_install: - brew install xctool script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 clean build run-tests +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests From 2fb34beb6fcda8eac4fdf3b4f15cb95e55abf5b4 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 23 Apr 2014 22:03:31 -0700 Subject: [PATCH 144/170] update travis script --- .travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6f7fed3..b9ff5c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,9 +2,8 @@ language: objective-c before_install: - brew update -- brew unlink xctool -- brew install xctool +- brew upgrade xctool script: - xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests -freshInstall From f70bdf81a477fe088612e27df359317baa23fa2e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 23 Apr 2014 22:11:10 -0700 Subject: [PATCH 145/170] update travis script and schemes --- .travis.yml | 3 +- .../xcschemes/BButtonDemo.xcscheme | 6 +- .../xcschemes/BButtonDemoTests.xcscheme | 83 ------------------- 3 files changed, 4 insertions(+), 88 deletions(-) delete mode 100644 BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemoTests.xcscheme diff --git a/.travis.yml b/.travis.yml index b9ff5c6..329992f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,5 +5,4 @@ before_install: - brew upgrade xctool script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemoTests -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build run-tests -freshInstall +- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build test diff --git a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme index e5f069d..75e3c9a 100644 --- a/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme +++ b/BButtonDemo.xcodeproj/xcshareddata/xcschemes/BButtonDemo.xcscheme @@ -22,10 +22,10 @@ + buildForAnalyzing = "YES"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 54a8b3eb1f237a502201910f455a030800956ebe Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Wed, 23 Apr 2014 22:34:38 -0700 Subject: [PATCH 146/170] set proj settings 7.0 deploy target --- BButtonDemo.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index b4949a8..215defb 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -396,7 +396,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; @@ -428,7 +428,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -443,7 +443,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; @@ -460,7 +460,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; INFOPLIST_FILE = "BButtonDemo/BButtonDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = "33D9D386-8DC3-4040-BF92-DA1C5D32964B"; From bc9f231b57fb2affc54beba5194f55e16c0d297f Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Thu, 17 Apr 2014 16:48:16 -0700 Subject: [PATCH 147/170] Updated TTF file with the latest 4.0.3 version of the FontAwesome directly from the Website. Updated the NSString category with the latest icon. A refactor was needed to update easyly the icon values and a better way to convert to FA string from an Enum value in HEX. Deprecated unnecessary methods. Keeps the backwards compatibility of the Icon names. The Enum has the same name convention than the CSS file on FA website, but keeps the older names for backward compatibility. Fixed the Random icon generator in Demo App accordingly to the new enum based icons. --- BButton/Classes/BButton.m | 9 +- BButton/Classes/NSString+FontAwesome.h | 1031 ++++++++++++++++-------- BButton/Classes/NSString+FontAwesome.m | 8 +- BButton/resources/FontAwesome.ttf | Bin 64960 -> 80652 bytes BButtonDemo/TWBSDemoViewController.m | 6 +- 5 files changed, 727 insertions(+), 327 deletions(-) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 1d2f6ff..ae44984 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -22,7 +22,6 @@ static CGFloat const kBButtonCornerRadiusV2 = 6.0f; static CGFloat const kBButtonCornerRadiusV3 = 4.0f; -static NSArray * kFontAwesomeStrings; @interface BButton () @@ -153,7 +152,6 @@ - (void)dealloc { _color = nil; _buttonCornerRadius = nil; - kFontAwesomeStrings = nil; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; @@ -257,7 +255,6 @@ - (void)setShouldShowDisabled:(BOOL)show - (void)didRecieveMemoryWarningNotification:(NSNotification *)notification { NSLog(@"%@ recieved %@", [BButton class], notification.name); - kFontAwesomeStrings = nil; } #pragma mark - BButton @@ -296,11 +293,7 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before - (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon { - if (!kFontAwesomeStrings) { - kFontAwesomeStrings = [NSString fa_allFontAwesomeStrings]; - } - return [NSString fa_stringFromFontAwesomeStrings:kFontAwesomeStrings - forIcon:icon]; + return [NSString fa_stringFromFontAwesomeForIcon:icon]; } + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index 1caad98..2195f32 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -40,326 +40,725 @@ extern NSString * const kFontAwesomeFont; /** * A constant describing the available Font Awesome Icons. */ -typedef NS_ENUM(NSUInteger, FAIcon) { - FAIconGlass, - FAIconMusic, - FAIconSearch, - FAIconEnvelope, - FAIconHeart, - FAIconStar, - FAIconStarEmpty, - FAIconUser, - FAIconFilm, - FAIconThLarge, - FAIconTh, - FAIconThList, - FAIconOk, - FAIconRemove, - FAIconZoomIn, - FAIconZoomOut, - FAIconOff, - FAIconSignal, - FAIconCog, - FAIconTrash, - FAIconHome, - FAIconFile, - FAIconTime, - FAIconRoad, - FAIconDownloadAlt, - FAIconDownload, - FAIconUpload, - FAIconInbox, - FAIconPlayCircle, - FAIconRepeat, - FAIconRefresh, - FAIconListAlt, - FAIconLock, - FAIconFlag, - FAIconHeadphones, - FAIconVolumeOff, - FAIconVolumeDown, - FAIconVolumeUp, - FAIconQrcode, - FAIconBarcode, - FAIconTag, - FAIconTags, - FAIconBook, - FAIconBookmark, - FAIconPrint, - FAIconCamera, - FAIconFont, - FAIconBold, - FAIconItalic, - FAIconTextHeight, - FAIconTextWidth, - FAIconAlignLeft, - FAIconAlignCenter, - FAIconAlignRight, - FAIconAlignJustify, - FAIconList, - FAIconIndentLeft, - FAIconIndentRight, - FAIconFacetimeVideo, - FAIconPicture, - FAIconPencil, - FAIconMapMarker, - FAIconAdjust, - FAIconTint, - FAIconEdit, - FAIconShare, - FAIconCheck, - FAIconMove, - FAIconStepBackward, - FAIconFastBackward, - FAIconBackward, - FAIconPlay, - FAIconPause, - FAIconStop, - FAIconForward, - FAIconFastForward, - FAIconStepForward, - FAIconEject, - FAIconChevronLeft, - FAIconChevronRight, - FAIconPlusSign, - FAIconMinusSign, - FAIconRemoveSign, - FAIconOkSign, - FAIconQuestionSign, - FAIconInfoSign, - FAIconScreenshot, - FAIconRemoveCircle, - FAIconOkCircle, - FAIconBanCircle, - FAIconArrowLeft, - FAIconArrowRight, - FAIconArrowUp, - FAIconArrowDown, - FAIconShareAlt, - FAIconResizeFull, - FAIconResizeSmall, - FAIconPlus, - FAIconMinus, - FAIconAsterisk, - FAIconExclamationSign, - FAIconGift, - FAIconLeaf, - FAIconFire, - FAIconEyeOpen, - FAIconEyeClose, - FAIconWarningSign, - FAIconPlane, - FAIconCalendar, - FAIconRandom, - FAIconComment, - FAIconMagnet, - FAIconChevronUp, - FAIconChevronDown, - FAIconRetweet, - FAIconShoppingCart, - FAIconFolderClose, - FAIconFolderOpen, - FAIconResizeVertical, - FAIconResizeHorizontal, - FAIconBarChart, - FAIconTwitterSign, - FAIconFacebookSign, - FAIconCameraRetro, - FAIconKey, - FAIconCogs, - FAIconComments, - FAIconThumbsUp, - FAIconThumbsDown, - FAIconStarHalf, - FAIconHeartEmpty, - FAIconSignout, - FAIconLinkedinSign, - FAIconPushpin, - FAIconExternalLink, - FAIconSignin, - FAIconTrophy, - FAIconGithubSign, - FAIconUploadAlt, - FAIconLemon, - FAIconPhone, - FAIconCheckEmpty, - FAIconBookmarkEmpty, - FAIconPhoneSign, - FAIconTwitter, - FAIconFacebook, - FAIconGithub, - FAIconUnlock, - FAIconCreditCard, - FAIconRss, - FAIconHdd, - FAIconBullhorn, - FAIconBell, - FAIconCertificate, - FAIconHandRight, - FAIconHandLeft, - FAIconHandUp, - FAIconHandDown, - FAIconCircleArrowLeft, - FAIconCircleArrowRight, - FAIconCircleArrowUp, - FAIconCircleArrowDown, - FAIconGlobe, - FAIconWrench, - FAIconTasks, - FAIconFilter, - FAIconBriefcase, - FAIconFullscreen, - FAIconGroup, - FAIconLink, - FAIconCloud, - FAIconBeaker, - FAIconCut, - FAIconCopy, - FAIconPaperClip, - FAIconSave, - FAIconSignBlank, - FAIconReorder, - FAIconListUl, - FAIconListOl, - FAIconStrikethrough, - FAIconUnderline, - FAIconTable, - FAIconMagic, - FAIconTruck, - FAIconPinterest, - FAIconPinterestSign, - FAIconGooglePlusSign, - FAIconGooglePlus, - FAIconMoney, - FAIconCaretDown, - FAIconCaretUp, - FAIconCaretLeft, - FAIconCaretRight, - FAIconColumns, - FAIconSort, - FAIconSortDown, - FAIconSortUp, - FAIconEnvelopeAlt, - FAIconLinkedin, - FAIconUndo, - FAIconLegal, - FAIconDashboard, - FAIconCommentAlt, - FAIconCommentsAlt, - FAIconBolt, - FAIconSitemap, - FAIconUmbrella, - FAIconPaste, - FAIconLightBulb, - FAIconExchange, - FAIconCloudDownload, - FAIconCloudUpload, - FAIconUserMd, - FAIconStethoscope, - FAIconSuitecase, - FAIconBellAlt, - FAIconCoffee, - FAIconFood, - FAIconFileAlt, - FAIconBuilding, - FAIconHospital, - FAIconAmbulance, - FAIconMedkit, - FAIconFighterJet, - FAIconBeer, - FAIconHSign, - FAIconPlusSignAlt, - FAIconDoubleAngleLeft, - FAIconDoubleAngleRight, - FAIconDoubleAngleUp, - FAIconDoubleAngleDown, - FAIconAngleLeft, - FAIconAngleRight, - FAIconAngleUp, - FAIconAngleDown, - FAIconDesktop, - FAIconLaptop, - FAIconTablet, - FAIconMobilePhone, - FAIconCircleBlank, - FAIconQuoteLeft, - FAIconQuoteRight, - FAIconSpinner, - FAIconCircle, - FAIconReply, - FAIconFolderCloseAlt, - FAIconFolderOpenAlt, - FAIconExpandAlt, - FAIconCollapseAlt, - FAIconSmile, - FAIconFrown, - FAIconMeh, - FAIconGamepad, - FAIconKeyboard, - FAIconFlagAlt, - FAIconFlagCheckered, - FAIconTerminal, - FAIconCode, - FAIconReplyAll, - FAIconStarHalfAlt, - FAIconLocationArrow, - FAIconCrop, - FAIconCodeFork, - FAIconUnlink, - FAIconQuestion, - FAIconInfo, - FAIconExclamation, - FAIconSuperscript, - FAIconSubscript, - FAIconEraser, - FAIconPuzzlePiece, - FAIconMicrophone, - FAIconMicrophoneOff, - FAIconShield, - FAIconCalendarEmpty, - FAIconFireExtinguisher, - FAIconRocket, - FAIconMaxCDN, - FAIconChevronSignLeft, - FAIconChevronSignRight, - FAIconChevronSignUp, - FAIconChevronSignDown, - FAIconHTML5, - FAIconCSS3, - FAIconFAIconAnchor, - FAIconUnlockAlt, - FAIconBullseye, - FAIconEllipsisHorizontal, - FAIconEllipsisVertical, - FAIconRSS, - FAIconPlaySign, - FAIconTicket, - FAIconMinusSignAlt, - FAIconCheckMinus, - FAIconLevelUp, - FAIconLevelDown, - FAIconCheckSign, - FAIconEditSign, - FAIconExternalLinkSign, - FAIconShareSign +typedef NS_ENUM(NSUInteger, FAIcon){ + FAIconGlass = 0xf000, + FAIconMusic = 0xf001, + FAIconSearch = 0xf002, + FAIconEnvelope = 0xf003, + FAIconHeart = 0xf004, + FAIconStar = 0xf005, + FAIconStarEmpty = 0xf006, + FAIconUser = 0xf007, + FAIconFilm = 0xf008, + FAIconThLarge = 0xf009, + FAIconTh = 0xf00a, + FAIconThList = 0xf00b, + FAIconOk = 0xf00c, + FAIconRemove = 0xf00d, + FAIconZoomIn = 0xf00e, + FAIconZoomOut = 0xf010, + FAIconOff = 0xf011, + FAIconSignal = 0xf012, + FAIconCog = 0xf013, + FAIconTrash = 0xf014, + FAIconHome = 0xf015, + FAIconFile = 0xf016, + FAIconTime = 0xf017, + FAIconRoad = 0xf018, + FAIconDownloadAlt = 0xf019, + FAIconDownload = 0xf01a, + FAIconUpload = 0xf01b, + FAIconInbox = 0xf01c, + FAIconPlayCircle = 0xf01d, + FAIconRepeat = 0xf01e, + FAIconRefresh = 0xf021, + FAIconListAlt = 0xf022, + FAIconLock = 0xf023, + FAIconFlag = 0xf024, + FAIconHeadphones = 0xf025, + FAIconVolumeOff = 0xf026, + FAIconVolumeDown = 0xf027, + FAIconVolumeUp = 0xf028, + FAIconQrcode = 0xf029, + FAIconBarcode = 0xf02a, + FAIconTag = 0xf02b, + FAIconTags = 0xf02c, + FAIconBook = 0xf02d, + FAIconBookmark = 0xf02e, + FAIconPrint = 0xf02f, + FAIconCamera = 0xf030, + FAIconFont = 0xf031, + FAIconBold = 0xf032, + FAIconItalic = 0xf033, + FAIconTextHeight = 0xf034, + FAIconTextWidth = 0xf035, + FAIconAlignLeft = 0xf036, + FAIconAlignCenter = 0xf037, + FAIconAlignRight = 0xf038, + FAIconAlignJustify = 0xf039, + FAIconList = 0xf03a, + FAIconIndentLeft = 0xf03b, + FAIconIndentRight = 0xf03c, + FAIconFacetimeVideo = 0xf03d, + FAIconPicture = 0xf03e, + FAIconPencil = 0xf040, + FAIconMapMarker = 0xf041, + FAIconAdjust = 0xf042, + FAIconTint = 0xf043, + FAIconEdit = 0xf044, + FAIconShare = 0xf045, + FAIconCheck = 0xf046, + FAIconMove = 0xf047, + FAIconStepBackward = 0xf048, + FAIconFastBackward = 0xf049, + FAIconBackward = 0xf04a, + FAIconPlay = 0xf04b, + FAIconPause = 0xf04c, + FAIconStop = 0xf04d, + FAIconForward = 0xf04e, + FAIconFastForward = 0xf050, + FAIconStepForward = 0xf051, + FAIconEject = 0xf052, + FAIconChevronLeft = 0xf053, + FAIconChevronRight = 0xf054, + FAIconPlusSign = 0xf055, + FAIconMinusSign = 0xf056, + FAIconRemoveSign = 0xf057, + FAIconOkSign = 0xf058, + FAIconQuestionSign = 0xf059, + FAIconInfoSign = 0xf05a, + FAIconScreenshot = 0xf05b, + FAIconRemoveCircle = 0xf05c, + FAIconOkCircle = 0xf05d, + FAIconBanCircle = 0xf05e, + FAIconArrowLeft = 0xf060, + FAIconArrowRight = 0xf061, + FAIconArrowUp = 0xf062, + FAIconArrowDown = 0xf063, + FAIconShareAlt = 0xf064, + FAIconResizeFull = 0xf065, + FAIconResizeSmall = 0xf066, + FAIconPlus = 0xf067, + FAIconMinus = 0xf068, + FAIconAsterisk = 0xf069, + FAIconExclamationSign = 0xf06a, + FAIconGift = 0xf06b, + FAIconLeaf = 0xf06c, + FAIconFire = 0xf06d, + FAIconEyeOpen = 0xf06e, + FAIconEyeClose = 0xf070, + FAIconWarningSign = 0xf071, + FAIconPlane = 0xf072, + FAIconCalendar = 0xf073, + FAIconRandom = 0xf074, + FAIconComment = 0xf075, + FAIconMagnet = 0xf076, + FAIconChevronUp = 0xf077, + FAIconChevronDown = 0xf078, + FAIconRetweet = 0xf079, + FAIconShoppingCart = 0xf07a, + FAIconFolderClose = 0xf07b, + FAIconFolderOpen = 0xf07c, + FAIconResizeVertical = 0xf07d, + FAIconResizeHorizontal = 0xf07e, + FAIconBarChart = 0xf080, + FAIconTwitterSign = 0xf081, + FAIconFacebookSign = 0xf082, + FAIconCameraRetro = 0xf083, + FAIconKey = 0xf084, + FAIconCogs = 0xf085, + FAIconComments = 0xf086, + FAIconThumbsUp = 0xf087, + FAIconThumbsDown = 0xf088, + FAIconStarHalf = 0xf089, + FAIconHeartEmpty = 0xf08a, + FAIconSignout = 0xf08b, + FAIconLinkedinSign = 0xf08c, + FAIconPushpin = 0xf08d, + FAIconExternalLink = 0xf08e, + FAIconSignin = 0xf090, + FAIconTrophy = 0xf091, + FAIconGithubSign = 0xf092, + FAIconUploadAlt = 0xf093, + FAIconLemon = 0xf094, + FAIconPhone = 0xf095, + FAIconCheckEmpty = 0xf096, + FAIconBookmarkEmpty = 0xf097, + FAIconPhoneSign = 0xf098, + FAIconTwitter = 0xf099, + FAIconFacebook = 0xf09a, + FAIconGithub = 0xf09b, + FAIconUnlock = 0xf09c, + FAIconCreditCard = 0xf09d, + FAIconRss = 0xf09e, + FAIconHdd = 0xf0a0, + FAIconBullhorn = 0xf0a1, + FAIconBell = 0xf0f3, + FAIconCertificate = 0xf0a3, + FAIconHandRight = 0xf0a4, + FAIconHandLeft = 0xf0a5, + FAIconHandUp = 0xf0a6, + FAIconHandDown = 0xf0a7, + FAIconCircleArrowLeft = 0xf0a8, + FAIconCircleArrowRight = 0xf0a9, + FAIconCircleArrowUp = 0xf0aa, + FAIconCircleArrowDown = 0xf0ab, + FAIconGlobe = 0xf0ac, + FAIconWrench = 0xf0ad, + FAIconTasks = 0xf0ae, + FAIconFilter = 0xf0b0, + FAIconBriefcase = 0xf0b1, + FAIconFullscreen = 0xf0b2, + FAIconGroup = 0xf0c0, + FAIconLink = 0xf0c1, + FAIconCloud = 0xf0c2, + FAIconBeaker = 0xf0c3, + FAIconCut = 0xf0c4, + FAIconCopy = 0xf0c4, + FAIconPaperClip = 0xf0c5, + FAIconSave = 0xf0c7, + FAIconSignBlank = 0xf0c8, + FAIconReorder = 0xf0c9, + FAIconListUl = 0xf0ca, + FAIconListOl = 0xf0cb, + FAIconStrikethrough = 0xf0cc, + FAIconUnderline = 0xf0cd, + FAIconTable = 0xf0ce, + FAIconMagic = 0xf0d0, + FAIconTruck = 0xf0d1, + FAIconPinterest = 0xf0d2, + FAIconPinterestSign = 0xf0d3, + FAIconGooglePlusSign = 0xf0d4, + FAIconGooglePlus = 0xf0d5, + FAIconMoney = 0xf0d6, + FAIconCaretDown = 0xf0d7, + FAIconCaretUp = 0xf0d8, + FAIconCaretLeft = 0xf0d9, + FAIconCaretRight = 0xf0da, + FAIconColumns = 0xf0db, + FAIconSort = 0xf0dc, + FAIconSortDown = 0xf0dd, + FAIconSortUp = 0xf0de, + FAIconEnvelopeAlt = 0xf0e0, + FAIconLinkedin = 0xf0e1, + FAIconUndo = 0xf0e2, + FAIconLegal = 0xf0e3, + FAIconDashboard = 0xf0e4, + FAIconCommentAlt = 0xf0e5, + FAIconCommentsAlt = 0xf0e6, + FAIconBolt = 0xf0e7, + FAIconSitemap = 0xf0e8, + FAIconUmbrella = 0xf0e9, + FAIconPaste = 0xf0ea, + FAIconLightBulb = 0xf0eb, + FAIconExchange = 0xf0ec, + FAIconCloudDownload = 0xf0ed, + FAIconCloudUpload = 0xf0ee, + FAIconUserMd = 0xf0f0, + FAIconStethoscope = 0xf0f1, + FAIconSuitecase = 0xf0f2, + FAIconBellAlt = 0xf0a2, + FAIconCoffee = 0xf0f4, + FAIconFood = 0xf0f5, + FAIconFileAlt = 0xf0f6, + FAIconBuilding = 0xf0f7, + FAIconHospital = 0xf0f8, + FAIconAmbulance = 0xf0f9, + FAIconMedkit = 0xf0fa, + FAIconFighterJet = 0xf0fb, + FAIconBeer = 0xf0fc, + FAIconHSign = 0xf0fd, + FAIconPlusSignAlt = 0xf0fe, + FAIconDoubleAngleLeft = 0xf100, + FAIconDoubleAngleRight = 0xf101, + FAIconDoubleAngleUp = 0xf102, + FAIconDoubleAngleDown = 0xf103, + FAIconAngleLeft = 0xf104, + FAIconAngleRight = 0xf105, + FAIconAngleUp = 0xf106, + FAIconAngleDown = 0xf107, + FAIconDesktop = 0xf108, + FAIconLaptop = 0xf109, + FAIconTablet = 0xf10a, + FAIconMobilePhone = 0xf10b, + FAIconCircleBlank = 0xf10c, + FAIconQuoteLeft = 0xf10d, + FAIconQuoteRight = 0xf10e, + FAIconSpinner = 0xf110, + FAIconCircle = 0xf111, + FAIconReply = 0xf112, + FAIconFolderCloseAlt = 0xf114, + FAIconFolderOpenAlt = 0xf115, + FAIconExpandAlt = 0xf065, + FAIconCollapseAlt = 0xf066, + FAIconSmile = 0xf118, + FAIconFrown = 0xf119, + FAIconMeh = 0xf11a, + FAIconGamepad = 0xf11b, + FAIconKeyboard = 0xf11c, + FAIconFlagAlt = 0xf11d, + FAIconFlagCheckered = 0xf11e, + FAIconTerminal = 0xf120, + FAIconCode = 0xf121, + FAIconReplyAll = 0xf122, + FAIconStarHalfAlt = 0xf123, + FAIconLocationArrow = 0xf124, + FAIconCrop = 0xf125, + FAIconCodeFork = 0xf126, + FAIconUnlink = 0xf127, + FAIconQuestion = 0xf128, + FAIconInfo = 0xf129, + FAIconExclamation = 0xf12a, + FAIconSuperscript = 0xf12b, + FAIconSubscript = 0xf12c, + FAIconEraser = 0xf12d, + FAIconPuzzlePiece = 0xf12e, + FAIconMicrophone = 0xf130, + FAIconMicrophoneOff = 0xf131, + FAIconShield = 0xf132, + FAIconCalendarEmpty = 0xf133, + FAIconFireExtinguisher = 0xf134, + FAIconRocket = 0xf135, + FAIconMaxCDN = 0xf136, + FAIconChevronSignLeft = 0xf137, + FAIconChevronSignRight = 0xf138, + FAIconChevronSignUp = 0xf139, + FAIconChevronSignDown = 0xf13a, + FAIconHTML5 = 0xf13b, + FAIconCSS3 = 0xf13c, + FAIconFAIconAnchor = 0xf13d, + FAIconUnlockAlt = 0xf13e, + FAIconBullseye = 0xf140, + FAIconEllipsisHorizontal = 0xf141, + FAIconEllipsisVertical = 0xf142, + FAIconRSS = 0xf143, + FAIconPlaySign = 0xf144, + FAIconTicket = 0xf145, + FAIconMinusSignAlt = 0xf146, + FAIconCheckMinus = 0xf147, + FAIconLevelUp = 0xf148, + FAIconLevelDown = 0xf149, + FAIconCheckSign = 0xf14a, + FAIconEditSign = 0xf14b, + FAIconExternalLinkSign = 0xf14c, + FAIconShareSign = 0xf14d, + FAGlass = 0xf000, + FAMusic = 0xf001, + FASearch = 0xf002, + FAEnvelopeO = 0xf003, + FAHeart = 0xf004, + FAStar = 0xf005, + FAStarO = 0xf006, + FAUser = 0xf007, + FAFilm = 0xf008, + FAThLarge = 0xf009, + FATh = 0xf00a, + FAThList = 0xf00b, + FACheck = 0xf00c, + FATimes = 0xf00d, + FASearchPlus = 0xf00e, + FASearchMinus = 0xf010, + FAPowerOff = 0xf011, + FASignal = 0xf012, + FAGear = 0xf013, + FACog = 0xf013, + FATrashO = 0xf014, + FAHome = 0xf015, + FAFileO = 0xf016, + FAClockO = 0xf017, + FARoad = 0xf018, + FADownload = 0xf019, + FAArrowCircleODown = 0xf01a, + FAArrowCircleOUp = 0xf01b, + FAInbox = 0xf01c, + FAPlayCircleO = 0xf01d, + FARotateRight = 0xf01e, + FARepeat = 0xf01e, + FARefresh = 0xf021, + FAListAlt = 0xf022, + FALock = 0xf023, + FAFlag = 0xf024, + FAHeadphones = 0xf025, + FAVolumeOff = 0xf026, + FAVolumeDown = 0xf027, + FAVolumeUp = 0xf028, + FAQrcode = 0xf029, + FABarcode = 0xf02a, + FATag = 0xf02b, + FATags = 0xf02c, + FABook = 0xf02d, + FABookmark = 0xf02e, + FAPrint = 0xf02f, + FACamera = 0xf030, + FAFont = 0xf031, + FABold = 0xf032, + FAItalic = 0xf033, + FATextHeight = 0xf034, + FATextWidth = 0xf035, + FAAlignLeft = 0xf036, + FAAlignCenter = 0xf037, + FAAlignRight = 0xf038, + FAAlignJustify = 0xf039, + FAList = 0xf03a, + FADedent = 0xf03b, + FAOutdent = 0xf03b, + FAIndent = 0xf03c, + FAVideoCamera = 0xf03d, + FAPictureO = 0xf03e, + FAPencil = 0xf040, + FAMapMarker = 0xf041, + FAAdjust = 0xf042, + FATint = 0xf043, + FAEdit = 0xf044, + FAPencilSquareO = 0xf044, + FAShareSquareO = 0xf045, + FACheckSquareO = 0xf046, + FAArrows = 0xf047, + FAStepBackward = 0xf048, + FAFastBackward = 0xf049, + FABackward = 0xf04a, + FAPlay = 0xf04b, + FAPause = 0xf04c, + FAStop = 0xf04d, + FAForward = 0xf04e, + FAFastForward = 0xf050, + FAStepForward = 0xf051, + FAEject = 0xf052, + FAChevronLeft = 0xf053, + FAChevronRight = 0xf054, + FAPlusCircle = 0xf055, + FAMinusCircle = 0xf056, + FATimesCircle = 0xf057, + FACheckCircle = 0xf058, + FAQuestionCircle = 0xf059, + FAInfoCircle = 0xf05a, + FACrosshairs = 0xf05b, + FATimesCircleO = 0xf05c, + FACheckCircleO = 0xf05d, + FABan = 0xf05e, + FAArrowLeft = 0xf060, + FAArrowRight = 0xf061, + FAArrowUp = 0xf062, + FAArrowDown = 0xf063, + FAMailForward = 0xf064, + FAShare = 0xf064, + FAExpand = 0xf065, + FACompress = 0xf066, + FAPlus = 0xf067, + FAMinus = 0xf068, + FAAsterisk = 0xf069, + FAExclamationCircle = 0xf06a, + FAGift = 0xf06b, + FALeaf = 0xf06c, + FAFire = 0xf06d, + FAEye = 0xf06e, + FAEyeSlash = 0xf070, + FAWarning = 0xf071, + FAExclamationTriangle = 0xf071, + FAPlane = 0xf072, + FACalendar = 0xf073, + FARandom = 0xf074, + FAComment = 0xf075, + FAMagnet = 0xf076, + FAChevronUp = 0xf077, + FAChevronDown = 0xf078, + FARetweet = 0xf079, + FAShoppingCart = 0xf07a, + FAFolder = 0xf07b, + FAFolderOpen = 0xf07c, + FAArrowsV = 0xf07d, + FAArrowsH = 0xf07e, + FABarChartO = 0xf080, + FATwitterSquare = 0xf081, + FAFacebookSquare = 0xf082, + FACameraRetro = 0xf083, + FAKey = 0xf084, + FAGears = 0xf085, + FACogs = 0xf085, + FAComments = 0xf086, + FAThumbsOUp = 0xf087, + FAThumbsODown = 0xf088, + FAStarHalf = 0xf089, + FAHeartO = 0xf08a, + FASignOut = 0xf08b, + FALinkedinSquare = 0xf08c, + FAThumbTack = 0xf08d, + FAExternalLink = 0xf08e, + FASignIn = 0xf090, + FATrophy = 0xf091, + FAGithubSquare = 0xf092, + FAUpload = 0xf093, + FALemonO = 0xf094, + FAPhone = 0xf095, + FASquareO = 0xf096, + FABookmarkO = 0xf097, + FAPhoneSquare = 0xf098, + FATwitter = 0xf099, + FAFacebook = 0xf09a, + FAGithub = 0xf09b, + FAUnlock = 0xf09c, + FACreditCard = 0xf09d, + FARss = 0xf09e, + FAHddO = 0xf0a0, + FABullhorn = 0xf0a1, + FABell = 0xf0f3, + FACertificate = 0xf0a3, + FAHandORight = 0xf0a4, + FAHandOLeft = 0xf0a5, + FAHandOUp = 0xf0a6, + FAHandODown = 0xf0a7, + FAArrowCircleLeft = 0xf0a8, + FAArrowCircleRight = 0xf0a9, + FAArrowCircleUp = 0xf0aa, + FAArrowCircleDown = 0xf0ab, + FAGlobe = 0xf0ac, + FAWrench = 0xf0ad, + FATasks = 0xf0ae, + FAFilter = 0xf0b0, + FABriefcase = 0xf0b1, + FAArrowsAlt = 0xf0b2, + FAGroup = 0xf0c0, + FAUsers = 0xf0c0, + FAChain = 0xf0c1, + FALink = 0xf0c1, + FACloud = 0xf0c2, + FAFlask = 0xf0c3, + FACut = 0xf0c4, + FAScissors = 0xf0c4, + FACopy = 0xf0c5, + FAFilesO = 0xf0c5, + FAPaperclip = 0xf0c6, + FASave = 0xf0c7, + FAFloppyO = 0xf0c7, + FASquare = 0xf0c8, + FABars = 0xf0c9, + FAListUl = 0xf0ca, + FAListOl = 0xf0cb, + FAStrikethrough = 0xf0cc, + FAUnderline = 0xf0cd, + FATable = 0xf0ce, + FAMagic = 0xf0d0, + FATruck = 0xf0d1, + FAPinterest = 0xf0d2, + FAPinterestSquare = 0xf0d3, + FAGooglePlusSquare = 0xf0d4, + FAGooglePlus = 0xf0d5, + FAMoney = 0xf0d6, + FACaretDown = 0xf0d7, + FACaretUp = 0xf0d8, + FACaretLeft = 0xf0d9, + FACaretRight = 0xf0da, + FAColumns = 0xf0db, + FAUnsorted = 0xf0dc, + FASort = 0xf0dc, + FASortDown = 0xf0dd, + FASortAsc = 0xf0dd, + FASortUp = 0xf0de, + FASortDesc = 0xf0de, + FAEnvelope = 0xf0e0, + FALinkedin = 0xf0e1, + FARotateLeft = 0xf0e2, + FAUndo = 0xf0e2, + FALegal = 0xf0e3, + FAGavel = 0xf0e3, + FADashboard = 0xf0e4, + FATachometer = 0xf0e4, + FACommentO = 0xf0e5, + FACommentsO = 0xf0e6, + FAFlash = 0xf0e7, + FABolt = 0xf0e7, + FASitemap = 0xf0e8, + FAUmbrella = 0xf0e9, + FAPaste = 0xf0ea, + FAClipboard = 0xf0ea, + FALightbulbO = 0xf0eb, + FAExchange = 0xf0ec, + FACloudDownload = 0xf0ed, + FACloudUpload = 0xf0ee, + FAUserMd = 0xf0f0, + FAStethoscope = 0xf0f1, + FASuitcase = 0xf0f2, + FABellO = 0xf0a2, + FACoffee = 0xf0f4, + FACutlery = 0xf0f5, + FAFileTextO = 0xf0f6, + FABuildingO = 0xf0f7, + FAHospitalO = 0xf0f8, + FAAmbulance = 0xf0f9, + FAMedkit = 0xf0fa, + FAFighterJet = 0xf0fb, + FABeer = 0xf0fc, + FAHSquare = 0xf0fd, + FAPlusSquare = 0xf0fe, + FAAngleDoubleLeft = 0xf100, + FAAngleDoubleRight = 0xf101, + FAAngleDoubleUp = 0xf102, + FAAngleDoubleDown = 0xf103, + FAAngleLeft = 0xf104, + FAAngleRight = 0xf105, + FAAngleUp = 0xf106, + FAAngleDown = 0xf107, + FADesktop = 0xf108, + FALaptop = 0xf109, + FATablet = 0xf10a, + FAMobilePhone = 0xf10b, + FAMobile = 0xf10b, + FACircleO = 0xf10c, + FAQuoteLeft = 0xf10d, + FAQuoteRight = 0xf10e, + FASpinner = 0xf110, + FACircle = 0xf111, + FAMailReply = 0xf112, + FAReply = 0xf112, + FAGithubAlt = 0xf113, + FAFolderO = 0xf114, + FAFolderOpenO = 0xf115, + FASmileO = 0xf118, + FAFrownO = 0xf119, + FAMehO = 0xf11a, + FAGamepad = 0xf11b, + FAKeyboardO = 0xf11c, + FAFlagO = 0xf11d, + FAFlagCheckered = 0xf11e, + FATerminal = 0xf120, + FACode = 0xf121, + FAReplyAll = 0xf122, + FAMailReplyAll = 0xf122, + FAStarHalfEmpty = 0xf123, + FAStarHalfFull = 0xf123, + FAStarHalfO = 0xf123, + FALocationArrow = 0xf124, + FACrop = 0xf125, + FACodeFork = 0xf126, + FAUnlink = 0xf127, + FAChainBroken = 0xf127, + FAQuestion = 0xf128, + FAInfo = 0xf129, + FAExclamation = 0xf12a, + FASuperscript = 0xf12b, + FASubscript = 0xf12c, + FAEraser = 0xf12d, + FAPuzzlePiece = 0xf12e, + FAMicrophone = 0xf130, + FAMicrophoneSlash = 0xf131, + FAShield = 0xf132, + FACalendarO = 0xf133, + FAFireExtinguisher = 0xf134, + FARocket = 0xf135, + FAMaxcdn = 0xf136, + FAChevronCircleLeft = 0xf137, + FAChevronCircleRight = 0xf138, + FAChevronCircleUp = 0xf139, + FAChevronCircleDown = 0xf13a, + FAHtml5 = 0xf13b, + FACss3 = 0xf13c, + FAAnchor = 0xf13d, + FAUnlockAlt = 0xf13e, + FABullseye = 0xf140, + FAEllipsisH = 0xf141, + FAEllipsisV = 0xf142, + FARssSquare = 0xf143, + FAPlayCircle = 0xf144, + FATicket = 0xf145, + FAMinusSquare = 0xf146, + FAMinusSquareO = 0xf147, + FALevelUp = 0xf148, + FALevelDown = 0xf149, + FACheckSquare = 0xf14a, + FAPencilSquare = 0xf14b, + FAExternalLinkSquare = 0xf14c, + FAShareSquare = 0xf14d, + FACompass = 0xf14e, + FAToggleDown = 0xf150, + FACaretSquareODown = 0xf150, + FAToggleUp = 0xf151, + FACaretSquareOUp = 0xf151, + FAToggleRight = 0xf152, + FACaretSquareORight = 0xf152, + FAEuro = 0xf153, + FAEur = 0xf153, + FAGbp = 0xf154, + FADollar = 0xf155, + FAUsd = 0xf155, + FARupee = 0xf156, + FAInr = 0xf156, + FACny = 0xf157, + FARmb = 0xf157, + FAYen = 0xf157, + FAJpy = 0xf157, + FARuble = 0xf158, + FARouble = 0xf158, + FARub = 0xf158, + FAWon = 0xf159, + FAKrw = 0xf159, + FABitcoin = 0xf15a, + FABtc = 0xf15a, + FAFile = 0xf15b, + FAFileText = 0xf15c, + FASortAlphaAsc = 0xf15d, + FASortAlphaDesc = 0xf15e, + FASortAmountAsc = 0xf160, + FASortAmountDesc = 0xf161, + FASortNumericAsc = 0xf162, + FASortNumericDesc = 0xf163, + FAThumbsUp = 0xf164, + FAThumbsDown = 0xf165, + FAYoutubeSquare = 0xf166, + FAYoutube = 0xf167, + FAXing = 0xf168, + FAXingSquare = 0xf169, + FAYoutubePlay = 0xf16a, + FADropbox = 0xf16b, + FAStackOverflow = 0xf16c, + FAInstagram = 0xf16d, + FAFlickr = 0xf16e, + FAAdn = 0xf170, + FABitbucket = 0xf171, + FABitbucketSquare = 0xf172, + FATumblr = 0xf173, + FATumblrSquare = 0xf174, + FALongArrowDown = 0xf175, + FALongArrowUp = 0xf176, + FALongArrowLeft = 0xf177, + FALongArrowRight = 0xf178, + FAApple = 0xf179, + FAWindows = 0xf17a, + FAAndroid = 0xf17b, + FALinux = 0xf17c, + FADribbble = 0xf17d, + FASkype = 0xf17e, + FAFoursquare = 0xf180, + FATrello = 0xf181, + FAFemale = 0xf182, + FAMale = 0xf183, + FAGittip = 0xf184, + FASunO = 0xf185, + FAMoonO = 0xf186, + FAArchive = 0xf187, + FABug = 0xf188, + FAVk = 0xf189, + FAWeibo = 0xf18a, + FARenren = 0xf18b, + FAPagelines = 0xf18c, + FAStackExchange = 0xf18d, + FAArrowCircleORight = 0xf18e, + FAArrowCircleOLeft = 0xf190, + FAToggleLeft = 0xf191, + FACaretSquareOLeft = 0xf191, + FADotCircleO = 0xf192, + FAWheelchair = 0xf193, + FAVimeoSquare = 0xf194, + FATurkishLira = 0xf195, + FATry = 0xf195, + FAPlusSquareO = 0xf196 }; @interface NSString (FontAwesome) -/** - * - * @return An array of all the font awesome icon strings. - */ -+ (NSArray *)fa_allFontAwesomeStrings; ++ (NSArray *)fa_allFontAwesomeStrings __attribute__((deprecated("No needed anymore. Use Method fa_stringFromFontAwesomeForIcon:(FAIcon)icon instead."))); -/** - * - * @param strings An array of all the font awesome icon strings. - * @param icon A constant describing a font awesome icon. - * - * @return The font awesome icon string associated with the given icon. - */ -+ (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings - forIcon:(FAIcon)icon; ++ (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings forIcon:(FAIcon)icon __attribute__((deprecated("Use Method fa_stringFromFontAwesomeForIcon:(FAIcon)icon instead."))); + ++ (NSString *)fa_stringFromFontAwesomeForIcon:(FAIcon)icon; @end \ No newline at end of file diff --git a/BButton/Classes/NSString+FontAwesome.m b/BButton/Classes/NSString+FontAwesome.m index 9aac14d..0549e43 100644 --- a/BButton/Classes/NSString+FontAwesome.m +++ b/BButton/Classes/NSString+FontAwesome.m @@ -38,13 +38,17 @@ @implementation NSString (FontAwesome) + (NSArray *)fa_allFontAwesomeStrings { - return [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; + return nil; } + (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings forIcon:(FAIcon)icon { - return [strings objectAtIndex:icon]; + return [self fa_stringFromFontAwesomeForIcon:icon]; +} + ++ (NSString *)fa_stringFromFontAwesomeForIcon:(FAIcon)icon{ + return [NSString stringWithFormat:@"%C", (unsigned short)icon ]; } @end \ No newline at end of file diff --git a/BButton/resources/FontAwesome.ttf b/BButton/resources/FontAwesome.ttf index f364aa51fcb5b3715c4bed639e7f952c2ffec05c..e89738de5eaf8fca33a2f2cdc5cb4929caa62b71 100755 GIT binary patch delta 19684 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 diff --git a/BButtonDemo/TWBSDemoViewController.m b/BButtonDemo/TWBSDemoViewController.m index 62f19eb..38cc89f 100644 --- a/BButtonDemo/TWBSDemoViewController.m +++ b/BButtonDemo/TWBSDemoViewController.m @@ -19,6 +19,10 @@ - (void)viewDidLoad BButtonType type = 0; + // This is to get a random icon from the Enum. Since we cannot get a random enum in Objective-C, we need to create an array of them to get a random value from a subset of the whole enum. + NSUInteger arrayOfIcons[] = {FASortAlphaAsc, FASortAlphaDesc, FASortAmountAsc, FASortAmountDesc, FASortNumericAsc, FASortNumericDesc, FAThumbsUp, FAThumbsDown, FAYoutubeSquare, FAYoutube, FAXing, FAXingSquare, FAYoutubePlay, FADropbox, FAStackOverflow, FAInstagram, FAFlickr, FAAdn, FABitbucket, FABitbucketSquare, FATumblr, FATumblrSquare, FALongArrowDown, FALongArrowUp, FALongArrowLeft, FALongArrowRight, FAApple, FAWindows, FAAndroid, FALinux, FADribbble, FASkype, FAFoursquare, FATrello, FAFemale, FAMale, FAGittip, FASunO, FAMoonO, FAArchive, FABug, FAVk, FAWeibo, FARenren, FAPagelines, FAStackExchange, FAArrowCircleORight, FAArrowCircleOLeft, FAToggleLeft, FACaretSquareOLeft, FADotCircleO, FAWheelchair, FAVimeoSquare, FATurkishLira, FATry, FAPlusSquareO}; + int sizeOfIconsArray = sizeof(arrayOfIcons)/sizeof(arrayOfIcons[0]); + for(int i = 0; i < 2; i++) { for(int j = 0; j < 7; j++) { @@ -37,7 +41,7 @@ - (void)viewDidLoad type++; if(type > BButtonTypeGray) { - btn = [BButton awesomeButtonWithOnlyIcon:arc4random_uniform(300) + btn = [BButton awesomeButtonWithOnlyIcon:arrayOfIcons[arc4random_uniform(sizeOfIconsArray)] type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault style:BButtonStyleBootstrapV3]; From 3570c0b9d1e8e066202a59f38eae6b60113ee738 Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Fri, 18 Apr 2014 01:12:29 -0700 Subject: [PATCH 148/170] Removed unused method didRecieveMemoryWarningNotification --- BButton/Classes/BButton.m | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index ae44984..6404bae 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -30,8 +30,6 @@ @interface BButton () - (void)setup; - (void)setTextAttributesForStyle:(BButtonStyle)aStyle; -- (void)didRecieveMemoryWarningNotification:(NSNotification *)notification; - - (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon; + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; @@ -59,10 +57,6 @@ - (void)setup _shouldShowDisabled = YES; _buttonStyle = BButtonStyleBootstrapV3; [self setType:BButtonTypeDefault]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(didRecieveMemoryWarningNotification:) - name:UIApplicationDidReceiveMemoryWarningNotification - object:nil]; } - (void)setTextAttributesForStyle:(BButtonStyle)aStyle @@ -152,9 +146,6 @@ - (void)dealloc { _color = nil; _buttonCornerRadius = nil; - [[NSNotificationCenter defaultCenter] removeObserver:self - name:UIApplicationDidReceiveMemoryWarningNotification - object:nil]; } #pragma mark - Class initialization @@ -250,13 +241,6 @@ - (void)setShouldShowDisabled:(BOOL)show } } -#pragma mark - Notifications - -- (void)didRecieveMemoryWarningNotification:(NSNotification *)notification -{ - NSLog(@"%@ recieved %@", [BButton class], notification.name); -} - #pragma mark - BButton - (void)setStyle:(BButtonStyle)style From 3a1935c13cbb14091e3b7182fb11e4343f52d11f Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Fri, 18 Apr 2014 01:13:25 -0700 Subject: [PATCH 149/170] Fixed Broken tests --- BButtonDemoTests/BButtonDemoTests.m | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m index cd5ee66..9cc7904 100644 --- a/BButtonDemoTests/BButtonDemoTests.m +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -85,17 +85,8 @@ - (void)testButtonClassInitMethods - (void)testFontAwesome { - NSArray *allIcons = [NSString fa_allFontAwesomeStrings]; - XCTAssertNotNil(allIcons, @"Array should not be nil"); - XCTAssert([allIcons count] != 0, @"Array should not be empty"); - - NSString *icon = [NSString fa_stringFromFontAwesomeStrings:allIcons - forIcon:FAIconWarningSign]; + NSString *icon = [NSString fa_stringFromFontAwesomeForIcon:FAIconWarningSign]; XCTAssertNotNil(icon, @"Icon should not be nil"); - XCTAssert([allIcons containsObject:icon], @"Icon should be contained in icon list"); - XCTAssertEqual([allIcons indexOfObject:icon], FAIconWarningSign, @"Array index should equal FAIcon ENUM"); - - NSString *btnTitle = @"Button Title"; FAIcon i = FAIconVolumeDown; @@ -110,17 +101,15 @@ - (void)testFontAwesome [btn addAwesomeIcon:i beforeTitle:NO]; XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 2, @"Button title length should be 2 characters longer after adding icon"); - icon = [NSString fa_stringFromFontAwesomeStrings:allIcons forIcon:i]; + icon = [NSString fa_stringFromFontAwesomeForIcon:i]; NSString *btnIcon = [btn.titleLabel.text substringFromIndex:[btn.titleLabel.text length] - 1]; XCTAssert([btnIcon isEqualToString:icon], @"Last character in button title should equal FA icon"); - - i = FAIconTerminal; [btn addAwesomeIcon:i beforeTitle:YES]; XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 4, @"Button title length should be 4 characters longer after adding 2 icons"); - icon = [NSString fa_stringFromFontAwesomeStrings:allIcons forIcon:i]; + icon = [NSString fa_stringFromFontAwesomeForIcon:i]; btnIcon = [btn.titleLabel.text substringToIndex:1]; XCTAssert([btnIcon isEqualToString:icon], @"First character in button title should equal FA icon"); } From 14cdf01684af1e4324c79d85d329df6c55d91a42 Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Mon, 28 Apr 2014 14:22:22 -0300 Subject: [PATCH 150/170] Removed deprecated methods. Changed the method to generate random values on the Demo App --- BButton/Classes/NSString+FontAwesome.h | 4 ---- BButton/Classes/NSString+FontAwesome.m | 11 ----------- BButtonDemo/TWBSDemoViewController.m | 6 +----- 3 files changed, 1 insertion(+), 20 deletions(-) diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index 2195f32..504fe86 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -755,10 +755,6 @@ typedef NS_ENUM(NSUInteger, FAIcon){ @interface NSString (FontAwesome) -+ (NSArray *)fa_allFontAwesomeStrings __attribute__((deprecated("No needed anymore. Use Method fa_stringFromFontAwesomeForIcon:(FAIcon)icon instead."))); - -+ (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings forIcon:(FAIcon)icon __attribute__((deprecated("Use Method fa_stringFromFontAwesomeForIcon:(FAIcon)icon instead."))); - + (NSString *)fa_stringFromFontAwesomeForIcon:(FAIcon)icon; @end \ No newline at end of file diff --git a/BButton/Classes/NSString+FontAwesome.m b/BButton/Classes/NSString+FontAwesome.m index 0549e43..5983b08 100644 --- a/BButton/Classes/NSString+FontAwesome.m +++ b/BButton/Classes/NSString+FontAwesome.m @@ -36,17 +36,6 @@ @implementation NSString (FontAwesome) -+ (NSArray *)fa_allFontAwesomeStrings -{ - return nil; -} - -+ (NSString *)fa_stringFromFontAwesomeStrings:(NSArray *)strings - forIcon:(FAIcon)icon -{ - return [self fa_stringFromFontAwesomeForIcon:icon]; -} - + (NSString *)fa_stringFromFontAwesomeForIcon:(FAIcon)icon{ return [NSString stringWithFormat:@"%C", (unsigned short)icon ]; } diff --git a/BButtonDemo/TWBSDemoViewController.m b/BButtonDemo/TWBSDemoViewController.m index 38cc89f..9076349 100644 --- a/BButtonDemo/TWBSDemoViewController.m +++ b/BButtonDemo/TWBSDemoViewController.m @@ -19,10 +19,6 @@ - (void)viewDidLoad BButtonType type = 0; - // This is to get a random icon from the Enum. Since we cannot get a random enum in Objective-C, we need to create an array of them to get a random value from a subset of the whole enum. - NSUInteger arrayOfIcons[] = {FASortAlphaAsc, FASortAlphaDesc, FASortAmountAsc, FASortAmountDesc, FASortNumericAsc, FASortNumericDesc, FAThumbsUp, FAThumbsDown, FAYoutubeSquare, FAYoutube, FAXing, FAXingSquare, FAYoutubePlay, FADropbox, FAStackOverflow, FAInstagram, FAFlickr, FAAdn, FABitbucket, FABitbucketSquare, FATumblr, FATumblrSquare, FALongArrowDown, FALongArrowUp, FALongArrowLeft, FALongArrowRight, FAApple, FAWindows, FAAndroid, FALinux, FADribbble, FASkype, FAFoursquare, FATrello, FAFemale, FAMale, FAGittip, FASunO, FAMoonO, FAArchive, FABug, FAVk, FAWeibo, FARenren, FAPagelines, FAStackExchange, FAArrowCircleORight, FAArrowCircleOLeft, FAToggleLeft, FACaretSquareOLeft, FADotCircleO, FAWheelchair, FAVimeoSquare, FATurkishLira, FATry, FAPlusSquareO}; - int sizeOfIconsArray = sizeof(arrayOfIcons)/sizeof(arrayOfIcons[0]); - for(int i = 0; i < 2; i++) { for(int j = 0; j < 7; j++) { @@ -41,7 +37,7 @@ - (void)viewDidLoad type++; if(type > BButtonTypeGray) { - btn = [BButton awesomeButtonWithOnlyIcon:arrayOfIcons[arc4random_uniform(sizeOfIconsArray)] + btn = [BButton awesomeButtonWithOnlyIcon:(arc4random_uniform(0xf196-0xf000)+0xf000) type:(type % 2) ? BButtonTypeInverse : BButtonTypeDefault style:BButtonStyleBootstrapV3]; From c48a285a1daad917081d54548e6994ed334aac47 Mon Sep 17 00:00:00 2001 From: Lucas Iturbide Date: Wed, 30 Apr 2014 12:14:21 -0300 Subject: [PATCH 151/170] Removed old values in the Enum definition. Replaced old values with the new ones --- BButton/Classes/NSString+FontAwesome.h | 301 ------------------------- BButtonDemo/TWBSDemoViewController.m | 4 +- BButtonDemoTests/BButtonDemoTests.m | 16 +- 3 files changed, 10 insertions(+), 311 deletions(-) diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index 504fe86..ace357d 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -41,307 +41,6 @@ extern NSString * const kFontAwesomeFont; * A constant describing the available Font Awesome Icons. */ typedef NS_ENUM(NSUInteger, FAIcon){ - FAIconGlass = 0xf000, - FAIconMusic = 0xf001, - FAIconSearch = 0xf002, - FAIconEnvelope = 0xf003, - FAIconHeart = 0xf004, - FAIconStar = 0xf005, - FAIconStarEmpty = 0xf006, - FAIconUser = 0xf007, - FAIconFilm = 0xf008, - FAIconThLarge = 0xf009, - FAIconTh = 0xf00a, - FAIconThList = 0xf00b, - FAIconOk = 0xf00c, - FAIconRemove = 0xf00d, - FAIconZoomIn = 0xf00e, - FAIconZoomOut = 0xf010, - FAIconOff = 0xf011, - FAIconSignal = 0xf012, - FAIconCog = 0xf013, - FAIconTrash = 0xf014, - FAIconHome = 0xf015, - FAIconFile = 0xf016, - FAIconTime = 0xf017, - FAIconRoad = 0xf018, - FAIconDownloadAlt = 0xf019, - FAIconDownload = 0xf01a, - FAIconUpload = 0xf01b, - FAIconInbox = 0xf01c, - FAIconPlayCircle = 0xf01d, - FAIconRepeat = 0xf01e, - FAIconRefresh = 0xf021, - FAIconListAlt = 0xf022, - FAIconLock = 0xf023, - FAIconFlag = 0xf024, - FAIconHeadphones = 0xf025, - FAIconVolumeOff = 0xf026, - FAIconVolumeDown = 0xf027, - FAIconVolumeUp = 0xf028, - FAIconQrcode = 0xf029, - FAIconBarcode = 0xf02a, - FAIconTag = 0xf02b, - FAIconTags = 0xf02c, - FAIconBook = 0xf02d, - FAIconBookmark = 0xf02e, - FAIconPrint = 0xf02f, - FAIconCamera = 0xf030, - FAIconFont = 0xf031, - FAIconBold = 0xf032, - FAIconItalic = 0xf033, - FAIconTextHeight = 0xf034, - FAIconTextWidth = 0xf035, - FAIconAlignLeft = 0xf036, - FAIconAlignCenter = 0xf037, - FAIconAlignRight = 0xf038, - FAIconAlignJustify = 0xf039, - FAIconList = 0xf03a, - FAIconIndentLeft = 0xf03b, - FAIconIndentRight = 0xf03c, - FAIconFacetimeVideo = 0xf03d, - FAIconPicture = 0xf03e, - FAIconPencil = 0xf040, - FAIconMapMarker = 0xf041, - FAIconAdjust = 0xf042, - FAIconTint = 0xf043, - FAIconEdit = 0xf044, - FAIconShare = 0xf045, - FAIconCheck = 0xf046, - FAIconMove = 0xf047, - FAIconStepBackward = 0xf048, - FAIconFastBackward = 0xf049, - FAIconBackward = 0xf04a, - FAIconPlay = 0xf04b, - FAIconPause = 0xf04c, - FAIconStop = 0xf04d, - FAIconForward = 0xf04e, - FAIconFastForward = 0xf050, - FAIconStepForward = 0xf051, - FAIconEject = 0xf052, - FAIconChevronLeft = 0xf053, - FAIconChevronRight = 0xf054, - FAIconPlusSign = 0xf055, - FAIconMinusSign = 0xf056, - FAIconRemoveSign = 0xf057, - FAIconOkSign = 0xf058, - FAIconQuestionSign = 0xf059, - FAIconInfoSign = 0xf05a, - FAIconScreenshot = 0xf05b, - FAIconRemoveCircle = 0xf05c, - FAIconOkCircle = 0xf05d, - FAIconBanCircle = 0xf05e, - FAIconArrowLeft = 0xf060, - FAIconArrowRight = 0xf061, - FAIconArrowUp = 0xf062, - FAIconArrowDown = 0xf063, - FAIconShareAlt = 0xf064, - FAIconResizeFull = 0xf065, - FAIconResizeSmall = 0xf066, - FAIconPlus = 0xf067, - FAIconMinus = 0xf068, - FAIconAsterisk = 0xf069, - FAIconExclamationSign = 0xf06a, - FAIconGift = 0xf06b, - FAIconLeaf = 0xf06c, - FAIconFire = 0xf06d, - FAIconEyeOpen = 0xf06e, - FAIconEyeClose = 0xf070, - FAIconWarningSign = 0xf071, - FAIconPlane = 0xf072, - FAIconCalendar = 0xf073, - FAIconRandom = 0xf074, - FAIconComment = 0xf075, - FAIconMagnet = 0xf076, - FAIconChevronUp = 0xf077, - FAIconChevronDown = 0xf078, - FAIconRetweet = 0xf079, - FAIconShoppingCart = 0xf07a, - FAIconFolderClose = 0xf07b, - FAIconFolderOpen = 0xf07c, - FAIconResizeVertical = 0xf07d, - FAIconResizeHorizontal = 0xf07e, - FAIconBarChart = 0xf080, - FAIconTwitterSign = 0xf081, - FAIconFacebookSign = 0xf082, - FAIconCameraRetro = 0xf083, - FAIconKey = 0xf084, - FAIconCogs = 0xf085, - FAIconComments = 0xf086, - FAIconThumbsUp = 0xf087, - FAIconThumbsDown = 0xf088, - FAIconStarHalf = 0xf089, - FAIconHeartEmpty = 0xf08a, - FAIconSignout = 0xf08b, - FAIconLinkedinSign = 0xf08c, - FAIconPushpin = 0xf08d, - FAIconExternalLink = 0xf08e, - FAIconSignin = 0xf090, - FAIconTrophy = 0xf091, - FAIconGithubSign = 0xf092, - FAIconUploadAlt = 0xf093, - FAIconLemon = 0xf094, - FAIconPhone = 0xf095, - FAIconCheckEmpty = 0xf096, - FAIconBookmarkEmpty = 0xf097, - FAIconPhoneSign = 0xf098, - FAIconTwitter = 0xf099, - FAIconFacebook = 0xf09a, - FAIconGithub = 0xf09b, - FAIconUnlock = 0xf09c, - FAIconCreditCard = 0xf09d, - FAIconRss = 0xf09e, - FAIconHdd = 0xf0a0, - FAIconBullhorn = 0xf0a1, - FAIconBell = 0xf0f3, - FAIconCertificate = 0xf0a3, - FAIconHandRight = 0xf0a4, - FAIconHandLeft = 0xf0a5, - FAIconHandUp = 0xf0a6, - FAIconHandDown = 0xf0a7, - FAIconCircleArrowLeft = 0xf0a8, - FAIconCircleArrowRight = 0xf0a9, - FAIconCircleArrowUp = 0xf0aa, - FAIconCircleArrowDown = 0xf0ab, - FAIconGlobe = 0xf0ac, - FAIconWrench = 0xf0ad, - FAIconTasks = 0xf0ae, - FAIconFilter = 0xf0b0, - FAIconBriefcase = 0xf0b1, - FAIconFullscreen = 0xf0b2, - FAIconGroup = 0xf0c0, - FAIconLink = 0xf0c1, - FAIconCloud = 0xf0c2, - FAIconBeaker = 0xf0c3, - FAIconCut = 0xf0c4, - FAIconCopy = 0xf0c4, - FAIconPaperClip = 0xf0c5, - FAIconSave = 0xf0c7, - FAIconSignBlank = 0xf0c8, - FAIconReorder = 0xf0c9, - FAIconListUl = 0xf0ca, - FAIconListOl = 0xf0cb, - FAIconStrikethrough = 0xf0cc, - FAIconUnderline = 0xf0cd, - FAIconTable = 0xf0ce, - FAIconMagic = 0xf0d0, - FAIconTruck = 0xf0d1, - FAIconPinterest = 0xf0d2, - FAIconPinterestSign = 0xf0d3, - FAIconGooglePlusSign = 0xf0d4, - FAIconGooglePlus = 0xf0d5, - FAIconMoney = 0xf0d6, - FAIconCaretDown = 0xf0d7, - FAIconCaretUp = 0xf0d8, - FAIconCaretLeft = 0xf0d9, - FAIconCaretRight = 0xf0da, - FAIconColumns = 0xf0db, - FAIconSort = 0xf0dc, - FAIconSortDown = 0xf0dd, - FAIconSortUp = 0xf0de, - FAIconEnvelopeAlt = 0xf0e0, - FAIconLinkedin = 0xf0e1, - FAIconUndo = 0xf0e2, - FAIconLegal = 0xf0e3, - FAIconDashboard = 0xf0e4, - FAIconCommentAlt = 0xf0e5, - FAIconCommentsAlt = 0xf0e6, - FAIconBolt = 0xf0e7, - FAIconSitemap = 0xf0e8, - FAIconUmbrella = 0xf0e9, - FAIconPaste = 0xf0ea, - FAIconLightBulb = 0xf0eb, - FAIconExchange = 0xf0ec, - FAIconCloudDownload = 0xf0ed, - FAIconCloudUpload = 0xf0ee, - FAIconUserMd = 0xf0f0, - FAIconStethoscope = 0xf0f1, - FAIconSuitecase = 0xf0f2, - FAIconBellAlt = 0xf0a2, - FAIconCoffee = 0xf0f4, - FAIconFood = 0xf0f5, - FAIconFileAlt = 0xf0f6, - FAIconBuilding = 0xf0f7, - FAIconHospital = 0xf0f8, - FAIconAmbulance = 0xf0f9, - FAIconMedkit = 0xf0fa, - FAIconFighterJet = 0xf0fb, - FAIconBeer = 0xf0fc, - FAIconHSign = 0xf0fd, - FAIconPlusSignAlt = 0xf0fe, - FAIconDoubleAngleLeft = 0xf100, - FAIconDoubleAngleRight = 0xf101, - FAIconDoubleAngleUp = 0xf102, - FAIconDoubleAngleDown = 0xf103, - FAIconAngleLeft = 0xf104, - FAIconAngleRight = 0xf105, - FAIconAngleUp = 0xf106, - FAIconAngleDown = 0xf107, - FAIconDesktop = 0xf108, - FAIconLaptop = 0xf109, - FAIconTablet = 0xf10a, - FAIconMobilePhone = 0xf10b, - FAIconCircleBlank = 0xf10c, - FAIconQuoteLeft = 0xf10d, - FAIconQuoteRight = 0xf10e, - FAIconSpinner = 0xf110, - FAIconCircle = 0xf111, - FAIconReply = 0xf112, - FAIconFolderCloseAlt = 0xf114, - FAIconFolderOpenAlt = 0xf115, - FAIconExpandAlt = 0xf065, - FAIconCollapseAlt = 0xf066, - FAIconSmile = 0xf118, - FAIconFrown = 0xf119, - FAIconMeh = 0xf11a, - FAIconGamepad = 0xf11b, - FAIconKeyboard = 0xf11c, - FAIconFlagAlt = 0xf11d, - FAIconFlagCheckered = 0xf11e, - FAIconTerminal = 0xf120, - FAIconCode = 0xf121, - FAIconReplyAll = 0xf122, - FAIconStarHalfAlt = 0xf123, - FAIconLocationArrow = 0xf124, - FAIconCrop = 0xf125, - FAIconCodeFork = 0xf126, - FAIconUnlink = 0xf127, - FAIconQuestion = 0xf128, - FAIconInfo = 0xf129, - FAIconExclamation = 0xf12a, - FAIconSuperscript = 0xf12b, - FAIconSubscript = 0xf12c, - FAIconEraser = 0xf12d, - FAIconPuzzlePiece = 0xf12e, - FAIconMicrophone = 0xf130, - FAIconMicrophoneOff = 0xf131, - FAIconShield = 0xf132, - FAIconCalendarEmpty = 0xf133, - FAIconFireExtinguisher = 0xf134, - FAIconRocket = 0xf135, - FAIconMaxCDN = 0xf136, - FAIconChevronSignLeft = 0xf137, - FAIconChevronSignRight = 0xf138, - FAIconChevronSignUp = 0xf139, - FAIconChevronSignDown = 0xf13a, - FAIconHTML5 = 0xf13b, - FAIconCSS3 = 0xf13c, - FAIconFAIconAnchor = 0xf13d, - FAIconUnlockAlt = 0xf13e, - FAIconBullseye = 0xf140, - FAIconEllipsisHorizontal = 0xf141, - FAIconEllipsisVertical = 0xf142, - FAIconRSS = 0xf143, - FAIconPlaySign = 0xf144, - FAIconTicket = 0xf145, - FAIconMinusSignAlt = 0xf146, - FAIconCheckMinus = 0xf147, - FAIconLevelUp = 0xf148, - FAIconLevelDown = 0xf149, - FAIconCheckSign = 0xf14a, - FAIconEditSign = 0xf14b, - FAIconExternalLinkSign = 0xf14c, - FAIconShareSign = 0xf14d, FAGlass = 0xf000, FAMusic = 0xf001, FASearch = 0xf002, diff --git a/BButtonDemo/TWBSDemoViewController.m b/BButtonDemo/TWBSDemoViewController.m index 9076349..55c0aac 100644 --- a/BButtonDemo/TWBSDemoViewController.m +++ b/BButtonDemo/TWBSDemoViewController.m @@ -31,9 +31,9 @@ - (void)viewDidLoad [btn setTitle:[self titleForType:type] forState:UIControlStateNormal]; if(type == BButtonTypeFacebook) - [btn addAwesomeIcon:FAIconFacebook beforeTitle:YES]; + [btn addAwesomeIcon:FAFacebook beforeTitle:YES]; else if(type == BButtonTypeTwitter) - [btn addAwesomeIcon:FAIconTwitter beforeTitle:NO]; + [btn addAwesomeIcon:FATwitter beforeTitle:NO]; type++; if(type > BButtonTypeGray) { diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m index 9cc7904..3c25919 100644 --- a/BButtonDemoTests/BButtonDemoTests.m +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -39,7 +39,7 @@ - (void)testButtonInitMethods btn = [[BButton alloc] initWithFrame:frame type:BButtonTypeWarning style:BButtonStyleBootstrapV3 - icon:FAIconAdjust + icon:FAAdjust fontSize:14.0f]; XCTAssertNotNil(btn, @"Button should not be nil"); XCTAssert([btn.color isEqual:[UIColor bb_warningColorV3]], @"Colors should be equal"); @@ -56,21 +56,21 @@ - (void)testButtonInitMethods btn = [[BButton alloc] initWithFrame:frame color:[UIColor blackColor] style:BButtonStyleBootstrapV3 - icon:FAIconZoomOut + icon:FASearchMinus fontSize:16.0f]; XCTAssertNotNil(btn, @"Button should not be nil"); btn = nil; - btn = [BButton awesomeButtonWithOnlyIcon:FAIconZoomIn color:[UIColor blueColor] style:BButtonStyleBootstrapV2]; + btn = [BButton awesomeButtonWithOnlyIcon:FASearchPlus color:[UIColor blueColor] style:BButtonStyleBootstrapV2]; XCTAssertNotNil(btn, @"Button should not be nil"); XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); } - (void)testButtonClassInitMethods { - BButton *btn = [BButton awesomeButtonWithOnlyIcon:FAIconUserMd type:BButtonTypeSuccess style:BButtonStyleBootstrapV3]; + BButton *btn = [BButton awesomeButtonWithOnlyIcon:FAUserMd type:BButtonTypeSuccess style:BButtonStyleBootstrapV3]; XCTAssert([btn.color isEqual:[UIColor bb_successColorV3]], @"Colors should be equal"); XCTAssertNotNil(btn, @"Button should not be nil"); XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); @@ -78,18 +78,18 @@ - (void)testButtonClassInitMethods btn = nil; - btn = [BButton awesomeButtonWithOnlyIcon:FAIconZoomIn color:[UIColor blueColor] style:BButtonStyleBootstrapV2]; + btn = [BButton awesomeButtonWithOnlyIcon:FASearchPlus color:[UIColor blueColor] style:BButtonStyleBootstrapV2]; XCTAssertNotNil(btn, @"Button should not be nil"); XCTAssert([btn.titleLabel.text length] == 1, @"Button text should only include FAIcon"); } - (void)testFontAwesome { - NSString *icon = [NSString fa_stringFromFontAwesomeForIcon:FAIconWarningSign]; + NSString *icon = [NSString fa_stringFromFontAwesomeForIcon:FAWarning]; XCTAssertNotNil(icon, @"Icon should not be nil"); NSString *btnTitle = @"Button Title"; - FAIcon i = FAIconVolumeDown; + FAIcon i = FAVolumeDown; BButton *btn = [[BButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 200.0f, 50.0f) type:BButtonTypeInverse style:BButtonStyleBootstrapV2]; @@ -105,7 +105,7 @@ - (void)testFontAwesome NSString *btnIcon = [btn.titleLabel.text substringFromIndex:[btn.titleLabel.text length] - 1]; XCTAssert([btnIcon isEqualToString:icon], @"Last character in button title should equal FA icon"); - i = FAIconTerminal; + i = FATerminal; [btn addAwesomeIcon:i beforeTitle:YES]; XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 4, @"Button title length should be 4 characters longer after adding 2 icons"); From 5c34f4c9d79c7401e35fae7fa207e9419aaece35 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 5 May 2014 23:20:19 -0500 Subject: [PATCH 152/170] Update README.md --- README.md | 82 ++++++++++++++++--------------------------------------- 1 file changed, 23 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 4e574d4..dfb9e08 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,10 @@ [Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. -`BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons, and is drawn entirely with `CoreGraphics`. +`BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons, and is drawn entirely with `CoreGraphics`. Buttons can be styled as Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com). ![BButton Screenshot 1][img1]      ![BButton Screenshot 2][img2] -## Features - -* Works just like `UIButton`, but sexier -* Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com) styles -* Highly customizable -* Includes [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS), fixed for iOS from the original [FontAwesome](http://fortawesome.github.com/Font-Awesome/) - ## Requirements * iOS 6.0+ @@ -20,21 +13,13 @@ ## Installation -#### From [CocoaPods](http://www.cocoapods.org) - -`pod 'BButton'` - -#### From source - -* Drag the `BButton/` folder to your project. -* Add the `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` +```` +pod 'BButton' +```` +Otherwise, drag the `BButton/` folder to your project and add the `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` ![plist][img3] -#### Too cool for [ARC](https://developer.apple.com/library/mac/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html)? - -* Add the `-fobjc-arc` compiler flag to all source files in your project in Target Settings > Build Phases > Compile Sources. - ## Getting Started 1. Create programmatically via one of the `init` methods @@ -59,8 +44,6 @@ Documentation is [available here][docsLink] via [CocoaDocs](http://cocoadocs.org ![BButton Screenshot 3][img4]      ![BButton Screenshot 4][img5] -* *More tips coming soon!* - ## How To Contribute Please follow these sweet [contribution guidelines](https://github.com/jessesquires/HowToContribute). @@ -71,52 +54,33 @@ Created by [@mattlawer](https://twitter.com/mattlawer) (Original project here: [ Forked, refactored, updated, maintained by [@jesse_squires](https://twitter.com/jesse_squires), a [programming-motherfucker](http://programming-motherfucker.com). -FontAwesome-for-iOS by Pit Garbe, [@leberwurstsaft / FontAwesome-for-iOS](https://github.com/leberwurstsaft/FontAwesome-for-iOS). - Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs/contributors) of this project. ## Apps Using This Control -[Gitty for GitHub](https://itunes.apple.com/us/app/gitty-for-github/id645696309?mt=8) - -[Hemoglobe](http://bit.ly/hemoglobeapp) - -[iPaint uPaint](http://bit.ly/ipupappstr) - -[Audiotrip](https://itunes.apple.com/us/app/audiotrip/id569634193?mt=8) - -[iExplorer for DeviantART](https://itunes.apple.com/us/app/iexplorer-for-deviantart/id657212778?mt=8) - -[Travel Delay NYC](https://itunes.apple.com/us/app/train-delay-nyc-subway-status/id384027573?mt=8) - -[Libraries for Developers](https://itunes.apple.com/us/app/libraries-for-developers/id653427112?mt=8) - -[CPU Monitor](https://itunes.apple.com/us/app/cpumonitor/id680137811?mt=8) - -[OpenWatch](https://itunes.apple.com/us/app/openwatch-free-video-streaming/id642680756?mt=8) - -[VSNotes](https://itunes.apple.com/us/app/vsnotes/id695433001?mt=8) - -[Crew Scout](https://itunes.apple.com/us/app/crew-scout/id721124938?mt=8) - -*[Contact me](mailto:jesse.squires.developer@gmail.com) to have your app listed here.* - -## [MIT License][mitLink] - -Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. +* [Gitty for GitHub](https://itunes.apple.com/us/app/gitty-for-github/id645696309?mt=8) +* [Hemoglobe](http://bit.ly/hemoglobeapp) +* [Audiotrip](https://itunes.apple.com/us/app/audiotrip/id569634193?mt=8) +* [iExplorer for DeviantART](https://itunes.apple.com/us/app/iexplorer-for-deviantart/id657212778?mt=8) +* [Travel Delay NYC](https://itunes.apple.com/us/app/train-delay-nyc-subway-status/id384027573?mt=8) +* [Libraries for Developers](https://itunes.apple.com/us/app/libraries-for-developers/id653427112?mt=8) +* [CPU Monitor](https://itunes.apple.com/us/app/cpumonitor/id680137811?mt=8) +* [OpenWatch](https://itunes.apple.com/us/app/openwatch-free-video-streaming/id642680756?mt=8) +* [VSNotes](https://itunes.apple.com/us/app/vsnotes/id695433001?mt=8) +* [Crew Scout](https://itunes.apple.com/us/app/crew-scout/id721124938?mt=8) ->Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +## License ->The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +`BButton` is released under an [MIT License][mitLink]. See `LICENSE.txt` for details. ->THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +>Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. -##[FontAwesome](https://github.com/FortAwesome/Font-Awesome) License +## [FontAwesome](https://github.com/FortAwesome/Font-Awesome) License -* The Font Awesome font is licensed under the [SIL Open Font License](http://scripts.sil.org/OFL) -* Font Awesome CSS, LESS, and SASS files are licensed under the [MIT License](http://opensource.org/licenses/mit-license.html) -* The Font Awesome pictograms are licensed under the [CC BY 3.0 License](http://creativecommons.org/licenses/by/3.0) -* Attribution is no longer required in Font Awesome 3.0, but much appreciated: +> * The Font Awesome font is licensed under the [SIL Open Font License](http://scripts.sil.org/OFL) +> * Font Awesome CSS, LESS, and SASS files are licensed under the [MIT > License](http://opensource.org/licenses/mit-license.html) +> * The Font Awesome pictograms are licensed under the [CC BY 3.0 License](http://creativecommons.org/licenses/by/3.0) +> * Attribution is no longer required in Font Awesome 3.0, but much appreciated: * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* [docsLink]:http://cocoadocs.org/docsets/BButton/3.2.3 From e72da9d203b9735ba99a6be37f2fcad5dc0e1c2e Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 5 May 2014 23:24:46 -0500 Subject: [PATCH 153/170] update docs and readme --- FontAwesomeIcons.html | 346 ----------------------------------------- LICENSE.txt => LICENSE | 0 README.md | 6 +- 3 files changed, 3 insertions(+), 349 deletions(-) delete mode 100644 FontAwesomeIcons.html rename LICENSE.txt => LICENSE (100%) diff --git a/FontAwesomeIcons.html b/FontAwesomeIcons.html deleted file mode 100644 index cbddccd..0000000 --- a/FontAwesomeIcons.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameIcon (3.1.1)Icon (old)
FAIconGlass
FAIconMusic
FAIconSearch
FAIconEnvelope
FAIconHeart
FAIconStar
FAIconStarEmpty
FAIconUser
FAIconFilm
FAIconThLarge
FAIconTh
FAIconThList
FAIconOk
FAIconRemove
FAIconZoomIn
FAIconZoomOut
FAIconOff
FAIconSignal
FAIconCog
FAIconTrash
FAIconHome
FAIconFile
FAIconTime
FAIconRoad
FAIconDownloadAlt
FAIconDownload
FAIconUpload
FAIconInbox
FAIconPlayCircle
FAIconRepeat
FAIconRefresh
FAIconListAlt
FAIconLock
FAIconFlag
FAIconHeadphones
FAIconVolumeOff
FAIconVolumeDown
FAIconVolumeUp
FAIconQrcode
FAIconBarcode
FAIconTag
FAIconTags
FAIconBook
FAIconBookmark
FAIconPrint
FAIconCamera
FAIconFont
FAIconBold
FAIconItalic
FAIconTextHeight
FAIconTextWidth
FAIconAlignLeft
FAIconAlignCenter
FAIconAlignRight
FAIconAlignJustify
FAIconList
FAIconIndentLeft
FAIconIndentRight
FAIconFacetimeVideo
FAIconPicture
FAIconPencil
FAIconMapMarker
FAIconAdjust
FAIconTint
FAIconEdit
FAIconShare
FAIconCheck
FAIconMove
FAIconStepBackward
FAIconFastBackward
FAIconBackward
FAIconPlay
FAIconPause
FAIconStop
FAIconForward
FAIconFastForward
FAIconStepForward
FAIconEject
FAIconChevronLeft
FAIconChevronRight
FAIconPlusSign
FAIconMinusSign
FAIconRemoveSign
FAIconOkSign
FAIconQuestionSign
FAIconInfoSign
FAIconScreenshot
FAIconRemoveCircle
FAIconOkCircle
FAIconBanCircle
FAIconArrowLeft
FAIconArrowRight
FAIconArrowUp
FAIconArrowDown
FAIconShareAlt
FAIconResizeFull
FAIconResizeSmall
FAIconPlus
FAIconMinus
FAIconAsterisk
FAIconExclamationSign
FAIconGift
FAIconLeaf
FAIconFire
FAIconEyeOpen
FAIconEyeClose
FAIconWarningSign
FAIconPlane
FAIconCalendar
FAIconRandom
FAIconComment
FAIconMagnet
FAIconChevronUp
FAIconChevronDown
FAIconRetweet
FAIconShoppingCart
FAIconFolderClose
FAIconFolderOpen
FAIconResizeVertical
FAIconResizeHorizontal
FAIconBarChart
FAIconTwitterSign
FAIconFacebookSign
FAIconCameraRetro
FAIconKey
FAIconCogs
FAIconComments
FAIconThumbsUp
FAIconThumbsDown
FAIconStarHalf
FAIconHeartEmpty
FAIconSignout
FAIconLinkedinSign
FAIconPushpin
FAIconExternalLink
FAIconSignin
FAIconTrophy
FAIconGithubSign
FAIconUploadAlt
FAIconLemon
FAIconPhone
FAIconCheckEmpty
FAIconBookmarkEmpty
FAIconPhoneSign
FAIconTwitter
FAIconFacebook
FAIconGithub
FAIconUnlock
FAIconCreditCard
FAIconRss
FAIconHdd
FAIconBullhorn
FAIconBell
FAIconCertificate
FAIconHandRight
FAIconHandLeft
FAIconHandUp
FAIconHandDown
FAIconCircleArrowLeft
FAIconCircleArrowRight
FAIconCircleArrowUp
FAIconCircleArrowDown
FAIconGlobe
FAIconWrench
FAIconTasks
FAIconFilter
FAIconBriefcase
FAIconFullscreen
FAIconGroup
FAIconLink
FAIconCloud
FAIconBeaker
FAIconCut
FAIconCopy
FAIconPaperClip
FAIconSave
FAIconSignBlank
FAIconReorder
FAIconListUl
FAIconListOl
FAIconStrikethrough
FAIconUnderline
FAIconTable
FAIconMagic
FAIconTruck
FAIconPinterest
FAIconPinterestSign
FAIconGooglePlusSign
FAIconGooglePlus
FAIconMoney
FAIconCaretDown
FAIconCaretUp
FAIconCaretLeft
FAIconCaretRight
FAIconColumns
FAIconSort
FAIconSortDown
FAIconSortUp
FAIconEnvelopeAlt
FAIconLinkedin
FAIconUndo
FAIconLegal
FAIconDashboard
FAIconCommentAlt
FAIconCommentsAlt
FAIconBolt
FAIconSitemap
FAIconUmbrella
FAIconPaste
FAIconLightBulb
FAIconExchange
FAIconCloudDownload
FAIconCloudUpload
FAIconUserMd
FAIconStethoscope
FAIconSuitecase
FAIconBellAlt
FAIconCoffee
FAIconFood
FAIconFileAlt
FAIconBuilding
FAIconHospital
FAIconAmbulance
FAIconMedkit
FAIconFighterJet
FAIconBeer
FAIconHSign
FAIconPlusSignAlt
FAIconDoubleAngleLeft
FAIconDoubleAngleRight
FAIconDoubleAngleUp
FAIconDoubleAngleDown
FAIconAngleLeft
FAIconAngleRight
FAIconAngleUp
FAIconAngleDown
FAIconDesktop
FAIconLaptop
FAIconTablet
FAIconMobilePhone
FAIconCircleBlank
FAIconQuoteLeft
FAIconQuoteRight
FAIconSpinner
FAIconCircle
FAIconReply
FAIconFolderCloseAlt
FAIconFolderOpenAlt
FAIconExpandAlt
FAIconCollapseAlt
FAIconSmile
FAIconFrown
FAIconMeh
FAIconGamepad
FAIconKeyboard
FAIconFlagAlt
FAIconFlagCheckered
FAIconTerminal
FAIconCode
FAIconReplyAll
FAIconStarHalf
FAIconLocationArrow
FAIconCrop
FAIconCodeFork
FAIconUnlink
FAIconQuestion
FAIconInfo
FAIconExclamation
FAIconSuperscript
FAIconSubscript
FAIconEraser
FAIconPuzzlePiece
FAIconMicrophone
FAIconMicrophoneOff
FAIconShield
FAIconCalendarEmpty
FAIconFireExtinguisher
FAIconRocket
FAIconMaxCDN
FAIconChevronSignLeft
FAIconChevronSignRight
FAIconChevronSignUp
FAIconChevronSignDown
FAIconHTML5
FAIconCSS3
FAIconFAIconAnchor
FAIconUnlockAlt
FAIconBullseye
FAIconEllipsisHorizontal
FAIconEllipsisVertical
FAIconRSS
FAIconPlaySign
FAIconTicket
FAIconMinusSignAlt
FAIconCheckMinus
FAIconLevelUp
FAIconLevelDown
FAIconCheckSign
FAIconEditSign
FAIconExternalLink
FAIconShareSign
- - \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE similarity index 100% rename from LICENSE.txt rename to LICENSE diff --git a/README.md b/README.md index dfb9e08..698f766 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,9 @@ Otherwise, drag the `BButton/` folder to your project and add the `Fonts provide 2. Create via Storyboards * Drag a `UIButton` to your view * Set its class to `BButton` -3. Be a badass [programming-motherfucker](http://programming-motherfucker.com) and read the fucking documentation. (Yes, there's documentation! [Seriously](http://www.nrcc.org/wp-content/uploads/2013/05/Moonwalk.gif)!) +3. Be a badass [programming-motherfucker](http://programming-motherfucker.com) and read the fucking documentation. 4. See the included demo project: `BButtonDemo.xcodeproj` -5. See `FontAwesomeIcons.html` for list of icons +5. See [FontAwesome](http://fontawesome.io) for list of icons ## Documentation @@ -71,7 +71,7 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs ## License -`BButton` is released under an [MIT License][mitLink]. See `LICENSE.txt` for details. +`BButton` is released under an [MIT License][mitLink]. See `LICENSE` for details. >Copyright © 2012, Mathieu Bolard, Jesse Squires. All rights reserved. From 7faa771e6fa80af13b9330d765eae11508867339 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 5 May 2014 23:25:58 -0500 Subject: [PATCH 154/170] update travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 329992f..e14ee27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,4 @@ before_install: - brew upgrade xctool script: -- xctool -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO clean build test +- xctool clean build test -project BButtonDemo.xcodeproj -scheme BButtonDemo -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO From eb1936647e474ea550faa88b1b4994a0c9c634c0 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 5 May 2014 23:34:40 -0500 Subject: [PATCH 155/170] clean up and refactoring --- BButton/Classes/BButton.m | 13 +++---------- BButton/Classes/NSString+FontAwesome.h | 15 ++++----------- BButton/Classes/NSString+FontAwesome.m | 14 ++++---------- BButtonDemo.xcodeproj/project.pbxproj | 4 ---- BButtonDemoTests/BButtonDemoTests.m | 6 +++--- 5 files changed, 14 insertions(+), 38 deletions(-) diff --git a/BButton/Classes/BButton.m b/BButton/Classes/BButton.m index 6404bae..27744f5 100644 --- a/BButton/Classes/BButton.m +++ b/BButton/Classes/BButton.m @@ -30,8 +30,6 @@ @interface BButton () - (void)setup; - (void)setTextAttributesForStyle:(BButtonStyle)aStyle; -- (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon; - + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style; + (UIColor *)colorForV2StyleButtonWithType:(BButtonType)type; + (UIColor *)colorForV3StyleButtonWithType:(BButtonType)type; @@ -117,7 +115,7 @@ - (instancetype)initWithFrame:(CGRect)frame if (self) { [[self titleLabel] setFont:[UIFont fontWithName:kFontAwesomeFont size:fontSize]]; [[self titleLabel] setTextAlignment:NSTextAlignmentCenter]; - [self setTitle:[self stringFromFontAwesomeIcon:icon] + [self setTitle:[NSString fa_stringForFontAwesomeIcon:icon] forState:UIControlStateNormal]; } return self; @@ -205,7 +203,7 @@ - (void)setColor:(UIColor *)newColor { _color = newColor; - if([newColor bb_isLightColor]) { + if ([newColor bb_isLightColor]) { [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [self setTitleShadowColor:[[UIColor whiteColor] colorWithAlphaComponent:0.6f] forState:UIControlStateNormal]; @@ -257,7 +255,7 @@ - (void)setType:(BButtonType)type - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before { - NSString *iconString = [self stringFromFontAwesomeIcon:icon]; + NSString *iconString = [NSString fa_stringForFontAwesomeIcon:icon]; self.titleLabel.font = [UIFont fontWithName:kFontAwesomeFont size:self.titleLabel.font.pointSize]; @@ -275,11 +273,6 @@ - (void)addAwesomeIcon:(FAIcon)icon beforeTitle:(BOOL)before [self setTitle:title forState:UIControlStateNormal]; } -- (NSString *)stringFromFontAwesomeIcon:(FAIcon)icon -{ - return [NSString fa_stringFromFontAwesomeForIcon:icon]; -} - + (UIColor *)colorForButtonType:(BButtonType)type style:(BButtonStyle)style { switch (style) { diff --git a/BButton/Classes/NSString+FontAwesome.h b/BButton/Classes/NSString+FontAwesome.h index ace357d..dacc3f3 100644 --- a/BButton/Classes/NSString+FontAwesome.h +++ b/BButton/Classes/NSString+FontAwesome.h @@ -1,16 +1,9 @@ // -// Created by Pit Garbe on 27.09.12. -// Updated to Font Awesome 3.1.1 on 17.05.2013. -// Copyright (c) 2012 Pit Garbe. All rights reserved. -// -// https://github.com/leberwurstsaft/FontAwesome-for-iOS -// -// // * The Font Awesome font is licensed under the SIL Open Font License // http://scripts.sil.org/OFL // // -// * Font Awesome CSS, LESS, and SASS files are licensed under the MIT License +// * Font Awesome CSS, LESS, and SASS files are licensed under the MIT License // http://opensource.org/licenses/mit-license.html // // @@ -35,12 +28,12 @@ /** * A string constant for the Font Awesome font family name. */ -extern NSString * const kFontAwesomeFont; +FOUNDATION_EXPORT NSString * const kFontAwesomeFont; /** * A constant describing the available Font Awesome Icons. */ -typedef NS_ENUM(NSUInteger, FAIcon){ +typedef NS_ENUM(unsigned short, FAIcon) { FAGlass = 0xf000, FAMusic = 0xf001, FASearch = 0xf002, @@ -454,6 +447,6 @@ typedef NS_ENUM(NSUInteger, FAIcon){ @interface NSString (FontAwesome) -+ (NSString *)fa_stringFromFontAwesomeForIcon:(FAIcon)icon; ++ (NSString *)fa_stringForFontAwesomeIcon:(FAIcon)icon; @end \ No newline at end of file diff --git a/BButton/Classes/NSString+FontAwesome.m b/BButton/Classes/NSString+FontAwesome.m index 5983b08..b025c8d 100644 --- a/BButton/Classes/NSString+FontAwesome.m +++ b/BButton/Classes/NSString+FontAwesome.m @@ -1,16 +1,9 @@ // -// Created by Pit Garbe on 27.09.12. -// Updated to Font Awesome 3.1.1 on 17.05.2013. -// Copyright (c) 2012 Pit Garbe. All rights reserved. -// -// https://github.com/leberwurstsaft/FontAwesome-for-iOS -// -// // * The Font Awesome font is licensed under the SIL Open Font License // http://scripts.sil.org/OFL // // -// * Font Awesome CSS, LESS, and SASS files are licensed under the MIT License +// * Font Awesome CSS, LESS, and SASS files are licensed under the MIT License // http://opensource.org/licenses/mit-license.html // // @@ -36,8 +29,9 @@ @implementation NSString (FontAwesome) -+ (NSString *)fa_stringFromFontAwesomeForIcon:(FAIcon)icon{ - return [NSString stringWithFormat:@"%C", (unsigned short)icon ]; ++ (NSString *)fa_stringForFontAwesomeIcon:(FAIcon)icon +{ + return [NSString stringWithFormat:@"%C", icon]; } @end \ No newline at end of file diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index 215defb..c8e872c 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -69,8 +69,6 @@ 88F28F58183337F40044C99F /* UIColor+BButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+BButton.m"; sourceTree = ""; }; 88F28F5A183337F40044C99F /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontAwesome.ttf; sourceTree = ""; }; 88F28F65183338210044C99F /* BButton.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = BButton.podspec; sourceTree = ""; }; - 88F28F66183338210044C99F /* FontAwesomeIcons.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = FontAwesomeIcons.html; sourceTree = ""; }; - 88F28F67183338210044C99F /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE.txt; sourceTree = ""; }; 88F28F68183338210044C99F /* README.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = README.md; sourceTree = ""; }; /* End PBXFileReference section */ @@ -103,9 +101,7 @@ children = ( 88F28F4F183337F40044C99F /* BButton */, 88F28F65183338210044C99F /* BButton.podspec */, - 88F28F67183338210044C99F /* LICENSE.txt */, 88F28F68183338210044C99F /* README.md */, - 88F28F66183338210044C99F /* FontAwesomeIcons.html */, 88F28F20183336920044C99F /* BButtonDemo */, 88F28F3F183336920044C99F /* BButtonDemoTests */, 88F28F19183336920044C99F /* Frameworks */, diff --git a/BButtonDemoTests/BButtonDemoTests.m b/BButtonDemoTests/BButtonDemoTests.m index 3c25919..ba99904 100644 --- a/BButtonDemoTests/BButtonDemoTests.m +++ b/BButtonDemoTests/BButtonDemoTests.m @@ -85,7 +85,7 @@ - (void)testButtonClassInitMethods - (void)testFontAwesome { - NSString *icon = [NSString fa_stringFromFontAwesomeForIcon:FAWarning]; + NSString *icon = [NSString fa_stringForFontAwesomeIcon:FAWarning]; XCTAssertNotNil(icon, @"Icon should not be nil"); NSString *btnTitle = @"Button Title"; @@ -101,7 +101,7 @@ - (void)testFontAwesome [btn addAwesomeIcon:i beforeTitle:NO]; XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 2, @"Button title length should be 2 characters longer after adding icon"); - icon = [NSString fa_stringFromFontAwesomeForIcon:i]; + icon = [NSString fa_stringForFontAwesomeIcon:i]; NSString *btnIcon = [btn.titleLabel.text substringFromIndex:[btn.titleLabel.text length] - 1]; XCTAssert([btnIcon isEqualToString:icon], @"Last character in button title should equal FA icon"); @@ -109,7 +109,7 @@ - (void)testFontAwesome [btn addAwesomeIcon:i beforeTitle:YES]; XCTAssertEqual([btn.titleLabel.text length], [btnTitle length] + 4, @"Button title length should be 4 characters longer after adding 2 icons"); - icon = [NSString fa_stringFromFontAwesomeForIcon:i]; + icon = [NSString fa_stringForFontAwesomeIcon:i]; btnIcon = [btn.titleLabel.text substringToIndex:1]; XCTAssert([btnIcon isEqualToString:icon], @"First character in button title should equal FA icon"); } From 3371e93cee3006bb7bc6e1d20f197b549ee286ac Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Mon, 5 May 2014 23:36:19 -0500 Subject: [PATCH 156/170] v 4.0 --- BButton.podspec | 2 +- BButtonDemo.xcodeproj/project.pbxproj | 2 ++ BButtonDemo/BButtonDemo-Info.plist | 4 ++-- README.md | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/BButton.podspec b/BButton.podspec index a24f880..48fcacd 100644 --- a/BButton.podspec +++ b/BButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BButton' - s.version = '3.2.3' + s.version = '4.0.0' s.summary = 'Twitter Bootstrap buttons for iOS' s.homepage = 'https://github.com/jessesquires/BButton' s.social_media_url = 'https://twitter.com/jesse_squires' diff --git a/BButtonDemo.xcodeproj/project.pbxproj b/BButtonDemo.xcodeproj/project.pbxproj index c8e872c..e84d1a2 100644 --- a/BButtonDemo.xcodeproj/project.pbxproj +++ b/BButtonDemo.xcodeproj/project.pbxproj @@ -435,6 +435,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; @@ -452,6 +453,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "BButtonDemo/BButtonDemo-Prefix.pch"; diff --git a/BButtonDemo/BButtonDemo-Info.plist b/BButtonDemo/BButtonDemo-Info.plist index 974abf6..2bc7208 100644 --- a/BButtonDemo/BButtonDemo-Info.plist +++ b/BButtonDemo/BButtonDemo-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.2.3 + 4.0.0 CFBundleSignature ???? CFBundleVersion - 3.2.3 + 4.0.0 LSRequiresIPhoneOS UIAppFonts diff --git a/README.md b/README.md index 698f766..1a78334 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs > * Attribution is no longer required in Font Awesome 3.0, but much appreciated: * *"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"* -[docsLink]:http://cocoadocs.org/docsets/BButton/3.2.3 +[docsLink]:http://cocoadocs.org/docsets/BButton/4.0.0 [mitLink]:http://opensource.org/licenses/MIT [img1]:https://raw.github.com/jessesquires/BButton/master/Screenshots/screenshot-0.png From 826729f8cd154cfc9aa15d4abf3dfa457c9dd43b Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Tue, 27 May 2014 18:19:37 -0700 Subject: [PATCH 157/170] update readme and screenshots. add cocoadocs.yml --- .cocoadocs.yml | 7 +++++++ README.md | 16 ++++++---------- Screenshots/{plist.png => plistfont.png} | Bin Screenshots/screenshot-0.png | Bin 14871 -> 0 bytes Screenshots/screenshot-1.png | Bin 35410 -> 0 bytes Screenshots/screenshot-2.png | Bin 38278 -> 0 bytes Screenshots/screenshot-4.png | Bin 22840 -> 0 bytes Screenshots/screenshot-5.png | Bin 32087 -> 0 bytes Screenshots/screenshot0.png | Bin 0 -> 14813 bytes Screenshots/screenshot1.png | Bin 0 -> 38354 bytes Screenshots/screenshot2.png | Bin 0 -> 22817 bytes Screenshots/screenshot3.png | Bin 0 -> 32054 bytes 12 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 .cocoadocs.yml rename Screenshots/{plist.png => plistfont.png} (100%) delete mode 100644 Screenshots/screenshot-0.png delete mode 100644 Screenshots/screenshot-1.png delete mode 100644 Screenshots/screenshot-2.png delete mode 100644 Screenshots/screenshot-4.png delete mode 100644 Screenshots/screenshot-5.png create mode 100644 Screenshots/screenshot0.png create mode 100644 Screenshots/screenshot1.png create mode 100644 Screenshots/screenshot2.png create mode 100644 Screenshots/screenshot3.png diff --git a/.cocoadocs.yml b/.cocoadocs.yml new file mode 100644 index 0000000..a1fc088 --- /dev/null +++ b/.cocoadocs.yml @@ -0,0 +1,7 @@ +highlight-color: "#43D15B" +highlight-dark-color: "#319942" +darker-color: "#8A998C" +darker-dark-color: "#454D46" +background-color: "#D7E5CF" +alt-link-color: "#00A81C" +warning-color: "#0FB82B" \ No newline at end of file diff --git a/README.md b/README.md index 1a78334..8c9a6b6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # BButton [![Build Status](https://secure.travis-ci.org/jessesquires/BButton.svg)](http://travis-ci.org/jessesquires/BButton) [![Version Status](https://cocoapod-badges.herokuapp.com/v/BButton/badge.png)][docsLink] [![license MIT](http://b.repl.ca/v1/license-MIT-blue.png)][mitLink] -[Twitter Bootstrap](http://getbootstrap.com) buttons for iOS. +[Twitter Bootstrap](http://getbootstrap.com) buttons for iOS `BButton` is a subclass of `UIButton` that is styled like the Twitter Bootstrap buttons, and is drawn entirely with `CoreGraphics`. Buttons can be styled as Bootstrap [version 2](http://getbootstrap.com/2.3.2/) or [version 3](http://getbootstrap.com). @@ -16,19 +16,15 @@ ```` pod 'BButton' ```` -Otherwise, drag the `BButton/` folder to your project and add the `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` +Otherwise, drag the `BButton/` folder to your project. + +Then add the `Fonts provided by application` key to `Info.plist` and include `FontAwesome.ttf` ![plist][img3] ## Getting Started -1. Create programmatically via one of the `init` methods -2. Create via Storyboards - * Drag a `UIButton` to your view - * Set its class to `BButton` -3. Be a badass [programming-motherfucker](http://programming-motherfucker.com) and read the fucking documentation. -4. See the included demo project: `BButtonDemo.xcodeproj` -5. See [FontAwesome](http://fontawesome.io) for list of icons +See the demo project (`BButtonDemo.xcodeproj`) and [FontAwesome](http://fontawesome.io) for list of icons. ## Documentation @@ -52,7 +48,7 @@ Please follow these sweet [contribution guidelines](https://github.com/jessesqui Created by [@mattlawer](https://twitter.com/mattlawer) (Original project here: [@mattlawer / BButton](https://github.com/mattlawer/BButton)). -Forked, refactored, updated, maintained by [@jesse_squires](https://twitter.com/jesse_squires), a [programming-motherfucker](http://programming-motherfucker.com). +Forked, refactored, updated, maintained by [@jesse_squires](https://twitter.com/jesse_squires). Many thanks to [the contributors](https://github.com/jessesquires/BButton/graphs/contributors) of this project. diff --git a/Screenshots/plist.png b/Screenshots/plistfont.png similarity index 100% rename from Screenshots/plist.png rename to Screenshots/plistfont.png diff --git a/Screenshots/screenshot-0.png b/Screenshots/screenshot-0.png deleted file mode 100644 index 1b72992b12ed4ca16b6ea7a7698905cde9b49ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14871 zcmbWe1y~es+cv&ScXujX(%lUL(%qr7uyn)Hl8U6Hl&DB|FCZZ;NJ)2xbn_ql69fWF0{@FBaKIL$eOi1F zNNE14tdzF*&%G>UeeKD{yYZyN#7sX|rJ-jB=d+?4bZU5N0}@^OuFqmC$o-<|&!l&| z**z;{yP{2CA%wD$NtSYQ8nTj-1*l48@SP|3B5bpc$m)Fqy|8QXg?zuVnlsbRpVxJ* z&LuTAYWea6avFcV#B_tPwY!d-n}2l=OWZfxkF(g=*qq~8z&9z%5}}FSo{Tx_e4a-? z_cuQc&(9`--Cy)b_@3{#SoL7#D21^RNLC;P+O^%^T@S9E++81J5L^!j-G#b4J0I-L z)YaLKD=9h8HJ%={-S4lh)p+bo5Ir%})W^ zSw=^{5H9jxi>Hftu``ADn^fCsyrvQpzq?r3P!7Y~rNK2|f?6`o zzTtTC(TF9ntc-)x@1W&;^+oH=k#bN_&?8~@O?3qYh3cT5c*=zNLSz}6ZP2EhM_98 zU2PZl^*usIRL2PS2@V&(zj3R6Iaz8_G1u&KJY8jTzBfZWbJ(I7v{O=7e%pc00a~Y3 zh&S&X8yoBDLX1)qJN-cojGouL&&EN}z2D^+oGL|pRhFQOc9)BdIBYsAzf8sq&npkHd0Y>nue|4VPIHGG&A;~NnrwzL zQ6nm@PbbYXGS3<|vO6oNsHhgTa9B?_Es3?&GWapcQQ8&)&P_DThcbl_rjS6T?A7C0 z;ifIVeEU=lJ-EnnNPq zbc&f$6OpBlxF)pSNQZ*tA5-8l+$(}jLA1{uANexEJQ%~WxvaYJ;q_x9i_@mw(Br&C z%43k$kC~OY-BQCFCKWe5rA)b5NyH!IIg}jFXItxef(&x-{J5Pa{OnbtT#Rr zHQQO7En#m+;*OVNICN1sf3)~{aXkx{!Y%(gkRk}_OJatUEA~`TFjS3r^UI7lRSL3& zY)geAeFF!cP1|%SlJ{#Mq~)=7To#wLM)x-OU-fgeu>~bX=P~{L>N^V;`exGPxwgJe z#uQzN3)VMxFjj{JIbuau%7N$QPg)3GGzHe<8U^P$>H!Bs;gowgCKH^>Ukd{82c~F{ z)?W)bDD%VG!-57zAct%Id%@=jJ@swT{4~(t-(P4?$D5^8D9vNIk*#ibf)&^|v2&DO z+I#CRRN@;UFEiF)tg-dQwS~+ec>d2znOS2M< z>Zy+}YYY~Cev>RtdD!`=q0ow|Q91*eq?H(y*!dGZ>(Nblp+oS&t-p@A(3h56{4nZT zALx?6qU0;Hy>M$;E5k;jupr2zuVrV}j@=$U{Mek967oaq(S;?4Xc`zxBtjXiDe_hm z$k1=un0yRK&d-O9Bf9Be1YiajLK+C)98Lv_${7dJ`e)^zJ+v@g;_R2v@$n3>8ie{i zewoOuj=oEseLGqqD*R5}pJ1m*r9*;Nxus$Y(^ z3%%$eW1wb)5y98j*Xw83d;hYe6BZN{J%doZdaInuUb5En2)5S31u9*88XrNfiOw>| z7c=f;VROS9$9Oc>_WqbN*w?Xz}0TmaNglN9vhVM=QCv_ste3BbMD`9e1}Qeqvu@q3!Cso z zA#6xJ>2}G>EpATMwV@1q@NkJ_DjFn{$fzcN1%%x4fSZe7Ku}s=xW79G;1-L)%zG)k z_T>zmE3CnBnwtQAW@n;A=BeObQBGi^!fUG1($W~BC(`b5`Cn0S3-g~F8m4P^WjMDA z0hoyoH8D1B1*XUSRoT5^jlGVF3I;gEam`@m-Sq+M9N`-j0t@8M*!*XXkJ7^zF%mp@ z#?{|*YYHE|+G1DA6Y13=o5&VGs`D!&uNLk+LdMu&iBn`;BdJ9qpD^+Mv5~oHSMSq? zR`-q^T+0p%5s;9O@V~vC^IEtC#;$Zm7h z$a5ynYEeNspU1x~8DvDf7)LHZBPJ?J(OyNe_CZ2jQxi{mmRajV60$zZK&MX#go`@m z?OSQ+AU9HcKesWx3H!eCz6j({^V)^MIL!mu7^(n>VUHlI||53TRdM3lhd z)Mn$a(U1er6Q20er1vZ8B3}S_eLI$O7bfTf%%nJ$(KnA}`rs*ui1@t^7bWg~y;k(! ztC<9d#IXV>wt^j8N(6(vg~aN!ch{dtrsYP)RFrZlU^)zu_f)*B)rB{Y4Z~HXRpsZZ zxI=*AChGmlU$&C{p!1W!l06G#L})&s(Q=>MD+ldiq&Y*iJ@T1t!;yHw4jB?le; zN?KZ|Z72eoCpL^zYxV0B{e` zI|>oc0ffb3y)v{Pg>M(Nj$ln*2i^R})xE-gXKbFRkQz|LYn_i6HY=EN_MKkzcb>x@ z`5av*+#Op-piX64Wntsi7(R))&cMe??PJZ@^n52r2EWw@9f|p78XlpcSppc;J4}NWW>aE z=ItRH*?y{$F>8gdUZFS!-JVWLPWJR5_iMkZW<~H`A9$B`A|7y69d7#7Zfpm3m}z;X zwENR1Y2p=g=@H1P!=Oljed(3)C42S>jKEzs{g)8S3F3tS%N&kp+fOPIYES@}N~B#S z*?7~od}Q3364IX4XgQNw z5_NPXu{e>c?GU?7zC2D{=o(d3k)Kv1GzmS~bR7qGBkONE$1ZVwLQ0LFWZ7z48xW*&(FSz!2(7;RbSu`C=}P^KN{; zGlDpS7H5o?vHg#cTXR4#r9wP2x<`T5Q7=Z)QcAnp)h@@$5Puc7@R?-CbXWU8aWC4P z7uQ4KE!a$|kYvY}t~I?$X3#J{j&2%#8SETHM()sWv`*kjFYRjV0I*uP->gi2q5*M9 z7@=DmGwg#5ykW_8=S$?t;6rQ~L6y#t&o69wc`3NkJY+2f#%BPuxRCx57{)=zeXOVLvFS;MkAWbL{uY=4!QYg|m`P?Ta)WQXJ15 z=56K_D0Tg(0)uOR`|`$ zR#?C$S_!13b$e}Uw}{W|?B|6?&fws+@b^D1NKu|Aj};iMB|iz06(uYO=S_sA$R`0U zi+&P&&CwJS^CPGo*fXLql>6U|1at6JclF7s^aV1q^o_l9xAkt-&^ovqCqAL7!P1WR zLtzm`*r#(Zyf14f+P)=qdk`7}>zF4qGW`ID6V<{|P>;Aa183m;Pb z`PYD|$xOqV711v{`g(ZEP&6o~JmiymtO)d5!_UK^NJR3Z9&p!7KaGYU2b81_C{vz`EDls*tDzFRTqAr<{%HQLu zh;!CL7`-X*g}20;+&>E|Sz4(pJMqf97_5DAqWBMlQk_L&uw&<=K^dfr9^whgujip9 zN6lMQnIFGzCsv_l42zpCJ*LvbOQmd)f)1h_z8x%*yZq|cKuClGy3UMy*E}%u)$nA- z5*50#Z|#>u595b}%!D(pMk&Y7N-oEW>5)nsffqmZ2Vh;y60D6?5ln^GP**gG!i;7^ zN{IIH%*m0wdy%YUM0^#@XRd#m9Ev(!cd=HG_KS7AaTTR|>Zmg1gBq2UlI7lnlbVz( zNd8XP+F_*bxLM;7ebb?}=2_gEt>oz0SK{1gg-t+yR{T7+_+o6e8b=g!-9KjJJB&I}_)(w|>=aDe%FV8|TZv@S>c z{ZmNJk{bDA3bTV?t0S(%<<4BD2=i-y?Vl-H8YH5ucLg6;E)RD@BZ0=n2*`36b+)&;j|a#?KJZ1!Rw0e5tPvx!Mk96)hiQ+V~7V z`yy7^TJ^CxiSUkM8S3?fFmmo1R|-+X6s+{VOJq#<0`xsobgkhHLINRVOVz3M=sasf z>U~U)M~QCTkF9Ei!@V$-DPskRCb?`qCkA4cafvvd%1P@(&-WP#Ca-#fDnrk|p?4eE zwnsoU*_4^Y0)^3*S~@4HK4KNw-yZAYLv2dMqYS)!Ql+2{Se%EQo5Z!3&$S_rNcxQd z5@iNa*a#*}oW48ZM~V7y<`gueMS^DC?Dd3ACaKpJlkIbx#gR^;sU_;C`db{8t?63^ z?|P%9eKwvgKHw$p5sgo1-zC4Wgm=m~=# z#MKJ;cFB>$FBz_t?pmvSK4>6WveFtolA+NoV0(n75ci1#6yX-1zQO*YfeQVZ>R=)W zX&C+k)f;1W&pOKH=sn8FvJf$5bRu^#E=IGJP}rq*#|jwp7)ZZw-*L|BU+a)T60%wnkIs%xYmEldT~JQD${`JO-k z&X^Gtp+&eAFsY5k8PPN~Pf9X2z4RmKLvr@&Na01_XUTUbqV#wb6mjqy4JNd(*C6kW zB^*)Y5L~-{uo1l=A}oNB)Qp_>z8$3F6r8#u`>xMAmun=s2)frVux|;Eug!oQZA&q1 zXU-OfdFf7!5fCk?4ia@=x5y+#w;m733k6AVL5F4M+fq&FM#68)doN}?Xhk_4&$nhs z7@Y-iqoOMMbPG_+Peu?wgcO>@I&%rJb+?otId<{O_aF7-;`jv#c#CB6i+V;Tyx7q} z>E&9AZA5^5)F9Ja$t0<AIizTxbHKH zS9~vj#BaSg!M$Z@dTfqVoR{%tSo*%P7r)Aq>Mr3y%91B#TaC6kJ&yiSb!OT%%jb!W z(4~XK$tK(-Xx*L13l8LkJq!aXjFUP11-Xg=r4VWGw0S~|LQUpe*(a)I1QB6zc;hHG zK9y zNv9sG*}b21Wd(^{3So*LL(THUnD7zes6MqlSI-Xa+Al>@-WfEy3i7q&$#Gqp@AY(4RmB1bqU+3 zuyJk`C#zO6HCsLeC>V7@*J@S!TZE|;46d_; ze$-=Z)1FvjvrjU#Fy7zl#$SR4*#n>aYs&;engmB*4)NM>%ui0(O|bJFOaLH|5#a1L zi3^#g06<2&f!319 zRL3ooVP}Df!bmFn1d4ykThpa2#DB-edy?nF`m>4!kI_tYmj>*F13HNQCj0G)25J5sGQ)^$FLqew;#e{J+KL|_uYH+qpzJAc?p}1 zG$A1TMJ2E)X$sl9{I56yi>7zCG#+oI_Y%^0-WR0VXgb*^Aeq5hvkmIEtywhXv(yCr z+8)V#(y(>M6;ir>LjdO}1f5iCijXav^D3vr&D?4|txc*Kzms>=ADX?}sMzCWB$z=* zLSCXHJ&*q2DMaZ*?{?k6ne;klU~rJB)sx|wa1|;{t0`N&fkT{`fx48cOINL48u}7r zaqm0n6jEdA7@! zmX0REl(~8}=o19U8#OdMuO|&rdon%o`VgezFqV-FVpOeLx0%KsagpL zR0&?H24APlwEC?aSLsX<=GIdzGH1abgl*XWXf$uTK0K>)Ui}#Dv5AFJz6ZvzVO_JF z*jAFyC6FezQyYYI*54qEdZ6|wnLHm)L>?pw3Ty z!#PIPA{9|lc|bc-T3uvC?7eH26RoW;?D~!n#Eg;=kAbj7GwZu4 zdF^1Vua49MJH=n5&+Xm`V4=s3dD=PDebAKn!oPb(7YSSo2g}_U9cRgUtvnlD(S8?+ z$7OP33w?|egD)K07~4e`>#=d`KVNV-nve=Qi$mXHicn~U81DKueZ^h8LM>`xE4_Fuy`)N{C zH>$i>ZTM1OKdr8=E;2H*sVgioKYD6Pzh%v=<|)*H9RQWrCwo2xHfCk5w*gn!f?QDD zCo=iDTaw)AxF)%PZUBMPGc`303=9N=!NElMs_`t6+}qNrQUp6pu)~%)EKl0V8Ugo^ z!_Jge)5DhR?CfA&0#F1sL$n8h`JWY%h=+Q~m2dlP2bUqfxpt&dlqDr1iHzXyddc@R z;EN>bhP-ewS>344tU>o*;p4+U_dZHMM5Kw`q_Ns*&KIbT zT%YYFZdejW0otiFn4owWHHrq9B@>{j`T4spVlzj&F)cN*@iMbEE&2{5&$R|7QRjJ4 zfTP6m_j-+-9FI|!3ND&C;+wO=@9ys203tU3XT?D!Z3`l-_F#niT=?eotMuJv$E^XO zE}@yuI(%~nxLKgcD9?w7MF+zqTNILVtM+}VqKff8{Mv-Hl3SROY-0gp1rM$zgE_a| zdJclRf#XQQQ$PeH^Cx35NmvUp&M1vPGB+m&#DI)27XeYT)EXoKD9H~W^QT>rPxxS) zbkF3o{Gt5Wb^dwGp2OCpu~UPhL4O(h>w##BJqg3zcvKR6cMcR>Z+naFs4)DhP-|s+ zfykHf{V_6TIO({JtgflN)!p3*Q?$KG97;VEM>3FFF%7@G%KRg3p9`<9aYD_BO4k07 z$@h5#a?wF=@5{A1xA9>I&Bv;PAg7*kVBfq>C?w-k0eC=i;!$^wRRAQ0vAp9gp?FNH;T=?|e zDvt=Qr~Gp{0*4rIk)V&i>CJ7&wPIwrO~el76=EvUqX3;=mP|})tAI^kcYN5j_4?oy z0whN~z#i!kP~K4>p-3cmhs(Dyl874!dap9EyD2D$1xr~#p-Fbl@8{O|UgBwBQGaYqH5D@by@)Z_BHA%3Q-}1Yt-nXJ{f@r1WwEH)9Ne z$xuuWeKz~$`Kyl_)_v2=YgIUp^)5DICB#fsqO5x3_TiZ?FpBWhqT2bz2}!!s4BXiv zZ4PB+B|&PIaU@)M+o0E!A}MN?eC|-(9c$()W9NqS0xQWF79tZ8vuu2KbDstEr?YkWXNEuI8{#+2&{)p;^mWXyK|MS7O2FC(f#HwqZfFut7YS zAi|9PT(DOc|DlZ6BL)~m@Rb~Iyot9r^oezDJ5@^7ciKe^{2>(>DlT5lN|6*t_dsvQM-nS5?O^wMhXq-)Ovrv$!|Caa;#iTI^Ju|SAK!#mY!A?tfn~te z!4Q}h|)}sR`aHjkFftwUp zCs9!$h!I>YqEyzexyrxBx?IA+rdBPmFQtDBp!0A!$MWSKSvg*OJ3_XULK(MMYw#zs z@3DcAkYFv)q3`H;kK)rF_lZ9hyB0splZyeWjigc>{N?=z@c8EGPXclm+S`|~fe_g? zq6W3AJ(rI!pI&e^w5PS?-#df=rVnIP5z?KyBa>egVk# z$dRVD(zS+Z#iGpiN{;V_9 zot62bg9M;@Sy5P)s#}Z*gQCTM&#T}Cu*l!ve=+dXS4`teK1im1Z&4WM&H^RUj^vNz zNd_Je(TBvqnTvSsgb^S1f5VqLZX<@Pe$l^@wSTz|{?AzZhkfCHWPPUv;0XsE11X0@ zV-W^N=Xd2Lh$X(YE%fQ^_a8FmkID+zT1@|PFw~T*hbt8>voi1S!s_?-8>`hk@5K8{ z0*2b-8zTSK{#9L_UYCxbovd$cuo9p(vyJB2F0Fo)Hdl$*VTZ{tG#wlLm9af!aOlty zAN0H`=zoP=YQsyp!H-zUcwNGP;Ph7s0035;F+-vEavl#Ot^=*BdE~dw&HI56RC{Nl z2pALox|e@t?Feb|Q0Bi^^lgF4v_#(zz(oU431$IS)?(*{)+0E0Bn+0s}Y8rU?B9Xh!dEud+q`Lt^YPq|+V?d;#p-~|LHq~pn#EJ~*;&2wS z{ZbSN)s15GIT8&@!8>k_c%LRr-y1tc5bg*QaQM?dQuP4}1iq!k*O8O2Wc?-%tENeq|v=0@V4<)Auw3{>HM@5UzM5~n`Pe{QFwf$t8lZkbZTzpY+<`<+5V{7 z`ktfjM?oavf@@-jdDpa%;+KovtW+Vmaf+tV(gzKkZwBmUUijwL4spx#c!jUQ1-el`!e5n-a+2bj8 zQpRBc%>cUwrm_a&FRF(eD-yF^y%tflgdhh^8P_?#C}UW}@hT;?zS2eVc=yn9l8FzL zl@-axX@qDahlIZJC_v%ydf7QhCSN}8?Rs(fp^?c0z8J_0&&s)`p}eS>u9Fj9&#W=f zkPpklBKsshale$`XrUOJW{}}B*1Pme3J(^2j9y^*2*0)QOVuH{^Da6&`x9))i!PiN z+R_xglBeh;=b-+c7Mhg!*RL6YIbk_A+w_G)h4pbmxuENP=!@)Aq)@C* zgY=9C1a&;`w`HoF3^Y!$7uN?f9!!rnnLOF4NyB!i5nc!Lw@Z=K;%9L}05=82lCouv z3C0z$_lo^kd#sE8HcsPLLj!im466L+GU1dG&aNE)Oyp8RSo#S$349Fd6RSE`f1J#q zTX_9P!Y_YTAGr-32|W>fj*N_4K``)w4sQ0TydjZlajV~1?nX6d@N+t&EWhgOP>+>; z-x|2b0t}6y&)gm3?|HgMC5NOzG04iic9VoQ*39f|BkNz6kALVv>63HZQb^Vl^%3gf zI$@)|1IgpqVr=w_PuqT}HwV0gPw`O_4>wKpC3Nf3Z{W+@6oTP_Vm4s1g!)Duv1C*t z;Neq}MQrhl_Z>nTfCB~(NCdN^97M(APA#TmPZVSHuFUPwb_R~Pd|FOmZW}{<%utuI z6C8RVj`3T0GpOjj2~iMN&N^lm2^)c&o?)uEr}k4@^O*m37PWB>PI*=m$i)zBOzNx*m#S!@P$QK5J`sx zS%j|G%>1Yz2C8B41g=*Q#fjh$3QE! z=vzO38AejmG!)Dx(!6KSbC)`UhUlRMY&%OCUW)Dh$>oW}%P%N0RslJ8A!A_cMkEtkQci z9IdwB^AI0CGIa(D1k5Vr$*=y?#*H~yO8XSJTKdnLXnS?CT8N(D>Zjf|tJS*g$Nc##!UcqaJ!^YDU581X!i#Zc z1wiT?|f#zsgocz>R>`LUSO3B<9JaAgkhg_q??d<$kQIRgxEy@lw1p#mxl#$wQ=^Vss~;qKaHCC=z%#3?_MH-sYfZ3vLs zYYS$*tQ14YB@Mr2(4|3{_WD&0_a|jgW}}^0?GjAc&CfGDRaah436z>UuP$Q?JfjX+ zkk4Zb1wCpcMk!O*MfEPUOLSdqdb{QAc(5bOv|CMjdP~|a3)ITD>jQ5p-&)@?SbRch z$Q$gBqZDTH>;+j&?<>US6a;aAIsKjCsR2R_XY2-bi>DrAjrnTJADBl8XA=9;qr0hv}M(vvy_k^+WXFbVcYE|I-Mp+!^6+XGMKxcU z)luSJhT!9mSz{8Ji-?FwG4lf?z7!WG*0k>JL-XtI=R!ryHw#BAB14upJ6@wd;Pnt7 zqq|$Z9Z-Y)aeCOs=NWy11T-*Hf$CRUJq&_3G4mm=p(_Rar6jc8ZH>-^xcO zXpfLP8lrq{T2eH*7)Dx@KAFpDJ~)C5*LLCi;Tda40fub;(mCw=Fsp-mAs~*q1&;=)a3~R zdPDjEM*Chq80lD$T#|3oJ?(jGoo^x6$84bzcTAszfGs;0%R)Sd4$Z<-sztyQ2+{zY zvW}r@QVg%?fya=0qRL@8_ER15S@NLb>(AR2Esaq{++3k??2;G-%5#1PIe10SIxLg* zlk5f6EKv#C>41Uv__3J6^&+d)Pht94XJZIfbEKgJOqrLRI1(#%pF7BNy+=DQW|NiZ z#T>?A;FQP_R=v`%XBWR#0s;a6Bj&Es?_P(QhhB%+mlOcwF0c8bSJ#BTSM|Dq7{RO? zNAIqhr)>bHw~b>?_D?|h4`xma)1HI-ryvb&JM5oQ8GE&IuqR;A|wEgK{WFe8HBA-*wYuj&4CQax?O_qf` zug)bjU3|5ZoRd?g&ZM3y_r2qrMmQ`DW6}gLSc!>=eY4m@g#PKT0+;hSOSu!VIJ9u3 zg7l0g?mxv}vFzL+px)#roBj9;9E|RJDz{zOUWQYHWmFv2phV-jzfn1mMnccP>_vFa zl0OaGKUL3vp#z{<{*KcRY0&S;KaLE|&(BxO6kIZ)F*95EDRCk7JB}m4dLLLFnHbv^ zco=YDeleIUh(qLqu2@sFZATt3b(lVKKxUcR;(yulEmaH4EM= zab61nbwT$)f_B$?wN;e!(0xdxB{e5r$9f!&36TAOiJM& zt_!W7wLofVoVnj=bvz;fPLJdb$SFX*>xoe9x#_&N9B2OktzFuw+V()(hE$x@mfSTH=`Kc*6LrK@FB%Z|-oY>^|H zU4Q5{saHoeU+vh5o&z{*>tP4FJ~wVtf65aX1*lvSVDrvnmt+qpzdYVpk^Dq!y9koe zxkP)2E^$Ds&f_(j_W&cC8O#v4pINwLFs7O1&fEr~VZ|+=U*D{81Oc}0k?+Xcb4>z6 z@N9@MSGGtD(h#=HiS~A|bN3tMVMS_j|9W>k0RaJTk4(TY zPEK$bzM-L^q|*3{EMWiD-UKvox5_v`Yo>r+ETGSfpwm{jz-oUR7$UZNB1JC57jWeS zna(q{m`)VO&r!NuSgk;@ZmL7@6@^Q`>nq%sffcZbLoDunt+wR&u1%0nBS z*b?rpuAj?xVERNI3$IdwsXf`gU!Cs6L`Ty>iwTAB7bDQi8^V$w573nv)@)bg;KQ4% zxLb|H_|^Ga)Vq8UGQgS>hU1)ngc|XkJdYTkl87G<4^MXgExod|wDf=}vmEr2=|z_H zKjpK(qYMyI0AIqxzeTPyaZ1wbVe1fF_3?P*)1>9{x>@|1A$pVV z{j7<>l+vhWg3W9K0qbkfNhiSzqgLW6xcPf*Ps|T?`<3E6AmHz*oT_Z8w0X$?2UU%W A0ssI2 diff --git a/Screenshots/screenshot-1.png b/Screenshots/screenshot-1.png deleted file mode 100644 index bd8fb10ac01a5c4415d1bed61cda9f51c3758fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35410 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