[Libreoffice-commits] core.git: 7 commits - ios/iosremote
Siqi LIU
me at siqi.fr
Sat Sep 7 13:29:05 PDT 2013
dev/null |binary
ios/iosremote/UIView+Shadowing.h | 15
ios/iosremote/UIView+Shadowing.m | 24
ios/iosremote/en.lproj/iPad_autosize.storyboard | 73 -
ios/iosremote/en.lproj/iPad_autosize_old.storyboard | 73 -
ios/iosremote/fr.lproj/iPad_autosize.storyboard | 77 -
ios/iosremote/fr.lproj/iPad_autosize_old.storyboard | 77 -
ios/iosremote/iosremote.xcodeproj/project.pbxproj | 48
ios/iosremote/iosremote/AppDelegate.m | 11
ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.h | 5
ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.m | 79 +
ios/iosremote/iosremote/Timer.h | 44
ios/iosremote/iosremote/Timer.m | 184 +++
ios/iosremote/iosremote/UIImageView+setImageAnimated.m | 1
ios/iosremote/iosremote/UIViewController+LibOStyling.h | 14
ios/iosremote/iosremote/UIViewController+LibOStyling.m | 38
ios/iosremote/iosremote/WalkThroughPageViewController.xib | 562 ++++++++--
ios/iosremote/iosremote/WalkThroughPageViewMainImageController.xib | 473 +++++++-
ios/iosremote/iosremote/en.lproj/Localizable.strings |binary
ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard | 265 +++-
ios/iosremote/iosremote/en.lproj/iPhone_autoSize.strings |binary
ios/iosremote/iosremote/en.lproj/iPhone_autoSize_old.storyboard | 228 ++--
ios/iosremote/iosremote/fr.lproj/iPhone_autoSize.storyboard | 160 ++
ios/iosremote/iosremote/fr.lproj/iPhone_autoSize_old.storyboard | 160 ++
ios/iosremote/iosremote/slideShowSwipeInList_iphone.h | 2
ios/iosremote/iosremote/slideShowSwipeInList_iphone.m | 134 ++
ios/iosremote/iosremote/slideShow_vc_iphone.m | 21
ios/iosremote/iosremote/stopWatch.h | 2
ios/iosremote/iosremote/stopWatch.m | 10
ios/iosremote/iosremote/timer_clear_btn.png |binary
ios/iosremote/iosremote/timer_clear_btn at 2x.png |binary
ios/iosremote/iosremote/timer_pause_btn.png |binary
ios/iosremote/iosremote/timer_pause_btn at 2x.png |binary
ios/iosremote/iosremote/timer_resume_btn at 2x.png |binary
ios/iosremote/iosremote/timer_settime_btn.png |binary
ios/iosremote/iosremote/timer_settime_btn at 2x.png |binary
ios/iosremote/iosremote/timer_start_btn.png |binary
ios/iosremote/iosremote/timer_start_btn at 2x.png |binary
ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize.storyboard | 160 ++
ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize_old.storyboard | 160 ++
ios/iosremote/zh-Hans.lproj/iPad_autosize.storyboard | 77 -
ios/iosremote/zh-Hans.lproj/iPad_autosize_old.storyboard | 77 -
42 files changed, 2447 insertions(+), 807 deletions(-)
New commits:
commit 405a9346efa8dbed3d36ad96dc373a97e4e99d92
Author: Siqi LIU <me at siqi.fr>
Date: Sat Sep 7 22:27:49 2013 +0200
remove unused timepicker views
Change-Id: I15cbde31d227c9969e2b6c774e6b55cdb364ee9a
diff --git a/ios/iosremote/iosremote.xcodeproj/project.pbxproj b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
index aa42d9c..df2254c 100644
--- a/ios/iosremote/iosremote.xcodeproj/project.pbxproj
+++ b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
@@ -87,7 +87,6 @@
8C23B46C17DB3B8600FB4DE6 /* timer_settime_btn.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C23B46A17DB3B8600FB4DE6 /* timer_settime_btn.png */; };
8C23B46D17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C23B46B17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png */; };
8C23B47017DB419300FB4DE6 /* Timer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C23B46F17DB419300FB4DE6 /* Timer.m */; };
- 8C23B47317DBAFD200FB4DE6 /* TimerCountdownTimePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C23B47217DBAFD200FB4DE6 /* TimerCountdownTimePicker.m */; };
8C26E5C617A5539D007DA4B7 /* UserDefaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8C26E5C517A5539D007DA4B7 /* UserDefaults.plist */; };
8C26E5C917A5731D007DA4B7 /* autoDismissKeyboardNavigationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C26E5C817A5731D007DA4B7 /* autoDismissKeyboardNavigationViewController.m */; };
8C26E5D017A58703007DA4B7 /* HorizontalSlideCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C26E5CF17A58703007DA4B7 /* HorizontalSlideCell.m */; };
@@ -243,8 +242,6 @@
8C23B46B17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "timer_settime_btn at 2x.png"; path = "iosremote/timer_settime_btn at 2x.png"; sourceTree = "<group>"; };
8C23B46E17DB419300FB4DE6 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Timer.h; path = iosremote/Timer.h; sourceTree = "<group>"; };
8C23B46F17DB419300FB4DE6 /* Timer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Timer.m; path = iosremote/Timer.m; sourceTree = "<group>"; };
- 8C23B47117DBAFD200FB4DE6 /* TimerCountdownTimePicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimerCountdownTimePicker.h; path = iosremote/TimerCountdownTimePicker.h; sourceTree = "<group>"; };
- 8C23B47217DBAFD200FB4DE6 /* TimerCountdownTimePicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TimerCountdownTimePicker.m; path = iosremote/TimerCountdownTimePicker.m; sourceTree = "<group>"; };
8C26E5BE17A525FC007DA4B7 /* MGSplitCornersView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGSplitCornersView.h; sourceTree = "<group>"; };
8C26E5BF17A525FC007DA4B7 /* MGSplitCornersView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGSplitCornersView.m; sourceTree = "<group>"; };
8C26E5C017A525FC007DA4B7 /* MGSplitDividerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGSplitDividerView.h; sourceTree = "<group>"; };
@@ -577,8 +574,6 @@
8C19F42E17B05089005BDB61 /* LibONavigationController.m */,
8C19F43417B10D48005BDB61 /* UIViewController+LibOStyling.h */,
8C19F43517B10D49005BDB61 /* UIViewController+LibOStyling.m */,
- 8C23B47117DBAFD200FB4DE6 /* TimerCountdownTimePicker.h */,
- 8C23B47217DBAFD200FB4DE6 /* TimerCountdownTimePicker.m */,
);
name = Support;
sourceTree = "<group>";
@@ -871,7 +866,6 @@
8CD6EC7017CC3FA00071827A /* WalkThroughContainerViewController.m in Sources */,
8C23B46917DA158C00FB4DE6 /* UIView+Shadowing.m in Sources */,
8C23B47017DB419300FB4DE6 /* Timer.m in Sources */,
- 8C23B47317DBAFD200FB4DE6 /* TimerCountdownTimePicker.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/ios/iosremote/iosremote/TimerCountdownTimePicker.h b/ios/iosremote/iosremote/TimerCountdownTimePicker.h
deleted file mode 100644
index a0b9408..0000000
--- a/ios/iosremote/iosremote/TimerCountdownTimePicker.h
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// TimerCountdownTimePicker.h
-// iosremote
-//
-// Created by Siqi Liu on 9/7/13.
-// Copyright (c) 2013 libreoffice. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-
- at interface TimerCountdownTimePicker : UIView
-
- at property (nonatomic, assign, readonly) UIDatePicker *picker;
-
-- (void) setMode: (UIDatePickerMode) mode;
-- (void) setHidden: (BOOL) hidden animated: (BOOL) animated;
-- (void) addTargetForDoneButton: (id) target action: (SEL) action;
-
- at end
diff --git a/ios/iosremote/iosremote/TimerCountdownTimePicker.m b/ios/iosremote/iosremote/TimerCountdownTimePicker.m
deleted file mode 100644
index dbae018..0000000
--- a/ios/iosremote/iosremote/TimerCountdownTimePicker.m
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-// TimerCountdownTimePicker.m
-// iosremote
-//
-// Created by Siqi Liu on 9/7/13.
-// Copyright (c) 2013 libreoffice. All rights reserved.
-//
-
-#import "TimerCountdownTimePicker.h"
-#import <UIKit/UIKit.h>
-
-#define MyDateTimePickerHeight 260
-#define TimerCountdownTimePickerPickerHeight 216
-#define TimerCountdownTimePickerToolbarHeight 44
-
- at interface TimerCountdownTimePicker()
-
- at property (nonatomic, assign, readwrite) UIDatePicker *picker;
- at property (nonatomic, assign) CGRect originalFrame;
-
- at property (nonatomic, assign) id doneTarget;
- at property (nonatomic, assign) SEL doneSelector;
-
-- (void) donePressed;
-
- at end
-
-
- at implementation TimerCountdownTimePicker
-
- at synthesize picker = _picker;
- at synthesize originalFrame = _originalFrame;
-
- at synthesize doneTarget = _doneTarget;
- at synthesize doneSelector = _doneSelector;
-
-- (id) initWithFrame: (CGRect) frame {
- if ((self = [super initWithFrame: frame])) {
- self.originalFrame = frame;
- self.backgroundColor = [UIColor clearColor];
-
- CGFloat width = self.bounds.size.width;
- UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame: CGRectMake(0, 0, width, TimerCountdownTimePickerPickerHeight)];
- [self addSubview: picker];
-
- UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame: CGRectMake(0, TimerCountdownTimePickerPickerHeight, width, TimerCountdownTimePickerToolbarHeight)];
- toolbar.barStyle = UIBarStyleBlackOpaque;
-
- UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle: NSLocalizedString(@"Done", @"Done button in the time picker for count down time picker") style: UIBarButtonItemStyleBordered target: self action: @selector(donePressed)];
- doneButton.width = width - 20;
- toolbar.items = [NSArray arrayWithObject: doneButton];
- [self addSubview: toolbar];
-
- self.picker = picker;
- }
- return self;
-}
-
-- (void) setMode: (UIDatePickerMode) mode {
- self.picker.datePickerMode = mode;
-}
-
-- (void) donePressed {
- if (self.doneTarget) {
- [self.doneTarget performSelector: self.doneSelector];
- }
-}
-
-- (void) addTargetForDoneButton: (id) target action: (SEL) action {
- self.doneTarget = target;
- self.doneSelector = action;
-}
-
-- (void) setHidden: (BOOL) hidden animated: (BOOL) animated {
- CGRect newFrame = self.originalFrame;
- newFrame.origin.y += hidden ? MyDateTimePickerHeight : 0;
- if (animated) {
- [UIView beginAnimations: @"animateDateTimePicker" context: nil];
- [UIView setAnimationDuration: 0.3];
- [UIView setAnimationCurve: UIViewAnimationCurveEaseOut];
-
- self.frame = newFrame;
-
- [UIView commitAnimations];
- } else {
- self.frame = newFrame;
- }
-}
-
- at end
commit cc2075e8afcea0b64296851346d4e221782664df
Author: Siqi LIU <me at siqi.fr>
Date: Sat Sep 7 22:23:22 2013 +0200
UI changes for countdown Timer in storyboard
Change-Id: I9998cadd21b2c3b35edb588f286134c1902495ba
diff --git a/ios/iosremote/iosremote.xcodeproj/project.pbxproj b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
index cc25b6c..aa42d9c 100644
--- a/ios/iosremote/iosremote.xcodeproj/project.pbxproj
+++ b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
@@ -76,10 +76,6 @@
8C19F43917B145AD005BDB61 /* backButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F43717B145AD005BDB61 /* backButton.png */; };
8C19F43A17B145AD005BDB61 /* backButton at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F43817B145AD005BDB61 /* backButton at 2x.png */; };
8C19F43E17B1D935005BDB61 /* add.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F43C17B1D935005BDB61 /* add.png */; };
- 8C19F44117B1E961005BDB61 /* gear.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F43F17B1E961005BDB61 /* gear.png */; };
- 8C19F44217B1E961005BDB61 /* gear at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F44017B1E961005BDB61 /* gear at 2x.png */; };
- 8C19F44517B1F21B005BDB61 /* gear_pressed.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F44317B1F21B005BDB61 /* gear_pressed.png */; };
- 8C19F44617B1F21B005BDB61 /* gear_pressed at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F44417B1F21B005BDB61 /* gear_pressed at 2x.png */; };
8C19F44717B1FB51005BDB61 /* iosremote_iphone_icon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C1A16FA17A2853100B4BB3C /* iosremote_iphone_icon at 2x.png */; };
8C19F44A17B1FEFE005BDB61 /* gear_transparent_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F44817B1FEFD005BDB61 /* gear_transparent_bg.png */; };
8C19F44B17B1FEFE005BDB61 /* gear_transparent_bg at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C19F44917B1FEFE005BDB61 /* gear_transparent_bg at 2x.png */; };
@@ -88,6 +84,10 @@
8C1A16FF17A2853F00B4BB3C /* iosremote_ipad_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C1A16FE17A2853F00B4BB3C /* iosremote_ipad_icon.png */; };
8C1A170117A2854300B4BB3C /* iosremote_ipad_icon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C1A170017A2854300B4BB3C /* iosremote_ipad_icon at 2x.png */; };
8C23B46917DA158C00FB4DE6 /* UIView+Shadowing.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C23B46817DA158C00FB4DE6 /* UIView+Shadowing.m */; };
+ 8C23B46C17DB3B8600FB4DE6 /* timer_settime_btn.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C23B46A17DB3B8600FB4DE6 /* timer_settime_btn.png */; };
+ 8C23B46D17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C23B46B17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png */; };
+ 8C23B47017DB419300FB4DE6 /* Timer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C23B46F17DB419300FB4DE6 /* Timer.m */; };
+ 8C23B47317DBAFD200FB4DE6 /* TimerCountdownTimePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C23B47217DBAFD200FB4DE6 /* TimerCountdownTimePicker.m */; };
8C26E5C617A5539D007DA4B7 /* UserDefaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8C26E5C517A5539D007DA4B7 /* UserDefaults.plist */; };
8C26E5C917A5731D007DA4B7 /* autoDismissKeyboardNavigationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C26E5C817A5731D007DA4B7 /* autoDismissKeyboardNavigationViewController.m */; };
8C26E5D017A58703007DA4B7 /* HorizontalSlideCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C26E5CF17A58703007DA4B7 /* HorizontalSlideCell.m */; };
@@ -230,10 +230,6 @@
8C19F43717B145AD005BDB61 /* backButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = backButton.png; path = iosremote/backButton.png; sourceTree = "<group>"; };
8C19F43817B145AD005BDB61 /* backButton at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "backButton at 2x.png"; path = "iosremote/backButton at 2x.png"; sourceTree = "<group>"; };
8C19F43C17B1D935005BDB61 /* add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add.png; path = iosremote/add.png; sourceTree = "<group>"; };
- 8C19F43F17B1E961005BDB61 /* gear.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = gear.png; path = iosremote/gear.png; sourceTree = "<group>"; };
- 8C19F44017B1E961005BDB61 /* gear at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "gear at 2x.png"; path = "iosremote/gear at 2x.png"; sourceTree = "<group>"; };
- 8C19F44317B1F21B005BDB61 /* gear_pressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = gear_pressed.png; path = iosremote/gear_pressed.png; sourceTree = "<group>"; };
- 8C19F44417B1F21B005BDB61 /* gear_pressed at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "gear_pressed at 2x.png"; path = "iosremote/gear_pressed at 2x.png"; sourceTree = "<group>"; };
8C19F44817B1FEFD005BDB61 /* gear_transparent_bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = gear_transparent_bg.png; path = iosremote/gear_transparent_bg.png; sourceTree = "<group>"; };
8C19F44917B1FEFE005BDB61 /* gear_transparent_bg at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "gear_transparent_bg at 2x.png"; path = "iosremote/gear_transparent_bg at 2x.png"; sourceTree = "<group>"; };
8C19F44C17B20426005BDB61 /* add at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "add at 2x.png"; path = "iosremote/add at 2x.png"; sourceTree = "<group>"; };
@@ -243,6 +239,12 @@
8C1A170017A2854300B4BB3C /* iosremote_ipad_icon at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iosremote_ipad_icon at 2x.png"; sourceTree = "<group>"; };
8C23B46717DA158C00FB4DE6 /* UIView+Shadowing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+Shadowing.h"; sourceTree = "<group>"; };
8C23B46817DA158C00FB4DE6 /* UIView+Shadowing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Shadowing.m"; sourceTree = "<group>"; };
+ 8C23B46A17DB3B8600FB4DE6 /* timer_settime_btn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = timer_settime_btn.png; path = iosremote/timer_settime_btn.png; sourceTree = "<group>"; };
+ 8C23B46B17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "timer_settime_btn at 2x.png"; path = "iosremote/timer_settime_btn at 2x.png"; sourceTree = "<group>"; };
+ 8C23B46E17DB419300FB4DE6 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Timer.h; path = iosremote/Timer.h; sourceTree = "<group>"; };
+ 8C23B46F17DB419300FB4DE6 /* Timer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Timer.m; path = iosremote/Timer.m; sourceTree = "<group>"; };
+ 8C23B47117DBAFD200FB4DE6 /* TimerCountdownTimePicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimerCountdownTimePicker.h; path = iosremote/TimerCountdownTimePicker.h; sourceTree = "<group>"; };
+ 8C23B47217DBAFD200FB4DE6 /* TimerCountdownTimePicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TimerCountdownTimePicker.m; path = iosremote/TimerCountdownTimePicker.m; sourceTree = "<group>"; };
8C26E5BE17A525FC007DA4B7 /* MGSplitCornersView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGSplitCornersView.h; sourceTree = "<group>"; };
8C26E5BF17A525FC007DA4B7 /* MGSplitCornersView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGSplitCornersView.m; sourceTree = "<group>"; };
8C26E5C017A525FC007DA4B7 /* MGSplitDividerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGSplitDividerView.h; sourceTree = "<group>"; };
@@ -420,6 +422,8 @@
8C06B31917B7EC62002F5CF8 /* assets */ = {
isa = PBXGroup;
children = (
+ 8C23B46A17DB3B8600FB4DE6 /* timer_settime_btn.png */,
+ 8C23B46B17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png */,
8CAF3DE117D1D5D600F931E5 /* more_ipad.png */,
8CAF3DE217D1D5D700F931E5 /* more_ipad at 2x.png */,
8CAF3DDD17D0DFFD00F931E5 /* WTcontrol~ipad.png */,
@@ -436,10 +440,6 @@
8C19F44C17B20426005BDB61 /* add at 2x.png */,
8C19F44817B1FEFD005BDB61 /* gear_transparent_bg.png */,
8C19F44917B1FEFE005BDB61 /* gear_transparent_bg at 2x.png */,
- 8C19F44317B1F21B005BDB61 /* gear_pressed.png */,
- 8C19F44417B1F21B005BDB61 /* gear_pressed at 2x.png */,
- 8C19F43F17B1E961005BDB61 /* gear.png */,
- 8C19F44017B1E961005BDB61 /* gear at 2x.png */,
8C19F43C17B1D935005BDB61 /* add.png */,
8C19F43717B145AD005BDB61 /* backButton.png */,
8C19F43817B145AD005BDB61 /* backButton at 2x.png */,
@@ -577,6 +577,8 @@
8C19F42E17B05089005BDB61 /* LibONavigationController.m */,
8C19F43417B10D48005BDB61 /* UIViewController+LibOStyling.h */,
8C19F43517B10D49005BDB61 /* UIViewController+LibOStyling.m */,
+ 8C23B47117DBAFD200FB4DE6 /* TimerCountdownTimePicker.h */,
+ 8C23B47217DBAFD200FB4DE6 /* TimerCountdownTimePicker.m */,
);
name = Support;
sourceTree = "<group>";
@@ -598,6 +600,8 @@
57B7625C17621E42007703F6 /* SlideShow.m */,
57B1529D176486C300EECC67 /* CommandTransmitter.h */,
57B1529E176486C300EECC67 /* CommandTransmitter.m */,
+ 8C23B46E17DB419300FB4DE6 /* Timer.h */,
+ 8C23B46F17DB419300FB4DE6 /* Timer.m */,
);
name = Models;
sourceTree = "<group>";
@@ -781,10 +785,6 @@
8C19F43917B145AD005BDB61 /* backButton.png in Resources */,
8C19F43A17B145AD005BDB61 /* backButton at 2x.png in Resources */,
8C19F43E17B1D935005BDB61 /* add.png in Resources */,
- 8C19F44117B1E961005BDB61 /* gear.png in Resources */,
- 8C19F44217B1E961005BDB61 /* gear at 2x.png in Resources */,
- 8C19F44517B1F21B005BDB61 /* gear_pressed.png in Resources */,
- 8C19F44617B1F21B005BDB61 /* gear_pressed at 2x.png in Resources */,
8C19F44717B1FB51005BDB61 /* iosremote_iphone_icon at 2x.png in Resources */,
8C19F44A17B1FEFE005BDB61 /* gear_transparent_bg.png in Resources */,
8C19F44B17B1FEFE005BDB61 /* gear_transparent_bg at 2x.png in Resources */,
@@ -805,6 +805,8 @@
8CAF3DE017D0DFFD00F931E5 /* WTcontrol~iphone.png in Resources */,
8CAF3DE317D1D5D700F931E5 /* more_ipad.png in Resources */,
8CAF3DE417D1D5D700F931E5 /* more_ipad at 2x.png in Resources */,
+ 8C23B46C17DB3B8600FB4DE6 /* timer_settime_btn.png in Resources */,
+ 8C23B46D17DB3B8600FB4DE6 /* timer_settime_btn at 2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -868,6 +870,8 @@
8CD6EC6817CBBAF40071827A /* WalkThroughPageViewController.m in Sources */,
8CD6EC7017CC3FA00071827A /* WalkThroughContainerViewController.m in Sources */,
8C23B46917DA158C00FB4DE6 /* UIView+Shadowing.m in Sources */,
+ 8C23B47017DB419300FB4DE6 /* Timer.m in Sources */,
+ 8C23B47317DBAFD200FB4DE6 /* TimerCountdownTimePicker.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/ios/iosremote/iosremote/TimerCountdownTimePicker.h b/ios/iosremote/iosremote/TimerCountdownTimePicker.h
index b9853c7..a0b9408 100644
--- a/ios/iosremote/iosremote/TimerCountdownTimePicker.h
+++ b/ios/iosremote/iosremote/TimerCountdownTimePicker.h
@@ -10,4 +10,10 @@
@interface TimerCountdownTimePicker : UIView
+ at property (nonatomic, assign, readonly) UIDatePicker *picker;
+
+- (void) setMode: (UIDatePickerMode) mode;
+- (void) setHidden: (BOOL) hidden animated: (BOOL) animated;
+- (void) addTargetForDoneButton: (id) target action: (SEL) action;
+
@end
diff --git a/ios/iosremote/iosremote/TimerCountdownTimePicker.m b/ios/iosremote/iosremote/TimerCountdownTimePicker.m
index d357579..dbae018 100644
--- a/ios/iosremote/iosremote/TimerCountdownTimePicker.m
+++ b/ios/iosremote/iosremote/TimerCountdownTimePicker.m
@@ -7,25 +7,84 @@
//
#import "TimerCountdownTimePicker.h"
+#import <UIKit/UIKit.h>
+
+#define MyDateTimePickerHeight 260
+#define TimerCountdownTimePickerPickerHeight 216
+#define TimerCountdownTimePickerToolbarHeight 44
+
+ at interface TimerCountdownTimePicker()
+
+ at property (nonatomic, assign, readwrite) UIDatePicker *picker;
+ at property (nonatomic, assign) CGRect originalFrame;
+
+ at property (nonatomic, assign) id doneTarget;
+ at property (nonatomic, assign) SEL doneSelector;
+
+- (void) donePressed;
+
+ at end
+
@implementation TimerCountdownTimePicker
-- (id)initWithFrame:(CGRect)frame
-{
- self = [super initWithFrame:frame];
- if (self) {
- // Initialization code
+ at synthesize picker = _picker;
+ at synthesize originalFrame = _originalFrame;
+
+ at synthesize doneTarget = _doneTarget;
+ at synthesize doneSelector = _doneSelector;
+
+- (id) initWithFrame: (CGRect) frame {
+ if ((self = [super initWithFrame: frame])) {
+ self.originalFrame = frame;
+ self.backgroundColor = [UIColor clearColor];
+
+ CGFloat width = self.bounds.size.width;
+ UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame: CGRectMake(0, 0, width, TimerCountdownTimePickerPickerHeight)];
+ [self addSubview: picker];
+
+ UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame: CGRectMake(0, TimerCountdownTimePickerPickerHeight, width, TimerCountdownTimePickerToolbarHeight)];
+ toolbar.barStyle = UIBarStyleBlackOpaque;
+
+ UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle: NSLocalizedString(@"Done", @"Done button in the time picker for count down time picker") style: UIBarButtonItemStyleBordered target: self action: @selector(donePressed)];
+ doneButton.width = width - 20;
+ toolbar.items = [NSArray arrayWithObject: doneButton];
+ [self addSubview: toolbar];
+
+ self.picker = picker;
}
return self;
}
-/*
-// Only override drawRect: if you perform custom drawing.
-// An empty implementation adversely affects performance during animation.
-- (void)drawRect:(CGRect)rect
-{
- // Drawing code
+- (void) setMode: (UIDatePickerMode) mode {
+ self.picker.datePickerMode = mode;
+}
+
+- (void) donePressed {
+ if (self.doneTarget) {
+ [self.doneTarget performSelector: self.doneSelector];
+ }
+}
+
+- (void) addTargetForDoneButton: (id) target action: (SEL) action {
+ self.doneTarget = target;
+ self.doneSelector = action;
+}
+
+- (void) setHidden: (BOOL) hidden animated: (BOOL) animated {
+ CGRect newFrame = self.originalFrame;
+ newFrame.origin.y += hidden ? MyDateTimePickerHeight : 0;
+ if (animated) {
+ [UIView beginAnimations: @"animateDateTimePicker" context: nil];
+ [UIView setAnimationDuration: 0.3];
+ [UIView setAnimationCurve: UIViewAnimationCurveEaseOut];
+
+ self.frame = newFrame;
+
+ [UIView commitAnimations];
+ } else {
+ self.frame = newFrame;
+ }
}
-*/
@end
diff --git a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard
index dd23025..edc3083 100644
--- a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard
+++ b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard
@@ -204,7 +204,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
- <rect key="frame" x="0.0" y="-15" width="320" height="159"/>
+ <rect key="frame" x="0.0" y="-15" width="222" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
@@ -281,6 +281,18 @@
<color key="textColor" red="0.25882352939999997" green="0.32549019610000002" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
+ <button opaque="NO" tag="4" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="KGL-ig-BXg">
+ <rect key="frame" x="75" y="77" width="33" height="34"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_settime_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
</subviews>
<color key="backgroundColor" red="0.21176470589999999" green="0.81568627449999997" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
<gestureRecognizers/>
@@ -593,78 +605,9 @@
<image name="released_next_button.png" width="315" height="220"/>
<image name="released_previous_button.png" width="315" height="220"/>
<image name="timer_clear_btn.png" width="60" height="60"/>
+ <image name="timer_settime_btn.png" width="60" height="60"/>
<image name="timer_start_btn.png" width="60" height="60"/>
</resources>
- <classes>
- <class className="EditableTableViewCell" superclassName="UITableViewCell">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/EditableTableViewCell.h"/>
- </class>
- <class className="LibONavigationController" superclassName="UINavigationController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/LibONavigationController.h"/>
- </class>
- <class className="SWRevealViewController" superclassName="UIViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/SWRevealViewController.h"/>
- </class>
- <class className="WalkThroughContainerViewController" superclassName="UIViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/WalkThroughContainerViewController.h"/>
- </class>
- <class className="newServerViewController" superclassName="UITableViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/newServerViewController.h"/>
- <relationships>
- <relationship kind="action" name="save:"/>
- <relationship kind="outlet" name="saveButton" candidateClass="UIBarButtonItem"/>
- </relationships>
- </class>
- <class className="pinValidation_vc" superclassName="UIViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/pinValidation_vc.h"/>
- <relationships>
- <relationship kind="outlet" name="pinLabel" candidateClass="UILabel"/>
- <relationship kind="outlet" name="statusLabel" candidateClass="UILabel"/>
- </relationships>
- </class>
- <class className="server_list_vc" superclassName="UITableViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/server_list_vc.h"/>
- <relationships>
- <relationship kind="outlet" name="serverTable" candidateClass="UITableView"/>
- </relationships>
- </class>
- <class className="slideShowPreviewTable_vc" superclassName="UITableViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShowPreviewTable_vc.h"/>
- <relationships>
- <relationship kind="action" name="startPresentationAction:"/>
- <relationship kind="outlet" name="optionsTable" candidateClass="UITableView"/>
- </relationships>
- </class>
- <class className="slideShowPreviewTable_vc_iphone" superclassName="slideShowPreviewTable_vc">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShowPreviewTable_vc_iphone.h"/>
- <relationships>
- <relationship kind="outlet" name="titleLabel" candidateClass="UILabel"/>
- </relationships>
- </class>
- <class className="slideShowSwipeInList" superclassName="UITableViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShowSwipeInList.h"/>
- </class>
- <class className="slideShow_vc" superclassName="UIViewController">
- <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShow_vc.h"/>
- <relationships>
- <relationship kind="action" name="accPointerAction:"/>
- <relationship kind="action" name="nextSlideAction:"/>
- <relationship kind="action" name="pointerAction:"/>
- <relationship kind="action" name="previousSlideAction:"/>
- <relationship kind="outlet" name="blockingView" candidateClass="UIView"/>
- <relationship kind="outlet" name="bottomView" candidateClass="UIView"/>
- <relationship kind="outlet" name="lecturer_notes" candidateClass="UIWebView"/>
- <relationship kind="outlet" name="movingPointer" candidateClass="UIView"/>
- <relationship kind="outlet" name="notesView" candidateClass="UIView"/>
- <relationship kind="outlet" name="pointerBtn" candidateClass="UIButton"/>
- <relationship kind="outlet" name="revealButtonItem" candidateClass="UIBarButtonItem"/>
- <relationship kind="outlet" name="secondarySlideView" candidateClass="UIImageView"/>
- <relationship kind="outlet" name="slideNumber" candidateClass="UILabel"/>
- <relationship kind="outlet" name="slideView" candidateClass="UIImageView"/>
- <relationship kind="outlet" name="touchPointerImage" candidateClass="UIImageView"/>
- </relationships>
- </class>
- </classes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
diff --git a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize_old.storyboard b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize_old.storyboard
index 6e238d7..edc3083 100644
--- a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize_old.storyboard
+++ b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize_old.storyboard
@@ -204,7 +204,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
- <rect key="frame" x="0.0" y="-15" width="226" height="159"/>
+ <rect key="frame" x="0.0" y="-15" width="222" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
@@ -281,6 +281,18 @@
<color key="textColor" red="0.25882352939999997" green="0.32549019610000002" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
+ <button opaque="NO" tag="4" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="KGL-ig-BXg">
+ <rect key="frame" x="75" y="77" width="33" height="34"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_settime_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
</subviews>
<color key="backgroundColor" red="0.21176470589999999" green="0.81568627449999997" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
<gestureRecognizers/>
@@ -593,6 +605,7 @@
<image name="released_next_button.png" width="315" height="220"/>
<image name="released_previous_button.png" width="315" height="220"/>
<image name="timer_clear_btn.png" width="60" height="60"/>
+ <image name="timer_settime_btn.png" width="60" height="60"/>
<image name="timer_start_btn.png" width="60" height="60"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
diff --git a/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize.storyboard b/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize.storyboard
index 720e3ed..8825a87 100644
--- a/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize.storyboard
+++ b/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize.storyboard
@@ -206,7 +206,7 @@ Contrôle Distant</string>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
- <rect key="frame" x="0.0" y="-15" width="226" height="159"/>
+ <rect key="frame" x="0.0" y="-15" width="222" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
@@ -283,6 +283,18 @@ Contrôle Distant</string>
<color key="textColor" red="0.25882352939999997" green="0.32549019610000002" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
+ <button opaque="NO" tag="4" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="KGL-ig-BXg">
+ <rect key="frame" x="75" y="77" width="33" height="34"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_settime_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
</subviews>
<color key="backgroundColor" red="0.21176470589999999" green="0.81568627449999997" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
<gestureRecognizers/>
@@ -595,6 +607,7 @@ Contrôle Distant</string>
<image name="released_next_button.png" width="315" height="220"/>
<image name="released_previous_button.png" width="315" height="220"/>
<image name="timer_clear_btn.png" width="60" height="60"/>
+ <image name="timer_settime_btn.png" width="60" height="60"/>
<image name="timer_start_btn.png" width="60" height="60"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
diff --git a/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize_old.storyboard b/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize_old.storyboard
index 720e3ed..8825a87 100644
--- a/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize_old.storyboard
+++ b/ios/iosremote/iosremote/fr.lproj/iPhone_autoSize_old.storyboard
@@ -206,7 +206,7 @@ Contrôle Distant</string>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
- <rect key="frame" x="0.0" y="-15" width="226" height="159"/>
+ <rect key="frame" x="0.0" y="-15" width="222" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
@@ -283,6 +283,18 @@ Contrôle Distant</string>
<color key="textColor" red="0.25882352939999997" green="0.32549019610000002" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
+ <button opaque="NO" tag="4" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="KGL-ig-BXg">
+ <rect key="frame" x="75" y="77" width="33" height="34"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_settime_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
</subviews>
<color key="backgroundColor" red="0.21176470589999999" green="0.81568627449999997" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
<gestureRecognizers/>
@@ -595,6 +607,7 @@ Contrôle Distant</string>
<image name="released_next_button.png" width="315" height="220"/>
<image name="released_previous_button.png" width="315" height="220"/>
<image name="timer_clear_btn.png" width="60" height="60"/>
+ <image name="timer_settime_btn.png" width="60" height="60"/>
<image name="timer_start_btn.png" width="60" height="60"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
diff --git a/ios/iosremote/iosremote/gear.png b/ios/iosremote/iosremote/gear.png
deleted file mode 100644
index 2cb8e9e..0000000
Binary files a/ios/iosremote/iosremote/gear.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/gear at 2x.png b/ios/iosremote/iosremote/gear at 2x.png
deleted file mode 100644
index c4612f9..0000000
Binary files a/ios/iosremote/iosremote/gear at 2x.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/gear_pressed.png b/ios/iosremote/iosremote/gear_pressed.png
deleted file mode 100644
index 12cdd5e..0000000
Binary files a/ios/iosremote/iosremote/gear_pressed.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/gear_pressed at 2x.png b/ios/iosremote/iosremote/gear_pressed at 2x.png
deleted file mode 100644
index f3e3443..0000000
Binary files a/ios/iosremote/iosremote/gear_pressed at 2x.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/slideShowSwipeInList_iphone.h b/ios/iosremote/iosremote/slideShowSwipeInList_iphone.h
index 2ba8298..a71d57b 100644
--- a/ios/iosremote/iosremote/slideShowSwipeInList_iphone.h
+++ b/ios/iosremote/iosremote/slideShowSwipeInList_iphone.h
@@ -8,9 +8,11 @@
#import <UIKit/UIKit.h>
@class stopWatch;
+ at class Timer;
@interface slideShowSwipeInList : UITableViewController <UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) stopWatch *stopWatch;
+ at property (nonatomic, strong) Timer *timer;
@end
diff --git a/ios/iosremote/iosremote/slideShowSwipeInList_iphone.m b/ios/iosremote/iosremote/slideShowSwipeInList_iphone.m
index bc40578..2424e10 100644
--- a/ios/iosremote/iosremote/slideShowSwipeInList_iphone.m
+++ b/ios/iosremote/iosremote/slideShowSwipeInList_iphone.m
@@ -15,8 +15,10 @@
#import "slideShowPreviewTable_vc.h"
#import "ControlVariables.h"
#import "stopWatch.h"
+#import "Timer.h"
#import "UIImageView+setImageAnimated.h"
#import "UIView+Shadowing.h"
+#import "UIViewController+LibOStyling.h"
#import <QuartzCore/CALayer.h>
#import <QuartzCore/QuartzCore.h>
@@ -33,6 +35,8 @@
@synthesize comManager = _comManager;
@synthesize currentPage = _currentPage;
@synthesize slideshow = _slideshow;
+ at synthesize timer = _timer;
+ at synthesize stopWatch = _stopWatch;
dispatch_queue_t backgroundQueue;
@@ -54,6 +58,8 @@ dispatch_queue_t backgroundQueue;
[self.stopWatch start];
}
+ self.timer = [[Timer alloc] init];
+
self.tableView.backgroundColor = [UIColor colorWithRed:.674509804 green:.729411765 blue:.760784314 alpha:1.0];
}
@@ -62,9 +68,14 @@ dispatch_queue_t backgroundQueue;
if (!self.stopWatch.set) {
[self.stopWatch setupWithTableViewCell:[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]];
}
+ if (!self.timer.set) {
+ [self.timer setupWithTableViewCell:[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]];
+ }
[self.stopWatch updateStartButtonIcon];
+ [self.timer updateStartButtonIcon];
if ([self.comManager.interpreter.slideShow size] > 0) {
[self.stopWatch updateStartButtonIcon];
+ [self.timer updateStartButtonIcon];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.slideshow.currentSlide
inSection:1];
[self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
@@ -193,7 +204,7 @@ dispatch_queue_t backgroundQueue;
[view setShadow];
UIScrollView * scroll = (UIScrollView *) [cell viewWithTag:7];
- scroll.contentSize = CGSizeMake(417,120);
+ scroll.contentSize = CGSizeMake(412, 120);
return cell;
} else {
static NSString *CellIdentifier = @"slide";
@@ -236,6 +247,7 @@ dispatch_queue_t backgroundQueue;
- (void)viewDidUnload {
[self setStopWatch:nil];
+ [self setTimer:nil];
[super viewDidUnload];
}
@@ -260,9 +272,14 @@ dispatch_queue_t backgroundQueue;
switch (page) {
case 0:
[label setText:NSLocalizedString(@"Stop Watch", @"Sidebar section header")];
+ [self.revealViewController setTitle:@""];
+ [self.revealViewController setOwner:STOPWATCH];
break;
case 1:
[label setText:NSLocalizedString(@"Timer", @"Sidebar section header")];
+ [self.revealViewController setTitle:@""];
+ [self.revealViewController setOwner:TIMER];
+ break;
default:
break;
}
diff --git a/ios/iosremote/iosremote/slideShow_vc_iphone.m b/ios/iosremote/iosremote/slideShow_vc_iphone.m
index 577b117..2988252 100644
--- a/ios/iosremote/iosremote/slideShow_vc_iphone.m
+++ b/ios/iosremote/iosremote/slideShow_vc_iphone.m
@@ -351,6 +351,8 @@
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
[[(slideShowSwipeInList *)self.revealViewController.rearViewController stopWatch] setDelegate:self.revealViewController];
+
+ [[(slideShowSwipeInList *)self.revealViewController.rearViewController timer] setDelegate:self.revealViewController];
self.slideShowImageNoteReadyObserver =[center addObserverForName:MSG_SLIDE_CHANGED
object:nil
diff --git a/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize.storyboard b/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize.storyboard
index 3f906d0..d75f293 100644
--- a/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize.storyboard
+++ b/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize.storyboard
@@ -204,7 +204,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
- <rect key="frame" x="0.0" y="-15" width="226" height="159"/>
+ <rect key="frame" x="0.0" y="-15" width="222" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
@@ -281,6 +281,18 @@
<color key="textColor" red="0.25882352939999997" green="0.32549019610000002" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
+ <button opaque="NO" tag="4" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="KGL-ig-BXg">
+ <rect key="frame" x="75" y="77" width="33" height="34"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_settime_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
</subviews>
<color key="backgroundColor" red="0.21176470589999999" green="0.81568627449999997" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
<gestureRecognizers/>
@@ -593,6 +605,7 @@
<image name="released_next_button.png" width="315" height="220"/>
<image name="released_previous_button.png" width="315" height="220"/>
<image name="timer_clear_btn.png" width="60" height="60"/>
+ <image name="timer_settime_btn.png" width="60" height="60"/>
<image name="timer_start_btn.png" width="60" height="60"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
diff --git a/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize_old.storyboard b/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize_old.storyboard
index 3f906d0..d75f293 100644
--- a/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize_old.storyboard
+++ b/ios/iosremote/iosremote/zh-Hans.lproj/iPhone_autoSize_old.storyboard
@@ -204,7 +204,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
- <rect key="frame" x="0.0" y="-15" width="226" height="159"/>
+ <rect key="frame" x="0.0" y="-15" width="222" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
@@ -281,6 +281,18 @@
<color key="textColor" red="0.25882352939999997" green="0.32549019610000002" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
+ <button opaque="NO" tag="4" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="KGL-ig-BXg">
+ <rect key="frame" x="75" y="77" width="33" height="34"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_settime_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
</subviews>
<color key="backgroundColor" red="0.21176470589999999" green="0.81568627449999997" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
<gestureRecognizers/>
@@ -593,6 +605,7 @@
<image name="released_next_button.png" width="315" height="220"/>
<image name="released_previous_button.png" width="315" height="220"/>
<image name="timer_clear_btn.png" width="60" height="60"/>
+ <image name="timer_settime_btn.png" width="60" height="60"/>
<image name="timer_start_btn.png" width="60" height="60"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
commit b88c22fc1775cf63fadd996c75ce859acbe18c65
Author: Siqi LIU <me at siqi.fr>
Date: Sat Sep 7 22:21:55 2013 +0200
linking Timer/Stopwatch via delegate methods
Change-Id: I8635b79032ae9631637f67df7d0308973d11bec3
diff --git a/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.h b/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.h
index 0249586..dc7e144 100755
--- a/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.h
+++ b/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.h
@@ -27,6 +27,7 @@
#import <UIKit/UIKit.h>
#import "stopWatch.h"
+#import "Timer.h"
@class SWRevealViewController;
@protocol SWRevealViewControllerDelegate;
@@ -57,7 +58,7 @@ typedef enum
} FrontViewPosition;
- at interface SWRevealViewController : UIViewController <StopWatchDelegate>
+ at interface SWRevealViewController : UIViewController <StopWatchDelegate, TimerDelegate>
// Object instance init and rear view setting
- (id)initWithRearViewController:(UIViewController *)rearViewController frontViewController:(UIViewController *)frontViewController;
@@ -172,6 +173,8 @@ typedef enum
@property (strong) void(^performBlock)( SWRevealViewControllerSegue* segue, UIViewController* svc, UIViewController* dvc );
+- (void)startTimePickerwithTimer:(Timer *) timer;
+
@end
diff --git a/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.m b/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.m
index 67c48c3..922f83c 100755
--- a/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.m
+++ b/ios/iosremote/iosremote/SWRevealViewController/SWRevealViewController.m
@@ -28,6 +28,8 @@
#import <UIKit/UIGestureRecognizerSubclass.h>
#import "SWRevealViewController.h"
+#import "slideShowSwipeInList_iphone.h"
+#import "UIViewController+LibOStyling.h"
#pragma mark - SWDirectionPanGestureRecognizer
@@ -372,6 +374,72 @@ const int FrontViewPositionNone = 0xff;
_animationQueue = [NSMutableArray array];
}
+#pragma mark popup timer
+- (void)changeDate:(UIDatePicker *)sender {
+ NSLog(@"Time left: %f", sender.countDownDuration);
+ [[(slideShowSwipeInList *) self.rearViewController timer] setSecondsLeft: sender.countDownDuration];
+}
+
+- (void)removeViews:(id)object {
+ [[self.view viewWithTag:89] removeFromSuperview];
+ [[self.view viewWithTag:90] removeFromSuperview];
+ [[self.view viewWithTag:91] removeFromSuperview];
+}
+
+- (void)dismissDatePicker:(id)sender {
+ CGRect toolbarTargetFrame = CGRectMake(0, self.view.bounds.size.height, 320, 44);
+ CGRect datePickerTargetFrame = CGRectMake(0, self.view.bounds.size.height+44, 320, 216);
+ [UIView beginAnimations:@"MoveOut" context:nil];
+ [self.view viewWithTag:89].alpha = 0;
+ [self.view viewWithTag:90].frame = datePickerTargetFrame;
+ [self.view viewWithTag:91].frame = toolbarTargetFrame;
+ [UIView setAnimationDelegate:self];
+ [UIView setAnimationDidStopSelector:@selector(removeViews:)];
+ [UIView commitAnimations];
+}
+
+- (IBAction)callDP:(id)sender {
+ if ([self.view viewWithTag:89]) {
+ return;
+ }
+ CGRect toolbarTargetFrame = CGRectMake(0, self.view.bounds.size.height-216-44, 320, 44);
+ CGRect datePickerTargetFrame = CGRectMake(0, self.view.bounds.size.height-216, 320, 216);
+
+ UIView *darkView = [[UIView alloc] initWithFrame:self.view.bounds];
+ darkView.alpha = 0;
+ darkView.backgroundColor = [UIColor blackColor];
+ darkView.tag = 89;
+ UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissDatePicker:)];
+ [darkView addGestureRecognizer:tapGesture];
+ [self.view addSubview:darkView];
+
+ UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height+44, 320, 216)];
+ datePicker.tag = 90;
+ [datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];
+ [datePicker addTarget:self action:@selector(changeDate:) forControlEvents:UIControlEventValueChanged];
+ [self.view addSubview:datePicker];
+
+ UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, 320, 44)];
+ toolBar.tag = 91;
+ toolBar.barStyle = UIBarStyleBlackTranslucent;
+ UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
+ UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissDatePicker:)];
+ [toolBar setItems:[NSArray arrayWithObjects:spacer, doneButton, nil]];
+ [self.view addSubview:toolBar];
+
+ [UIView beginAnimations:@"MoveIn" context:nil];
+ toolBar.frame = toolbarTargetFrame;
+ datePicker.frame = datePickerTargetFrame;
+ darkView.alpha = 0.5;
+ [UIView commitAnimations];
+}
+
+- (void)startTimePickerwithTimer:(Timer *) timer
+{
+ NSLog(@"Fired by : %@", [timer class]);
+ [self callDP:self];
+}
+
#pragma mark storyboard support
diff --git a/ios/iosremote/iosremote/Timer.h b/ios/iosremote/iosremote/Timer.h
index 9ed22c5..4ea0f44 100644
--- a/ios/iosremote/iosremote/Timer.h
+++ b/ios/iosremote/iosremote/Timer.h
@@ -1,13 +1,44 @@
+// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
//
-// Timer.h
-// iosremote
-//
-// Created by Siqi Liu on 9/7/13.
-// Copyright (c) 2013 libreoffice. All rights reserved.
+// This file is part of the LibreOffice project.
//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
#import <Foundation/Foundation.h>
+#define TIMER_STATE_RUNNING 0
+#define TIMER_STATE_PAUSED 1
+#define TIMER_STATE_CLEARED 2
+
+ at class Timer;
+
+ at protocol TimerDelegate <NSObject>
+
+- (void) setTitle:(NSString *) title sender:(id)sender;
+- (void) startTimePickerwithTimer:(Timer *) timer;
+
+ at end
+
@interface Timer : NSObject
+// Timer
+ at property (strong, nonatomic) NSTimer *timerTimer;
+ at property BOOL set;
+ at property (weak, nonatomic) id<TimerDelegate> delegate;
+
+- (Timer *) initWithStartButton:(UIButton *)startButton
+ ClearButton:(UIButton *)clearButton
+ SetTimeButton:(UIButton *)setTimeButton
+ TimeLabel:(UILabel *)timeLabel;
+- (void) setupWithTableViewCell:(UITableViewCell *)cell;
+
+- (void) start;
+- (void) clear;
+- (void) updateStartButtonIcon;
+
+- (void) setSecondsLeft:(NSTimeInterval)duration;
+
@end
+
diff --git a/ios/iosremote/iosremote/Timer.m b/ios/iosremote/iosremote/Timer.m
index af1ad02..57c5f7a 100644
--- a/ios/iosremote/iosremote/Timer.m
+++ b/ios/iosremote/iosremote/Timer.m
@@ -1,13 +1,184 @@
+// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
//
-// Timer.m
-// iosremote
-//
-// Created by Siqi Liu on 9/7/13.
-// Copyright (c) 2013 libreoffice. All rights reserved.
+// This file is part of the LibreOffice project.
//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
#import "Timer.h"
+ at interface Timer ()
+
+ at property int state;
+ at property (weak, nonatomic) UIButton * startButton;
+ at property (weak, nonatomic) UIButton * clearButton;
+ at property (weak, nonatomic) UIButton * setTimeButton;
+ at property (weak, nonatomic) UILabel * timeLabel;
+
+ at end
+
@implementation Timer
+ at synthesize startButton = _startButton;
+ at synthesize clearButton = _clearButton;
+ at synthesize timeLabel = _timeLabel;
+ at synthesize setTimeButton = _setTimeButton;
+
+int hours, minutes, seconds;
+int secondsLeft;
+int initSecondsLeft;
+
+- (Timer *) init
+{
+ self = [super init];
+ self.state = TIMER_STATE_CLEARED;
+ self.set = NO;
+ secondsLeft = 30;
+
+ return self;
+}
+
+- (Timer *) initWithStartButton:(UIButton *)startButton
+ ClearButton:(UIButton *)clearButton
+ SetTimeButton:(UIButton *)setTimeButton
+ TimeLabel:(UILabel *)timeLabel
+{
+ self = [self init];
+
+ self.startButton = startButton;
+ self.clearButton = clearButton;
+ self.setTimeButton = setTimeButton;
+ self.timeLabel = timeLabel;
+
+ [self setupActions];
+ return self;
+}
+
+- (void) setupWithTableViewCell:(UITableViewCell *)cell
+{
+ self.startButton = (UIButton *)[[cell viewWithTag:9] viewWithTag:2];
+ self.clearButton = (UIButton *)[[cell viewWithTag:9] viewWithTag:3];
+ self.setTimeButton = (UIButton *)[[cell viewWithTag:9] viewWithTag:4];
+ self.timeLabel = (UILabel *)[[cell viewWithTag:9] viewWithTag:1];
+
+ [self setupActions];
+}
+
+- (void) setupActions
+{
+ [self.startButton addTarget:self action:@selector(start) forControlEvents:UIControlEventTouchUpInside];
+ [self.clearButton addTarget:self action:@selector(clear) forControlEvents:UIControlEventTouchUpInside];
+ // Sending the sender as well, so that we get a handle on the Timer itself ---> allow us to update seconds left
+ [self.setTimeButton addTarget:self.delegate action:@selector(startTimePickerwithTimer:) forControlEvents:UIControlEventTouchUpInside];
+ self.set = YES;
+}
+
+- (void)updateTimer
+{
+ // Create date from the elapsed time
+ if (secondsLeft > 0) {
+ secondsLeft--;
+ hours = secondsLeft / 3600;
+ minutes = (secondsLeft % 3600) / 60;
+ seconds = (secondsLeft %3600) % 60;
+ self.timeLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
+ [self.delegate setTitle:[NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds] sender:self];
+ } else {
+ // flash timer label in red
+ static BOOL disappear = NO;
+ if (!disappear) {
+ disappear = YES;
+ self.timeLabel.text = @"";
+ [self.delegate setTitle:@"" sender:self];
+ } else {
+ disappear = NO;
+ self.timeLabel.text = @"00:00:00";
+ [self.delegate setTitle:@"00:00:00" sender:self];
+ }
+ }
+}
+
+
+- (void) start
+{
+ switch (self.state) {
+ case TIMER_STATE_RUNNING:
+ self.state = TIMER_STATE_PAUSED;
+ [self.timerTimer invalidate];
+ break;
+ case TIMER_STATE_PAUSED:
+ self.state = TIMER_STATE_RUNNING;
+ self.timerTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
+ target:self
+ selector:@selector(updateTimer)
+ userInfo:nil
+ repeats:YES];
+ [[NSRunLoop currentRunLoop] addTimer:self.timerTimer forMode:NSRunLoopCommonModes];
+ break;
+ case TIMER_STATE_CLEARED:
+ self.state = TIMER_STATE_RUNNING;
+ secondsLeft++;
+ [self updateTimer];
+ // Create the stop watch timer that fires every 100 ms
+ self.timerTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
+ target:self
+ selector:@selector(updateTimer)
+ userInfo:nil
+ repeats:YES];
+ [[NSRunLoop currentRunLoop] addTimer:self.timerTimer forMode:NSRunLoopCommonModes];
+ initSecondsLeft = secondsLeft;
+ break;
+ default:
+ break;
+ }
+
+ [self updateStartButtonIcon];
+}
+
+- (void) updateStartButtonIcon
+{
+ switch (self.state) {
+ case TIMER_STATE_RUNNING:
+ [self.startButton setImage:[UIImage imageNamed:@"timer_pause_btn"] forState:UIControlStateNormal];
+ break;
+ case TIMER_STATE_PAUSED:
+ [self.startButton setImage:[UIImage imageNamed:@"timer_start_btn"] forState:UIControlStateNormal];
+ break;
+ case TIMER_STATE_CLEARED:
+ [self.startButton setImage:[UIImage imageNamed:@"timer_start_btn"] forState:UIControlStateNormal];
+ break;
+ default:
+ break;
+ }
+}
+
+- (void) clear
+{
+ [self.timerTimer invalidate];
+ self.timerTimer = nil;
+ self.state = TIMER_STATE_CLEARED;
+
+ [self.startButton setImage:[UIImage imageNamed:@"timer_start_btn"] forState:UIControlStateNormal];
+ [self.delegate setTitle:@"" sender:self];
+
+ secondsLeft = initSecondsLeft;
+
+ hours = secondsLeft / 3600;
+ minutes = (secondsLeft % 3600) / 60;
+ seconds = (secondsLeft %3600) % 60;
+ self.timeLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
+}
+
+- (void) setSecondsLeft:(NSTimeInterval)duration
+{
+ secondsLeft = (int) duration;
+
+ hours = secondsLeft / 3600;
+ minutes = (secondsLeft % 3600) / 60;
+ seconds = (secondsLeft %3600) % 60;
+ self.timeLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
+}
+
@end
+
diff --git a/ios/iosremote/iosremote/UIViewController+LibOStyling.h b/ios/iosremote/iosremote/UIViewController+LibOStyling.h
index cfd3d58..24b5bab 100644
--- a/ios/iosremote/iosremote/UIViewController+LibOStyling.h
+++ b/ios/iosremote/iosremote/UIViewController+LibOStyling.h
@@ -8,8 +8,22 @@
#import <UIKit/UIKit.h>
+ at class Timer;
+
+typedef enum TitleLabelOwner : NSInteger TitleLabelOwner;
+enum TitleLabelOwner : NSInteger {
+ STOPWATCH,
+ TIMER
+};
+
+TitleLabelOwner owner;
+
@interface UIViewController (LibOStyling)
+- (void)setTitle:(NSString *)title sender:(id)sender;
- (void)setTitle:(NSString *)title;
+- (void)setOwner:(TitleLabelOwner) aOwner;
+- (void)startTimePickerwithTimer:(Timer *) timer;
+
@end
diff --git a/ios/iosremote/iosremote/UIViewController+LibOStyling.m b/ios/iosremote/iosremote/UIViewController+LibOStyling.m
index 272f726..193f912 100644
--- a/ios/iosremote/iosremote/UIViewController+LibOStyling.m
+++ b/ios/iosremote/iosremote/UIViewController+LibOStyling.m
@@ -8,9 +8,13 @@
#import "UIViewController+LibOStyling.h"
#import "ControlVariables.h"
+#import "Timer.h"
+#import "TimerCountdownTimePicker.h"
+#import "stopWatch.h"
@implementation UIViewController (LibOStyling)
+
- (void)setTitle:(NSString *)title
{
UILabel *titleView = (UILabel *)self.navigationItem.titleView;
@@ -28,6 +32,40 @@
[titleView sizeToFit];
}
+- (void)setOwner:(TitleLabelOwner) aOwner
+{
+ owner = aOwner;
+}
+
+- (void)setTitle:(NSString *)title sender:(id)sender
+{
+ switch (owner) {
+ case STOPWATCH:
+ if (![sender isKindOfClass:[stopWatch class]])
+ return;
+ break;
+ case TIMER:
+ if (![sender isKindOfClass:[Timer class]])
+ return;
+ break;
+ default:
+ break;
+ }
+ UILabel *titleView = (UILabel *)self.navigationItem.titleView;
+ if (!titleView) {
+ titleView = [[UILabel alloc] initWithFrame:CGRectZero];
+ titleView.backgroundColor = [UIColor clearColor];
+ titleView.font = kAppTitleFont;
+ titleView.shadowColor = nil;
+
+ titleView.textColor = [UIColor blackColor];
+
+ self.navigationItem.titleView = titleView;
+ }
+ titleView.text = title;
+ [titleView sizeToFit];
+}
+
- (void) handleBack
{
[self.navigationController popViewControllerAnimated:YES];
diff --git a/ios/iosremote/iosremote/stopWatch.h b/ios/iosremote/iosremote/stopWatch.h
index a77f55a..01f5edc 100644
--- a/ios/iosremote/iosremote/stopWatch.h
+++ b/ios/iosremote/iosremote/stopWatch.h
@@ -14,7 +14,7 @@
@protocol StopWatchDelegate <NSObject>
-- (void) setTitle:(NSString *) title;
+- (void) setTitle:(NSString *) title sender:(id)sender;
@end
diff --git a/ios/iosremote/iosremote/stopWatch.m b/ios/iosremote/iosremote/stopWatch.m
index 2eea9f4..c5c942e 100644
--- a/ios/iosremote/iosremote/stopWatch.m
+++ b/ios/iosremote/iosremote/stopWatch.m
@@ -51,9 +51,9 @@
- (void) setupWithTableViewCell:(UITableViewCell *)cell
{
- self.startButton = (UIButton *)[cell viewWithTag:2];
- self.clearButton = (UIButton *)[cell viewWithTag:3];
- self.timeLabel = (UILabel *)[cell viewWithTag:1];
+ self.startButton = (UIButton *)[[cell viewWithTag:8] viewWithTag:2];
+ self.clearButton = (UIButton *)[[cell viewWithTag:8] viewWithTag:3];
+ self.timeLabel = (UILabel *)[[cell viewWithTag:8] viewWithTag:1];
[self setupActions];
}
@@ -80,7 +80,7 @@
// Format the elapsed time and set it to the label
NSString *timeString = [dateFormatter stringFromDate:timerDate];
self.timeLabel.text = timeString;
- [self.delegate setTitle:timeString];
+ [self.delegate setTitle:timeString sender:self];
}
@@ -147,7 +147,7 @@
[self.startButton setImage:[UIImage imageNamed:@"timer_start_btn"] forState:UIControlStateNormal];
[self updateTimer];
- [self.delegate setTitle:@""];
+ [self.delegate setTitle:@"" sender:self];
}
@end
commit 0c3b5abb8a1bd2dcc674e68244a870d62e3808dd
Author: Siqi LIU <me at siqi.fr>
Date: Sat Sep 7 22:19:07 2013 +0200
limit UIBarbutton appearance setting in navbar
Change-Id: I0035b091704a1b1ff8476cd35e684f462f701eb2
diff --git a/ios/iosremote/iosremote/AppDelegate.m b/ios/iosremote/iosremote/AppDelegate.m
index 7a7ab06..8e4e12f 100644
--- a/ios/iosremote/iosremote/AppDelegate.m
+++ b/ios/iosremote/iosremote/AppDelegate.m
@@ -42,7 +42,7 @@ blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
NSDictionary *attributes = [NSDictionary dictionaryWithObjects:
[NSArray arrayWithObjects: [UIFont boldSystemFontOfSize:15], kTintColor, [UIColor clearColor], nil]
forKeys: [NSArray arrayWithObjects:UITextAttributeFont, UITextAttributeTextColor, UITextAttributeTextShadowColor, nil]];
- [[UIBarButtonItem appearance] setTitleTextAttributes:attributes
+ [[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleTextAttributes:attributes
forState:UIControlStateNormal];
attributes = [NSDictionary dictionaryWithObjects:
[NSArray arrayWithObjects: kAppTextFont, [UIColor grayColor], [UIColor clearColor], nil]
commit a28cc686cd49b36b1c938ae7fdbbead7218a596b
Author: Siqi LIU <me at siqi.fr>
Date: Sat Sep 7 22:18:43 2013 +0200
major UI chages in order to embed Timer/Stopwatch
Change-Id: Ib37033ba73d44647ad2f2b20ad6875d485e2c147
diff --git a/ios/iosremote/UIView+Shadowing.h b/ios/iosremote/UIView+Shadowing.h
new file mode 100644
index 0000000..223c4fd
--- /dev/null
+++ b/ios/iosremote/UIView+Shadowing.h
@@ -0,0 +1,15 @@
+//
+// UIView+Shadowing.h
+// iosremote
+//
+// Created by Siqi Liu on 9/6/13.
+// Copyright (c) 2013 libreoffice. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+ at interface UIView (Shadowing)
+
+- (void) setShadow;
+
+ at end
diff --git a/ios/iosremote/UIView+Shadowing.m b/ios/iosremote/UIView+Shadowing.m
new file mode 100644
index 0000000..343063c
--- /dev/null
+++ b/ios/iosremote/UIView+Shadowing.m
@@ -0,0 +1,24 @@
+//
+// UIView+Shadowing.m
+// iosremote
+//
+// Created by Siqi Liu on 9/6/13.
+// Copyright (c) 2013 libreoffice. All rights reserved.
+//
+
+#import "UIView+Shadowing.h"
+#import <QuartzCore/CALayer.h>
+
+ at implementation UIView (Shadowing)
+
+- (void) setShadow
+{
+ self.layer.shadowColor = [[UIColor blackColor] CGColor];
+ self.layer.shadowOpacity = 0.5;
+ self.layer.shadowRadius = 4.0;
+ self.layer.shadowOffset = CGSizeMake(3.0f, 3.0f);
+ self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;
+ self.clipsToBounds = NO;
+}
+
+ at end
diff --git a/ios/iosremote/iosremote.xcodeproj/project.pbxproj b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
index 45e36b5..cc25b6c 100644
--- a/ios/iosremote/iosremote.xcodeproj/project.pbxproj
+++ b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
@@ -44,7 +44,6 @@
57C6E430175E076900E8BC5F /* CommandInterpreter.m in Sources */ = {isa = PBXBuildFile; fileRef = 57C6E42B175E076900E8BC5F /* CommandInterpreter.m */; };
57C6E431175E076900E8BC5F /* Server.m in Sources */ = {isa = PBXBuildFile; fileRef = 57C6E42D175E076900E8BC5F /* Server.m */; };
57CC48C6178B42A400075DE4 /* timer_pause_btn.png in Resources */ = {isa = PBXBuildFile; fileRef = 57CC48C4178B42A400075DE4 /* timer_pause_btn.png */; };
- 57CC48C7178B42A400075DE4 /* timer_resume_btn.png in Resources */ = {isa = PBXBuildFile; fileRef = 57CC48C5178B42A400075DE4 /* timer_resume_btn.png */; };
57CFED9917838FDC00E82E05 /* EditableTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 57CFED9817838FDC00E82E05 /* EditableTableViewCell.m */; };
57DC7007178D84490050FC58 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57DC7006178D84490050FC58 /* CoreMotion.framework */; };
57DC7012178E16A40050FC58 /* UIViewTransitionCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 57DC7011178E16A40050FC58 /* UIViewTransitionCategory.m */; };
@@ -88,6 +87,7 @@
8C1A16FD17A2853700B4BB3C /* iosremote_iphone_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C1A16FC17A2853700B4BB3C /* iosremote_iphone_icon.png */; };
8C1A16FF17A2853F00B4BB3C /* iosremote_ipad_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C1A16FE17A2853F00B4BB3C /* iosremote_ipad_icon.png */; };
8C1A170117A2854300B4BB3C /* iosremote_ipad_icon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C1A170017A2854300B4BB3C /* iosremote_ipad_icon at 2x.png */; };
+ 8C23B46917DA158C00FB4DE6 /* UIView+Shadowing.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C23B46817DA158C00FB4DE6 /* UIView+Shadowing.m */; };
8C26E5C617A5539D007DA4B7 /* UserDefaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8C26E5C517A5539D007DA4B7 /* UserDefaults.plist */; };
8C26E5C917A5731D007DA4B7 /* autoDismissKeyboardNavigationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C26E5C817A5731D007DA4B7 /* autoDismissKeyboardNavigationViewController.m */; };
8C26E5D017A58703007DA4B7 /* HorizontalSlideCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C26E5CF17A58703007DA4B7 /* HorizontalSlideCell.m */; };
@@ -179,7 +179,6 @@
57C6E42C175E076900E8BC5F /* Server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Server.h; path = iosremote/Communication/Server.h; sourceTree = "<group>"; };
57C6E42D175E076900E8BC5F /* Server.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Server.m; path = iosremote/Communication/Server.m; sourceTree = "<group>"; };
57CC48C4178B42A400075DE4 /* timer_pause_btn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = timer_pause_btn.png; path = iosremote/timer_pause_btn.png; sourceTree = "<group>"; };
- 57CC48C5178B42A400075DE4 /* timer_resume_btn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = timer_resume_btn.png; path = iosremote/timer_resume_btn.png; sourceTree = "<group>"; };
57CFED9717838FDC00E82E05 /* EditableTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditableTableViewCell.h; path = iosremote/EditableTableViewCell.h; sourceTree = "<group>"; };
57CFED9817838FDC00E82E05 /* EditableTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EditableTableViewCell.m; path = iosremote/EditableTableViewCell.m; sourceTree = "<group>"; };
57DC7006178D84490050FC58 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
@@ -242,6 +241,8 @@
8C1A16FC17A2853700B4BB3C /* iosremote_iphone_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = iosremote_iphone_icon.png; sourceTree = "<group>"; };
8C1A16FE17A2853F00B4BB3C /* iosremote_ipad_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = iosremote_ipad_icon.png; sourceTree = "<group>"; };
8C1A170017A2854300B4BB3C /* iosremote_ipad_icon at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iosremote_ipad_icon at 2x.png"; sourceTree = "<group>"; };
+ 8C23B46717DA158C00FB4DE6 /* UIView+Shadowing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+Shadowing.h"; sourceTree = "<group>"; };
+ 8C23B46817DA158C00FB4DE6 /* UIView+Shadowing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Shadowing.m"; sourceTree = "<group>"; };
8C26E5BE17A525FC007DA4B7 /* MGSplitCornersView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGSplitCornersView.h; sourceTree = "<group>"; };
8C26E5BF17A525FC007DA4B7 /* MGSplitCornersView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGSplitCornersView.m; sourceTree = "<group>"; };
8C26E5C017A525FC007DA4B7 /* MGSplitDividerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGSplitDividerView.h; sourceTree = "<group>"; };
@@ -465,7 +466,6 @@
8C1A16FC17A2853700B4BB3C /* iosremote_iphone_icon.png */,
8C1A16FA17A2853100B4BB3C /* iosremote_iphone_icon at 2x.png */,
57CC48C4178B42A400075DE4 /* timer_pause_btn.png */,
- 57CC48C5178B42A400075DE4 /* timer_resume_btn.png */,
571BFAD0178AADA200EF1BDB /* more_icon.png */,
57AEEDB417899BB4007F4F97 /* slide_finished.png */,
57AEEDB017895BF5007F4F97 /* pointer_pushed.png */,
@@ -569,6 +569,8 @@
8C26E5CF17A58703007DA4B7 /* HorizontalSlideCell.m */,
8C0323A917A943720037432E /* UIImageView+setImageAnimated.h */,
8C0323AA17A943720037432E /* UIImageView+setImageAnimated.m */,
+ 8C23B46717DA158C00FB4DE6 /* UIView+Shadowing.h */,
+ 8C23B46817DA158C00FB4DE6 /* UIView+Shadowing.m */,
8C19F42917B04EC6005BDB61 /* UINavigationController+Theme.h */,
8C19F42A17B04EC6005BDB61 /* UINavigationController+Theme.m */,
8C19F42D17B05089005BDB61 /* LibONavigationController.h */,
@@ -613,12 +615,20 @@
8C1A170917A28E6500B4BB3C /* iPhone */ = {
isa = PBXGroup;
children = (
+ 8C23B46217DA03D700FB4DE6 /* Views */,
8CAD658917A2F00500CFB661 /* Controllers */,
57DF0A83178FFFAB008B2D3D /* iPhone_autosize.storyboard */,
);
name = iPhone;
sourceTree = "<group>";
};
+ 8C23B46217DA03D700FB4DE6 /* Views */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Views;
+ sourceTree = "<group>";
+ };
8C26E5C417A52607007DA4B7 /* MGSplitViewController */ = {
isa = PBXGroup;
children = (
@@ -742,7 +752,6 @@
571D4807178B2F080063D93B /* timer_clear_btn.png in Resources */,
571D4808178B2F080063D93B /* timer_start_btn.png in Resources */,
57CC48C6178B42A400075DE4 /* timer_pause_btn.png in Resources */,
- 57CC48C7178B42A400075DE4 /* timer_resume_btn.png in Resources */,
57DF0A85178FFFAB008B2D3D /* iPhone_autosize.storyboard in Resources */,
5711026D1794127E007D343B /* README.md in Resources */,
5711026E1794127E007D343B /* release_notes.md in Resources */,
@@ -858,6 +867,7 @@
8C19F43617B10D49005BDB61 /* UIViewController+LibOStyling.m in Sources */,
8CD6EC6817CBBAF40071827A /* WalkThroughPageViewController.m in Sources */,
8CD6EC7017CC3FA00071827A /* WalkThroughContainerViewController.m in Sources */,
+ 8C23B46917DA158C00FB4DE6 /* UIView+Shadowing.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/ios/iosremote/iosremote/Timer.h b/ios/iosremote/iosremote/Timer.h
new file mode 100644
index 0000000..9ed22c5
--- /dev/null
+++ b/ios/iosremote/iosremote/Timer.h
@@ -0,0 +1,13 @@
+//
+// Timer.h
+// iosremote
+//
+// Created by Siqi Liu on 9/7/13.
+// Copyright (c) 2013 libreoffice. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+ at interface Timer : NSObject
+
+ at end
diff --git a/ios/iosremote/iosremote/Timer.m b/ios/iosremote/iosremote/Timer.m
new file mode 100644
index 0000000..af1ad02
--- /dev/null
+++ b/ios/iosremote/iosremote/Timer.m
@@ -0,0 +1,13 @@
+//
+// Timer.m
+// iosremote
+//
+// Created by Siqi Liu on 9/7/13.
+// Copyright (c) 2013 libreoffice. All rights reserved.
+//
+
+#import "Timer.h"
+
+ at implementation Timer
+
+ at end
diff --git a/ios/iosremote/iosremote/TimerCountdownTimePicker.h b/ios/iosremote/iosremote/TimerCountdownTimePicker.h
new file mode 100644
index 0000000..b9853c7
--- /dev/null
+++ b/ios/iosremote/iosremote/TimerCountdownTimePicker.h
@@ -0,0 +1,13 @@
+//
+// TimerCountdownTimePicker.h
+// iosremote
+//
+// Created by Siqi Liu on 9/7/13.
+// Copyright (c) 2013 libreoffice. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+ at interface TimerCountdownTimePicker : UIView
+
+ at end
diff --git a/ios/iosremote/iosremote/TimerCountdownTimePicker.m b/ios/iosremote/iosremote/TimerCountdownTimePicker.m
new file mode 100644
index 0000000..d357579
--- /dev/null
+++ b/ios/iosremote/iosremote/TimerCountdownTimePicker.m
@@ -0,0 +1,31 @@
+//
+// TimerCountdownTimePicker.m
+// iosremote
+//
+// Created by Siqi Liu on 9/7/13.
+// Copyright (c) 2013 libreoffice. All rights reserved.
+//
+
+#import "TimerCountdownTimePicker.h"
+
+ at implementation TimerCountdownTimePicker
+
+- (id)initWithFrame:(CGRect)frame
+{
+ self = [super initWithFrame:frame];
+ if (self) {
+ // Initialization code
+ }
+ return self;
+}
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect
+{
+ // Drawing code
+}
+*/
+
+ at end
diff --git a/ios/iosremote/iosremote/UIImageView+setImageAnimated.m b/ios/iosremote/iosremote/UIImageView+setImageAnimated.m
index 47692f7..ca163df 100644
--- a/ios/iosremote/iosremote/UIImageView+setImageAnimated.m
+++ b/ios/iosremote/iosremote/UIImageView+setImageAnimated.m
@@ -27,5 +27,4 @@
{
[self setImage:image animated:animated Duration:0.5];
}
-
@end
diff --git a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard
index 3dcb3a1..dd23025 100644
--- a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard
+++ b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard
@@ -194,51 +194,109 @@
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="132" sectionHeaderHeight="22" sectionFooterHeight="22" id="Ke1-ze-r00">
<rect key="frame" x="0.0" y="20" width="320" height="548"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <gestureRecognizers/>
<prototypes>
- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="stopWatch" rowHeight="115" id="hig-YG-1Lg">
- <rect key="frame" x="0.0" y="22" width="320" height="115"/>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="stopWatch" rowHeight="126" id="hig-YG-1Lg">
+ <rect key="frame" x="0.0" y="22" width="320" height="126"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
- <rect key="frame" x="0.0" y="0.0" width="320" height="114"/>
+ <rect key="frame" x="0.0" y="0.0" width="320" height="125"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
- <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="1" contentMode="left" text="00:00:00" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="JsJ-ic-uyC">
- <rect key="frame" x="20" y="20" width="184" height="39"/>
- <autoresizingMask key="autoresizingMask"/>
- <fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="39"/>
- <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
- <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
- </label>
- <button opaque="NO" tag="2" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="Fmn-lt-vBn">
- <rect key="frame" x="58" y="67" width="40" height="40"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES"/>
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
- <state key="normal" image="timer_start_btn.png">
- <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
- </state>
- <state key="highlighted">
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
- </state>
- </button>
- <button opaque="NO" tag="3" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="EVu-he-FS4">
- <rect key="frame" x="127" y="67" width="40" height="40"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES"/>
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
- <state key="normal" image="timer_clear_btn.png">
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
- <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
- </state>
- <state key="highlighted">
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
- </state>
- </button>
+ <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" tag="7" contentMode="scaleToFill" bounces="NO" alwaysBounceHorizontal="YES" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" id="Yo8-Hd-Io6">
+ <rect key="frame" x="0.0" y="-15" width="320" height="159"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <view clipsSubviews="YES" tag="8" contentMode="scaleToFill" id="Fer-gZ-WBh">
+ <rect key="frame" x="20" y="20" width="182" height="119"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <button opaque="NO" tag="3" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="EVu-he-FS4">
+ <rect key="frame" x="122" y="74" width="40" height="40"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_clear_btn.png">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
+ <button opaque="NO" tag="2" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="Fmn-lt-vBn">
+ <rect key="frame" x="20" y="74" width="40" height="40"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" image="timer_start_btn.png">
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ </button>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="1" contentMode="left" text="00:00:00" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="JsJ-ic-uyC">
+ <rect key="frame" x="0.0" y="8" width="182" height="58"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" flexibleMaxY="YES"/>
+ <color key="backgroundColor" red="0.92941176470588238" green="0.92941176470588238" blue="0.92941176470588238" alpha="1" colorSpace="calibratedRGB"/>
+ <fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="32"/>
+ <color key="textColor" red="0.25882352941176467" green="0.32549019607843138" blue="0.28235294117647058" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" red="0.078431372549019607" green="0.75686274509803919" blue="0.5607843137254902" alpha="1" colorSpace="calibratedRGB"/>
+ <gestureRecognizers/>
+ </view>
+ <view clipsSubviews="YES" tag="9" contentMode="scaleToFill" id="NtN-aW-IpP">
+ <rect key="frame" x="210" y="20" width="182" height="119"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list