[Libreoffice-commits] core.git: 12 commits - ios/.DS_Store ios/iosremote qadevOOo/testdocs

siqi me at siqi.fr
Fri Jul 5 00:56:34 PDT 2013


 dev/null                                                                                                       |binary
 ios/iosremote/iosremote.xcodeproj/project.pbxproj                                                              |  402 ----------
 ios/iosremote/iosremote.xcodeproj/project.xcworkspace/contents.xcworkspacedata                                 |    7 
 ios/iosremote/iosremote.xcodeproj/project.xcworkspace/xcuserdata/siqi.xcuserdatad/WorkspaceSettings.xcsettings |   10 
 ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist                |   33 
 ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/iosremote.xcscheme                     |   86 --
 ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/xcschememanagement.plist               |   22 
 ios/iosremote/iosremote/.DS_Store                                                                              |binary
 ios/iosremote/iosremote/Base64.h                                                                               |   16 
 ios/iosremote/iosremote/Base64.m                                                                               |   23 
 ios/iosremote/iosremote/Communication/Client.h                                                                 |   33 
 ios/iosremote/iosremote/Communication/Client.m                                                                 |  188 ----
 ios/iosremote/iosremote/Communication/CommandInterpreter.h                                                     |   20 
 ios/iosremote/iosremote/Communication/CommandInterpreter.m                                                     |   90 --
 ios/iosremote/iosremote/Communication/CommandTransmitter.h                                                     |   30 
 ios/iosremote/iosremote/Communication/CommandTransmitter.m                                                     |   88 --
 ios/iosremote/iosremote/Communication/CommunicationManager.h                                                   |   69 -
 ios/iosremote/iosremote/Communication/CommunicationManager.m                                                   |  168 ----
 ios/iosremote/iosremote/Communication/Server.h                                                                 |   23 
 ios/iosremote/iosremote/Communication/Server.m                                                                 |   56 -
 ios/iosremote/iosremote/Communication/SlideShow.h                                                              |   26 
 ios/iosremote/iosremote/Communication/SlideShow.m                                                              |  114 --
 ios/iosremote/iosremote/EditableTableViewCell.h                                                                |   14 
 ios/iosremote/iosremote/EditableTableViewCell.m                                                                |   54 -
 ios/iosremote/iosremote/en.lproj/InfoPlist.strings                                                             |    2 
 ios/iosremote/iosremote/en.lproj/MainStoryboard_iPad.storyboard                                                |  185 ----
 ios/iosremote/iosremote/en.lproj/MainStoryboard_iPhone.storyboard                                              |  145 ---
 ios/iosremote/iosremote/iosremote-Info.plist                                                                   |   49 -
 ios/iosremote/iosremote/iosremote-Prefix.pch                                                                   |   14 
 ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.h                                                      |   15 
 ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.m                                                      |   46 -
 ios/iosremote/iosremote/libreoffice_sdremoteViewController.h                                                   |   19 
 ios/iosremote/iosremote/libreoffice_sdremoteViewController.m                                                   |   85 --
 ios/iosremote/iosremote/main.m                                                                                 |   19 
 ios/iosremote/iosremote/newServer_vc.h                                                                         |   38 
 ios/iosremote/iosremote/newServer_vc.m                                                                         |  273 ------
 ios/iosremote/iosremote/server_list_vc.h                                                                       |   15 
 ios/iosremote/iosremote/server_list_vc.m                                                                       |   92 --
 ios/iosremote/iosremote/slideShowViewController.h                                                              |   22 
 ios/iosremote/iosremote/slideShowViewController.m                                                              |   82 --
 40 files changed, 2673 deletions(-)

New commits:
commit b4a034b8559f0a5dda6973be12a25a53fad833aa
Author: siqi <me at siqi.fr>
Date:   Fri Jul 5 09:51:30 2013 +0200

    mess
    
    Change-Id: I8a1ac6e17c46c4c0bfee4b32731a5f2ac66147f6

diff --git a/ios/iosremote/iosremote/.DS_Store b/ios/iosremote/iosremote/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/ios/iosremote/iosremote/.DS_Store differ
commit 9710f34bd15b270e687bb4e63c705c47fcaeb2cc
Author: siqi <me at siqi.fr>
Date:   Fri Jul 5 09:55:05 2013 +0200

    mess
    
    Change-Id: I34918402d713e3cb0df80f1eb662f61b5ddfed02

