[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