Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble-iphoneos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikkel Krautz <mikkel@krautz.dk>2010-09-24 16:46:48 +0400
committerMikkel Krautz <mikkel@krautz.dk>2010-09-24 16:46:48 +0400
commit371be2f91fd2d2bf72452e6fce75d769152dd0c3 (patch)
tree8f82c11a20830e494408b42942fd6918a768dec6
parenta6be3ae0aa1e1ed006ff434f9cf53764bc8e8941 (diff)
Add Three20. Add animation to server connections.
-rw-r--r--.gitmodules3
m---------Dependencies/three200
-rwxr-xr-xMumble.xcodeproj/project.pbxproj427
-rw-r--r--ServerConnectionView.xib470
-rw-r--r--Source/Classes/FavouriteServerListController.m14
-rw-r--r--Source/Classes/MumbleApplication.h3
-rw-r--r--Source/Classes/MumbleApplication.m5
-rw-r--r--Source/Classes/ServerConnectionViewController.h36
-rw-r--r--Source/Classes/ServerConnectionViewController.m47
-rw-r--r--Source/Classes/ServerRootViewController.h17
-rw-r--r--Source/Classes/ServerRootViewController.m51
-rw-r--r--Source/Mumble.pch1
12 files changed, 1040 insertions, 34 deletions
diff --git a/.gitmodules b/.gitmodules
index 866829e..f4e3f91 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,3 +4,6 @@
[submodule "Dependencies/fmdb"]
path = Dependencies/fmdb
url = http://github.com/ccgus/fmdb.git
+[submodule "Dependencies/three20"]
+ path = Dependencies/three20
+ url = http://github.com/facebook/three20.git
diff --git a/Dependencies/three20 b/Dependencies/three20
new file mode 160000
+Subproject 8459aca4642cdc4f1fa9fa1580db0ae9c509d7b
diff --git a/Mumble.xcodeproj/project.pbxproj b/Mumble.xcodeproj/project.pbxproj
index 7319054..6cda231 100755
--- a/Mumble.xcodeproj/project.pbxproj
+++ b/Mumble.xcodeproj/project.pbxproj
@@ -36,8 +36,6 @@
2861C27B116BE905002B8514 /* PublicServerList.m in Sources */ = {isa = PBXBuildFile; fileRef = 2861C267116BE905002B8514 /* PublicServerList.m */; };
2861C27C116BE905002B8514 /* PublicServerListController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2861C269116BE905002B8514 /* PublicServerListController.m */; };
2861C27D116BE905002B8514 /* PublicServerListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2861C26A116BE905002B8514 /* PublicServerListController.xib */; };
- 2861C27E116BE905002B8514 /* ServerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2861C26C116BE905002B8514 /* ServerViewController.m */; };
- 2861C27F116BE905002B8514 /* ServerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2861C26D116BE905002B8514 /* ServerViewController.xib */; };
2861C281116BE905002B8514 /* WelcomeScreenPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = 2861C271116BE905002B8514 /* WelcomeScreenPhone.m */; };
2861C282116BE905002B8514 /* WelcomeScreenPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2861C272116BE905002B8514 /* WelcomeScreenPhone.xib */; };
2861C2AE116BE9B5002B8514 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2861C2AD116BE9B5002B8514 /* AudioToolbox.framework */; };
@@ -103,6 +101,15 @@
28F9174811B946250030D649 /* FMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = 28F9174211B946250030D649 /* FMDatabase.m */; };
28F9174911B946250030D649 /* FMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 28F9174411B946250030D649 /* FMDatabaseAdditions.m */; };
28F9174B11B946250030D649 /* FMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 28F9174711B946250030D649 /* FMResultSet.m */; };
+ 28FEA682124AA5A000A3F6B5 /* ServerConnectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28FEA681124AA5A000A3F6B5 /* ServerConnectionViewController.m */; };
+ 28FEA6A2124AAA7100A3F6B5 /* ServerConnectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28FEA6A1124AAA7100A3F6B5 /* ServerConnectionView.xib */; };
+ 28FEA7A2124AB7E200A3F6B5 /* libThree20.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA758124AB77B00A3F6B5 /* libThree20.a */; };
+ 28FEA7A3124AB7E500A3F6B5 /* libThree20UINavigator.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA792124AB7AA00A3F6B5 /* libThree20UINavigator.a */; };
+ 28FEA7A4124AB7E500A3F6B5 /* libThree20UICommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA78C124AB7AA00A3F6B5 /* libThree20UICommon.a */; };
+ 28FEA7A5124AB7E600A3F6B5 /* libThree20UI.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA798124AB7AA00A3F6B5 /* libThree20UI.a */; };
+ 28FEA7A6124AB7E700A3F6B5 /* libThree20Style.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA786124AB7AA00A3F6B5 /* libThree20Style.a */; };
+ 28FEA7A7124AB7E700A3F6B5 /* libThree20Network.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA780124AB7AA00A3F6B5 /* libThree20Network.a */; };
+ 28FEA7A8124AB7E800A3F6B5 /* libThree20Core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FEA77A124AB7AA00A3F6B5 /* libThree20Core.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -162,6 +169,153 @@
remoteGlobalIDString = 10099D4E010099D4E010099D;
remoteInfo = MumbleKitCombined;
};
+ 28FEA757124AB77B00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA72C124AB77A00A3F6B5 /* Three20.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20;
+ };
+ 28FEA759124AB77B00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA72C124AB77A00A3F6B5 /* Three20.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA779124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA765124AB7AA00A3F6B5 /* Three20Core.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20Core;
+ };
+ 28FEA77B124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA765124AB7AA00A3F6B5 /* Three20Core.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA77F124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA768124AB7AA00A3F6B5 /* Three20Network.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20Network;
+ };
+ 28FEA781124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA768124AB7AA00A3F6B5 /* Three20Network.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA785124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA76B124AB7AA00A3F6B5 /* Three20Style.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20Style;
+ };
+ 28FEA787124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA76B124AB7AA00A3F6B5 /* Three20Style.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA78B124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA76E124AB7AA00A3F6B5 /* Three20UICommon.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20UICommon;
+ };
+ 28FEA78D124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA76E124AB7AA00A3F6B5 /* Three20UICommon.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA791124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA771124AB7AA00A3F6B5 /* Three20UINavigator.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20UINavigator;
+ };
+ 28FEA793124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA771124AB7AA00A3F6B5 /* Three20UINavigator.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA797124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA774124AB7AA00A3F6B5 /* Three20UI.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BEF31F3A0F352DF5000DE5D2;
+ remoteInfo = Three20UI;
+ };
+ 28FEA799124AB7AA00A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA774124AB7AA00A3F6B5 /* Three20UI.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EB9E6C6210B6A8F800DE563C;
+ remoteInfo = UnitTests;
+ };
+ 28FEA7BE124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA774124AB7AA00A3F6B5 /* Three20UI.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20UI;
+ };
+ 28FEA7C0124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA72C124AB77A00A3F6B5 /* Three20.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20;
+ };
+ 28FEA7C2124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA768124AB7AA00A3F6B5 /* Three20Network.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20Network;
+ };
+ 28FEA7C4124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA76E124AB7AA00A3F6B5 /* Three20UICommon.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20UICommon;
+ };
+ 28FEA7C6124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA771124AB7AA00A3F6B5 /* Three20UINavigator.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20UINavigator;
+ };
+ 28FEA7C8124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA765124AB7AA00A3F6B5 /* Three20Core.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20Core;
+ };
+ 28FEA7CA124AB80000A3F6B5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 28FEA76B124AB7AA00A3F6B5 /* Three20Style.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BEF31F390F352DF5000DE5D2;
+ remoteInfo = Three20Style;
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@@ -209,9 +363,6 @@
2861C268116BE905002B8514 /* PublicServerListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PublicServerListController.h; sourceTree = "<group>"; };
2861C269116BE905002B8514 /* PublicServerListController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PublicServerListController.m; sourceTree = "<group>"; };
2861C26A116BE905002B8514 /* PublicServerListController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PublicServerListController.xib; sourceTree = "<group>"; };
- 2861C26B116BE905002B8514 /* ServerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerViewController.h; sourceTree = "<group>"; };
- 2861C26C116BE905002B8514 /* ServerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerViewController.m; sourceTree = "<group>"; };
- 2861C26D116BE905002B8514 /* ServerViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ServerViewController.xib; sourceTree = "<group>"; };
2861C270116BE905002B8514 /* WelcomeScreenPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WelcomeScreenPhone.h; sourceTree = "<group>"; };
2861C271116BE905002B8514 /* WelcomeScreenPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WelcomeScreenPhone.m; sourceTree = "<group>"; };
2861C272116BE905002B8514 /* WelcomeScreenPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WelcomeScreenPhone.xib; sourceTree = "<group>"; };
@@ -299,6 +450,16 @@
28F9174411B946250030D649 /* FMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMDatabaseAdditions.m; path = Dependencies/fmdb/src/FMDatabaseAdditions.m; sourceTree = "<group>"; };
28F9174611B946250030D649 /* FMResultSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FMResultSet.h; path = Dependencies/fmdb/src/FMResultSet.h; sourceTree = "<group>"; };
28F9174711B946250030D649 /* FMResultSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMResultSet.m; path = Dependencies/fmdb/src/FMResultSet.m; sourceTree = "<group>"; };
+ 28FEA680124AA5A000A3F6B5 /* ServerConnectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerConnectionViewController.h; sourceTree = "<group>"; };
+ 28FEA681124AA5A000A3F6B5 /* ServerConnectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerConnectionViewController.m; sourceTree = "<group>"; };
+ 28FEA6A1124AAA7100A3F6B5 /* ServerConnectionView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ServerConnectionView.xib; sourceTree = "<group>"; };
+ 28FEA72C124AB77A00A3F6B5 /* Three20.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20.xcodeproj; path = Dependencies/three20/src/Three20/Three20.xcodeproj; sourceTree = "<group>"; };
+ 28FEA765124AB7AA00A3F6B5 /* Three20Core.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20Core.xcodeproj; path = Dependencies/three20/src/Three20Core/Three20Core.xcodeproj; sourceTree = "<group>"; };
+ 28FEA768124AB7AA00A3F6B5 /* Three20Network.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20Network.xcodeproj; path = Dependencies/three20/src/Three20Network/Three20Network.xcodeproj; sourceTree = "<group>"; };
+ 28FEA76B124AB7AA00A3F6B5 /* Three20Style.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20Style.xcodeproj; path = Dependencies/three20/src/Three20Style/Three20Style.xcodeproj; sourceTree = "<group>"; };
+ 28FEA76E124AB7AA00A3F6B5 /* Three20UICommon.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20UICommon.xcodeproj; path = Dependencies/three20/src/Three20UICommon/Three20UICommon.xcodeproj; sourceTree = "<group>"; };
+ 28FEA771124AB7AA00A3F6B5 /* Three20UINavigator.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20UINavigator.xcodeproj; path = Dependencies/three20/src/Three20UINavigator/Three20UINavigator.xcodeproj; sourceTree = "<group>"; };
+ 28FEA774124AB7AA00A3F6B5 /* Three20UI.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Three20UI.xcodeproj; path = Dependencies/three20/src/Three20UI/Three20UI.xcodeproj; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Source/main.m; sourceTree = "<group>"; };
32CA4F630368D1EE00C91783 /* Mumble.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Mumble.pch; path = Source/Mumble.pch; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/Info.plist; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
@@ -317,6 +478,13 @@
2861C2B2116BE9B7002B8514 /* CFNetwork.framework in Frameworks */,
2861C2B6116BE9BA002B8514 /* Security.framework in Frameworks */,
28763A4511D2AA91009DB8B6 /* QuartzCore.framework in Frameworks */,
+ 28FEA7A2124AB7E200A3F6B5 /* libThree20.a in Frameworks */,
+ 28FEA7A3124AB7E500A3F6B5 /* libThree20UINavigator.a in Frameworks */,
+ 28FEA7A4124AB7E500A3F6B5 /* libThree20UICommon.a in Frameworks */,
+ 28FEA7A5124AB7E600A3F6B5 /* libThree20UI.a in Frameworks */,
+ 28FEA7A6124AB7E700A3F6B5 /* libThree20Style.a in Frameworks */,
+ 28FEA7A7124AB7E700A3F6B5 /* libThree20Network.a in Frameworks */,
+ 28FEA7A8124AB7E800A3F6B5 /* libThree20Core.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -346,9 +514,6 @@
2861C268116BE905002B8514 /* PublicServerListController.h */,
2861C269116BE905002B8514 /* PublicServerListController.m */,
2861C26A116BE905002B8514 /* PublicServerListController.xib */,
- 2861C26B116BE905002B8514 /* ServerViewController.h */,
- 2861C26C116BE905002B8514 /* ServerViewController.m */,
- 2861C26D116BE905002B8514 /* ServerViewController.xib */,
2861C270116BE905002B8514 /* WelcomeScreenPhone.h */,
2861C271116BE905002B8514 /* WelcomeScreenPhone.m */,
2861C272116BE905002B8514 /* WelcomeScreenPhone.xib */,
@@ -382,6 +547,8 @@
28763AE311D2B77E009DB8B6 /* UINavigationController-AnimationAdditions.m */,
2858DBA11233E31B000D6F75 /* VersionChecker.h */,
2858DBA21233E31B000D6F75 /* VersionChecker.m */,
+ 28FEA680124AA5A000A3F6B5 /* ServerConnectionViewController.h */,
+ 28FEA681124AA5A000A3F6B5 /* ServerConnectionViewController.m */,
);
name = Classes;
path = Source/Classes;
@@ -413,6 +580,13 @@
children = (
28F8B04011D97E00006EFCBC /* sqlite */,
28F9173911B9460D0030D649 /* fmdb */,
+ 28FEA765124AB7AA00A3F6B5 /* Three20Core.xcodeproj */,
+ 28FEA768124AB7AA00A3F6B5 /* Three20Network.xcodeproj */,
+ 28FEA76B124AB7AA00A3F6B5 /* Three20Style.xcodeproj */,
+ 28FEA76E124AB7AA00A3F6B5 /* Three20UICommon.xcodeproj */,
+ 28FEA771124AB7AA00A3F6B5 /* Three20UINavigator.xcodeproj */,
+ 28FEA774124AB7AA00A3F6B5 /* Three20UI.xcodeproj */,
+ 28FEA72C124AB77A00A3F6B5 /* Three20.xcodeproj */,
2861C28E116BE91B002B8514 /* MumbleKit.xcodeproj */,
);
name = Dependencies;
@@ -545,6 +719,69 @@
name = fmdb;
sourceTree = "<group>";
};
+ 28FEA72D124AB77A00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA758124AB77B00A3F6B5 /* libThree20.a */,
+ 28FEA75A124AB77B00A3F6B5 /* UnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 28FEA766124AB7AA00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA77A124AB7AA00A3F6B5 /* libThree20Core.a */,
+ 28FEA77C124AB7AA00A3F6B5 /* CoreUnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 28FEA769124AB7AA00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA780124AB7AA00A3F6B5 /* libThree20Network.a */,
+ 28FEA782124AB7AA00A3F6B5 /* UnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 28FEA76C124AB7AA00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA786124AB7AA00A3F6B5 /* libThree20Style.a */,
+ 28FEA788124AB7AA00A3F6B5 /* UnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 28FEA76F124AB7AA00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA78C124AB7AA00A3F6B5 /* libThree20UICommon.a */,
+ 28FEA78E124AB7AA00A3F6B5 /* UnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 28FEA772124AB7AA00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA792124AB7AA00A3F6B5 /* libThree20UINavigator.a */,
+ 28FEA794124AB7AA00A3F6B5 /* UnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 28FEA775124AB7AA00A3F6B5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 28FEA798124AB7AA00A3F6B5 /* libThree20UI.a */,
+ 28FEA79A124AB7AA00A3F6B5 /* UnitTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
@@ -572,6 +809,7 @@
isa = PBXGroup;
children = (
2858A58A123B9EC700A82155 /* icons */,
+ 28FEA6A1124AAA7100A3F6B5 /* ServerConnectionView.xib */,
2858A62B123BB9B300A82155 /* AvatarCell.xib */,
2858A57F123B9E5700A82155 /* CertificateCell.xib */,
28763A9411D2B056009DB8B6 /* DefaultAvatar.png */,
@@ -613,6 +851,13 @@
);
dependencies = (
287EAB831245303E00A0159D /* PBXTargetDependency */,
+ 28FEA7BF124AB80000A3F6B5 /* PBXTargetDependency */,
+ 28FEA7C1124AB80000A3F6B5 /* PBXTargetDependency */,
+ 28FEA7C3124AB80000A3F6B5 /* PBXTargetDependency */,
+ 28FEA7C5124AB80000A3F6B5 /* PBXTargetDependency */,
+ 28FEA7C7124AB80000A3F6B5 /* PBXTargetDependency */,
+ 28FEA7C9124AB80000A3F6B5 /* PBXTargetDependency */,
+ 28FEA7CB124AB80000A3F6B5 /* PBXTargetDependency */,
);
name = Mumble;
productName = Mumble;
@@ -641,6 +886,34 @@
ProductGroup = 2861C28F116BE91B002B8514 /* Products */;
ProjectRef = 2861C28E116BE91B002B8514 /* MumbleKit.xcodeproj */;
},
+ {
+ ProductGroup = 28FEA72D124AB77A00A3F6B5 /* Products */;
+ ProjectRef = 28FEA72C124AB77A00A3F6B5 /* Three20.xcodeproj */;
+ },
+ {
+ ProductGroup = 28FEA766124AB7AA00A3F6B5 /* Products */;
+ ProjectRef = 28FEA765124AB7AA00A3F6B5 /* Three20Core.xcodeproj */;
+ },
+ {
+ ProductGroup = 28FEA769124AB7AA00A3F6B5 /* Products */;
+ ProjectRef = 28FEA768124AB7AA00A3F6B5 /* Three20Network.xcodeproj */;
+ },
+ {
+ ProductGroup = 28FEA76C124AB7AA00A3F6B5 /* Products */;
+ ProjectRef = 28FEA76B124AB7AA00A3F6B5 /* Three20Style.xcodeproj */;
+ },
+ {
+ ProductGroup = 28FEA775124AB7AA00A3F6B5 /* Products */;
+ ProjectRef = 28FEA774124AB7AA00A3F6B5 /* Three20UI.xcodeproj */;
+ },
+ {
+ ProductGroup = 28FEA76F124AB7AA00A3F6B5 /* Products */;
+ ProjectRef = 28FEA76E124AB7AA00A3F6B5 /* Three20UICommon.xcodeproj */;
+ },
+ {
+ ProductGroup = 28FEA772124AB7AA00A3F6B5 /* Products */;
+ ProjectRef = 28FEA771124AB7AA00A3F6B5 /* Three20UINavigator.xcodeproj */;
+ },
);
projectRoot = "";
targets = (
@@ -699,6 +972,104 @@
remoteRef = 287EAB701245303200A0159D /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
+ 28FEA758124AB77B00A3F6B5 /* libThree20.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20.a;
+ remoteRef = 28FEA757124AB77B00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA75A124AB77B00A3F6B5 /* UnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = UnitTests.octest;
+ remoteRef = 28FEA759124AB77B00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA77A124AB7AA00A3F6B5 /* libThree20Core.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20Core.a;
+ remoteRef = 28FEA779124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA77C124AB7AA00A3F6B5 /* CoreUnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = CoreUnitTests.octest;
+ remoteRef = 28FEA77B124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA780124AB7AA00A3F6B5 /* libThree20Network.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20Network.a;
+ remoteRef = 28FEA77F124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA782124AB7AA00A3F6B5 /* UnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = UnitTests.octest;
+ remoteRef = 28FEA781124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA786124AB7AA00A3F6B5 /* libThree20Style.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20Style.a;
+ remoteRef = 28FEA785124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA788124AB7AA00A3F6B5 /* UnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = UnitTests.octest;
+ remoteRef = 28FEA787124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA78C124AB7AA00A3F6B5 /* libThree20UICommon.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20UICommon.a;
+ remoteRef = 28FEA78B124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA78E124AB7AA00A3F6B5 /* UnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = UnitTests.octest;
+ remoteRef = 28FEA78D124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA792124AB7AA00A3F6B5 /* libThree20UINavigator.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20UINavigator.a;
+ remoteRef = 28FEA791124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA794124AB7AA00A3F6B5 /* UnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = UnitTests.octest;
+ remoteRef = 28FEA793124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA798124AB7AA00A3F6B5 /* libThree20UI.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libThree20UI.a;
+ remoteRef = 28FEA797124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 28FEA79A124AB7AA00A3F6B5 /* UnitTests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = UnitTests.octest;
+ remoteRef = 28FEA799124AB7AA00A3F6B5 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
@@ -709,7 +1080,6 @@
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
2861C275116BE905002B8514 /* AboutViewController.xib in Resources */,
2861C27D116BE905002B8514 /* PublicServerListController.xib in Resources */,
- 2861C27F116BE905002B8514 /* ServerViewController.xib in Resources */,
2861C282116BE905002B8514 /* WelcomeScreenPhone.xib in Resources */,
2861C3E5116BEA12002B8514 /* Contributors.html in Resources */,
2861C3E6116BEA12002B8514 /* Legal.html in Resources */,
@@ -754,6 +1124,7 @@
2858A596123B9EE000A82155 /* certificate512.png in Resources */,
2858A598123BA05E00A82155 /* certificate32.png in Resources */,
2858A62C123BB9B300A82155 /* AvatarCell.xib in Resources */,
+ 28FEA6A2124AAA7100A3F6B5 /* ServerConnectionView.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -789,7 +1160,6 @@
2861C27A116BE905002B8514 /* PDFImageLoader.m in Sources */,
2861C27B116BE905002B8514 /* PublicServerList.m in Sources */,
2861C27C116BE905002B8514 /* PublicServerListController.m in Sources */,
- 2861C27E116BE905002B8514 /* ServerViewController.m in Sources */,
2861C281116BE905002B8514 /* WelcomeScreenPhone.m in Sources */,
285C9EF2116BF5B100A9A6A7 /* WelcomeScreenPad.m in Sources */,
287852DB117BC866009E26B1 /* ServerRootViewController.m in Sources */,
@@ -821,6 +1191,7 @@
28942D7C12456F9200C63A07 /* CertificateCreationView.m in Sources */,
28847911124696BA0068364D /* IdentityPickerViewController.m in Sources */,
284BBBA512495C4400366F4C /* MumbleApplication.m in Sources */,
+ 28FEA682124AA5A000A3F6B5 /* ServerConnectionViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -832,6 +1203,41 @@
name = MumbleKitCombined;
targetProxy = 287EAB821245303E00A0159D /* PBXContainerItemProxy */;
};
+ 28FEA7BF124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20UI;
+ targetProxy = 28FEA7BE124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
+ 28FEA7C1124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20;
+ targetProxy = 28FEA7C0124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
+ 28FEA7C3124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20Network;
+ targetProxy = 28FEA7C2124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
+ 28FEA7C5124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20UICommon;
+ targetProxy = 28FEA7C4124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
+ 28FEA7C7124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20UINavigator;
+ targetProxy = 28FEA7C6124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
+ 28FEA7C9124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20Core;
+ targetProxy = 28FEA7C8124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
+ 28FEA7CB124AB80000A3F6B5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Three20Style;
+ targetProxy = 28FEA7CA124AB80000A3F6B5 /* PBXContainerItemProxy */;
+ };
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
@@ -876,6 +1282,7 @@
"${PROJECT_DIR}/MumbleKit/src/",
"${PROJECT_DIR}/Dependencies/fmdb/src/",
"${PROJECT_DIR}/Dependencies/sqlite/",
+ "${PROJECT_DIR}/Dependencies/three20/Build/Products/three20",
);
INFOPLIST_FILE = Source/Info.plist;
OTHER_CFLAGS = "-D__IPHONE_OS_VERSION_MIN_REQUIRED=040000";
diff --git a/ServerConnectionView.xib b/ServerConnectionView.xib
new file mode 100644
index 0000000..e692475
--- /dev/null
+++ b/ServerConnectionView.xib
@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10F569</string>
+ <string key="IBDocument.InterfaceBuilderVersion">804</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">123</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="1"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIActivityIndicatorView" id="919195305">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{141, 186}, {37, 37}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHidesWhenStopped">NO</bool>
+ <int key="IBUIStyle">0</int>
+ </object>
+ <object class="IBUILabel" id="895059471">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{20, 231}, {280, 21}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Connecting</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC42IDAuNiAwLjYgMC42AA</bytes>
+ </object>
+ <object class="NSColor" key="IBUIHighlightedColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <int key="IBUITextAlignment">1</int>
+ </object>
+ </object>
+ <string key="NSFrameSize">{320, 460}</string>
+ <reference key="NSSuperview"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">5</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">_activityIndicator</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="919195305"/>
+ </object>
+ <int key="connectionID">6</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="895059471"/>
+ <reference ref="919195305"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="919195305"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="895059471"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>1.IBEditorWindowLastContentRect</string>
+ <string>1.IBPluginDependency</string>
+ <string>3.IBPluginDependency</string>
+ <string>3.IBViewBoundsToFrameTransform</string>
+ <string>4.IBPluginDependency</string>
+ <string>4.IBViewBoundsToFrameTransform</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ServerConnectionViewController</string>
+ <string>UIResponder</string>
+ <string>{{656, 238}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSAffineTransform">
+ <bytes key="NSTransformStruct">P4AAAL+AAABDCAAAw10AAA</bytes>
+ </object>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSAffineTransform">
+ <bytes key="NSTransformStruct">P4AAAL+AAABC3gAAw3oAAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">13</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">ServerConnectionViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>_activityIndicator</string>
+ <string>_disconnectButton</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIActivityIndicatorView</string>
+ <string>UIButton</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>_activityIndicator</string>
+ <string>_disconnectButton</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">_activityIndicator</string>
+ <string key="candidateClassName">UIActivityIndicatorView</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">_disconnectButton</string>
+ <string key="candidateClassName">UIButton</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/Classes/ServerConnectionViewController.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="690381387">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIActivityIndicatorView</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIActivityIndicatorView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIButton</string>
+ <string key="superclassName">UIControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIControl</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UILabel</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIResponder</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="690381387"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchDisplayController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">Mumble.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">123</string>
+ </data>
+</archive>
diff --git a/Source/Classes/FavouriteServerListController.m b/Source/Classes/FavouriteServerListController.m
index 8c94073..1da2c18 100644
--- a/Source/Classes/FavouriteServerListController.m
+++ b/Source/Classes/FavouriteServerListController.m
@@ -34,6 +34,7 @@
#import "FavouriteServer.h"
#import "FavouriteServerEditViewController.h"
+#import "ServerConnectionViewController.h"
#import "ServerRootViewController.h"
@implementation FavouriteServerListController
@@ -136,9 +137,16 @@
// Connect
if (index == 0) {
UINavigationController *navCtrl = [[UINavigationController alloc] init];
- ServerRootViewController *serverRoot = [[ServerRootViewController alloc] initWithHostname:[favServ hostName] port:[favServ port] identity:[favServ identity] password:[favServ password]];
- [navCtrl pushViewController:serverRoot animated:NO];
- [[self navigationController] presentModalViewController:navCtrl animated:YES];
+
+ ServerRootViewController *serverRoot = [[ServerRootViewController alloc] initWithHostname:[favServ hostName]
+ port:[favServ port]
+ identity:[favServ identity]
+ password:[favServ password]];
+ [serverRoot setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
+ [navCtrl setViewControllers:[NSArray arrayWithObjects:serverRoot, nil]];
+
+ [[self navigationController] presentModalViewController:navCtrl animated:NO];
+
[serverRoot release];
[navCtrl release];
diff --git a/Source/Classes/MumbleApplication.h b/Source/Classes/MumbleApplication.h
index fb403d6..c153281 100644
--- a/Source/Classes/MumbleApplication.h
+++ b/Source/Classes/MumbleApplication.h
@@ -28,6 +28,8 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+@class AppDelegate;
+
#define MumbleApp ((MumbleApplication *)[MumbleApplication sharedApplication])
@interface MumbleApplication : UIApplication {
@@ -37,6 +39,7 @@
- (id) init;
- (void) dealloc;
+- (AppDelegate *) delegate;
- (BOOL) didCrashRecently;
- (void) resetCrashCount;
diff --git a/Source/Classes/MumbleApplication.m b/Source/Classes/MumbleApplication.m
index 3922104..0c92fbe 100644
--- a/Source/Classes/MumbleApplication.m
+++ b/Source/Classes/MumbleApplication.m
@@ -29,6 +29,7 @@
*/
#import "MumbleApplication.h"
+#import "AppDelegate.h"
static char crashhandler_fn[PATH_MAX] = { 0, };
static void crashhandler_signal_handler();
@@ -97,6 +98,10 @@ static void crashhandler_handle_crash() {
[super dealloc];
}
+- (AppDelegate *) delegate {
+ return (AppDelegate *)[super delegate];
+}
+
// Setup the crash notification handler
- (void) setupCrashHandler {
NSArray *documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
diff --git a/Source/Classes/ServerConnectionViewController.h b/Source/Classes/ServerConnectionViewController.h
new file mode 100644
index 0000000..895e6a0
--- /dev/null
+++ b/Source/Classes/ServerConnectionViewController.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2009-2010 Mikkel Krautz <mikkel@krautz.dk>
+
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ - Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ - Neither the name of the Mumble Developers nor the names of its
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+@interface ServerConnectionViewController : UIViewController {
+ IBOutlet UIActivityIndicatorView *_activityIndicator;
+ IBOutlet UIButton *_disconnectButton;
+}
+
+@end
diff --git a/Source/Classes/ServerConnectionViewController.m b/Source/Classes/ServerConnectionViewController.m
new file mode 100644
index 0000000..89ee357
--- /dev/null
+++ b/Source/Classes/ServerConnectionViewController.m
@@ -0,0 +1,47 @@
+/* Copyright (C) 2009-2010 Mikkel Krautz <mikkel@krautz.dk>
+
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ - Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ - Neither the name of the Mumble Developers nor the names of its
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#import "MumbleApplication.h"
+#import "ServerConnectionViewController.h"
+
+@implementation ServerConnectionViewController
+
+- (id) init {
+ if (self = [super initWithNibName:@"ServerConnectionView" bundle:nil]) {
+ // ...
+ }
+ return self;
+}
+
+- (void) viewWillAppear:(BOOL)animated {
+ [_activityIndicator startAnimating];
+}
+
+@end
diff --git a/Source/Classes/ServerRootViewController.h b/Source/Classes/ServerRootViewController.h
index cc04273..2ce27f6 100644
--- a/Source/Classes/ServerRootViewController.h
+++ b/Source/Classes/ServerRootViewController.h
@@ -37,14 +37,17 @@
#import <UIKit/UIKit.h>
+@class ServerConnectionViewController;
+
@interface ServerRootViewController : UITableViewController <MKConnectionDelegate> {
- MKConnection *_connection;
- MKServerModel *_model;
- NSMutableArray *_channelUsers;
- MKChannel *_currentChannel;
- Identity *_identity;
- NSString *_password;
- BOOL _pttState;
+ MKConnection *_connection;
+ MKServerModel *_model;
+ NSMutableArray *_channelUsers;
+ MKChannel *_currentChannel;
+ Identity *_identity;
+ NSString *_password;
+ BOOL _pttState;
+ ServerConnectionViewController *_progressController;
}
- (id) initWithHostname:(NSString *)host port:(NSUInteger)port identity:(Identity *)identity password:(NSString *)password;
diff --git a/Source/Classes/ServerRootViewController.m b/Source/Classes/ServerRootViewController.m
index 3d1cb03..9954b84 100644
--- a/Source/Classes/ServerRootViewController.m
+++ b/Source/Classes/ServerRootViewController.m
@@ -32,7 +32,10 @@
#import <MumbleKit/MKCertificate.h>
#import <MumbleKit/MKConnection.h>
+#import "MumbleApplication.h"
+#import "AppDelegate.h"
#import "ServerRootViewController.h"
+#import "ServerConnectionViewController.h"
#import "ChannelViewController.h"
#import "LogViewController.h"
#import "UserViewController.h"
@@ -121,9 +124,32 @@
[usersButton release];
[flexSpace release];
+ // Show the ServerConnectionViewController when we're trying to establish a
+ // connection to a server.
+ if (![_connection connected]) {
+ _progressController = [[ServerConnectionViewController alloc] init];
+ _progressController.view.frame = [[UIScreen mainScreen] applicationFrame];
+ _progressController.view.hidden = YES;
+
+ UIWindow *window = [[MumbleApp delegate] window];
+ [window addSubview:_progressController.view];
+
+ [UIView beginAnimations:nil context:NULL];
+ _progressController.view.hidden = NO;
+ [UIView setAnimationDuration:0.6f];
+ [UIView setAnimationBeginsFromCurrentState:YES];
+ [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES];
+ [UIView commitAnimations];
+
+ [MumbleApp setStatusBarStyle:UIStatusBarStyleBlackOpaque animated:YES];
+ }
+
[[self navigationController] setToolbarHidden:NO];
}
+- (void) viewDidAppear:(BOOL)animated {
+}
+
#pragma mark MKConnection Delegate
//
@@ -194,26 +220,31 @@
#pragma mark MKServerModel Delegate
-//
// We've successfuly joined the server.
-//
- (void) serverModel:(MKServerModel *)server joinedServerAsUser:(MKUser *)user {
_currentChannel = [[_model connectedUser] channel];
_channelUsers = [[[[_model connectedUser] channel] users] mutableCopy];
+
+ [MumbleApp setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
+
+ [UIView animateWithDuration:0.4f animations:^{
+ _progressController.view.alpha = 0.0f;
+ } completion:^(BOOL finished){
+ [_progressController.view removeFromSuperview];
+ [_progressController release];
+ _progressController = nil;
+ }];
+
[[self navigationItem] setTitle:[_currentChannel channelName]];
[[self tableView] reloadData];
}
-//
// A user joined the server.
-//
- (void) serverModel:(MKServerModel *)server userJoined:(MKUser *)user {
NSLog(@"ServerViewController: userJoined.");
}
-//
// A user left the server.
-//
- (void) serverModel:(MKServerModel *)server userLeft:(MKUser *)user {
if (_currentChannel == nil)
return;
@@ -226,9 +257,7 @@
}
}
-//
// A user moved channel
-//
- (void) serverModel:(MKServerModel *)server userMoved:(MKUser *)user toChannel:(MKChannel *)chan byUser:(MKUser *)mover {
if (_currentChannel == nil)
return;
@@ -277,23 +306,17 @@
}
}
-//
// A channel was added.
-//
- (void) serverModel:(MKServerModel *)server channelAdded:(MKChannel *)channel {
NSLog(@"ServerViewController: channelAdded.");
}
-//
// A channel was removed.
-//
- (void) serverModel:(MKServerModel *)server channelRemoved:(MKChannel *)channel {
NSLog(@"ServerViewController: channelRemoved.");
}
-//
// User talk state changed
-//
- (void) userTalkStateChanged:(NSNotification *)notification {
if (_currentChannel == nil)
return;
diff --git a/Source/Mumble.pch b/Source/Mumble.pch
index 45feba2..7140a68 100644
--- a/Source/Mumble.pch
+++ b/Source/Mumble.pch
@@ -42,5 +42,6 @@
# import <Foundation/Foundation.h>
# import <UIKit/UIKit.h>
# import <QuartzCore/QuartzCore.h>
+# import <Three20/Three20.h>
#endif