diff --git a/ios/.DS_Store b/ios/.DS_Store
deleted file mode 100644
index 4e262b1..0000000
Binary files a/ios/.DS_Store and /dev/null differ
diff --git a/ios/iosremote/iosremote.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/iosremote/iosremote.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 130b46b..0000000
--- a/ios/iosremote/iosremote.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:iosremote.xcodeproj">
-   </FileRef>
-</Workspace>
diff --git a/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
deleted file mode 100644
index 1011728..0000000
--- a/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Bucket
-   type = "1"
-   version = "1.0">
-   <FileBreakpoints>
-      <FileBreakpoint
-         shouldBeEnabled = "No"
-         ignoreCount = "0"
-         continueAfterRunningActions = "No"
-         filePath = "iosremote/libreoffice_sdremoteViewController.m"
-         timestampString = "393022219.861088"
-         startingColumnNumber = "9223372036854775807"
-         endingColumnNumber = "9223372036854775807"
-         startingLineNumber = "47"
-         endingLineNumber = "47"
-         landmarkName = "@implementation libreoffice_sdremoteViewController"
-         landmarkType = "3">
-      </FileBreakpoint>
-   </FileBreakpoints>
-</Bucket>
diff --git a/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/iosremote.xcscheme b/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/iosremote.xcscheme
deleted file mode 100644
index bb82040..0000000
--- a/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/iosremote.xcscheme
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "0460"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "57C6E3EE175E06E800E8BC5F"
-               BuildableName = "iosremote.app"
-               BlueprintName = "iosremote"
-               ReferencedContainer = "container:iosremote.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      buildConfiguration = "Debug">
-      <Testables>
-      </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "57C6E3EE175E06E800E8BC5F"
-            BuildableName = "iosremote.app"
-            BlueprintName = "iosremote"
-            ReferencedContainer = "container:iosremote.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </TestAction>
-   <LaunchAction
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Debug"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      allowLocationSimulation = "YES">
-      <BuildableProductRunnable>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "57C6E3EE175E06E800E8BC5F"
-            BuildableName = "iosremote.app"
-            BlueprintName = "iosremote"
-            ReferencedContainer = "container:iosremote.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Release"
-      debugDocumentVersioning = "YES">
-      <BuildableProductRunnable>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "57C6E3EE175E06E800E8BC5F"
-            BuildableName = "iosremote.app"
-            BlueprintName = "iosremote"
-            ReferencedContainer = "container:iosremote.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git a/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 74079c7..0000000
--- a/ios/iosremote/iosremote.xcodeproj/xcuserdata/siqi.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>iosremote.xcscheme</key>
-		<dict>
-			<key>orderHint</key>
-			<integer>0</integer>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict>
-		<key>57C6E3EE175E06E800E8BC5F</key>
-		<dict>
-			<key>primary</key>
-			<true/>
-		</dict>
-	</dict>
-</dict>
-</plist>
diff --git a/ios/iosremote/iosremote/Base64.h b/ios/iosremote/iosremote/Base64.h
deleted file mode 100644
index f222423..0000000
--- a/ios/iosremote/iosremote/Base64.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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>
-
-
- at interface NSData (Base64)
-
-+(id)dataWithBase64String:(NSString *)base64String;
-
- at end
\ No newline at end of file
diff --git a/ios/iosremote/iosremote/Base64.m b/ios/iosremote/iosremote/Base64.m
deleted file mode 100644
index 9b380eb..0000000
--- a/ios/iosremote/iosremote/Base64.m
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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 "Base64.h"
-
- at implementation NSData(Base64)
-
-+ (id) dataWithBase64String:(NSString *)base64Encoding
-{
-	if ([base64Encoding length] % 4 != 0)
-		return nil;
-	
-	NSString *plist = [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"UTF-8\"?><plist version=\"1.0\"><data>%@</data></plist>", base64Encoding];
-	return [NSPropertyListSerialization propertyListWithData:[plist dataUsingEncoding:NSASCIIStringEncoding] options:0 format:NULL error:NULL];
-}
-
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/Client.h b/ios/iosremote/iosremote/Communication/Client.h
deleted file mode 100644
index 51674fd..0000000
--- a/ios/iosremote/iosremote/Communication/Client.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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>
-
- at class Server;
- at class CommunicationManager;
- at class CommandInterpreter;
-
- at interface Client : NSObject
-
- at property BOOL connected;
- at property (nonatomic, strong) NSNumber* pin;
- at property (nonatomic, strong) NSString* name;
- at property (nonatomic, weak) Server* server;
-
-- (void) connect;
-- (void) disconnect;
-
-- (id) initWithServer:(Server*)server
-            managedBy:(CommunicationManager*)manager
-        interpretedBy:(CommandInterpreter*)receiver;
-
-- (void) sendCommand:(NSString *)aCommand;
-
--(void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode;
-
- at end
\ No newline at end of file
diff --git a/ios/iosremote/iosremote/Communication/Client.m b/ios/iosremote/iosremote/Communication/Client.m
deleted file mode 100644
index 4f8a526..0000000
--- a/ios/iosremote/iosremote/Communication/Client.m
+++ /dev/null
@@ -1,191 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "Client.h"
-#import "Server.h"
-#import "CommandInterpreter.h"
-#import "CommunicationManager.h"
-
-#define CHARSET @"UTF-8"
-
- at interface Client() <NSStreamDelegate>
-
- at property (nonatomic, strong) NSInputStream* inputStream;
- at property (nonatomic, strong) NSOutputStream* outputStream;
-
- at property uint mPort;
- at property (nonatomic, weak) CommandInterpreter* receiver;
- at property (nonatomic, weak) CommunicationManager* comManager;
-
- at end
-
- at implementation Client
-
- at synthesize inputStream = _mInputStream;
- at synthesize outputStream = _mOutputStream;
- at synthesize pin = _mPin;
- at synthesize name = _mName;
- at synthesize server = _mServer;
- at synthesize comManager = _mComManager;
- at synthesize connected = _mReady;
- at synthesize receiver = _receiver;
-
-
-- (id) initWithServer:(Server*)server
-            managedBy:(CommunicationManager*)manager
-        interpretedBy:(CommandInterpreter*)receiver
-{
-    self = [self init];
-    if (self)
-    {
-        self.connected = NO;
-        self.name = [[UIDevice currentDevice] name];
-        self.pin = [NSNumber numberWithInteger:[self getPin]];
-        self.server = server;
-        self.comManager = manager;
-        self.receiver = receiver;
-        self.mPort = 1599;
-    }
-    return self;
-}
-
-- (NSInteger) getPin
-{
-    // Look up if there is already a pin code for this client.
-    NSUserDefaults * userDefaluts = [NSUserDefaults standardUserDefaults];
-    
-    if(!userDefaluts)
-        NSLog(@"userDefaults nil");
-    NSInteger newPin = [userDefaluts integerForKey:self.name];
-    
-    // If not, generate one.
-    if (!newPin) {
-        newPin = arc4random() % 9999;
-        [userDefaluts setInteger:newPin forKey:self.name];
-    }
-    
-    return newPin;
-}
-
-- (void)streamOpenWithIp:(NSString *)ip withPortNumber:(uint)portNumber
-{
-    NSLog(@"Connecting to %@:%u", ip, portNumber);
-    CFReadStreamRef readStream;
-    CFWriteStreamRef writeStream;
-    CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (__bridge CFStringRef)ip, portNumber, &readStream, &writeStream);
-    
-    if(readStream && writeStream)
-    {
-        CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanTrue);
-        CFWriteStreamSetProperty(writeStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanTrue);
-        
-        //Setup mInputStream
-        self.inputStream = (__bridge NSInputStream *)readStream;
-        [self.inputStream setDelegate:self];
-        dispatch_async(dispatch_get_main_queue(), ^{
-            [self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
-        });
-        [self.inputStream open];
-        
-        //Setup outputstream
-        self.outputStream = (__bridge NSOutputStream *)writeStream;
-        [self.outputStream setDelegate:self];
-        dispatch_async(dispatch_get_main_queue(), ^{
-            [self.outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
-        });
-        [self.outputStream open];
-        
-        NSArray *temp = [[NSArray alloc]initWithObjects:@"LO_SERVER_CLIENT_PAIR\n", self.name, @"\n", self.pin, @"\n\n", nil];
-        NSString *command = [temp componentsJoinedByString:@""];
-        
-        [self sendCommand:command];
-    }
-}
-
-- (void) sendCommand:(NSString *)aCommand
-{
-    NSLog(@"Sending command %@", aCommand);
-    // UTF-8 as speficied in specification
-    NSData * data = [aCommand dataUsingEncoding:NSUTF8StringEncoding];
-    
-    [self.outputStream write:(uint8_t *)[data bytes] maxLength:[data length]];
-}
-
-int count = 0;
-
-- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode {
-    switch(eventCode) {
-        case NSStreamEventOpenCompleted:{
-                [self stopConnectionTimeoutTimer];
-                [[NSNotificationCenter defaultCenter]postNotificationName:@"connection.status.connected" object:nil];
-            } else {
-                count++;
-                }
-            }
-            break;
-        case NSStreamEventErrorOccurred:{
-            NSLog(@"Connection error occured");
-            [[NSNotificationCenter defaultCenter]postNotificationName:@"connection.status.disconnected" object:nil];
-            }
-            break;
-        case NSStreamEventHasBytesAvailable:
-        {
-            NSMutableData* data;
-            NSLog(@"NSStreamEventHasBytesAvailable");
-            if(!data) {
-                data = [[NSMutableData alloc] init];
-            }
-            uint8_t buf[1024];
-            unsigned int len = 0;
-            NSString *str;
-            while (true) {
-                len = [(NSInputStream *)stream read:buf maxLength:1024];
-                [data appendBytes:(const void *)buf length:len];
-                if (len < 1024) {
-                    // Potentially the end of a command
-                    str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
-                    if ([str hasSuffix:@"\n\n"]) {
-                        // Finished current command
-                        break;
-                    }
-                }
-            }
-            
-            NSArray *commands = [str componentsSeparatedByString:@"\n"];
-            [self.receiver parse:commands];
-            data = nil;
-            str = nil;
-        } break;
-        default:
-        {
-            
-        }
-            
-    }
-}
-
-- (void) disconnect
-{
-    if(self.inputStream == nil && self.outputStream == nil)
-        return;
-    [self.inputStream close];
-    [self.outputStream close];
-    self.inputStream = nil;
-    self.outputStream = nil;
-    self.connected = NO;
-}
-
-- (void) connect
-{
-    [self streamOpenWithIp:self.server.serverAddress withPortNumber:self.mPort];
-}
-
-
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/CommandInterpreter.h b/ios/iosremote/iosremote/Communication/CommandInterpreter.h
deleted file mode 100644
index 287cdc5..0000000
--- a/ios/iosremote/iosremote/Communication/CommandInterpreter.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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>
-
- at class SlideShow;
-
- at interface CommandInterpreter : NSObject
-
- at property (nonatomic, strong) SlideShow* slideShow;
-
-- (void) parse:(NSArray *)cmd;
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/CommandInterpreter.m b/ios/iosremote/iosremote/Communication/CommandInterpreter.m
deleted file mode 100644
index 3bce86c..0000000
--- a/ios/iosremote/iosremote/Communication/CommandInterpreter.m
+++ /dev/null
@@ -1,91 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "CommandInterpreter.h"
-#import "SlideShow.h"
-#import "Base64.h"
-#import "CommunicationManager.h"
-
- at interface CommandInterpreter()
-
- at end
-
- at implementation CommandInterpreter
-
- at synthesize slideShow = _slideShow;
-
-- (SlideShow*) slideshow{
-    if (!self.slideShow)
-        self.slideShow = [[SlideShow alloc] init];
-    return self.slideShow;
-}
-
-- (BOOL) isSlideRunning {
-    return [self.slideShow size] > 0;
-}
-
-// Received a set of instructions from server.
-- (void) parse:(NSArray*)command{
-    if ([command count] == 0) {
-        return;
-    }
-    NSLog(@"Command:%@", command);
-    NSString *instruction = [command objectAtIndex:0];
-    
-    if([instruction isEqualToString:@"slideshow_started"]){
-        NSLog(@"Interpreter: slideshow_started");
-        uint slideLength = [[command objectAtIndex:1] integerValue];
-        uint currentSlide = [[command objectAtIndex:2] integerValue];
-        self.slideShow = [[SlideShow alloc] init];
-        
-        [self.slideShow setSize:slideLength];
-        [self.slideShow setCurrentSlide:currentSlide];
-        
-        [[NSNotificationCenter defaultCenter] postNotificationName:STATUS_CONNECTED_SLIDESHOW_RUNNING
-                          object:nil];
-        [[NSNotificationCenter defaultCenter] postNotificationName:MSG_SLIDE_CHANGED object:[NSNumber numberWithUnsignedInt:currentSlide]];
-        
-    } else if ([instruction isEqualToString:@"slideshow_finished"]){
-        NSLog(@"Interpreter: slideshow_finished");
-        self.slideShow = [[SlideShow alloc] init];
-        [[NSNotificationCenter defaultCenter] postNotificationName:STATUS_CONNECTED_NOSLIDESHOW object:nil];
-    } else {
-        if (self.slideShow == nil)
-            return;
-        if ([instruction isEqualToString:@"slide_updated"]) {
-            NSLog(@"Interpreter: slide_updated");
-            uint newSlideNumber = [[command objectAtIndex:1] integerValue];
-            [self.slideShow setCurrentSlide:newSlideNumber];
-            
-            [[NSNotificationCenter defaultCenter] postNotificationName:MSG_SLIDE_CHANGED object:nil];
-            
-        } else if ([instruction isEqualToString:@"slide_preview"]){
-            NSLog(@"Interpreter: slide_preview");
-            uint slideNumber = [[command objectAtIndex:1] integerValue];
-            NSString * imageData = [command objectAtIndex:2];
-            
-            [self.slideShow putImage:imageData
-                              AtIndex:slideNumber];
-            [[NSNotificationCenter defaultCenter] postNotificationName:MSG_SLIDE_PREVIEW object:[NSNumber numberWithUnsignedInt:slideNumber]];
-        } else if ([instruction isEqualToString:@"slide_notes"]){
-            uint slideNumber = [[command objectAtIndex:1] integerValue];
-            NSMutableString *notes = [[NSMutableString alloc] init];
-            for (int i = 2; i<command.count; ++i) {
-                [notes appendString:[command objectAtIndex:i]];
-            }
-            [self.slideShow putNotes:notes
-                              AtIndex:slideNumber];
-            [[NSNotificationCenter defaultCenter] postNotificationName:MSG_SLIDE_NOTES object: [NSNumber numberWithUnsignedInt:slideNumber]];
-        }
-        
-    }
-    
-}
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/CommandTransmitter.h b/ios/iosremote/iosremote/Communication/CommandTransmitter.h
deleted file mode 100644
index 95821c9..0000000
--- a/ios/iosremote/iosremote/Communication/CommandTransmitter.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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>
-
- at class Client;
-
-
- at interface CommandTransmitter : NSObject
-
-- (CommandTransmitter*) initWithClient:(Client *)client;
-
-- (void) nextTransition;
-- (void) previousTransition;
-
-- (void) gotoSlide:(uint) slide;
-
-- (void) blankScreen;
-- (void) blankScreenWithColor:(UIColor*)color;
-- (void) resume;
-
-- (void) startPresentation;
-- (void) stopPresentation;
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/CommandTransmitter.m b/ios/iosremote/iosremote/Communication/CommandTransmitter.m
deleted file mode 100644
index a359f5e..0000000
--- a/ios/iosremote/iosremote/Communication/CommandTransmitter.m
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * 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 "CommandTransmitter.h"
-#import "Client.h"
-
- at interface CommandTransmitter()
-
- at property (nonatomic, weak) Client* client;
-
- at end
-
- at implementation CommandTransmitter
-
- at synthesize client = _client;
-
-- (CommandTransmitter*) initWithClient:(Client *)client
-{
-    self = [self init];
-    self.client = client;
-
-    return self;
-}
-
-- (void) nextTransition
-{
-    [self.client sendCommand:@"transition_next\n\n"];
-}
-
-- (void) previousTransition
-{
-    [self.client sendCommand:@"transition_previous\n\n"];
-}
-
-- (void) gotoSlide:(uint) slide
-{
-    [self.client sendCommand:[NSString stringWithFormat:@"goto_slide\n%u\n\n", slide]];
-}
-
-
-/**
- * Blank the screen to the default colour (set server-side), which is
- * generally black. This is slightly faster than using
- * <code> blankScreen( colour ) </code>.
- */
-- (void) blankScreen
-{
-    [self.client sendCommand:@"presentation_blank_screen\n\n"];
-}
-
-
-/**
- * Set the screen to a specific colour. Only use if a non default colour is
- * needed.
- *
- * @param aColor
- */
-- (void) blankScreenWithColor:(UIColor*)color
-{
-//    CGColorRef colorRef = color.CGColor;
-//    NSString *colorString = [CIColor colorWithCGColor:colorRef].stringRepresentation;
-    
-    // Need new server-end interface, since this is a platform dependent representation
-//    [self.client sendCommand:[NSString stringWithFormat:@"presentation_blank_screen\n%@\n\n", colorString]];
-}
-
-- (void) resume
-{
-    [self.client sendCommand:@"presentation_resume\n\n"];
-}
-
-- (void) startPresentation
-{
-    [self.client sendCommand:@"presentation_start\n\n"];
-}
-
-- (void) stopPresentation
-{
-    [self.client sendCommand:@"presentation_stop\n\n"];
-}
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/CommunicationManager.h b/ios/iosremote/iosremote/Communication/CommunicationManager.h
deleted file mode 100644
index 102feed..0000000
--- a/ios/iosremote/iosremote/Communication/CommunicationManager.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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>
-
- at class Client;
- at class Server;
- at class CommandInterpreter;
- at class CommandTransmitter;
- at class SlideShow;
-
-#define MSG_SLIDESHOW_STARTED @"SLIDESHOW_STARTED"
-#define MSG_SLIDE_CHANGED @"SLIDE_CHANGED"
-#define MSG_SLIDE_PREVIEW @"SLIDE_PREVIEW"
-#define MSG_SLIDE_NOTES @"SLIDE_NOTES"
-
-#define MSG_SERVERLIST_CHANGED @"SERVERLIST_CHANGED"
-#define MSG_PAIRING_STARTED @"PAIRING_STARTED"
-#define MSG_PAIRING_SUCCESSFUL @"PAIRING_SUCCESSFUL"
-
-/**
- * Notify the UI that the service has connected to a server AND a slideshow
- * is running.
- * In this case the PresentationActivity should be started.
- */
-#define STATUS_CONNECTED_SLIDESHOW_RUNNING @"STATUS_CONNECTED_SLIDESHOW_RUNNING"
-/**
- * Notify the UI that the service has connected to a server AND no slideshow
- * is running.
- * In this case the StartPresentationActivity should be started.
- */
-#define STATUS_CONNECTED_NOSLIDESHOW @"STATUS_CONNECTED_NOSLIDESHOW"
-
-#define STATUS_PAIRING_PINVALIDATION @"STATUS_PAIRING_PINVALIDATION"
-
-#define STATUS_CONNECTION_FAILED @"STATUS_CONNECTION_FAILED"
-
-
-typedef enum ConnectionState : NSInteger ConnectionState;
-
-enum ConnectionState : NSInteger {
-    DISCONNECTED,
-    SEARCHING,
-    CONNECTING,
-    CONNECTED
-};
-
- at interface CommunicationManager : NSObject
-
-- (id) initWithExistingServers;
-- (void) connectToServer:(Server*)server;
-- (void) addServersWithName:(NSString*)name
-                  AtAddress:(NSString*)addr;
-- (void) removeServerAtIndex:(NSUInteger)index;
-
- at property ConnectionState state;
- at property (nonatomic, strong) id delegate;
- at property (atomic, strong) NSMutableArray* servers;
- at property (nonatomic, strong) CommandInterpreter* interpreter;
- at property (nonatomic, strong) CommandTransmitter* transmitter;
-
-+ (CommunicationManager *)sharedComManager;
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/CommunicationManager.m b/ios/iosremote/iosremote/Communication/CommunicationManager.m
deleted file mode 100644
index 1ce7d07..0000000
--- a/ios/iosremote/iosremote/Communication/CommunicationManager.m
+++ /dev/null
@@ -1,158 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "CommunicationManager.h"
-#import "Client.h"
-#import "Server.h"
-#import "SlideShow.h"
-#import "CommandTransmitter.h"
-#import "CommandInterpreter.h"
-#import <dispatch/dispatch.h>
-
-#define ExistingServersKey @"CommunicationManager.ExistingServers"
-
- at interface CommunicationManager()
-
- at property (nonatomic, strong) Client* client;
- at property (nonatomic, strong) id connectionConnectedObserver;
- at property (nonatomic, strong) id connectionDisconnectedObserver;
-
- at end
-
-// Singlton Pattern
- at implementation CommunicationManager
-
- at synthesize client = _client;
- at synthesize state = _state;
- at synthesize interpreter = _interpreter;
- at synthesize transmitter = _transmitter;
- at synthesize servers = _servers;
- at synthesize delegate = _delegate;
- at synthesize connectionConnectedObserver = _connectionConnectedObserver;
- at synthesize connectionDisconnectedObserver = _connectionDisconnectedObserver;
-
-+ (CommunicationManager *)sharedComManager
-{
-    static CommunicationManager *sharedComManager = nil;
-    static dispatch_once_t _singletonPredicate;
-    
-    dispatch_once(&_singletonPredicate, ^{
-        sharedComManager = [[super allocWithZone:nil] initWithExistingServers];
-    });
-    
-    return sharedComManager;
-}
-
-
-- (void) connectionStatusHandler:(NSNotification *)note
-{
-    if([[note name] isEqualToString:@"connection.status.connected"]){
-        if (self.state!=CONNECTED){
-            NSLog(@"Connected");
-            self.transmitter = [[CommandTransmitter alloc] initWithClient:self.client];
-            self.state = CONNECTED;
-//            [self.delegate setPinLabelText:[NSString stringWithFormat:@"%@", [self getPairingPin]]];
-        }
-    } else if ([[note name] isEqualToString:@"connection.status.disconnected"]){
-        if (self.state != DISCONNECTED) {
-            NSLog(@"Connection Failed");
-            self.state = DISCONNECTED;
-            [self.client disconnect];            
-        }
-    }
-}
-
-- (id) init
-{
-    self = [super init];
-    self.state = DISCONNECTED;
-    self.interpreter = [[CommandInterpreter alloc] init];
-    self.servers = [[NSMutableArray alloc] init];
-    
-    [[NSNotificationCenter defaultCenter]addObserver: self
-                                            selector: @selector(connectionStatusHandler:)
-                                                name: @"connection.status.connected"
-                                              object: nil];
-    [[NSNotificationCenter defaultCenter]addObserver: self
-                                            selector: @selector(connectionStatusHandler:)
-                                                name: @"connection.status.disconnected"
-                                              object: nil];
-    
-    return self;
-}
-
-
-
-- (id) initWithExistingServers
-{
-    self = [self init];
-    NSUserDefaults * userDefaluts = [NSUserDefaults standardUserDefaults];
-    
-    if(!userDefaluts)
-        NSLog(@"userDefaults nil");
-    
-    NSData *dataRepresentingExistingServers = [userDefaluts objectForKey:ExistingServersKey];
-    if (dataRepresentingExistingServers != nil)
-    {
-        NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingExistingServers];
-        if (oldSavedArray != nil)
-            self.servers = [[NSMutableArray alloc] initWithArray:oldSavedArray];
-        else
-            self.servers = [[NSMutableArray alloc] init];
-    } 
-    return self;
-}
-
-- (void) connectToServer:(Server*)server
-{
-    [self.servers addObject:server];
-    if (self.state == CONNECTING || self.state == CONNECTED) {
-        return;
-    } else {
-            self.state = CONNECTING;
-            [self.client disconnect];
-            // initialise it with a given server
-            self.client = [[Client alloc]initWithServer:server managedBy:self interpretedBy:self.interpreter];
-            self.transmitter = [[CommandTransmitter alloc] initWithClient:self.client];
-            [self.client connect];
-    }
-}
-
-
-- (NSNumber *) getPairingPin{
-    return [self.client pin];
-}
-
-- (NSString *) getPairingDeviceName
-{
-    return [self.client name];
-}
-
-+ (id)allocWithZone:(NSZone *)zone
-{
-    return [self sharedComManager];
-}
-
-- (void) addServersWithName:(NSString*)name
-                  AtAddress:(NSString*)addr
-{
-    Server * s = [[Server alloc] initWithProtocol:NETWORK atAddress:addr ofName:name];
-    [self.servers addObject:s];
-    [[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:self.servers] forKey:ExistingServersKey];
-    [[NSUserDefaults standardUserDefaults] synchronize];
-}
-
-- (void) removeServerAtIndex:(NSUInteger)index
-{
-    [self.servers removeObjectAtIndex:index];
-    [[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:self.servers] forKey:ExistingServersKey];
-    [[NSUserDefaults standardUserDefaults] synchronize];
-}
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/Server.h b/ios/iosremote/iosremote/Communication/Server.h
deleted file mode 100644
index 0e499bd..0000000
--- a/ios/iosremote/iosremote/Communication/Server.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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>
-
-typedef enum protocol {NETWORK} Protocol_t;
-
- at interface Server : NSObject <NSCoding>
-
- at property (nonatomic) Protocol_t protocol;
- at property (nonatomic, strong) NSString* serverName;
- at property (nonatomic, strong) NSString* serverAddress;
-
-- (id)initWithProtocol:(Protocol_t)protocal
-             atAddress:(NSString*) address
-                ofName:(NSString*) name;
-
- at end
-
- at interface NSString (IPValidation)
-
-- (BOOL)isValidIPAddress;
-
- at end
\ No newline at end of file
diff --git a/ios/iosremote/iosremote/Communication/Server.m b/ios/iosremote/iosremote/Communication/Server.m
deleted file mode 100644
index 2e2c0a4..0000000
--- a/ios/iosremote/iosremote/Communication/Server.m
+++ /dev/null
@@ -1,75 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "Server.h"
-#import <arpa/inet.h>
-
- at interface Server()
-
- at end
-
- at implementation Server
-
-
- at synthesize protocol = _protocol;
- at synthesize serverName = _serverName;
- at synthesize serverAddress = _serverAddress;
-
-
-- (void)encodeWithCoder:(NSCoder *)coder;
-{
-    [coder encodeObject:self.serverName forKey:@"name"];
-    [coder encodeObject:self.serverAddress forKey:@"address"];
-    [coder encodeInteger:self.protocol forKey:@"protocol"];
-}
-
-- (id)initWithCoder:(NSCoder *)coder;
-{
-    self = [self initWithProtocol:[coder decodeIntegerForKey:@"protocol"]
-                        atAddress:[coder decodeObjectForKey:@"address"]
-                           ofName:[coder decodeObjectForKey:@"name"]];
-    return self;
-}
-
-
-- (id)initWithProtocol:(Protocol_t)protocal
-           atAddress:(NSString*) address
-              ofName:(NSString*) name
-{
-    self = [self init];
-    self.protocol = protocal;
-    self.serverAddress = address;
-    self.serverName = name;
-    return self;
-}
-
-- (NSString *)description{
-    return [NSString stringWithFormat:@"Server: Name:%@ Addr:%@", self.serverName, self.serverAddress];
-}
-
- at end
-
-
- at implementation NSString (IPValidation)
-
-- (BOOL)isValidIPAddress
-{
-    const char *utf8 = [self UTF8String];
-    int success;
-    
-    struct in_addr dst;
-    success = inet_pton(AF_INET, utf8, &dst);
-    if (success != 1) {
-        struct in6_addr dst6;
-        success = inet_pton(AF_INET6, utf8, &dst6);
-    }
-    
-    return success;
-}
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/SlideShow.h b/ios/iosremote/iosremote/Communication/SlideShow.h
deleted file mode 100644
index 8d89533..0000000
--- a/ios/iosremote/iosremote/Communication/SlideShow.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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>
-
- at class slideShowPreview_vc;
-
- at interface SlideShow : NSObject
-
- at property uint size;
- at property uint currentSlide;
- at property (nonatomic, strong) slideShowPreview_vc* delegate;
-
-- (void) putImage: (NSString *)img AtIndex: (uint) index;
-- (void) putNotes: (NSString *)notes AtIndex: (uint) index;
-
-- (UIImage *) getImageAtIndex: (uint) index;
-- (NSString *) getNotesAtIndex: (uint) index;
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/SlideShow.m b/ios/iosremote/iosremote/Communication/SlideShow.m
deleted file mode 100644
index 7048569..0000000
--- a/ios/iosremote/iosremote/Communication/SlideShow.m
+++ /dev/null
@@ -1,114 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "SlideShow.h"
-#import "Base64.h"
-#import "slideShowPreview_vc.h"
-#import <dispatch/dispatch.h>
-
- at interface SlideShow()
-
- at property (nonatomic, strong) NSMutableDictionary* imagesDictionary;
- at property (nonatomic, strong) NSMutableDictionary* notesDictionary;
-
- at property int lastRequestedImage, lastRequestedNote;
- at property (nonatomic, strong) id slideShowImageReadyObserver;
- at property (nonatomic, strong) id slideShowNoteReadyObserver;
-
- at end
-
- at implementation SlideShow
-
- at synthesize size = _size;
- at synthesize currentSlide = _currentSlide;
- at synthesize delegate = _delegate;
-
-dispatch_queue_t backgroundQueue;
-
-- (SlideShow *) init{
-    self = [super init];
-    self.imagesDictionary = [[NSMutableDictionary alloc] init];
-    self.notesDictionary = [[NSMutableDictionary alloc] init];
-    _size = 0;
-    _currentSlide = 0;
-    
-    backgroundQueue = dispatch_queue_create("org.libreoffice.iosremote.bgqueue", NULL);
-//    NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
-    
-//    self.slideShowImageReadyObserver =[[NSNotificationCenter defaultCenter]
-//                                              addObserverForName:@"storage_update_image_ready"
-//                                                          object:nil
-//                                                           queue:mainQueue
-//                                                      usingBlock:^(NSNotification *note) {
-//                                                          if ([[[note userInfo] objectForKey:@"index"] intValue] == self.lastRequestedImage) {
-//                                                              [self.delegate.image setImage:[self getImageAtIndex:self.lastRequestedImage]];
-//                                                              self.lastRequestedImage = -1;
-//                                                          }
-//                                                      }];
-    
-//    self.slideShowNoteReadyObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"storage_update_note_ready"
-//                                                          object:nil
-//                                                           queue:mainQueue
-//                                                      usingBlock:^(NSNotification *note) {
-//                                                          if ([[[note userInfo] objectForKey:@"index"] intValue] == self.lastRequestedNote) {
-//                                                              [self.delegate.lecturer_notes loadHTMLString:[self getNotesAtIndex:self.lastRequestedNote] baseURL:nil];
-//                                                              self.lastRequestedNote = -1;
-//                                                          }
-//                                                      }];
-    
-    return self;
-}
-
-- (void) putImage: (NSString *)img AtIndex: (uint) index{
-//    NSLog(@"Put Image into %u", index);
-    dispatch_async(backgroundQueue, ^(void) {
-        NSData* data = [NSData dataWithBase64String:img];
-        UIImage* image = [UIImage imageWithData:data];
-        [self.imagesDictionary setObject:image forKey:[NSNumber numberWithUnsignedInt:index]];
-        [[NSNotificationCenter defaultCenter] postNotificationName:@"storage_update_image_ready"
-                                                            object:nil
-                                                          userInfo:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:index] forKey:@"index"]];
-    });
-}
-
-- (void) putNotes: (NSString *)notes AtIndex: (uint) index{
-//    NSLog(@"Put note into %u", index);
-    [self.notesDictionary setObject:notes forKey:[NSNumber numberWithUnsignedInt:index]];
-    [[NSNotificationCenter defaultCenter] postNotificationName:@"storage_update_note_ready"
-                                                        object:nil
-                                                      userInfo:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:index] forKey:@"index"]];
-}
-
-- (UIImage *) getImageAtIndex: (uint) index
-{
-    if (![self.imagesDictionary objectForKey:[NSNumber numberWithUnsignedInt:index]]) {
-        self.lastRequestedImage = index;
-        return nil;
-    }
-    else{
-        self.lastRequestedImage = -1;
-        return [self.imagesDictionary objectForKey:[NSNumber numberWithUnsignedInt:index]];
-    }
-}
-
-- (NSString *) getNotesAtIndex: (uint) index
-{
-    if (![self.notesDictionary objectForKey:[NSNumber numberWithUnsignedInt:index]]) {
-        self.lastRequestedNote = index;
-        return nil;
-    }
-    else {
-        self.lastRequestedNote = -1;
-        return [self.notesDictionary objectForKey:[NSNumber numberWithUnsignedInt:index]];
-    }
-}
-
-
-
- at end
diff --git a/ios/iosremote/iosremote/Communication/pinValidation_vc.m b/ios/iosremote/iosremote/Communication/pinValidation_vc.m
deleted file mode 100644
index 14dadee..0000000
--- a/ios/iosremote/iosremote/Communication/pinValidation_vc.m
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-//  pinValidation_vcViewController.m
-//  iosremote
-//
-//  Created by Liu Siqi on 7/4/13.
-//  Copyright (c) 2013 libreoffice. All rights reserved.
-//
-
-#import "pinValidation_vc.h"
-#import "slideShowPreview_vc.h"
-#import "SlideShow.h"
-#import "CommandInterpreter.h"
-#import "CommunicationManager.h"
-
- at interface pinValidation_vc ()
-
- at property (nonatomic, strong) CommunicationManager *comManager;
- at property (nonatomic, strong) id slideShowPreviewStartObserver;
-
- at end
-
- at implementation pinValidation_vc
-
- at synthesize comManager = _comManager;
- at synthesize slideShowPreviewStartObserver = _slideShowPreviewStartObserver;
-
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
-{
-    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
-    if (self) {
-        // Custom initialization
-    }
-    return self;
-}
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-	// Do any additional setup after loading the view.
-    self.comManager = [CommunicationManager sharedComManager];
-    [self.pinLabel setText:[NSString stringWithFormat:@"%@", [self.comManager getPairingPin]]];
-    NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
-    self.slideShowPreviewStartObserver = [[NSNotificationCenter defaultCenter] addObserverForName:STATUS_CONNECTED_SLIDESHOW_RUNNING
-                                                                                           object:nil
-                                                                                            queue:mainQueue
-                                                                                       usingBlock:^(NSNotification *note) {
-                                                                       [self performSegueWithIdentifier:@"pinValidated" sender:self ];
-                                                                   }];
-}
-
-- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
-    if ([segue.identifier isEqualToString:@"pinValidated"]) {
-        slideShowPreview_vc *destViewController = segue.destinationViewController;
-        destViewController.slideshow = [self.comManager.interpreter slideShow];
-        [destViewController.slideshow setDelegate:destViewController];
-    }
-}
-
-- (void)didReceiveMemoryWarning
-{
-    [super didReceiveMemoryWarning];
-    // Dispose of any resources that can be recreated.
-}
-
-- (void)viewDidUnload {
-    [self setPinLabel:nil];
-    [self setStatusLabel:nil];
-    [super viewDidUnload];
-}
- at end
diff --git a/ios/iosremote/iosremote/Default-568h at 2x.png b/ios/iosremote/iosremote/Default-568h at 2x.png
deleted file mode 100644
index 0891b7a..0000000
Binary files a/ios/iosremote/iosremote/Default-568h at 2x.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/Default.png b/ios/iosremote/iosremote/Default.png
deleted file mode 100644
index 4c8ca6f..0000000
Binary files a/ios/iosremote/iosremote/Default.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/Default at 2x.png b/ios/iosremote/iosremote/Default at 2x.png
deleted file mode 100644
index 35b84cf..0000000
Binary files a/ios/iosremote/iosremote/Default at 2x.png and /dev/null differ
diff --git a/ios/iosremote/iosremote/EditableTableViewCell.h b/ios/iosremote/iosremote/EditableTableViewCell.h
deleted file mode 100644
index 6dd1666..0000000
--- a/ios/iosremote/iosremote/EditableTableViewCell.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 <UIKit/UIKit.h>
-
- at interface EditableTableViewCell : UITableViewCell
-    @property (weak, nonatomic) UITextField * textField;
-    @property (weak, nonatomic) UILabel * inputLabel;
- at end
diff --git a/ios/iosremote/iosremote/EditableTableViewCell.m b/ios/iosremote/iosremote/EditableTableViewCell.m
deleted file mode 100644
index 73199a0..0000000
--- a/ios/iosremote/iosremote/EditableTableViewCell.m
+++ /dev/null
@@ -1,54 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "EditableTableViewCell.h"
-
- at implementation EditableTableViewCell
-
- at synthesize inputLabel = _inputLabel;
- at synthesize textField = _textField;
-
-- (id)initWithStyle:(UITableViewCellStyle)style
-    reuseIdentifier:(NSString *)identifier
-{
-    self = [super initWithStyle:style reuseIdentifier:identifier];
-    
-    if (self == nil)
-    {
-        return nil;
-    }
-    
-    CGRect bounds = [[self contentView] bounds];
-    CGRect rect = CGRectInset(bounds, 20.0, 10.0);
-    UITextField *textField = [[UITextField alloc] initWithFrame:rect];
-    
-    //  Set the keyboard's return key label to 'Next'.
-    //
-    [textField setReturnKeyType:UIReturnKeyNext];
-    
-    //  Make the clear button appear automatically.
-    [textField setClearButtonMode:UITextFieldViewModeWhileEditing];
-    [textField setOpaque:YES];
-    
-    [[self contentView] addSubview:textField];
-    [self setTextField:textField];
-    
-    return self;
-}
-
-//  Disable highlighting of currently selected cell.
-//
-- (void)setSelected:(BOOL)selected
-           animated:(BOOL)animated
-{
-    [super setSelected:selected animated:NO];
-    
-    [self setSelectionStyle:UITableViewCellSelectionStyleNone];
-}
-
- at end
diff --git a/ios/iosremote/iosremote/en.lproj/InfoPlist.strings b/ios/iosremote/iosremote/en.lproj/InfoPlist.strings
deleted file mode 100644
index 477b28f..0000000
--- a/ios/iosremote/iosremote/en.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
diff --git a/ios/iosremote/iosremote/en.lproj/MainStoryboard_iPhone.storyboard b/ios/iosremote/iosremote/en.lproj/MainStoryboard_iPhone.storyboard
deleted file mode 100644
index 1d19c7a..0000000
--- a/ios/iosremote/iosremote/en.lproj/MainStoryboard_iPhone.storyboard
+++ /dev/null
@@ -1,361 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="13A497d" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="qoG-TN-hN0">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
-    </dependencies>
-    <scenes>
-        <!--Server list vc - Connect-->
-        <scene sceneID="5">
-            <objects>
-                <viewController id="2" customClass="server_list_vc" sceneMemberID="viewController">
-                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="naQ-T4-jWV">
-                        <rect key="frame" x="0.0" y="64" width="320" height="504"/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <prototypes>
-                            <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="server_item_cell" editingAccessoryType="disclosureIndicator" textLabel="Rg3-PU-OuS" detailTextLabel="9Mc-gD-acc" style="IBUITableViewCellStyleValue1" id="Pvl-Uw-Ghs">
-                                <rect key="frame" x="0.0" y="22" width="320" height="44"/>
-                                <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="43"/>
-                                    <autoresizingMask key="autoresizingMask"/>
-                                    <subviews>
-                                        <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Rg3-PU-OuS">
-                                            <rect key="frame" x="10" y="11" width="35" height="21"/>
-                                            <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
-                                            <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
-                                            <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                        </label>
-                                        <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Detail" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="9Mc-gD-acc">
-                                            <rect key="frame" x="266" y="11" width="44" height="21"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                            <color key="textColor" red="0.21960784310000001" green="0.3294117647" blue="0.52941176469999995" alpha="1" colorSpace="calibratedRGB"/>
-                                            <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                                        </label>
-                                    </subviews>
-                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                </view>
-                            </tableViewCell>
-                        </prototypes>
-                        <connections>
-                            <outlet property="dataSource" destination="2" id="dcg-jo-7eE"/>
-                            <outlet property="delegate" destination="2" id="owZ-Ow-VEc"/>
-                        </connections>
-                    </tableView>
-                    <navigationItem key="navigationItem" title="Connect" id="yR1-m8-JWN">
-                        <barButtonItem key="rightBarButtonItem" systemItem="add" id="bHy-yX-SPg">
-                            <connections>
-                                <segue destination="maT-Bx-l5y" kind="push" identifier="create_new_server" id="UYr-8d-fk5"/>
-                            </connections>
-                        </barButtonItem>
-                    </navigationItem>
-                    <connections>
-                        <outlet property="serverTable" destination="naQ-T4-jWV" id="hd3-Vm-fk6"/>
-                        <segue destination="UPe-3R-KdQ" kind="push" identifier="pinValidation" id="UQQ-pV-3o3"/>
-                        <segue destination="vs3-ES-U9h" kind="push" identifier="SlideShowPreview" id="YBj-zE-J7L"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="4" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="528" y="118"/>
-        </scene>
-        <!--Pin Validation vc-->
-        <scene sceneID="aCW-l9-UDx">
-            <objects>
-                <viewController id="UPe-3R-KdQ" customClass="pinValidation_vc" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="UGV-xw-Sxo">
-                        <rect key="frame" x="0.0" y="64" width="320" height="504"/>
-                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        <subviews>
-                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="3128" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="f2u-bG-5ak">
-                                <rect key="frame" x="79" y="93" width="163" height="81"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
-                                <fontDescription key="fontDescription" name="HelveticaNeue-UltraLight" family="Helvetica Neue" pointSize="73"/>
-                                <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Please enter the pin code above in Impress - Slide Show - Impress Remote" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="upW-oF-qOa">
-                                <rect key="frame" x="29" y="208" width="271" height="53"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
-                                <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="15"/>
-                                <color key="textColor" name="alternateSelectedControlColor" catalog="System" colorSpace="catalog"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Waiting for validation from Impress..." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="lSD-BG-kVe">
-                                <rect key="frame" x="33" y="380" width="276" height="21"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
-                                <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="15"/>
-                                <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                    <navigationItem key="navigationItem" id="c3o-oA-oin"/>
-                    <connections>
-                        <outlet property="pinLabel" destination="f2u-bG-5ak" id="Y7S-6h-awe"/>
-                        <outlet property="statusLabel" destination="lSD-BG-kVe" id="mmM-4x-ktw"/>
-                        <segue destination="vs3-ES-U9h" kind="push" identifier="pinValidated" id="geL-Q8-f61"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iok-RC-uS6" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="528" y="872"/>
-        </scene>
-        <!--New Server View Controller - New Server-->
-        <scene sceneID="tlJ-c5-Jp2">
-            <objects>
-                <tableViewController id="maT-Bx-l5y" customClass="newServerViewController" sceneMemberID="viewController">
-                    <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="VUL-K7-xsS">
-                        <rect key="frame" x="0.0" y="64" width="320" height="504"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
-                        <sections>
-                            <tableViewSection footerTitle="Register a new server and remeber it for future connection" id="46W-NE-CYW">
-                                <cells>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="EN9-tY-k4P" customClass="EditableTableViewCell">
-                                        <rect key="frame" x="0.0" y="10" width="320" height="45"/>
-                                        <autoresizingMask key="autoresizingMask"/>
-                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="1" width="300" height="43"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                        </view>
-                                    </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="qeE-95-2Gh" customClass="EditableTableViewCell">
-                                        <rect key="frame" x="0.0" y="55" width="320" height="45"/>
-                                        <autoresizingMask key="autoresizingMask"/>
-                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="0.0" width="300" height="43"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                        </view>
-                                    </tableViewCell>
-                                </cells>
-                            </tableViewSection>
-                        </sections>
-                        <connections>
-                            <outlet property="dataSource" destination="maT-Bx-l5y" id="B5v-aO-O0a"/>
-                            <outlet property="delegate" destination="maT-Bx-l5y" id="Q3h-jf-Kor"/>
-                        </connections>
-                    </tableView>
-                    <navigationItem key="navigationItem" title="New Server" id="qbR-M4-5O0">
-                        <barButtonItem key="rightBarButtonItem" systemItem="save" id="sqC-Fa-Vem">
-                            <connections>
-                                <action selector="save:" destination="maT-Bx-l5y" id="OtP-lO-h9g"/>
-                            </connections>
-                        </barButtonItem>
-                    </navigationItem>
-                </tableViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="b5I-aN-vyr" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="1052" y="-63"/>
-        </scene>
-        <!--View Controller-->
-        <scene sceneID="ccD-EG-LMW">
-            <objects>
-                <viewController id="vs3-ES-U9h" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="JzX-I7-Mwa">
-                        <rect key="frame" x="0.0" y="64" width="320" height="504"/>
-                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        <subviews>
-                            <containerView contentMode="scaleToFill" id="gBf-8h-qAQ">
-                                <rect key="frame" x="0.0" y="196" width="320" height="308"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                                <connections>
-                                    <segue destination="Ybo-9c-MB8" kind="embed" id="7Sk-Ca-Deq"/>
-                                </connections>
-                            </containerView>
-                            <containerView contentMode="scaleToFill" id="rEU-8Z-ftD">
-                                <rect key="frame" x="0.0" y="0.0" width="320" height="197"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                                <connections>
-                                    <segue destination="HMh-Ba-7X9" kind="embed" id="Uql-bR-9Sk"/>
-                                </connections>
-                            </containerView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                    <navigationItem key="navigationItem" id="rqp-6S-yX6"/>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="APz-RZ-QFt" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="1052" y="695"/>
-        </scene>
-        <!--Slide Show Preview Table vc-->
-        <scene sceneID="Tvi-bD-vMC">
-            <objects>
-                <tableViewController id="Ybo-9c-MB8" customClass="slideShowPreviewTable_vc" sceneMemberID="viewController">
-                    <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="rWA-v3-wtf">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="308"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
-                        <sections>
-                            <tableViewSection id="8wQ-rK-ve4">
-                                <cells>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="0D7-tO-bVg">
-                                        <rect key="frame" x="0.0" y="10" width="320" height="45"/>
-                                        <autoresizingMask key="autoresizingMask"/>
-                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="1" width="300" height="43"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                            <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Lecturer's notes" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="cqt-7d-BbV">
-                                                    <rect key="frame" x="20" y="11" width="121" height="21"/>
-                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
-                                                    <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                </label>
-                                                <switch opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" id="Vmo-Lk-YLZ">
-                                                    <rect key="frame" x="203" y="8" width="79" height="27"/>
-                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                                </switch>
-                                            </subviews>
-                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                        </view>
-                                    </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="LrN-2p-yDw">
-                                        <rect key="frame" x="0.0" y="55" width="320" height="44"/>
-                                        <autoresizingMask key="autoresizingMask"/>
-                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="0.0" width="300" height="43"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                            <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Timer" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="c2r-cZ-hoW">
-                                                    <rect key="frame" x="20" y="11" width="44" height="21"/>
-                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
-                                                    <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                </label>
-                                                <switch opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" id="hp6-Kp-ujK">
-                                                    <rect key="frame" x="203" y="8" width="79" height="27"/>
-                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                                </switch>
-                                            </subviews>
-                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                        </view>
-                                    </tableViewCell>
-                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="Cdv-T8-mH7">
-                                        <rect key="frame" x="0.0" y="99" width="320" height="45"/>
-                                        <autoresizingMask key="autoresizingMask"/>
-                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                            <rect key="frame" x="10" y="0.0" width="300" height="43"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                            <subviews>
-                                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Pointer" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="5wf-j3-OjO">
-                                                    <rect key="frame" x="20" y="11" width="54" height="21"/>
-                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
-                                                    <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                                </label>
-                                                <switch opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" id="yPM-as-1Zw">
-                                                    <rect key="frame" x="203" y="8" width="79" height="27"/>
-                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                                </switch>
-                                            </subviews>
-                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                        </view>
-                                    </tableViewCell>
-                                </cells>
-                            </tableViewSection>
-                        </sections>
-                        <connections>
-                            <outlet property="dataSource" destination="Ybo-9c-MB8" id="GrB-3r-c8s"/>
-                            <outlet property="delegate" destination="Ybo-9c-MB8" id="QI6-vt-nrW"/>
-                        </connections>
-                    </tableView>
-                    <connections>
-                        <outlet property="optionTableView" destination="rWA-v3-wtf" id="kpL-OO-92A"/>
-                    </connections>
-                </tableViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="z5S-eI-1pb" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="1581" y="1002"/>
->>>>>>> threading fixes & preview screen
-        </scene>
-        <!--Navigation Controller-->
-        <scene sceneID="yRe-s4-oKK">
-            <objects>
-                <navigationController id="qoG-TN-hN0" sceneMemberID="viewController">
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="WJT-Yy-XZ0">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="2" kind="relationship" relationship="rootViewController" id="Sds-4S-ZnU"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="f9j-Cw-dxh" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="68" y="75"/>
-        </scene>
-        <!--View Controller-->
-        <scene sceneID="kRQ-fB-NKx">
-            <objects>
-                <viewController id="HMh-Ba-7X9" sceneMemberID="viewController">
-                    <view key="view" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="Swz-wK-30Z">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="197"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="Default at 2x.png" id="qyi-U8-2KF">
-                                <rect key="frame" x="0.0" y="0.0" width="320" height="197"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            </imageView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    </view>
-                    <toolbarItems/>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="uCa-zh-PLh" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="1581" y="684"/>
-        </scene>
-    </scenes>
-    <resources>
-        <image name="Default at 2x.png" width="640" height="960"/>
-    </resources>
-    <classes>
-        <class className="EditableTableViewCell" superclassName="UITableViewCell">
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/EditableTableViewCell.h"/>
-        </class>
-        <class className="newServerViewController" superclassName="UITableViewController">
-            <source key="sourceIdentifier" type="project" relativePath="./Classes/newServerViewController.h"/>
-            <relationships>
-                <relationship kind="action" name="save:"/>
-            </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:"/>
-            </relationships>
-        </class>
-    </classes>
-    <simulatedMetricsContainer key="defaultSimulatedMetrics">
-        <simulatedStatusBarMetrics key="statusBar"/>
-        <simulatedOrientationMetrics key="orientation"/>
-        <simulatedScreenMetrics key="destination" type="retina4"/>
-    </simulatedMetricsContainer>
-    <inferredMetricsTieBreakers>
-        <segue reference="geL-Q8-f61"/>
-    </inferredMetricsTieBreakers>
-</document>
diff --git a/ios/iosremote/iosremote/iosremote-Info.plist b/ios/iosremote/iosremote/iosremote-Info.plist
deleted file mode 100644
index 2bd910b..0000000
--- a/ios/iosremote/iosremote/iosremote-Info.plist
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleDisplayName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIdentifier</key>
-	<string>org.libreoffice.${PRODUCT_NAME:rfc1034identifier}</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1.0</string>
-	<key>LSRequiresIPhoneOS</key>
-	<true/>
-	<key>UIMainStoryboardFile</key>
-	<string>MainStoryboard_iPhone</string>
-	<key>UIRequiredDeviceCapabilities</key>
-	<array>
-		<string>armv7</string>
-	</array>
-	<key>UISupportedInterfaceOrientations</key>
-	<array>
-		<string>UIInterfaceOrientationPortrait</string>
-		<string>UIInterfaceOrientationLandscapeLeft</string>
-		<string>UIInterfaceOrientationLandscapeRight</string>
-	</array>
-	<key>UISupportedInterfaceOrientations~ipad</key>
-	<array>
-		<string>UIInterfaceOrientationPortrait</string>
-		<string>UIInterfaceOrientationPortraitUpsideDown</string>
-		<string>UIInterfaceOrientationLandscapeLeft</string>
-		<string>UIInterfaceOrientationLandscapeRight</string>
-	</array>
-</dict>
-</plist>
diff --git a/ios/iosremote/iosremote/iosremote-Prefix.pch b/ios/iosremote/iosremote/iosremote-Prefix.pch
deleted file mode 100644
index b60bc65..0000000
--- a/ios/iosremote/iosremote/iosremote-Prefix.pch
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// Prefix header for all source files of the 'iosremote' target in the 'iosremote' project
-//
-
-#import <Availability.h>
-
-#ifndef __IPHONE_5_0
-#warning "This project uses features only available in iOS SDK 5.0 and later."
-#endif
-
-#ifdef __OBJC__
-    #import <UIKit/UIKit.h>
-    #import <Foundation/Foundation.h>
-#endif
diff --git a/ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.h b/ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.h
deleted file mode 100644
index 9b87a86..0000000
--- a/ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 <UIKit/UIKit.h>
-
- at interface libreoffice_sdremoteAppDelegate : UIResponder <UIApplicationDelegate>
-
- at property (strong, nonatomic) UIWindow *window;
-
- at end
diff --git a/ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.m b/ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.m
deleted file mode 100644
index 0123ac6..0000000
--- a/ios/iosremote/iosremote/libreoffice_sdremoteAppDelegate.m
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "libreoffice_sdremoteAppDelegate.h"
-
- at implementation libreoffice_sdremoteAppDelegate
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
-{
-    // Override point for customization after application launch.
-    return YES;
-}
-							
-- (void)applicationWillResignActive:(UIApplication *)application
-{
-    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application
-{
-    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
-    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application
-{
-    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application
-{
-    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application
-{
-    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
- at end
diff --git a/ios/iosremote/iosremote/libreoffice_sdremoteViewController.h b/ios/iosremote/iosremote/libreoffice_sdremoteViewController.h
deleted file mode 100644
index d664fdf..0000000
--- a/ios/iosremote/iosremote/libreoffice_sdremoteViewController.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 <UIKit/UIKit.h>
-
- at interface libreoffice_sdremoteViewController : UIViewController
-
-- (IBAction)connectToServer:(id)sender;
-- (void)setPinLabelText:(NSString*)text;
-
- at property (weak, nonatomic) IBOutlet UILabel *pinLabel;
- at property (weak, nonatomic) IBOutlet UITextField *ipAddressTextEdit;
-
- at end
diff --git a/ios/iosremote/iosremote/libreoffice_sdremoteViewController.m b/ios/iosremote/iosremote/libreoffice_sdremoteViewController.m
deleted file mode 100644
index eb2e61b..0000000
--- a/ios/iosremote/iosremote/libreoffice_sdremoteViewController.m
+++ /dev/null
@@ -1,85 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "libreoffice_sdremoteViewController.h"
-#import "Server.h"
-#import "slideShowViewController.h"
-#import "CommunicationManager.h"
-#import "CommandTransmitter.h"
-#import "CommandInterpreter.h"
-
- at interface libreoffice_sdremoteViewController ()
-
-// For debug use, will use a manager to manage server and client instead
- at property (nonatomic, strong) Server* server;
- at property (nonatomic, strong) CommunicationManager *comManager;
- at property (nonatomic, weak) NSNotificationCenter* center;
- at property (nonatomic, strong) id slideShowPreviewStartObserver;
-
- at end
-
- at implementation libreoffice_sdremoteViewController
-
- at synthesize server = _server;
- at synthesize center = _center;
- at synthesize comManager = _comManager;
- at synthesize slideShowPreviewStartObserver = _slideShowPreviewStartObserver;
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-	// Do any additional setup after loading the view, typically from a nib.
-    self.center = [NSNotificationCenter defaultCenter];
-    NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
-    self.slideShowPreviewStartObserver = [self.center addObserverForName:STATUS_CONNECTED_SLIDESHOW_RUNNING object:nil
-                                                     queue:mainQueue usingBlock:^(NSNotification *note) {
-                                                         NSLog(@"Received performSegue!");
-                                                         [self performSegueWithIdentifier:@"slidesPreviewSegue" sender:self ];
-                                                     }];
-
-}
-
-- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
-    if ([segue.identifier isEqualToString:@"slidesPreviewSegue"]) {
-        slideShowViewController *destViewController = segue.destinationViewController;
-        destViewController.slideshow = [self.comManager.interpreter slideShow];
-        [destViewController.slideshow setDelegate:destViewController];
-    }
-}
-
-- (void)didReceiveMemoryWarning
-{
-    [super didReceiveMemoryWarning];
-    // Dispose of any resources that can be recreated.
-}
-
-
-- (IBAction)connectToServer:(id)sender {
-    NSString * address = [self.ipAddressTextEdit text];
-    self.comManager = [[CommunicationManager alloc] init];
-    self.server = [[Server alloc] initWithProtocol:NETWORK atAddress:address ofName:@"Macbook Pro Retina"];
-    [self.comManager setDelegate:self];
-    [self.comManager connectToServer:self.server];
-}
-
-
-- (IBAction)startPresentation:(id)sender {
-    [self.comManager.transmitter startPresentation];
-}
-
-- (void)viewDidUnload {
-    [self setIpAddressTextEdit:nil];
-    [self setPinLabel:nil];
-    [super viewDidUnload];
-}
-
-- (void)setPinLabelText:(NSString *)text{
-    [self.pinLabel setText:text];
-}
- at end
diff --git a/ios/iosremote/iosremote/main.m b/ios/iosremote/iosremote/main.m
deleted file mode 100644
index 126838a..0000000
--- a/ios/iosremote/iosremote/main.m
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-//  main.m
-//  iosremote
-//
-//  Created by Liu Siqi on 6/4/13.
-//  Copyright (c) 2013 libreoffice. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-
-#import "libreoffice_sdremoteAppDelegate.h"
-
-int main(int argc, char *argv[])
-{
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([libreoffice_sdremoteAppDelegate class]));
-    }
-}
diff --git a/ios/iosremote/iosremote/newServer_vc.h b/ios/iosremote/iosremote/newServer_vc.h
deleted file mode 100644
index 6d725b5..0000000
--- a/ios/iosremote/iosremote/newServer_vc.h
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#import <UIKit/UIKit.h>
-
- at class Server;
- at class EditableTableViewCell;
- at class CommunicationManager;
-
-//  Constants representing the book's fields.
-//
-enum {
-    ServerName,
-    ServerAddr,
-    ServerStore
-};
-
-//  Constants representing the various sections of our grouped table view.
-//
-enum {
-    InformationSection
-};
-
-typedef NSUInteger ServerAttribute;
-
- at interface newServerViewController : UITableViewController <UITextFieldDelegate>
- at property (nonatomic, strong) Server *server;
- at property (nonatomic, strong) EditableTableViewCell *nameCell;
- at property (nonatomic, strong) EditableTableViewCell *addrCell;
- at property (nonatomic, strong) CommunicationManager *comManager;
-- (IBAction)save:(id)sender;
-- (BOOL)isModal;
-
-- (EditableTableViewCell *)newDetailCellWithTag:(NSInteger)tag;
-
-//  Action Methods
-- (void)save;
-- (void)cancel;
-
- at end
diff --git a/ios/iosremote/iosremote/newServer_vc.m b/ios/iosremote/iosremote/newServer_vc.m
deleted file mode 100644
index d81dd45..0000000
--- a/ios/iosremote/iosremote/newServer_vc.m
+++ /dev/null
@@ -1,297 +0,0 @@
-// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//
-// 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 "newServer_vc.h"
-#import "CommunicationManager.h"
-#import "EditableTableViewCell.h"
-#import "serverList_vc.h"
-#import "Server.h"
-
- at implementation newServerViewController
-
- at synthesize server = _server;
-
- at synthesize nameCell = _nameCell;
- at synthesize addrCell = _addrCell;
-
-- (IBAction)save:(id)sender {
-    NSString *serverName = [self.nameCell.textField text];
-    NSString *serverAddr = [self.addrCell.textField text];
-    if ([serverAddr isValidIPAddress]) {
-        if (!serverName)
-            serverName = @"Computer";
-        NSLog(@"New server name:%@ ip:%@", serverName, serverAddr);
-        [self.comManager addServersWithName:serverName AtAddress:serverAddr];
-        [self.navigationController popViewControllerAnimated:YES];
-    } else {
-        UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Invalid IP Address"
-                                                          message:@"A valid IP address should be like this: \"192.168.1.1\""
-                                                         delegate:nil
-                                                cancelButtonTitle:@"OK"
-                                                otherButtonTitles:nil];
-        [message show];
-    }
-    NSLog(@"New server name:%@ ip:%@", serverName, serverAddr);
-    [self.comManager addServersWithName:serverName AtAddress:serverAddr];
-    [self.navigationController popViewControllerAnimated:YES];
-}
-
-- (BOOL)isModal
-{
-    NSArray *viewControllers = [[self navigationController] viewControllers];
-    UIViewController *rootViewController = [viewControllers objectAtIndex:0];
-    
-    return rootViewController == self;
-}
-
-- (EditableTableViewCell *)newDetailCellWithTag:(NSInteger)tag
-{
-    EditableTableViewCell *cell = [[EditableTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
-    
-    [[cell textField] setDelegate:self];
-    [[cell textField] setTag:tag];
-    
-    return cell;
-}
-
-#pragma mark -
-#pragma mark Action Methods
-
-- (void)save
-{
-    [self dismissModalViewControllerAnimated:YES];
-}
-
-- (void)cancel
-{
-    [self dismissModalViewControllerAnimated:YES];
-}
-
-#pragma mark -
-#pragma mark UIViewController Methods
-
-- (void)viewDidLoad
-{
-    //  If the user clicked the '+' button in the list view, we're
-    //  creating a new entry rather than modifying an existing one, so
-    //  we're in a modal nav controller. Modal nav controllers don't add
-    //  a back button to the nav bar; instead we'll add Save and
-    //  Cancel buttons.
-    //
-    if ([self isModal])
-    {
-        UIBarButtonItem *saveButton = [[UIBarButtonItem alloc]
-                                       initWithBarButtonSystemItem:UIBarButtonSystemItemSave
-                                       target:self
-                                       action:@selector(save)];
-        
-        [[self navigationItem] setRightBarButtonItem:saveButton];
-        
-        UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
-                                         initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
-                                         target:self
-                                         action:@selector(cancel)];
-        
-        [[self navigationItem] setLeftBarButtonItem:cancelButton];
-    }
-    self.comManager = [CommunicationManager sharedComManager];
-    [self setNameCell: [self newDetailCellWithTag:ServerName]];
-    [self setAddrCell: [self newDetailCellWithTag:ServerAddr]];
-}
-
-//  Override this method to automatically place the insertion point in the
-//  first field.
-//
-- (void)viewWillAppear:(BOOL)animated
-{
-    [super viewWillAppear:animated];
-    
-    NSUInteger indexes[] = { 0, 0 };
-    NSIndexPath *indexPath = [NSIndexPath indexPathWithIndexes:indexes
-                                                        length:2];
-    
-    EditableTableViewCell *cell = (EditableTableViewCell *)[[self tableView]
-                                                      cellForRowAtIndexPath:indexPath];
-    
-    [[cell textField] becomeFirstResponder];
-}
-
-//  Force textfields to resign firstResponder so that our implementation of
-//  -textFieldDidEndEditing: gets called. That will ensure that the current
-//  UI values are flushed to our model object before we return to the list view.
-//
-- (void)viewWillDisappear:(BOOL)animated
-{
-    [super viewWillDisappear:animated];
-    
-    for (NSUInteger section = 0; section < [[self tableView] numberOfSections]; section++)
-    {
-        for (NSUInteger row = 0; row < [[self tableView] numberOfRowsInSection:section]; row++)
-        {
-            NSUInteger indexes[] = { section, row };
-            NSIndexPath *indexPath = [NSIndexPath indexPathWithIndexes:indexes
-                                                                length:2];
-            
-            EditableTableViewCell *cell = (EditableTableViewCell *)[[self tableView]
-                                                              cellForRowAtIndexPath:indexPath];
-            if ([[cell textField] isFirstResponder])
-            {
-                [[cell textField] resignFirstResponder];
-            }
-        }
-    }
-}
-
-#pragma mark -
-#pragma mark UITextFieldDelegate Protocol
-
-//  Sets the label of the keyboard's return key to 'Done' when the insertion
-//  point moves to the table view's last field.
-//
-- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
-{
-    if ([textField tag] == ServerAddr)
-    {
-        [textField setReturnKeyType:UIReturnKeyDone];
-    }
-    
-    return YES;
-}
-
-//  UITextField sends this message to its delegate after resigning
-//  firstResponder status. Use this as a hook to save the text field's
-//  value to the corresponding property of the model object.
-//
-- (void)textFieldDidEndEditing:(UITextField *)textField
-{
-    static NSNumberFormatter *_formatter;
-    
-    if (_formatter == nil)
-    {
-        _formatter = [[NSNumberFormatter alloc] init];
-    }
-    
-    NSString *text = [textField text];
-    
-    switch ([textField tag])
-    {
-        case ServerName:     [self.server setServerName:text];          break;
-        case ServerAddr:  [self.server setServerAddress:text];       break;
-    }
-}
-
-//  UITextField sends this message to its delegate when the return key
-//  is pressed. Use this as a hook to navigate back to the list view
-//  (by 'popping' the current view controller, or dismissing a modal nav
-//  controller, as the case may be).
-//
-//  If the user is adding a new item rather than editing an existing one,
-//  respond to the return key by moving the insertion point to the next cell's
-//  textField, unless we're already at the last cell.
-//
-- (BOOL)textFieldShouldReturn:(UITextField *)textField
-{
-    if ([textField returnKeyType] != UIReturnKeyDone)
-    {
-        //  If this is not the last field (in which case the keyboard's
-        //  return key label will currently be 'Next' rather than 'Done'),
-        //  just move the insertion point to the next field.
-        //
-        //  (See the implementation of -textFieldShouldBeginEditing: above.)
-        //
-        NSInteger nextTag = [textField tag] + 1;
-        UIView *nextTextField = [[self tableView] viewWithTag:nextTag];
-        
-        [nextTextField becomeFirstResponder];
-    }
-    else if ([self isModal])
-    {
-        //  We're in a modal navigation controller, which means the user is
-        //  adding a new book rather than editing an existing one.
-        //
-        [self save];
-    }
-    else
-    {
-        [[self navigationController] popViewControllerAnimated:YES];
-    }
-    
-    return YES;
-}
-
-#pragma mark -
-#pragma mark UITableViewDataSource Protocol
-
-- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
-{
-    return 1;
-}
-
-- (NSInteger)tableView:(UITableView *)tableView
- numberOfRowsInSection:(NSInteger)section
-{
-    return section == 0 ? 2 : 1;
-}
-
-- (NSString *)tableView:(UITableView *)tableView
-titleForHeaderInSection:(NSInteger)section
-{
-    switch (section)
-    {
-        case InformationSection:  return nil;
-    }    
-    return nil;
-}
-
-- (UITableViewCell *)tableView:(UITableView *)tableView
-         cellForRowAtIndexPath:(NSIndexPath *)indexPath
-{
-    EditableTableViewCell *cell = nil;
-    NSInteger tag = INT_MIN;
-    NSString *text = nil;
-    NSString *placeholder = nil;
-    UIKeyboardType keyboardType;
-    
-    //  Pick the editable cell and the values for its textField
-    //
-    NSUInteger section = [indexPath section];
-    switch (section)
-    {
-        case InformationSection:
-        {
-            if ([indexPath row] == 0)
-            {
-                cell = [self nameCell];
-                text = [self.server serverName];
-                tag = ServerName;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list