Fixed an issue with crashing on VoiceMac, fixed MGMXML issue with VoiceMail, added a load more cell for VoiceMob inbox, added a SMS text view for VoiceMob.
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
@class MGMInstance, MGMURLConnectionManager;
|
@class MGMInstance, MGMURLConnectionManager;
|
||||||
|
|
||||||
#define MGMInboxDebug 1
|
#define MGMInboxDebug 0
|
||||||
|
|
||||||
extern NSString * const MGMIDelegate;
|
extern NSString * const MGMIDelegate;
|
||||||
extern NSString * const MGMIDidReceiveInfo;
|
extern NSString * const MGMIDidReceiveInfo;
|
||||||
|
@ -280,7 +280,14 @@ const BOOL MGMInboxInvisible = YES;
|
|||||||
int type = [[thisInfo objectForKey:MGMIType] intValue];
|
int type = [[thisInfo objectForKey:MGMIType] intValue];
|
||||||
if (type==MGMIVoicemailType) {
|
if (type==MGMIVoicemailType) {
|
||||||
[thisInfo setObject:[NSNumber numberWithBool:[[message XMLString] containsString:@"gc-message-transcript-rate-up-active"]] forKey:MGMIUseful];
|
[thisInfo setObject:[NSNumber numberWithBool:[[message XMLString] containsString:@"gc-message-transcript-rate-up-active"]] forKey:MGMIUseful];
|
||||||
NSString *transcript = [[[[[message childAtIndex:0] nodesForXPath:[NSString stringWithFormat:@"/html[1]/body[1]/div[%d]/div[1]/div[2]/table[1]/tr[1]/td[3]/div[1]/table[1]/tr[2]/td[2]/table[1]/tr[2]/td[1]/div[1]/div[1]/table[1]/tr[1]/td[2]/div[1]/div[1]/table[1]/tr[1]/td[1]/div[1]", i+1] error:nil] objectAtIndex:0] stringValue] flattenHTML];
|
NSMutableString *transcript = [NSMutableString string];
|
||||||
|
NSArray *words = [[[[message childAtIndex:0] nodesForXPath:[NSString stringWithFormat:@"/html[1]/body[1]/div[%d]/div[1]/div[2]/table[1]/tr[1]/td[3]/div[1]/table[1]/tr[2]/td[2]/table[1]/tr[2]/td[1]/div[1]/div[1]/table[1]/tr[1]/td[2]/div[1]/div[1]/table[1]/tr[1]/td[1]/div[1]", i+1] error:nil] objectAtIndex:0] elementsForName:@"span"];
|
||||||
|
for (unsigned int w=0; w<[words count]; w++) {
|
||||||
|
if (w==0)
|
||||||
|
[transcript appendString:[[words objectAtIndex:w] stringValue]];
|
||||||
|
else
|
||||||
|
[transcript appendFormat:@" %@", [[words objectAtIndex:w] stringValue]];
|
||||||
|
}
|
||||||
[thisInfo setObject:transcript forKey:MGMIText];
|
[thisInfo setObject:transcript forKey:MGMIText];
|
||||||
} else if (type==MGMISMSIn || type==MGMISMSOut) {
|
} else if (type==MGMISMSIn || type==MGMISMSOut) {
|
||||||
NSArray *messagesXML = [[message childAtIndex:0] nodesForXPath:[NSString stringWithFormat:@"/html[1]/body[1]/div[%d]/div[1]/div[2]/table[1]/tr[1]/td[3]/div[1]/table[1]/tr[2]/td[2]/table[1]/tr[2]/td[1]/div[1]/div[1]/table[1]/tr[1]/td[2]/div[1]/div[1]/div[1]/div", i+1] error:nil];
|
NSArray *messagesXML = [[message childAtIndex:0] nodesForXPath:[NSString stringWithFormat:@"/html[1]/body[1]/div[%d]/div[1]/div[2]/table[1]/tr[1]/td[3]/div[1]/table[1]/tr[2]/td[2]/table[1]/tr[2]/td[1]/div[1]/div[1]/table[1]/tr[1]/td[2]/div[1]/div[1]/div[1]/div", i+1] error:nil];
|
||||||
|
@ -7,24 +7,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
|
||||||
#import <MGMAddons.h>
|
|
||||||
#import <MGMInstance.h>
|
|
||||||
#import <MGMInbox.h>
|
|
||||||
#import <MGMContactsProtocol.h>
|
|
||||||
#import <MGMContacts.h>
|
|
||||||
#import <MGMAddressBook.h>
|
|
||||||
#import <MGMGoogleContacts.h>
|
|
||||||
#import <MGMSound.h>
|
|
||||||
#import <MGMThemeManager.h>
|
|
||||||
#import <MGMXML.h>
|
|
||||||
|
|
||||||
//MGMSIP Stuff
|
|
||||||
#import <MGMSIP.h>
|
|
||||||
#import <MGMSIPAccount.h>
|
|
||||||
#import <MGMSIPCall.h>
|
|
||||||
#import <MGMSIPURL.h>
|
|
||||||
#else
|
|
||||||
#import <VoiceBase/MGMAddons.h>
|
#import <VoiceBase/MGMAddons.h>
|
||||||
#import <VoiceBase/MGMInstance.h>
|
#import <VoiceBase/MGMInstance.h>
|
||||||
#import <VoiceBase/MGMInbox.h>
|
#import <VoiceBase/MGMInbox.h>
|
||||||
@ -41,4 +23,3 @@
|
|||||||
#import <VoiceBase/MGMSIPAccount.h>
|
#import <VoiceBase/MGMSIPAccount.h>
|
||||||
#import <VoiceBase/MGMSIPCall.h>
|
#import <VoiceBase/MGMSIPCall.h>
|
||||||
#import <VoiceBase/MGMSIPURL.h>
|
#import <VoiceBase/MGMSIPURL.h>
|
||||||
#endif
|
|
@ -7,18 +7,9 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
|
||||||
#import <MGMXMLNode.h>
|
|
||||||
#import <MGMXMLElement.h>
|
|
||||||
#import <MGMXMLDocument.h>
|
|
||||||
#import <MGMXMLDTD.h>
|
|
||||||
#import <MGMXMLDTDNode.h>
|
|
||||||
#import <MGMXMLNodeOptions.h>
|
|
||||||
#else
|
|
||||||
#import <VoiceBase/MGMXMLNode.h>
|
#import <VoiceBase/MGMXMLNode.h>
|
||||||
#import <VoiceBase/MGMXMLElement.h>
|
#import <VoiceBase/MGMXMLElement.h>
|
||||||
#import <VoiceBase/MGMXMLDocument.h>
|
#import <VoiceBase/MGMXMLDocument.h>
|
||||||
#import <VoiceBase/MGMXMLDTD.h>
|
#import <VoiceBase/MGMXMLDTD.h>
|
||||||
#import <VoiceBase/MGMXMLDTDNode.h>
|
#import <VoiceBase/MGMXMLDTDNode.h>
|
||||||
#import <VoiceBase/MGMXMLNodeOptions.h>
|
#import <VoiceBase/MGMXMLNodeOptions.h>
|
||||||
#endif
|
|
@ -8,11 +8,10 @@
|
|||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <MGMXMLNode.h>
|
|
||||||
#else
|
#else
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#import <VoiceBase/MGMXMLNode.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
#import <VoiceBase/MGMXMLNode.h>
|
||||||
|
|
||||||
@interface MGMXMLDTD : MGMXMLNode {
|
@interface MGMXMLDTD : MGMXMLNode {
|
||||||
|
|
||||||
|
@ -8,11 +8,10 @@
|
|||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <MGMXMLNode.h>
|
|
||||||
#else
|
#else
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#import <VoiceBase/MGMXMLNode.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
#import <VoiceBase/MGMXMLNode.h>
|
||||||
|
|
||||||
@interface MGMXMLDTDNode : MGMXMLNode {
|
@interface MGMXMLDTDNode : MGMXMLNode {
|
||||||
|
|
||||||
|
@ -8,11 +8,10 @@
|
|||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <MGMXMLNode.h>
|
|
||||||
#else
|
#else
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#import <VoiceBase/MGMXMLNode.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
#import <VoiceBase/MGMXMLNode.h>
|
||||||
|
|
||||||
#define MGMXMLDocPtr (xmlDocPtr)commonXML
|
#define MGMXMLDocPtr (xmlDocPtr)commonXML
|
||||||
|
|
||||||
|
@ -8,11 +8,10 @@
|
|||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <MGMXMLNode.h>
|
|
||||||
#else
|
#else
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#import <VoiceBase/MGMXMLNode.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
#import <VoiceBase/MGMXMLNode.h>
|
||||||
|
|
||||||
@interface MGMXMLElement : MGMXMLNode {
|
@interface MGMXMLElement : MGMXMLNode {
|
||||||
|
|
||||||
|
@ -8,11 +8,10 @@
|
|||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <MGMXMLNodeOptions.h>
|
|
||||||
#else
|
#else
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#import <VoiceBase/MGMXMLNodeOptions.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
#import <VoiceBase/MGMXMLNodeOptions.h>
|
||||||
#import <libxml/parser.h>
|
#import <libxml/parser.h>
|
||||||
#import <libxml/tree.h>
|
#import <libxml/tree.h>
|
||||||
#import <libxml/xpath.h>
|
#import <libxml/xpath.h>
|
||||||
|
@ -419,6 +419,7 @@ NSString * const MGMLoading = @"Loading...";
|
|||||||
[[NSNotificationCenter defaultCenter] postNotificationName:MGMContactsControllersChangedNotification object:self];
|
[[NSNotificationCenter defaultCenter] postNotificationName:MGMContactsControllersChangedNotification object:self];
|
||||||
}
|
}
|
||||||
- (void)contactsControllerBecameCurrent:(MGMContactsController *)theContactsController {
|
- (void)contactsControllerBecameCurrent:(MGMContactsController *)theContactsController {
|
||||||
|
if (quitting) return;
|
||||||
if ([contactsControllers containsObject:theContactsController])
|
if ([contactsControllers containsObject:theContactsController])
|
||||||
currentContactsController = [contactsControllers indexOfObject:theContactsController];
|
currentContactsController = [contactsControllers indexOfObject:theContactsController];
|
||||||
else
|
else
|
||||||
|
@ -36,20 +36,21 @@ const float MGMHLEBlue = 0.607843;
|
|||||||
float controlY = theRadiusY * ellipse;
|
float controlY = theRadiusY * ellipse;
|
||||||
NSRect edges = NSInsetRect(theRect, theRadiusX, theRadiusY);
|
NSRect edges = NSInsetRect(theRect, theRadiusX, theRadiusY);
|
||||||
|
|
||||||
// bottom right corner
|
|
||||||
[path moveToPoint:NSMakePoint(edges.origin.x, theRect.origin.y)];
|
[path moveToPoint:NSMakePoint(edges.origin.x, theRect.origin.y)];
|
||||||
|
|
||||||
|
// top right corner
|
||||||
[path lineToPoint:NSMakePoint(NSMaxX(edges), theRect.origin.y)];
|
[path lineToPoint:NSMakePoint(NSMaxX(edges), theRect.origin.y)];
|
||||||
[path curveToPoint:NSMakePoint(NSMaxX(theRect), edges.origin.y) controlPoint1:NSMakePoint(NSMaxX(edges) + controlX, theRect.origin.y) controlPoint2:NSMakePoint(NSMaxX(theRect), edges.origin.y - controlY)];
|
[path curveToPoint:NSMakePoint(NSMaxX(theRect), edges.origin.y) controlPoint1:NSMakePoint(NSMaxX(edges) + controlX, theRect.origin.y) controlPoint2:NSMakePoint(NSMaxX(theRect), edges.origin.y - controlY)];
|
||||||
|
|
||||||
// top right corner
|
// bottom right corner
|
||||||
[path lineToPoint:NSMakePoint(NSMaxX(theRect), NSMaxY(edges))];
|
[path lineToPoint:NSMakePoint(NSMaxX(theRect), NSMaxY(edges))];
|
||||||
[path curveToPoint:NSMakePoint(NSMaxX(edges), NSMaxY(theRect)) controlPoint1:NSMakePoint(NSMaxX(theRect), NSMaxY(edges) + controlY) controlPoint2:NSMakePoint(NSMaxX(edges) + controlX, NSMaxY(theRect))];
|
[path curveToPoint:NSMakePoint(NSMaxX(edges), NSMaxY(theRect)) controlPoint1:NSMakePoint(NSMaxX(theRect), NSMaxY(edges) + controlY) controlPoint2:NSMakePoint(NSMaxX(edges) + controlX, NSMaxY(theRect))];
|
||||||
|
|
||||||
// top left corner
|
// bottom left corner
|
||||||
[path lineToPoint:NSMakePoint(edges.origin.x, NSMaxY(theRect))];
|
[path lineToPoint:NSMakePoint(edges.origin.x, NSMaxY(theRect))];
|
||||||
[path curveToPoint:NSMakePoint(theRect.origin.x, NSMaxY(edges)) controlPoint1:NSMakePoint(edges.origin.x - controlX, NSMaxY(theRect)) controlPoint2:NSMakePoint(theRect.origin.x, NSMaxY(edges) + controlY)];
|
[path curveToPoint:NSMakePoint(theRect.origin.x, NSMaxY(edges)) controlPoint1:NSMakePoint(edges.origin.x - controlX, NSMaxY(theRect)) controlPoint2:NSMakePoint(theRect.origin.x, NSMaxY(edges) + controlY)];
|
||||||
|
|
||||||
// bottom left corner
|
// top left corner
|
||||||
[path lineToPoint:NSMakePoint(theRect.origin.x, edges.origin.y)];
|
[path lineToPoint:NSMakePoint(theRect.origin.x, edges.origin.y)];
|
||||||
[path curveToPoint:NSMakePoint(edges.origin.x, theRect.origin.y) controlPoint1:NSMakePoint(theRect.origin.x, edges.origin.y - controlY) controlPoint2:NSMakePoint(edges.origin.x - controlX, theRect.origin.y)];
|
[path curveToPoint:NSMakePoint(edges.origin.x, theRect.origin.y) controlPoint1:NSMakePoint(theRect.origin.x, edges.origin.y - controlY) controlPoint2:NSMakePoint(edges.origin.x - controlX, theRect.origin.y)];
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import "MGMAccountSetup.h"
|
#import "MGMAccountSetup.h"
|
||||||
#import <MGMUsers/MGMUsers.h>
|
#import <MGMUsers/MGMUsers.h>
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
NSString * const MGMLastContactsController = @"MGMLastContactsController";
|
NSString * const MGMLastContactsController = @"MGMLastContactsController";
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#import "MGMController.h"
|
#import "MGMController.h"
|
||||||
#import "MGMSIPUser.h"
|
#import "MGMSIPUser.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
#import <MGMUsers/MGMUsers.h>
|
#import <MGMUsers/MGMUsers.h>
|
||||||
|
|
||||||
NSString * const MGMRadioButton = @"Radio";
|
NSString * const MGMRadioButton = @"Radio";
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#import "MGMAccountSetup.h"
|
#import "MGMAccountSetup.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <MGMUsers/MGMUsers.h>
|
#import <MGMUsers/MGMUsers.h>
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
NSString * const MGMAccountCellIdentifier = @"MGMAccountCellIdentifier";
|
NSString * const MGMAccountCellIdentifier = @"MGMAccountCellIdentifier";
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#import "MGMContactView.h"
|
#import "MGMContactView.h"
|
||||||
#import "MGMAccountController.h"
|
#import "MGMAccountController.h"
|
||||||
#import "MGMController.h"
|
#import "MGMController.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
NSString * const MGMContactViewCellIdentifier = @"MGMContactViewCellIdentifier";
|
NSString * const MGMContactViewCellIdentifier = @"MGMContactViewCellIdentifier";
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#import "MGMAccountSetup.h"
|
#import "MGMAccountSetup.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <MGMUsers/MGMUsers.h>
|
#import <MGMUsers/MGMUsers.h>
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMController
|
@implementation MGMController
|
||||||
- (void)awakeFromNib {
|
- (void)awakeFromNib {
|
||||||
|
72
Classes/VoiceMob/MGMPath.h
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
//
|
||||||
|
// MGMPath.h
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface MGMPath : NSObject {
|
||||||
|
CGMutablePathRef pathRef;
|
||||||
|
CGFloat *lineDashPattern;
|
||||||
|
NSUInteger lineDashPatternCount;
|
||||||
|
CGFloat lineDashPhase;
|
||||||
|
CGFloat lineWidth;
|
||||||
|
CGFloat miterLimit;
|
||||||
|
CGFloat flatness;
|
||||||
|
CGLineCap lineCapStyle;
|
||||||
|
CGLineJoin lineJoinStyle;
|
||||||
|
}
|
||||||
|
+ (MGMPath *)path;
|
||||||
|
+ (MGMPath *)pathWithRect:(CGRect)theRect;
|
||||||
|
//+ (MGMPath *)pathWithOvalInRect:(CGRect)theRect;
|
||||||
|
+ (MGMPath *)pathWithRoundedRect:(CGRect)theRect cornerRadius:(CGFloat)theRadius;
|
||||||
|
+ (MGMPath *)pathWithRoundedRect:(CGRect)theRect cornerRadiusX:(CGFloat)theRadiusX cornerRadiusY:(CGFloat)theRadiusY;
|
||||||
|
//+ (MGMPath *)pathWithRoundedRect:(CGRect)theRect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
|
||||||
|
//+ (MGMPath *)pathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
|
||||||
|
//+ (MGMPath *)pathWithCGPath:(CGPathRef)CGPath;
|
||||||
|
|
||||||
|
- (CGMutablePathRef)CGPath;
|
||||||
|
|
||||||
|
- (void)moveToPoint:(CGPoint)thePoint;
|
||||||
|
- (void)addLineToPoint:(CGPoint)thePoint;
|
||||||
|
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
|
||||||
|
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
|
||||||
|
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
|
||||||
|
- (void)closePath;
|
||||||
|
|
||||||
|
//- (void)removeAllPoints;
|
||||||
|
|
||||||
|
- (void)appendPath:(MGMPath *)thePath;
|
||||||
|
|
||||||
|
//- (void)applyTransform:(CGAffineTransform)transform;
|
||||||
|
|
||||||
|
- (BOOL)isEmpty;
|
||||||
|
- (CGRect)bounds;
|
||||||
|
- (CGPoint)currentPoint;
|
||||||
|
- (BOOL)containsPoint:(CGPoint)point;
|
||||||
|
|
||||||
|
- (void)setLineWidth:(CGFloat)theWidth;
|
||||||
|
- (CGFloat)lineWidth;
|
||||||
|
- (void)setLineJoinStyle:(CGLineJoin)theLineJoinStyle;
|
||||||
|
- (CGLineJoin)lineJoinStyle;
|
||||||
|
- (void)setLineCapStyle:(CGLineCap)theLineCapStyle;
|
||||||
|
- (CGLineCap)lineCapStyle;
|
||||||
|
- (void)setMiterLimit:(CGFloat)theMiterLimit;
|
||||||
|
- (CGFloat)miterLimit;
|
||||||
|
- (void)setFlatness:(CGFloat)theFlatness;
|
||||||
|
- (CGFloat)flatness;
|
||||||
|
- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase;
|
||||||
|
- (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase;
|
||||||
|
|
||||||
|
- (void)fill;
|
||||||
|
- (void)fillGradientFrom:(UIColor *)theStartColor to:(UIColor *)theEndColor;
|
||||||
|
- (void)stroke;
|
||||||
|
|
||||||
|
//- (void)fillWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha;
|
||||||
|
//- (void)strokeWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha;
|
||||||
|
|
||||||
|
- (void)addClip;
|
||||||
|
@end
|
228
Classes/VoiceMob/MGMPath.m
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
//
|
||||||
|
// MGMPath.m
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MGMPath.h"
|
||||||
|
|
||||||
|
@implementation MGMPath
|
||||||
|
+ (MGMPath *)path {
|
||||||
|
return [[[self alloc] init] autorelease];
|
||||||
|
}
|
||||||
|
+ (MGMPath *)pathWithRect:(CGRect)theRect {
|
||||||
|
MGMPath *path = [self path];
|
||||||
|
CGPathAddRect([path CGPath], NULL, theRect);
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
+ (MGMPath *)pathWithRoundedRect:(CGRect)theRect cornerRadius:(CGFloat)theRadius {
|
||||||
|
return [self pathWithRoundedRect:theRect cornerRadiusX:theRadius cornerRadiusY:theRadius];
|
||||||
|
}
|
||||||
|
+ (MGMPath *)pathWithRoundedRect:(CGRect)theRect cornerRadiusX:(CGFloat)theRadiusX cornerRadiusY:(CGFloat)theRadiusY {
|
||||||
|
MGMPath *path = [self path];
|
||||||
|
|
||||||
|
float maxRadiusX = theRect.size.width / 2.0;
|
||||||
|
float maxRadiusY = theRect.size.height / 2.0;
|
||||||
|
theRadiusX = (theRadiusX<maxRadiusX ? theRadiusX : maxRadiusX);
|
||||||
|
theRadiusY = (theRadiusY<maxRadiusY ? theRadiusY : maxRadiusY);
|
||||||
|
float ellipse = 0.55228474983079;
|
||||||
|
float controlX = theRadiusX * ellipse;
|
||||||
|
float controlY = theRadiusY * ellipse;
|
||||||
|
CGRect edges = CGRectInset(theRect, theRadiusX, theRadiusY);
|
||||||
|
|
||||||
|
[path moveToPoint:CGPointMake(edges.origin.x, theRect.origin.y)];
|
||||||
|
|
||||||
|
// top right corner
|
||||||
|
[path addLineToPoint:CGPointMake(CGRectGetMaxX(edges), theRect.origin.y)];
|
||||||
|
[path addCurveToPoint:CGPointMake(CGRectGetMaxX(theRect), edges.origin.y) controlPoint1:CGPointMake(CGRectGetMaxX(edges) + controlX, theRect.origin.y) controlPoint2:CGPointMake(CGRectGetMaxX(theRect), edges.origin.y - controlY)];
|
||||||
|
|
||||||
|
// bottom right corner
|
||||||
|
[path addLineToPoint:CGPointMake(CGRectGetMaxX(theRect), CGRectGetMaxY(edges))];
|
||||||
|
[path addCurveToPoint:CGPointMake(CGRectGetMaxX(edges), CGRectGetMaxY(theRect)) controlPoint1:CGPointMake(CGRectGetMaxX(theRect), CGRectGetMaxY(edges) + controlY) controlPoint2:CGPointMake(CGRectGetMaxX(edges) + controlX, CGRectGetMaxY(theRect))];
|
||||||
|
|
||||||
|
// bottom left corner
|
||||||
|
[path addLineToPoint:CGPointMake(edges.origin.x, CGRectGetMaxY(theRect))];
|
||||||
|
[path addCurveToPoint:CGPointMake(theRect.origin.x, CGRectGetMaxY(edges)) controlPoint1:CGPointMake(edges.origin.x - controlX, CGRectGetMaxY(theRect)) controlPoint2:CGPointMake(theRect.origin.x, CGRectGetMaxY(edges) + controlY)];
|
||||||
|
|
||||||
|
// top left corner
|
||||||
|
[path addLineToPoint:CGPointMake(theRect.origin.x, edges.origin.y)];
|
||||||
|
[path addCurveToPoint:CGPointMake(edges.origin.x, theRect.origin.y) controlPoint1:CGPointMake(theRect.origin.x, edges.origin.y - controlY) controlPoint2:CGPointMake(edges.origin.x - controlX, theRect.origin.y)];
|
||||||
|
|
||||||
|
[path closePath];
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
- (id)init {
|
||||||
|
if (self = [super init]) {
|
||||||
|
pathRef = CGPathCreateMutable();
|
||||||
|
lineWidth = 1.0;
|
||||||
|
lineCapStyle = kCGLineCapButt;
|
||||||
|
lineJoinStyle = kCGLineJoinMiter;
|
||||||
|
miterLimit = 10.0;
|
||||||
|
flatness = 0.6;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
- (void)dealloc {
|
||||||
|
if (pathRef!=NULL)
|
||||||
|
CGPathRelease(pathRef);
|
||||||
|
if (lineDashPattern!=NULL)
|
||||||
|
free(lineDashPattern);
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGMutablePathRef)CGPath {
|
||||||
|
return pathRef;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isEqual:(id)object {
|
||||||
|
if ([object isKindOfClass:[MGMPath class]]) {
|
||||||
|
return CGPathEqualToPath(pathRef, [object CGPath]);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)moveToPoint:(CGPoint)thePoint {
|
||||||
|
CGPathMoveToPoint(pathRef, NULL, thePoint.x, thePoint.y);
|
||||||
|
}
|
||||||
|
- (void)addLineToPoint:(CGPoint)thePoint {
|
||||||
|
CGPathAddLineToPoint(pathRef, NULL, thePoint.x, thePoint.y);
|
||||||
|
}
|
||||||
|
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2 {
|
||||||
|
CGPathAddCurveToPoint(pathRef, NULL, controlPoint1.x, controlPoint1.y, controlPoint2.x, controlPoint2.y, endPoint.x, endPoint.y);
|
||||||
|
}
|
||||||
|
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise {
|
||||||
|
CGPathAddArc(pathRef, NULL, center.x, center.y, radius, startAngle, endAngle, clockwise);
|
||||||
|
}
|
||||||
|
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint {
|
||||||
|
CGPathAddQuadCurveToPoint(pathRef, NULL, controlPoint.x, controlPoint.y, endPoint.x, endPoint.y);
|
||||||
|
}
|
||||||
|
- (void)closePath {
|
||||||
|
CGPathCloseSubpath(pathRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)appendPath:(MGMPath *)thePath {
|
||||||
|
CGPathAddPath(pathRef, NULL, [thePath CGPath]);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isEmpty {
|
||||||
|
return CGPathIsEmpty(pathRef);
|
||||||
|
}
|
||||||
|
- (CGRect)bounds {
|
||||||
|
return CGPathGetBoundingBox(pathRef);
|
||||||
|
}
|
||||||
|
- (CGPoint)currentPoint {
|
||||||
|
return CGPathGetCurrentPoint(pathRef);
|
||||||
|
}
|
||||||
|
- (BOOL)containsPoint:(CGPoint)point {
|
||||||
|
return CGPathContainsPoint(pathRef, NULL, point, NO);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setLineWidth:(CGFloat)theWidth {
|
||||||
|
lineWidth = theWidth;
|
||||||
|
}
|
||||||
|
- (CGFloat)lineWidth {
|
||||||
|
return lineWidth;
|
||||||
|
}
|
||||||
|
- (void)setLineJoinStyle:(CGLineJoin)theLineJoinStyle {
|
||||||
|
lineJoinStyle = theLineJoinStyle;
|
||||||
|
}
|
||||||
|
- (CGLineJoin)lineJoinStyle {
|
||||||
|
return lineJoinStyle;
|
||||||
|
}
|
||||||
|
- (void)setLineCapStyle:(CGLineCap)theLineCapStyle {
|
||||||
|
lineCapStyle = theLineCapStyle;
|
||||||
|
}
|
||||||
|
- (CGLineCap)lineCapStyle {
|
||||||
|
return lineCapStyle;
|
||||||
|
}
|
||||||
|
- (void)setMiterLimit:(CGFloat)theMiterLimit {
|
||||||
|
miterLimit = theMiterLimit;
|
||||||
|
}
|
||||||
|
- (CGFloat)miterLimit {
|
||||||
|
return miterLimit;
|
||||||
|
}
|
||||||
|
- (void)setFlatness:(CGFloat)theFlatness {
|
||||||
|
flatness = theFlatness;
|
||||||
|
}
|
||||||
|
- (CGFloat)flatness {
|
||||||
|
return flatness;
|
||||||
|
}
|
||||||
|
- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase {
|
||||||
|
if (lineDashPattern!=NULL) {
|
||||||
|
free(lineDashPattern);
|
||||||
|
lineDashPattern = NULL;
|
||||||
|
}
|
||||||
|
if (pattern!=NULL) {
|
||||||
|
lineDashPattern = malloc(sizeof(CGFloat)*count);
|
||||||
|
memcpy(lineDashPattern, pattern, sizeof(pattern));
|
||||||
|
}
|
||||||
|
lineDashPatternCount = count;
|
||||||
|
lineDashPhase = phase;
|
||||||
|
}
|
||||||
|
- (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase {
|
||||||
|
if (pattern!=NULL) {
|
||||||
|
memcpy(pattern, lineDashPattern, sizeof(CGFloat)*lineDashPatternCount);
|
||||||
|
}
|
||||||
|
*count = lineDashPatternCount;
|
||||||
|
*phase = lineDashPhase;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setContextOptions:(CGContextRef)theContext {
|
||||||
|
CGContextSetLineWidth(theContext, lineWidth);
|
||||||
|
CGContextSetLineCap(theContext, lineCapStyle);
|
||||||
|
CGContextSetLineJoin(theContext, lineJoinStyle);
|
||||||
|
CGContextSetMiterLimit(theContext, miterLimit);
|
||||||
|
CGContextSetFlatness(theContext, flatness);
|
||||||
|
if (lineDashPattern!=NULL)
|
||||||
|
CGContextSetLineDash(theContext, lineDashPhase, lineDashPattern, lineDashPatternCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)fill {
|
||||||
|
CGContextRef currentContext = UIGraphicsGetCurrentContext();
|
||||||
|
CGContextSaveGState(currentContext);
|
||||||
|
CGContextAddPath(currentContext, pathRef);
|
||||||
|
[self setContextOptions:currentContext];
|
||||||
|
CGContextFillPath(currentContext);
|
||||||
|
CGContextRestoreGState(currentContext);
|
||||||
|
}
|
||||||
|
- (void)fillGradientFrom:(UIColor *)theStartColor to:(UIColor *)theEndColor {
|
||||||
|
CGRect bounds = [self bounds];
|
||||||
|
CGContextRef currentContext = UIGraphicsGetCurrentContext();
|
||||||
|
CGContextSaveGState(currentContext);
|
||||||
|
[self addClip];
|
||||||
|
|
||||||
|
CGColorRef colorsRef[2];
|
||||||
|
colorsRef[0] = [theStartColor CGColor];
|
||||||
|
colorsRef[1] = [theEndColor CGColor];
|
||||||
|
CFArrayRef colors = CFArrayCreate(NULL, (const void **)colorsRef, sizeof(colorsRef) / sizeof(CGColorRef), &kCFTypeArrayCallBacks);
|
||||||
|
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
|
||||||
|
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, colors, NULL);
|
||||||
|
CGPoint start = bounds.origin;
|
||||||
|
bounds.origin.y += bounds.size.height;
|
||||||
|
CGPoint end = bounds.origin;
|
||||||
|
CGContextDrawLinearGradient(currentContext, gradient, start, end, 0);
|
||||||
|
CGColorSpaceRelease(colorSpace);
|
||||||
|
CFRelease(colors);
|
||||||
|
CGGradientRelease(gradient);
|
||||||
|
|
||||||
|
CGContextRestoreGState(currentContext);
|
||||||
|
}
|
||||||
|
- (void)stroke {
|
||||||
|
CGContextRef currentContext = UIGraphicsGetCurrentContext();
|
||||||
|
CGContextSaveGState(currentContext);
|
||||||
|
CGContextAddPath(currentContext, pathRef);
|
||||||
|
[self setContextOptions:currentContext];
|
||||||
|
CGContextStrokePath(currentContext);
|
||||||
|
CGContextRestoreGState(currentContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)addClip {
|
||||||
|
CGContextRef currentContext = UIGraphicsGetCurrentContext();
|
||||||
|
CGContextAddPath(currentContext, pathRef);
|
||||||
|
[self setContextOptions:currentContext];
|
||||||
|
CGContextClip(currentContext);
|
||||||
|
}
|
||||||
|
@end
|
@ -12,3 +12,7 @@
|
|||||||
- (BOOL)isPad;
|
- (BOOL)isPad;
|
||||||
- (NSString *)appendDeviceSuffixToString:(NSString *)theString;
|
- (NSString *)appendDeviceSuffixToString:(NSString *)theString;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface UIColor (MGMVMAddons)
|
||||||
|
- (UIColor *)colorWithDifference:(CGFloat)theDifference;
|
||||||
|
@end
|
@ -21,3 +21,26 @@
|
|||||||
return [theString stringByAppendingString:@"_iPhone"];
|
return [theString stringByAppendingString:@"_iPhone"];
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@implementation UIColor (MGMVMAddons)
|
||||||
|
- (UIColor *)colorWithDifference:(CGFloat)theDifference {
|
||||||
|
CGColorRef colorRef = [self CGColor];
|
||||||
|
CGColorSpaceRef colorspace = CGColorGetColorSpace(colorRef);
|
||||||
|
size_t componentsCount = CGColorGetNumberOfComponents(colorRef);
|
||||||
|
const CGFloat *componentsRef = CGColorGetComponents(colorRef);
|
||||||
|
CGFloat *components = malloc(sizeof(CGFloat)*componentsCount);
|
||||||
|
memcpy(components, componentsRef, sizeof(CGFloat)*componentsCount);
|
||||||
|
CGFloat *colorComponents = components;
|
||||||
|
for (size_t i=0; i<(componentsCount-1); i++) {
|
||||||
|
CGFloat value = *components+theDifference;
|
||||||
|
if (value>=0.0 && value<=1.0)
|
||||||
|
*components = value;
|
||||||
|
components++;
|
||||||
|
}
|
||||||
|
CGColorRef newColor = CGColorCreate(colorspace, colorComponents);
|
||||||
|
UIColor *color = [UIColor colorWithCGColor:newColor];
|
||||||
|
CGColorRelease(newColor);
|
||||||
|
free(colorComponents);
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
@end
|
@ -9,7 +9,7 @@
|
|||||||
#import "MGMSIPUser.h"
|
#import "MGMSIPUser.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <MGMUsers/MGMUsers.h>
|
#import <MGMUsers/MGMUsers.h>
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode";
|
NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode";
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "MGMContactView.h"
|
#import "MGMContactView.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMContactView
|
@implementation MGMContactView
|
||||||
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||||
|
18
Classes/VoiceMob/Views/MGMGradientButton.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// MGMGradientButton.h
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface MGMGradientButton : UIButton {
|
||||||
|
UIColor *buttonColor;
|
||||||
|
UIColor *buttonTouchColor;
|
||||||
|
UIColor *buttonDisabledColor;
|
||||||
|
BOOL touching;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
113
Classes/VoiceMob/Views/MGMGradientButton.m
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
//
|
||||||
|
// MGMGradientButton.m
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MGMGradientButton.h"
|
||||||
|
#import "MGMPath.h"
|
||||||
|
#import "MGMVMAddons.h"
|
||||||
|
|
||||||
|
@implementation MGMGradientButton
|
||||||
|
- (void)awakeFromNib {
|
||||||
|
buttonColor = [[self backgroundColor] retain];
|
||||||
|
buttonTouchColor = [[buttonColor colorWithDifference:-0.1] retain];
|
||||||
|
buttonDisabledColor = [[buttonColor colorWithDifference:0.1] retain];
|
||||||
|
[self setBackgroundColor:[UIColor clearColor]];
|
||||||
|
}
|
||||||
|
- (void)dealloc {
|
||||||
|
if (buttonColor!=nil)
|
||||||
|
[buttonColor release];
|
||||||
|
if (buttonTouchColor!=nil)
|
||||||
|
[buttonTouchColor release];
|
||||||
|
if (buttonDisabledColor!=nil)
|
||||||
|
[buttonDisabledColor release];
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setTouching:(BOOL)isTouching {
|
||||||
|
touching = isTouching;
|
||||||
|
[self setNeedsDisplay];
|
||||||
|
}
|
||||||
|
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||||
|
[super touchesBegan:touches withEvent:event];
|
||||||
|
[self setTouching:YES];
|
||||||
|
}
|
||||||
|
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||||
|
[super touchesEnded:touches withEvent:event];
|
||||||
|
[self setTouching:NO];
|
||||||
|
}
|
||||||
|
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||||
|
[super touchesCancelled:touches withEvent:event];
|
||||||
|
[self setTouching:NO];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIEdgeInsets)titleEdgeInsets {
|
||||||
|
return UIEdgeInsetsMake(-2.0, 0.0, 0.0, 0.0);
|
||||||
|
}
|
||||||
|
- (void)drawRect:(CGRect)frameRect {
|
||||||
|
UIColor *color = nil;
|
||||||
|
if (![self isEnabled])
|
||||||
|
color = buttonDisabledColor;
|
||||||
|
else if (touching)
|
||||||
|
color = buttonTouchColor;
|
||||||
|
else
|
||||||
|
color = buttonColor;
|
||||||
|
CGRect whitePathBounds = [self bounds];
|
||||||
|
CGRect pathBounds = whitePathBounds;
|
||||||
|
whitePathBounds.size.width -= 2.0;
|
||||||
|
whitePathBounds.origin.x += 1.0;
|
||||||
|
whitePathBounds.size.height -= 2.0;
|
||||||
|
whitePathBounds.origin.y += 0.7;
|
||||||
|
MGMPath *whitePath = [MGMPath pathWithRoundedRect:whitePathBounds cornerRadius:12];
|
||||||
|
[[UIColor colorWithWhite:1.0 alpha:1.0] setStroke];
|
||||||
|
[whitePath setLineWidth:2.0];
|
||||||
|
[whitePath stroke];
|
||||||
|
pathBounds.size.width -= 1.0;
|
||||||
|
pathBounds.origin.x += 0.5;
|
||||||
|
pathBounds.size.height -= 2.0;
|
||||||
|
pathBounds.origin.y += 0.5;
|
||||||
|
MGMPath *path = [MGMPath pathWithRoundedRect:pathBounds cornerRadius:12];
|
||||||
|
[path setLineWidth:1.0];
|
||||||
|
[color setFill];
|
||||||
|
[[color colorWithDifference:-0.1] setStroke];
|
||||||
|
[path fill];
|
||||||
|
[path stroke];
|
||||||
|
|
||||||
|
CGRect gradientRect = pathBounds;
|
||||||
|
gradientRect.size.width -= 1.0;
|
||||||
|
gradientRect.origin.x += 0.5;
|
||||||
|
gradientRect.size.height -= 0.5;
|
||||||
|
gradientRect.origin.y += 0.5;
|
||||||
|
CGFloat gradientRadius = 12.0;
|
||||||
|
MGMPath *gradientPath = [MGMPath path];
|
||||||
|
float maxRadiusX = gradientRect.size.width / 2.0;
|
||||||
|
float maxRadiusY = gradientRect.size.height / 2.0;
|
||||||
|
gradientRadius = (gradientRadius<maxRadiusX ? gradientRadius : maxRadiusX);
|
||||||
|
gradientRadius = (gradientRadius<maxRadiusY ? gradientRadius : maxRadiusY);
|
||||||
|
float ellipse = 0.55228474983079;
|
||||||
|
float controlX = gradientRadius * ellipse;
|
||||||
|
float controlY = gradientRadius * ellipse;
|
||||||
|
CGRect edges = CGRectInset(gradientRect, gradientRadius, gradientRadius);
|
||||||
|
|
||||||
|
[gradientPath moveToPoint:CGPointMake(edges.origin.x, gradientRect.origin.y)];
|
||||||
|
|
||||||
|
// top right corner
|
||||||
|
[gradientPath addLineToPoint:CGPointMake(CGRectGetMaxX(edges), gradientRect.origin.y)];
|
||||||
|
[gradientPath addCurveToPoint:CGPointMake(CGRectGetMaxX(gradientRect), edges.origin.y) controlPoint1:CGPointMake(CGRectGetMaxX(edges) + controlX, gradientRect.origin.y) controlPoint2:CGPointMake(CGRectGetMaxX(gradientRect), edges.origin.y - controlY)];
|
||||||
|
|
||||||
|
[gradientPath addLineToPoint:CGPointMake(CGRectGetMaxX(gradientRect), CGRectGetMidY(gradientRect))];
|
||||||
|
[gradientPath addLineToPoint:CGPointMake(CGRectGetMidX(gradientRect), CGRectGetMidY(gradientRect))];
|
||||||
|
|
||||||
|
// top left corner
|
||||||
|
[gradientPath addLineToPoint:CGPointMake(gradientRect.origin.x, edges.origin.y)];
|
||||||
|
[gradientPath addCurveToPoint:CGPointMake(edges.origin.x, gradientRect.origin.y) controlPoint1:CGPointMake(gradientRect.origin.x, edges.origin.y - controlY) controlPoint2:CGPointMake(edges.origin.x - controlX, gradientRect.origin.y)];
|
||||||
|
|
||||||
|
[gradientPath closePath];
|
||||||
|
[gradientPath fillGradientFrom:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.6] to:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.2]];
|
||||||
|
|
||||||
|
[super drawRect:frameRect];
|
||||||
|
}
|
||||||
|
@end
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "MGMInboxMessageView.h"
|
#import "MGMInboxMessageView.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMInboxMessageView
|
@implementation MGMInboxMessageView
|
||||||
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "MGMNumberView.h"
|
#import "MGMNumberView.h"
|
||||||
|
#import "MGMPath.h"
|
||||||
|
|
||||||
NSString * const MGMFontName = @"Helvetica";
|
NSString * const MGMFontName = @"Helvetica";
|
||||||
|
|
||||||
@ -105,51 +106,31 @@ NSString * const MGMFontName = @"Helvetica";
|
|||||||
[self setTouching:NO];
|
[self setTouching:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)drawRect:(CGRect)rect {
|
- (void)drawRect:(CGRect)frameRect {
|
||||||
CGContextRef currentContext = UIGraphicsGetCurrentContext();
|
UIColor *startColor = nil;
|
||||||
CGContextSaveGState(currentContext);
|
UIColor *endColor = nil;
|
||||||
CGMutablePathRef path = CGPathCreateMutable();
|
|
||||||
CGRect bounds = [self bounds];
|
|
||||||
CGPathAddRect(path, NULL, bounds);
|
|
||||||
CGContextAddPath(currentContext, path);
|
|
||||||
CGContextClip(currentContext);
|
|
||||||
|
|
||||||
CGColorRef colorsRef[2];
|
|
||||||
if (touching) {
|
if (touching) {
|
||||||
colorsRef[0] = [[UIColor colorWithRed:0.5 green:0.5 blue:1.0 alpha:1.0] CGColor];
|
startColor = [UIColor colorWithRed:0.5 green:0.5 blue:1.0 alpha:1.0];
|
||||||
colorsRef[1] = [[UIColor colorWithRed:0.1 green:0.1 blue:0.5 alpha:1.0] CGColor];
|
endColor = [UIColor colorWithRed:0.1 green:0.1 blue:0.5 alpha:1.0];
|
||||||
} else {
|
} else {
|
||||||
if ([self tag]==13) {
|
if ([self tag]==13) {
|
||||||
colorsRef[0] = [[UIColor colorWithRed:0.5 green:1.0 blue:0.5 alpha:1.0] CGColor];
|
startColor = [UIColor colorWithRed:0.5 green:1.0 blue:0.5 alpha:1.0];
|
||||||
colorsRef[1] = [[UIColor colorWithRed:0.1 green:0.5 blue:0.1 alpha:1.0] CGColor];
|
endColor = [UIColor colorWithRed:0.1 green:0.5 blue:0.1 alpha:1.0];
|
||||||
} else if ([self tag]==14) {
|
} else if ([self tag]==14) {
|
||||||
colorsRef[0] = [[UIColor colorWithRed:1.0 green:0.5 blue:0.5 alpha:1.0] CGColor];
|
startColor = [UIColor colorWithRed:1.0 green:0.5 blue:0.5 alpha:1.0];
|
||||||
colorsRef[1] = [[UIColor colorWithRed:0.5 green:0.1 blue:0.1 alpha:1.0] CGColor];
|
endColor = [UIColor colorWithRed:0.5 green:0.1 blue:0.1 alpha:1.0];
|
||||||
} else {
|
} else {
|
||||||
colorsRef[0] = [[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0] CGColor];
|
startColor = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];
|
||||||
colorsRef[1] = [[UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1.0] CGColor];
|
endColor = [UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1.0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CFArrayRef colors = CFArrayCreate(NULL, (const void **)colorsRef, sizeof(colorsRef) / sizeof(CGColorRef), &kCFTypeArrayCallBacks);
|
|
||||||
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
|
|
||||||
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, colors, NULL);
|
|
||||||
CFRelease(colorSpace);
|
|
||||||
CFRelease(colors);
|
|
||||||
|
|
||||||
CGPoint start = bounds.origin;
|
CGRect bounds = [self bounds];
|
||||||
bounds.origin.y += bounds.size.height;
|
MGMPath *path = [MGMPath pathWithRect:bounds];
|
||||||
CGPoint end = bounds.origin;
|
[path setLineWidth:2.0];
|
||||||
CGContextDrawLinearGradient(currentContext, gradient, start, end, 0);
|
[[UIColor colorWithWhite:1.0 alpha:1.0] setStroke];
|
||||||
|
[path fillGradientFrom:startColor to:endColor];
|
||||||
CFRelease(gradient);
|
[path stroke];
|
||||||
CFRelease(path);
|
|
||||||
|
|
||||||
CGRect strokeRect = bounds;
|
|
||||||
strokeRect.origin.x = 0;
|
|
||||||
strokeRect.origin.y = 0;
|
|
||||||
CGContextSetStrokeColorWithColor(currentContext, [[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0] CGColor]);
|
|
||||||
CGContextStrokeRectWithWidth(currentContext, strokeRect, 2.0);
|
|
||||||
CGContextRestoreGState(currentContext);
|
|
||||||
|
|
||||||
[[UIColor whiteColor] set];
|
[[UIColor whiteColor] set];
|
||||||
if ([self number]!=nil) {
|
if ([self number]!=nil) {
|
||||||
|
15
Classes/VoiceMob/Views/MGMSMSBottomView.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// MGMSMSBottomView.h
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface MGMSMSBottomView : UIView {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
29
Classes/VoiceMob/Views/MGMSMSBottomView.m
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
//
|
||||||
|
// MGMSMSBottomView.m
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MGMSMSBottomView.h"
|
||||||
|
#import "MGMPath.h"
|
||||||
|
|
||||||
|
@implementation MGMSMSBottomView
|
||||||
|
- (void)drawRect:(CGRect)frameRect {
|
||||||
|
UIColor *startColor = [UIColor colorWithRed:0.968627 green:0.972549 blue:0.972549 alpha:1.0];
|
||||||
|
UIColor *endColor = [UIColor colorWithRed:0.772549 green:0.780392 blue:0.796078 alpha:1.0];
|
||||||
|
|
||||||
|
MGMPath *path = [MGMPath pathWithRect:[self bounds]];
|
||||||
|
[path fillGradientFrom:startColor to:endColor];
|
||||||
|
CGRect lineRect = [self bounds];
|
||||||
|
lineRect.size.height = 1;
|
||||||
|
MGMPath *linePath = [MGMPath pathWithRect:lineRect];
|
||||||
|
[[UIColor colorWithWhite:0.7 alpha:1.0] setFill];
|
||||||
|
[linePath fill];
|
||||||
|
lineRect.origin.y += 1;
|
||||||
|
MGMPath *line2Path = [MGMPath pathWithRect:lineRect];
|
||||||
|
[[UIColor colorWithWhite:1.0 alpha:1.0] setFill];
|
||||||
|
[line2Path fill];
|
||||||
|
}
|
||||||
|
@end
|
15
Classes/VoiceMob/Views/MGMSMSTextView.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// MGMSMSTextView.h
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface MGMSMSTextView : UITextView {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
44
Classes/VoiceMob/Views/MGMSMSTextView.m
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
//
|
||||||
|
// MGMSMSTextView.m
|
||||||
|
// VoiceMob
|
||||||
|
//
|
||||||
|
// Created by Mr. Gecko on 10/1/10.
|
||||||
|
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MGMSMSTextView.h"
|
||||||
|
#import "MGMPath.h"
|
||||||
|
|
||||||
|
@implementation MGMSMSTextView
|
||||||
|
- (void)awakeFromNib {
|
||||||
|
[self setBackgroundColor:[UIColor clearColor]];
|
||||||
|
[self setContentInset:UIEdgeInsetsMake(-6.0, 3.0, 0.0, -3.0)];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)drawRect:(CGRect)theRect {
|
||||||
|
CGRect whitePathBounds = [self bounds];
|
||||||
|
CGRect pathBounds = whitePathBounds;
|
||||||
|
whitePathBounds.size.width -= 2.0;
|
||||||
|
whitePathBounds.origin.x += 1.0;
|
||||||
|
whitePathBounds.size.height -= 2.0;
|
||||||
|
whitePathBounds.origin.y += 0.7;
|
||||||
|
MGMPath *whitePath = [MGMPath pathWithRoundedRect:whitePathBounds cornerRadius:13];
|
||||||
|
[[UIColor colorWithWhite:1.0 alpha:1.0] setStroke];
|
||||||
|
[whitePath setLineWidth:2.0];
|
||||||
|
[whitePath stroke];
|
||||||
|
pathBounds.size.height -= 1.0;
|
||||||
|
MGMPath *path = [MGMPath pathWithRoundedRect:pathBounds cornerRadius:13];
|
||||||
|
[[UIColor colorWithWhite:0.95 alpha:1.0] setFill];
|
||||||
|
[[UIColor colorWithWhite:0.4 alpha:1.0] setStroke];
|
||||||
|
[path fill];
|
||||||
|
CGContextRef currentContext = UIGraphicsGetCurrentContext();
|
||||||
|
CGContextSaveGState(currentContext);
|
||||||
|
[path addClip];
|
||||||
|
CGContextAddPath(currentContext, [path CGPath]);
|
||||||
|
CGContextSetShadowWithColor(currentContext, CGSizeMake(0, 1), 3.0, [[UIColor colorWithWhite:0.0 alpha:1.0] CGColor]);
|
||||||
|
CGContextStrokePath(currentContext);
|
||||||
|
CGContextRestoreGState(currentContext);
|
||||||
|
|
||||||
|
[super drawRect:theRect];
|
||||||
|
}
|
||||||
|
@end
|
@ -9,7 +9,7 @@
|
|||||||
#import "MGMVoiceContacts.h"
|
#import "MGMVoiceContacts.h"
|
||||||
#import "MGMVoiceUser.h"
|
#import "MGMVoiceUser.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMVoiceContacts
|
@implementation MGMVoiceContacts
|
||||||
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
|
|
||||||
@interface MGMVoiceInbox : NSObject {
|
@interface MGMVoiceInbox : NSObject {
|
||||||
MGMVoiceUser *voiceUser;
|
MGMVoiceUser *voiceUser;
|
||||||
MGMInstance *instance;
|
|
||||||
|
|
||||||
IBOutlet UITableView *inboxesTable;
|
IBOutlet UITableView *inboxesTable;
|
||||||
IBOutlet UITableView *messagesTable;
|
IBOutlet UITableView *messagesTable;
|
||||||
MGMProgressView *progressView;
|
MGMProgressView *progressView;
|
||||||
|
int currentView;
|
||||||
|
|
||||||
NSArray *inboxItems;
|
NSArray *inboxItems;
|
||||||
NSArray *messagesItems;
|
NSArray *messagesItems;
|
||||||
@ -45,5 +45,6 @@
|
|||||||
- (void)stopProgress;
|
- (void)stopProgress;
|
||||||
|
|
||||||
- (void)loadInbox;
|
- (void)loadInbox;
|
||||||
|
- (void)addData:(NSArray *)theData;
|
||||||
- (int)currentInbox;
|
- (int)currentInbox;
|
||||||
@end
|
@end
|
@ -12,7 +12,7 @@
|
|||||||
#import "MGMInboxMessageView.h"
|
#import "MGMInboxMessageView.h"
|
||||||
#import "MGMProgressView.h"
|
#import "MGMProgressView.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
static NSMutableArray *MGMInboxItems;
|
static NSMutableArray *MGMInboxItems;
|
||||||
|
|
||||||
@ -21,6 +21,7 @@ NSString * const MGMSID = @"id";
|
|||||||
|
|
||||||
NSString * const MGMInboxesCellIdentifier = @"MGMInboxesCellIdentifier";
|
NSString * const MGMInboxesCellIdentifier = @"MGMInboxesCellIdentifier";
|
||||||
NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier";
|
NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier";
|
||||||
|
NSString * const MGMInboxMessageLoadCellIdentifier = @"MGMInboxMessageLoadCellIdentifier";
|
||||||
|
|
||||||
@implementation MGMVoiceInbox
|
@implementation MGMVoiceInbox
|
||||||
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
||||||
@ -42,8 +43,11 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
[MGMInboxItems addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"Missed", MGMSName, [NSNumber numberWithInt:9], MGMSID, nil]];
|
[MGMInboxItems addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"Missed", MGMSName, [NSNumber numberWithInt:9], MGMSID, nil]];
|
||||||
}
|
}
|
||||||
voiceUser = theVoiceUser;
|
voiceUser = theVoiceUser;
|
||||||
instance = [voiceUser instance];
|
currentView = -1;
|
||||||
|
currentInbox = 0;
|
||||||
maxResults = 10;
|
maxResults = 10;
|
||||||
|
start = 0;
|
||||||
|
resultsCount = 0;
|
||||||
inboxItems = [[NSArray arrayWithObjects:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL] autorelease], [[[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:[voiceUser accountController] action:@selector(showSettings:)] autorelease], nil] retain];
|
inboxItems = [[NSArray arrayWithObjects:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL] autorelease], [[[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:[voiceUser accountController] action:@selector(showSettings:)] autorelease], nil] retain];
|
||||||
messagesItems = [[NSArray arrayWithObjects:[[[UIBarButtonItem alloc] initWithTitle:@"Inboxes" style:UIBarButtonItemStyleBordered target:self action:@selector(showInboxes:)] autorelease], [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL] autorelease], [[[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:[voiceUser accountController] action:@selector(showSettings:)] autorelease], nil] retain];
|
messagesItems = [[NSArray arrayWithObjects:[[[UIBarButtonItem alloc] initWithTitle:@"Inboxes" style:UIBarButtonItemStyleBordered target:self action:@selector(showInboxes:)] autorelease], [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL] autorelease], [[[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:[voiceUser accountController] action:@selector(showSettings:)] autorelease], nil] retain];
|
||||||
currentData = [NSMutableArray new];
|
currentData = [NSMutableArray new];
|
||||||
@ -60,19 +64,28 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (UIView *)view {
|
- (UIView *)view {
|
||||||
|
if (currentView==-1) {
|
||||||
|
currentView = 1;
|
||||||
|
[self loadInbox];
|
||||||
|
}
|
||||||
if (inboxesTable==nil) {
|
if (inboxesTable==nil) {
|
||||||
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoiceInbox"] owner:self options:nil]) {
|
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoiceInbox"] owner:self options:nil]) {
|
||||||
NSLog(@"Unable to load Voice Inbox");
|
NSLog(@"Unable to load Voice Inbox");
|
||||||
[self release];
|
[self release];
|
||||||
self = nil;
|
self = nil;
|
||||||
} else {
|
} else {
|
||||||
[[[voiceUser accountController] toolbar] setItems:inboxItems animated:YES];
|
|
||||||
CGSize contentSize = [[voiceUser tabView] frame].size;
|
CGSize contentSize = [[voiceUser tabView] frame].size;
|
||||||
progressView = [[MGMProgressView alloc] initWithFrame:CGRectMake(0, 0, contentSize.width, contentSize.height)];
|
progressView = [[MGMProgressView alloc] initWithFrame:CGRectMake(0, 0, contentSize.width, contentSize.height)];
|
||||||
[progressView setProgressTitle:@"Loading..."];
|
[progressView setProgressTitle:@"Loading..."];
|
||||||
[progressView setHidden:(progressStartCount<=0)];
|
[progressView setHidden:(progressStartCount<=0)];
|
||||||
|
if (currentView==1)
|
||||||
|
[[[voiceUser accountController] toolbar] setItems:messagesItems animated:YES];
|
||||||
|
else
|
||||||
|
[[[voiceUser accountController] toolbar] setItems:inboxItems animated:YES];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (currentView==1)
|
||||||
|
return messagesTable;
|
||||||
return inboxesTable;
|
return inboxesTable;
|
||||||
}
|
}
|
||||||
- (void)releaseView {
|
- (void)releaseView {
|
||||||
@ -94,7 +107,6 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
if (progressView!=nil) {
|
if (progressView!=nil) {
|
||||||
if ([progressView superview]==nil)
|
if ([progressView superview]==nil)
|
||||||
[[voiceUser tabView] addSubview:progressView];
|
[[voiceUser tabView] addSubview:progressView];
|
||||||
[progressView setHidden:NO];
|
|
||||||
[progressView startProgess];
|
[progressView startProgess];
|
||||||
[progressView becomeFirstResponder];
|
[progressView becomeFirstResponder];
|
||||||
}
|
}
|
||||||
@ -103,39 +115,84 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
- (void)stopProgress {
|
- (void)stopProgress {
|
||||||
if (progressView!=nil) {
|
if (progressView!=nil) {
|
||||||
if (progressStartCount==1) {
|
if (progressStartCount==1) {
|
||||||
[progressView setHidden:YES];
|
|
||||||
[progressView stopProgess];
|
[progressView stopProgess];
|
||||||
|
[progressView removeFromSuperview];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
progressStartCount--;
|
progressStartCount--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (IBAction)showInboxes:(id)sender {
|
||||||
|
CGRect inViewFrame = [inboxesTable frame];
|
||||||
|
inViewFrame.origin.x -= inViewFrame.size.width;
|
||||||
|
[inboxesTable setFrame:inViewFrame];
|
||||||
|
[[voiceUser tabView] addSubview:inboxesTable];
|
||||||
|
[UIView beginAnimations:nil context:nil];
|
||||||
|
[UIView setAnimationDuration:0.5];
|
||||||
|
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
|
||||||
|
[UIView setAnimationDelegate:self];
|
||||||
|
[UIView setAnimationDidStopSelector:@selector(inboxesAnimationDidStop:finished:context:)];
|
||||||
|
[inboxesTable setFrame:[messagesTable frame]];
|
||||||
|
CGRect outViewFrame = [messagesTable frame];
|
||||||
|
outViewFrame.origin.x += outViewFrame.size.width;
|
||||||
|
[messagesTable setFrame:outViewFrame];
|
||||||
|
[UIView commitAnimations];
|
||||||
|
[[[voiceUser accountController] toolbar] setItems:inboxItems animated:YES];
|
||||||
|
currentView = 0;
|
||||||
|
}
|
||||||
|
- (void)inboxesAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
|
||||||
|
[messagesTable removeFromSuperview];
|
||||||
|
currentInbox = -1;
|
||||||
|
start = 0;
|
||||||
|
resultsCount = 0;
|
||||||
|
[currentData removeAllObjects];
|
||||||
|
[messagesTable reloadData];
|
||||||
|
[[messagesItems objectAtIndex:1] setEnabled:YES];
|
||||||
|
}
|
||||||
|
|
||||||
- (NSInteger)tableView:(UITableView *)theTableView numberOfRowsInSection:(NSInteger)section {
|
- (NSInteger)tableView:(UITableView *)theTableView numberOfRowsInSection:(NSInteger)section {
|
||||||
if (theTableView==inboxesTable)
|
if (theTableView==inboxesTable)
|
||||||
return [MGMInboxItems count];
|
return [MGMInboxItems count];
|
||||||
else if (theTableView==messagesTable)
|
else if (theTableView==messagesTable)
|
||||||
return [currentData count];
|
return (resultsCount==maxResults ? [currentData count]+1 : [currentData count]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
UITableViewCell *cell = nil;
|
|
||||||
if (theTableView==inboxesTable) {
|
if (theTableView==inboxesTable) {
|
||||||
cell = [inboxesTable dequeueReusableCellWithIdentifier:MGMInboxesCellIdentifier];
|
UITableViewCell *cell = [inboxesTable dequeueReusableCellWithIdentifier:MGMInboxesCellIdentifier];
|
||||||
if (cell==nil) {
|
if (cell==nil) {
|
||||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMInboxesCellIdentifier] autorelease];
|
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMInboxesCellIdentifier] autorelease];
|
||||||
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
|
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
|
||||||
}
|
}
|
||||||
[cell setText:[[MGMInboxItems objectAtIndex:[indexPath indexAtPosition:1]] objectForKey:MGMSName]];
|
[cell setText:[[MGMInboxItems objectAtIndex:[indexPath indexAtPosition:1]] objectForKey:MGMSName]];
|
||||||
|
return cell;
|
||||||
} else if (theTableView==messagesTable) {
|
} else if (theTableView==messagesTable) {
|
||||||
cell = (MGMInboxMessageView *)[messagesTable dequeueReusableCellWithIdentifier:MGMInboxMessageCellIdentifier];
|
if ([currentData count]<=[indexPath indexAtPosition:1]) {
|
||||||
|
UITableViewCell *cell = [inboxesTable dequeueReusableCellWithIdentifier:MGMInboxMessageLoadCellIdentifier];
|
||||||
|
if (cell==nil) {
|
||||||
|
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMInboxMessageLoadCellIdentifier] autorelease];
|
||||||
|
[cell setText:@"Load More..."];
|
||||||
|
if ([cell respondsToSelector:@selector(textLabel)]) {
|
||||||
|
[[cell textLabel] setTextColor:[UIColor blueColor]];
|
||||||
|
[[cell textLabel] setTextAlignment:UITextAlignmentCenter];
|
||||||
|
} else {
|
||||||
|
[cell setTextColor:[UIColor blueColor]];
|
||||||
|
[cell setTextAlignment:UITextAlignmentCenter];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cell;
|
||||||
|
} else {
|
||||||
|
MGMInboxMessageView *cell = (MGMInboxMessageView *)[messagesTable dequeueReusableCellWithIdentifier:MGMInboxMessageCellIdentifier];
|
||||||
if (cell==nil) {
|
if (cell==nil) {
|
||||||
cell = [[[MGMInboxMessageView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMInboxMessageCellIdentifier] autorelease];
|
cell = [[[MGMInboxMessageView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMInboxMessageCellIdentifier] autorelease];
|
||||||
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
|
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
|
||||||
[cell setInstance:instance];
|
[cell setInstance:[voiceUser instance]];
|
||||||
}
|
}
|
||||||
[cell setMessageData:[currentData objectAtIndex:[indexPath indexAtPosition:1]]];
|
[cell setMessageData:[currentData objectAtIndex:[indexPath indexAtPosition:1]]];
|
||||||
}
|
|
||||||
return cell;
|
return cell;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
}
|
}
|
||||||
- (BOOL)tableView:(UITableView *)theTableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
- (BOOL)tableView:(UITableView *)theTableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
if (theTableView==inboxesTable)
|
if (theTableView==inboxesTable)
|
||||||
@ -154,10 +211,6 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
- (void)tableView:(UITableView *)theTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
- (void)tableView:(UITableView *)theTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
if (theTableView==inboxesTable) {
|
if (theTableView==inboxesTable) {
|
||||||
currentInbox = [[[MGMInboxItems objectAtIndex:[indexPath indexAtPosition:1]] objectForKey:MGMSID] intValue];
|
currentInbox = [[[MGMInboxItems objectAtIndex:[indexPath indexAtPosition:1]] objectForKey:MGMSID] intValue];
|
||||||
[currentData removeAllObjects];
|
|
||||||
start = 0;
|
|
||||||
resultsCount = 0;
|
|
||||||
[self loadInbox];
|
|
||||||
[[messagesItems objectAtIndex:1] setEnabled:NO];
|
[[messagesItems objectAtIndex:1] setEnabled:NO];
|
||||||
[[[voiceUser accountController] toolbar] setItems:messagesItems animated:YES];
|
[[[voiceUser accountController] toolbar] setItems:messagesItems animated:YES];
|
||||||
|
|
||||||
@ -175,6 +228,15 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
outViewFrame.origin.x -= outViewFrame.size.width;
|
outViewFrame.origin.x -= outViewFrame.size.width;
|
||||||
[inboxesTable setFrame:outViewFrame];
|
[inboxesTable setFrame:outViewFrame];
|
||||||
[UIView commitAnimations];
|
[UIView commitAnimations];
|
||||||
|
currentView = 1;
|
||||||
|
[self loadInbox];
|
||||||
|
} else if (theTableView==messagesTable) {
|
||||||
|
if ([indexPath indexAtPosition:1]>=[currentData count]) {
|
||||||
|
start += maxResults;
|
||||||
|
[self loadInbox];
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- (void)messagesAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
|
- (void)messagesAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
|
||||||
@ -188,34 +250,34 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
[self startProgress];
|
[self startProgress];
|
||||||
switch (currentInbox) {
|
switch (currentInbox) {
|
||||||
case 0:
|
case 0:
|
||||||
[[instance inbox] getInboxForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getInboxForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
[[instance inbox] getStarredForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getStarredForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
[[instance inbox] getSpamForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getSpamForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
[[instance inbox] getTrashForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getTrashForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
[[instance inbox] getVoicemailForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getVoicemailForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
[[instance inbox] getSMSForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getSMSForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
[[instance inbox] getRecordedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getRecordedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
[[instance inbox] getPlacedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getPlacedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
[[instance inbox] getReceivedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getReceivedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
[[instance inbox] getMissedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
[[[voiceUser instance] inbox] getMissedCallsForPage:page delegate:self didFailWithError:@selector(inbox:didFailWithError:instance:) didReceiveInfo:@selector(inboxGotInfo:instance:)];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -230,13 +292,17 @@ NSString * const MGMInboxMessageCellIdentifier = @"MGMInboxMessageCellIdentifier
|
|||||||
}
|
}
|
||||||
- (void)inboxGotInfo:(NSArray *)theInfo instance:(MGMInstance *)theInstance {
|
- (void)inboxGotInfo:(NSArray *)theInfo instance:(MGMInstance *)theInstance {
|
||||||
if (theInfo!=nil) {
|
if (theInfo!=nil) {
|
||||||
[currentData addObjectsFromArray:theInfo];
|
[self addData:theInfo];
|
||||||
[messagesTable reloadData];
|
|
||||||
} else {
|
} else {
|
||||||
NSLog(@"Error 234554: Hold on, this should never happen.");
|
NSLog(@"Error 234554: Hold on, this should never happen.");
|
||||||
}
|
}
|
||||||
[self stopProgress];
|
[self stopProgress];
|
||||||
}
|
}
|
||||||
|
- (void)addData:(NSArray *)theData {
|
||||||
|
resultsCount = [theData count];
|
||||||
|
[currentData addObjectsFromArray:theData];
|
||||||
|
[messagesTable reloadData];
|
||||||
|
}
|
||||||
- (int)currentInbox {
|
- (int)currentInbox {
|
||||||
return currentInbox;
|
return currentInbox;
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#import "MGMVoiceUser.h"
|
#import "MGMVoiceUser.h"
|
||||||
#import "MGMNumberView.h"
|
#import "MGMNumberView.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMVoicePad
|
@implementation MGMVoicePad
|
||||||
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
@interface MGMVoiceSMS : NSObject {
|
@interface MGMVoiceSMS : NSObject {
|
||||||
MGMVoiceUser *voiceUser;
|
MGMVoiceUser *voiceUser;
|
||||||
|
|
||||||
IBOutlet UIView *view;
|
IBOutlet UIView *messageView;
|
||||||
}
|
}
|
||||||
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
|
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
|
||||||
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
|
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#import "MGMVoiceSMS.h"
|
#import "MGMVoiceSMS.h"
|
||||||
#import "MGMVoiceUser.h"
|
#import "MGMVoiceUser.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMVoiceSMS
|
@implementation MGMVoiceSMS
|
||||||
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
|
||||||
@ -31,7 +31,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (UIView *)view {
|
- (UIView *)view {
|
||||||
if (view==nil) {
|
if (messageView==nil) {
|
||||||
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoiceSMS"] owner:self options:nil]) {
|
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoiceSMS"] owner:self options:nil]) {
|
||||||
NSLog(@"Unable to load Voice SMS");
|
NSLog(@"Unable to load Voice SMS");
|
||||||
[self release];
|
[self release];
|
||||||
@ -40,12 +40,12 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return view;
|
return messageView;
|
||||||
}
|
}
|
||||||
- (void)releaseView {
|
- (void)releaseView {
|
||||||
if (view!=nil) {
|
if (messageView!=nil) {
|
||||||
[view release];
|
[messageView release];
|
||||||
view = nil;
|
messageView = nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@end
|
@end
|
@ -15,7 +15,7 @@
|
|||||||
#import "MGMAccountController.h"
|
#import "MGMAccountController.h"
|
||||||
#import "MGMVMAddons.h"
|
#import "MGMVMAddons.h"
|
||||||
#import <MGMUsers/MGMUsers.h>
|
#import <MGMUsers/MGMUsers.h>
|
||||||
#import <VoiceBase.h>
|
#import <VoiceBase/VoiceBase.h>
|
||||||
|
|
||||||
@implementation MGMVoiceUser
|
@implementation MGMVoiceUser
|
||||||
+ (id)voiceUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController {
|
+ (id)voiceUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController {
|
||||||
@ -26,15 +26,15 @@
|
|||||||
accountController = theAccountController;
|
accountController = theAccountController;
|
||||||
user = [theUser retain];
|
user = [theUser retain];
|
||||||
|
|
||||||
if ([user isStarted])
|
currentTab = 2;
|
||||||
instance = [[MGMInstance instanceWithUser:user delegate:self] retain];
|
|
||||||
|
|
||||||
currentTab = 0;
|
|
||||||
tabObjects = [NSMutableArray new];
|
tabObjects = [NSMutableArray new];
|
||||||
[tabObjects addObject:[MGMVoicePad tabWithVoiceUser:self]];
|
[tabObjects addObject:[MGMVoicePad tabWithVoiceUser:self]];
|
||||||
[tabObjects addObject:[MGMVoiceContacts tabWithVoiceUser:self]];
|
[tabObjects addObject:[MGMVoiceContacts tabWithVoiceUser:self]];
|
||||||
[tabObjects addObject:[MGMVoiceSMS tabWithVoiceUser:self]];
|
[tabObjects addObject:[MGMVoiceSMS tabWithVoiceUser:self]];
|
||||||
[tabObjects addObject:[MGMVoiceInbox tabWithVoiceUser:self]];
|
[tabObjects addObject:[MGMVoiceInbox tabWithVoiceUser:self]];
|
||||||
|
|
||||||
|
//if ([user isStarted])
|
||||||
|
//instance = [[MGMInstance instanceWithUser:user delegate:self] retain];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
@ -74,7 +74,7 @@
|
|||||||
} else {
|
} else {
|
||||||
[tabView addSubview:[[tabObjects objectAtIndex:currentTab] view]];
|
[tabView addSubview:[[tabObjects objectAtIndex:currentTab] view]];
|
||||||
[tabBar setSelectedItem:[[tabBar items] objectAtIndex:currentTab]];
|
[tabBar setSelectedItem:[[tabBar items] objectAtIndex:currentTab]];
|
||||||
if (![instance isLoggedIn]) {
|
/*if (![instance isLoggedIn]) {
|
||||||
CGSize contentSize = [view frame].size;
|
CGSize contentSize = [view frame].size;
|
||||||
progressView = [[MGMProgressView alloc] initWithFrame:CGRectMake(0, 0, contentSize.width, contentSize.height)];
|
progressView = [[MGMProgressView alloc] initWithFrame:CGRectMake(0, 0, contentSize.width, contentSize.height)];
|
||||||
[progressView setProgressTitle:@"Logging In"];
|
[progressView setProgressTitle:@"Logging In"];
|
||||||
@ -83,7 +83,7 @@
|
|||||||
[progressView becomeFirstResponder];
|
[progressView becomeFirstResponder];
|
||||||
} else {
|
} else {
|
||||||
[self setInstanceInfo];
|
[self setInstanceInfo];
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return view;
|
return view;
|
||||||
|
@ -206,15 +206,16 @@
|
|||||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBUIView" id="882170606">
|
<object class="IBUIView" id="882170606">
|
||||||
<nil key="NSNextResponder"/>
|
<reference key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<object class="NSMutableArray" key="NSSubviews">
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="IBUITextView" id="174950381">
|
<object class="IBUITextView" id="174950381">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">274</int>
|
<int key="NSvFlags">274</int>
|
||||||
<string key="NSFrameSize">{320, 116}</string>
|
<string key="NSFrameSize">{320, 136}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
||||||
<bool key="IBUIClipsSubviews">YES</bool>
|
<bool key="IBUIClipsSubviews">YES</bool>
|
||||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||||
@ -222,7 +223,6 @@
|
|||||||
<bool key="IBUIScrollEnabled">NO</bool>
|
<bool key="IBUIScrollEnabled">NO</bool>
|
||||||
<bool key="IBUIEditable">NO</bool>
|
<bool key="IBUIEditable">NO</bool>
|
||||||
<string key="IBUIText">Choose an account type to set up and press continue. When you set up a Google Voice account, it will automatically add a second account for Google Contacts to receive contacts from that account.</string>
|
<string key="IBUIText">Choose an account type to set up and press continue. When you set up a Google Voice account, it will automatically add a second account for Google Contacts to receive contacts from that account.</string>
|
||||||
<reference key="IBUITextColor" ref="815808359"/>
|
|
||||||
<object class="NSFont" key="IBUIFont">
|
<object class="NSFont" key="IBUIFont">
|
||||||
<string key="NSName">Helvetica</string>
|
<string key="NSName">Helvetica</string>
|
||||||
<double key="NSSize">16</double>
|
<double key="NSSize">16</double>
|
||||||
@ -236,8 +236,9 @@
|
|||||||
<object class="IBUIButton" id="989292267">
|
<object class="IBUIButton" id="989292267">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<string key="NSFrame">{{20, 124}, {29, 29}}</string>
|
<string key="NSFrame">{{20, 144}, {29, 29}}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
||||||
<bool key="IBUIOpaque">NO</bool>
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
<int key="IBUITag">1</int>
|
<int key="IBUITag">1</int>
|
||||||
@ -266,8 +267,9 @@
|
|||||||
<object class="IBUIButton" id="365343775">
|
<object class="IBUIButton" id="365343775">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<string key="NSFrame">{{20, 161}, {29, 29}}</string>
|
<string key="NSFrame">{{20, 181}, {29, 29}}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
||||||
<bool key="IBUIOpaque">NO</bool>
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
<int key="IBUITag">2</int>
|
<int key="IBUITag">2</int>
|
||||||
@ -289,8 +291,9 @@
|
|||||||
<object class="IBUIButton" id="580254480">
|
<object class="IBUIButton" id="580254480">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<string key="NSFrame">{{20, 198}, {29, 29}}</string>
|
<string key="NSFrame">{{20, 218}, {29, 29}}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
||||||
<bool key="IBUIOpaque">NO</bool>
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
<int key="IBUITag">3</int>
|
<int key="IBUITag">3</int>
|
||||||
@ -309,8 +312,9 @@
|
|||||||
<object class="IBUIButton" id="330324968">
|
<object class="IBUIButton" id="330324968">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<string key="NSFrame">{{57, 127}, {242, 21}}</string>
|
<string key="NSFrame">{{57, 147}, {242, 21}}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="IBUIOpaque">NO</bool>
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
<int key="IBUITag">1</int>
|
<int key="IBUITag">1</int>
|
||||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
@ -331,8 +335,9 @@
|
|||||||
<object class="IBUIButton" id="385142519">
|
<object class="IBUIButton" id="385142519">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<string key="NSFrame">{{58, 165}, {242, 21}}</string>
|
<string key="NSFrame">{{58, 185}, {242, 21}}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="IBUIOpaque">NO</bool>
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
<int key="IBUITag">2</int>
|
<int key="IBUITag">2</int>
|
||||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
@ -346,8 +351,9 @@
|
|||||||
<object class="IBUIButton" id="206235771">
|
<object class="IBUIButton" id="206235771">
|
||||||
<reference key="NSNextResponder" ref="882170606"/>
|
<reference key="NSNextResponder" ref="882170606"/>
|
||||||
<int key="NSvFlags">292</int>
|
<int key="NSvFlags">292</int>
|
||||||
<string key="NSFrame">{{58, 202}, {242, 21}}</string>
|
<string key="NSFrame">{{58, 222}, {242, 21}}</string>
|
||||||
<reference key="NSSuperview" ref="882170606"/>
|
<reference key="NSSuperview" ref="882170606"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="IBUIOpaque">NO</bool>
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
<int key="IBUITag">3</int>
|
<int key="IBUITag">3</int>
|
||||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
@ -360,6 +366,8 @@
|
|||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrameSize">{320, 373}</string>
|
<string key="NSFrameSize">{320, 373}</string>
|
||||||
|
<reference key="NSSuperview"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
<reference key="IBUIBackgroundColor" ref="815808359"/>
|
||||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
</object>
|
</object>
|
||||||
@ -1581,9 +1589,9 @@
|
|||||||
<reference ref="989292267"/>
|
<reference ref="989292267"/>
|
||||||
<reference ref="365343775"/>
|
<reference ref="365343775"/>
|
||||||
<reference ref="580254480"/>
|
<reference ref="580254480"/>
|
||||||
|
<reference ref="330324968"/>
|
||||||
<reference ref="385142519"/>
|
<reference ref="385142519"/>
|
||||||
<reference ref="206235771"/>
|
<reference ref="206235771"/>
|
||||||
<reference ref="330324968"/>
|
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="0"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">Account Type</string>
|
<string key="objectName">Account Type</string>
|
||||||
|
BIN
Resources/VoiceMob/Icon-Small.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
Resources/VoiceMob/Icon-Small@2x.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
@ -8,8 +8,6 @@
|
|||||||
<string>${PRODUCT_NAME}</string>
|
<string>${PRODUCT_NAME}</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleIconFile</key>
|
|
||||||
<string>VoiceMob.png</string>
|
|
||||||
<key>UIPrerenderedIcon</key>
|
<key>UIPrerenderedIcon</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
|
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 4.1 KiB |
@ -12,6 +12,7 @@
|
|||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<integer value="5"/>
|
||||||
<integer value="3"/>
|
<integer value="3"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||||
@ -40,13 +41,126 @@
|
|||||||
<object class="IBUIView" id="355112807">
|
<object class="IBUIView" id="355112807">
|
||||||
<reference key="NSNextResponder"/>
|
<reference key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">274</int>
|
<int key="NSvFlags">274</int>
|
||||||
<string key="NSFrameSize">{322, 369}</string>
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
<reference key="NSSuperview"/>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<object class="IBUIView" id="545711008">
|
||||||
|
<reference key="NSNextResponder" ref="355112807"/>
|
||||||
|
<int key="NSvFlags">266</int>
|
||||||
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<object class="IBUITextView" id="826280752">
|
||||||
|
<reference key="NSNextResponder" ref="545711008"/>
|
||||||
|
<int key="NSvFlags">274</int>
|
||||||
|
<string key="NSFrame">{{7, 8}, {238, 26}}</string>
|
||||||
|
<reference key="NSSuperview" ref="545711008"/>
|
||||||
|
<object class="NSColor" key="IBUIBackgroundColor" id="136061801">
|
||||||
|
<int key="NSColorSpace">1</int>
|
||||||
|
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||||
|
</object>
|
||||||
|
<bool key="IBUIClipsSubviews">YES</bool>
|
||||||
|
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
<bool key="IBUIScrollEnabled">NO</bool>
|
||||||
|
<string key="IBUIText"/>
|
||||||
|
<object class="IBUITextInputTraits" key="IBUITextInputTraits">
|
||||||
|
<int key="IBUIAutocapitalizationType">2</int>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="IBUIButton" id="853973562">
|
||||||
|
<reference key="NSNextResponder" ref="545711008"/>
|
||||||
|
<int key="NSvFlags">265</int>
|
||||||
|
<string key="NSFrame">{{252, 8}, {61, 26}}</string>
|
||||||
|
<reference key="NSSuperview" ref="545711008"/>
|
||||||
<object class="NSColor" key="IBUIBackgroundColor">
|
<object class="NSColor" key="IBUIBackgroundColor">
|
||||||
|
<int key="NSColorSpace">1</int>
|
||||||
|
<bytes key="NSRGB">MC4xMTc2NDcwNTkzIDAuMzgwMzkyMTY0IDAuNzg0MzEzNzM4MwA</bytes>
|
||||||
|
</object>
|
||||||
|
<bool key="IBUIOpaque">NO</bool>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||||
|
<int key="IBUIContentVerticalAlignment">0</int>
|
||||||
|
<object class="NSFont" key="IBUIFont">
|
||||||
|
<string key="NSName">Helvetica-Bold</string>
|
||||||
|
<double key="NSSize">16</double>
|
||||||
|
<int key="NSfFlags">16</int>
|
||||||
|
</object>
|
||||||
|
<string key="IBUINormalTitle">Send</string>
|
||||||
|
<object class="NSColor" key="IBUIHighlightedTitleColor" id="338535607">
|
||||||
<int key="NSColorSpace">3</int>
|
<int key="NSColorSpace">3</int>
|
||||||
<bytes key="NSWhite">MQA</bytes>
|
<bytes key="NSWhite">MQA</bytes>
|
||||||
</object>
|
</object>
|
||||||
|
<reference key="IBUINormalTitleColor" ref="338535607"/>
|
||||||
|
<object class="NSColor" key="IBUINormalTitleShadowColor">
|
||||||
|
<int key="NSColorSpace">3</int>
|
||||||
|
<bytes key="NSWhite">MCAwAA</bytes>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="IBUILabel" id="1055111431">
|
||||||
|
<reference key="NSNextResponder" ref="545711008"/>
|
||||||
|
<int key="NSvFlags">292</int>
|
||||||
|
<string key="NSFrame">{{265, -21}, {29, 21}}</string>
|
||||||
|
<reference key="NSSuperview" ref="545711008"/>
|
||||||
|
<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="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
<string key="IBUIText">160</string>
|
||||||
|
<object class="NSFont" key="IBUIFont">
|
||||||
|
<string key="NSName">Helvetica</string>
|
||||||
|
<double key="NSSize">17</double>
|
||||||
|
<int key="NSfFlags">16</int>
|
||||||
|
</object>
|
||||||
|
<object class="NSColor" key="IBUITextColor">
|
||||||
|
<int key="NSColorSpace">3</int>
|
||||||
|
<bytes key="NSWhite">MC4zMzMzMzMzNDMzAA</bytes>
|
||||||
|
</object>
|
||||||
|
<nil key="IBUIHighlightedColor"/>
|
||||||
|
<int key="IBUIBaselineAdjustment">1</int>
|
||||||
|
<float key="IBUIMinimumFontSize">10</float>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<string key="NSFrame">{{0, 329}, {320, 40}}</string>
|
||||||
|
<reference key="NSSuperview" ref="355112807"/>
|
||||||
|
<object class="NSColor" key="IBUIBackgroundColor">
|
||||||
|
<int key="NSColorSpace">3</int>
|
||||||
|
<bytes key="NSWhite">MQA</bytes>
|
||||||
|
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||||
|
<int key="NSID">2</int>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
</object>
|
||||||
|
<object class="IBUIWebView" id="394150452">
|
||||||
|
<reference key="NSNextResponder" ref="355112807"/>
|
||||||
|
<int key="NSvFlags">292</int>
|
||||||
|
<string key="NSFrameSize">{320, 329}</string>
|
||||||
|
<reference key="NSSuperview" ref="355112807"/>
|
||||||
|
<reference key="IBUIBackgroundColor" ref="136061801"/>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
<int key="IBUIDataDetectorTypes">1</int>
|
||||||
|
<bool key="IBUIDetectsPhoneNumbers">YES</bool>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<string key="NSFrameSize">{320, 369}</string>
|
||||||
|
<reference key="NSSuperview"/>
|
||||||
|
<reference key="IBUIBackgroundColor" ref="338535607"/>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
</object>
|
||||||
|
<object class="IBUITableView" id="908766037">
|
||||||
|
<reference key="NSNextResponder"/>
|
||||||
|
<int key="NSvFlags">274</int>
|
||||||
|
<string key="NSFrameSize">{320, 369}</string>
|
||||||
|
<reference key="NSSuperview"/>
|
||||||
|
<reference key="IBUIBackgroundColor" ref="338535607"/>
|
||||||
|
<bool key="IBUIClipsSubviews">YES</bool>
|
||||||
|
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||||
|
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||||
|
<int key="IBUISeparatorStyle">1</int>
|
||||||
|
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||||
|
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||||
|
<float key="IBUIRowHeight">60</float>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||||
@ -54,11 +168,11 @@
|
|||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="IBConnectionRecord">
|
<object class="IBConnectionRecord">
|
||||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||||
<string key="label">view</string>
|
<string key="label">messageView</string>
|
||||||
<reference key="source" ref="372490531"/>
|
<reference key="source" ref="372490531"/>
|
||||||
<reference key="destination" ref="355112807"/>
|
<reference key="destination" ref="355112807"/>
|
||||||
</object>
|
</object>
|
||||||
<int key="connectionID">4</int>
|
<int key="connectionID">14</int>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||||
@ -84,7 +198,50 @@
|
|||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">3</int>
|
<int key="objectID">3</int>
|
||||||
<reference key="object" ref="355112807"/>
|
<reference key="object" ref="355112807"/>
|
||||||
|
<object class="NSMutableArray" key="children">
|
||||||
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<reference ref="545711008"/>
|
||||||
|
<reference ref="394150452"/>
|
||||||
|
</object>
|
||||||
<reference key="parent" ref="0"/>
|
<reference key="parent" ref="0"/>
|
||||||
|
<string key="objectName">Message View</string>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">5</int>
|
||||||
|
<reference key="object" ref="908766037"/>
|
||||||
|
<reference key="parent" ref="0"/>
|
||||||
|
<string key="objectName">SMS Messages</string>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">15</int>
|
||||||
|
<reference key="object" ref="545711008"/>
|
||||||
|
<object class="NSMutableArray" key="children">
|
||||||
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<reference ref="826280752"/>
|
||||||
|
<reference ref="853973562"/>
|
||||||
|
<reference ref="1055111431"/>
|
||||||
|
</object>
|
||||||
|
<reference key="parent" ref="355112807"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">12</int>
|
||||||
|
<reference key="object" ref="826280752"/>
|
||||||
|
<reference key="parent" ref="545711008"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">16</int>
|
||||||
|
<reference key="object" ref="853973562"/>
|
||||||
|
<reference key="parent" ref="545711008"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">19</int>
|
||||||
|
<reference key="object" ref="394150452"/>
|
||||||
|
<reference key="parent" ref="355112807"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">20</int>
|
||||||
|
<reference key="object" ref="1055111431"/>
|
||||||
|
<reference key="parent" ref="545711008"/>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
@ -94,14 +251,34 @@
|
|||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<string>-1.CustomClassName</string>
|
<string>-1.CustomClassName</string>
|
||||||
<string>-2.CustomClassName</string>
|
<string>-2.CustomClassName</string>
|
||||||
|
<string>12.CustomClassName</string>
|
||||||
|
<string>12.IBPluginDependency</string>
|
||||||
|
<string>15.CustomClassName</string>
|
||||||
|
<string>15.IBPluginDependency</string>
|
||||||
|
<string>16.CustomClassName</string>
|
||||||
|
<string>16.IBPluginDependency</string>
|
||||||
|
<string>19.IBPluginDependency</string>
|
||||||
|
<string>20.IBPluginDependency</string>
|
||||||
<string>3.IBEditorWindowLastContentRect</string>
|
<string>3.IBEditorWindowLastContentRect</string>
|
||||||
<string>3.IBPluginDependency</string>
|
<string>3.IBPluginDependency</string>
|
||||||
|
<string>5.IBEditorWindowLastContentRect</string>
|
||||||
|
<string>5.IBPluginDependency</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<string>MGMVoiceSMS</string>
|
<string>MGMVoiceSMS</string>
|
||||||
<string>UIResponder</string>
|
<string>UIResponder</string>
|
||||||
<string>{{525, 191}, {322, 369}}</string>
|
<string>MGMSMSTextView</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
|
<string>MGMSMSBottomView</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
|
<string>MGMGradientButton</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
|
<string>{{525, 192}, {320, 369}}</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
|
<string>{{177, 335}, {320, 369}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
@ -121,22 +298,46 @@
|
|||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<nil key="sourceID"/>
|
<nil key="sourceID"/>
|
||||||
<int key="maxID">4</int>
|
<int key="maxID">20</int>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">MGMGradientButton</string>
|
||||||
|
<string key="superclassName">UIButton</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBProjectSource</string>
|
||||||
|
<string key="minorKey">Classes/VoiceMob/Views/MGMGradientButton.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">MGMSMSBottomView</string>
|
||||||
|
<string key="superclassName">UIView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBProjectSource</string>
|
||||||
|
<string key="minorKey">Classes/VoiceMob/Views/MGMSMSBottomView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">MGMSMSTextView</string>
|
||||||
|
<string key="superclassName">UITextView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBProjectSource</string>
|
||||||
|
<string key="minorKey">Classes/VoiceMob/Views/MGMSMSTextView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="IBPartialClassDescription">
|
<object class="IBPartialClassDescription">
|
||||||
<string key="className">MGMVoiceSMS</string>
|
<string key="className">MGMVoiceSMS</string>
|
||||||
<string key="superclassName">NSObject</string>
|
<string key="superclassName">NSObject</string>
|
||||||
<object class="NSMutableDictionary" key="outlets">
|
<object class="NSMutableDictionary" key="outlets">
|
||||||
<string key="NS.key.0">view</string>
|
<string key="NS.key.0">messageView</string>
|
||||||
<string key="NS.object.0">UIView</string>
|
<string key="NS.object.0">UIView</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||||
<string key="NS.key.0">view</string>
|
<string key="NS.key.0">messageView</string>
|
||||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||||
<string key="name">view</string>
|
<string key="name">messageView</string>
|
||||||
<string key="candidateClassName">UIView</string>
|
<string key="candidateClassName">UIView</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
@ -239,11 +440,59 @@
|
|||||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||||
</object>
|
</object>
|
||||||
</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">
|
<object class="IBPartialClassDescription">
|
||||||
<string key="className">UIResponder</string>
|
<string key="className">UIResponder</string>
|
||||||
<string key="superclassName">NSObject</string>
|
<string key="superclassName">NSObject</string>
|
||||||
<reference key="sourceIdentifier" ref="86538169"/>
|
<reference key="sourceIdentifier" ref="86538169"/>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">UIScrollView</string>
|
||||||
|
<string key="superclassName">UIView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBFrameworkSource</string>
|
||||||
|
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">UITableView</string>
|
||||||
|
<string key="superclassName">UIScrollView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBFrameworkSource</string>
|
||||||
|
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">UITextView</string>
|
||||||
|
<string key="superclassName">UIScrollView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBFrameworkSource</string>
|
||||||
|
<string key="minorKey">UIKit.framework/Headers/UITextView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="IBPartialClassDescription">
|
<object class="IBPartialClassDescription">
|
||||||
<string key="className">UIView</string>
|
<string key="className">UIView</string>
|
||||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
@ -259,6 +508,14 @@
|
|||||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">UIWebView</string>
|
||||||
|
<string key="superclassName">UIView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBFrameworkSource</string>
|
||||||
|
<string key="minorKey">UIKit.framework/Headers/UIWebView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<int key="IBDocument.localizationMode">0</int>
|
<int key="IBDocument.localizationMode">0</int>
|
||||||
|
BIN
Resources/VoiceMob/icon.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
Resources/VoiceMob/icon@2x.png
Normal file
After Width: | Height: | Size: 18 KiB |
@ -63,30 +63,30 @@
|
|||||||
2A487CBC124BE1E600E8EE4E /* MGMXMLDTDNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A487C9A124BE0AB00E8EE4E /* MGMXMLDTDNode.m */; };
|
2A487CBC124BE1E600E8EE4E /* MGMXMLDTDNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A487C9A124BE0AB00E8EE4E /* MGMXMLDTDNode.m */; };
|
||||||
2A487CBD124BE1E600E8EE4E /* MGMXMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A487C9C124BE0AB00E8EE4E /* MGMXMLElement.m */; };
|
2A487CBD124BE1E600E8EE4E /* MGMXMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A487C9C124BE0AB00E8EE4E /* MGMXMLElement.m */; };
|
||||||
2A487CBE124BE1E600E8EE4E /* MGMXMLNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A487C9E124BE0AB00E8EE4E /* MGMXMLNode.m */; };
|
2A487CBE124BE1E600E8EE4E /* MGMXMLNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A487C9E124BE0AB00E8EE4E /* MGMXMLNode.m */; };
|
||||||
2A487CC1124BE22E00E8EE4E /* MGMAddressBook.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171A51245676A00D119B5 /* MGMAddressBook.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC1124BE22E00E8EE4E /* MGMAddressBook.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171A51245676A00D119B5 /* MGMAddressBook.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC2124BE22E00E8EE4E /* MGMContacts.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171A71245676A00D119B5 /* MGMContacts.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC2124BE22E00E8EE4E /* MGMContacts.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171A71245676A00D119B5 /* MGMContacts.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC3124BE22E00E8EE4E /* MGMContactsProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171A91245676A00D119B5 /* MGMContactsProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC3124BE22E00E8EE4E /* MGMContactsProtocol.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171A91245676A00D119B5 /* MGMContactsProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC4124BE22E00E8EE4E /* MGMGoogleContacts.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171AB1245676A00D119B5 /* MGMGoogleContacts.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC4124BE22E00E8EE4E /* MGMGoogleContacts.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171AB1245676A00D119B5 /* MGMGoogleContacts.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC5124BE22E00E8EE4E /* MGMAddons.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171AD1245676A00D119B5 /* MGMAddons.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC5124BE22E00E8EE4E /* MGMAddons.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171AD1245676A00D119B5 /* MGMAddons.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC6124BE22E00E8EE4E /* MGMInbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171AF1245676A00D119B5 /* MGMInbox.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC6124BE22E00E8EE4E /* MGMInbox.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171AF1245676A00D119B5 /* MGMInbox.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC7124BE22E00E8EE4E /* MGMInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B11245676A00D119B5 /* MGMInstance.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC7124BE22E00E8EE4E /* MGMInstance.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B11245676A00D119B5 /* MGMInstance.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC8124BE22E00E8EE4E /* MGMThemeManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B31245676A00D119B5 /* MGMThemeManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC8124BE22E00E8EE4E /* MGMThemeManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B31245676A00D119B5 /* MGMThemeManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CC9124BE22E00E8EE4E /* MGMSIP.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B61245676A00D119B5 /* MGMSIP.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CC9124BE22E00E8EE4E /* MGMSIP.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B61245676A00D119B5 /* MGMSIP.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CCA124BE22E00E8EE4E /* MGMSIPAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B81245676A00D119B5 /* MGMSIPAccount.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CCA124BE22E00E8EE4E /* MGMSIPAccount.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171B81245676A00D119B5 /* MGMSIPAccount.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CCB124BE22E00E8EE4E /* MGMSIPCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BA1245676A00D119B5 /* MGMSIPCall.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CCB124BE22E00E8EE4E /* MGMSIPCall.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BA1245676A00D119B5 /* MGMSIPCall.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CCC124BE22E00E8EE4E /* MGMSIPURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BC1245676A00D119B5 /* MGMSIPURL.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CCC124BE22E00E8EE4E /* MGMSIPURL.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BC1245676A00D119B5 /* MGMSIPURL.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CCD124BE22E00E8EE4E /* MGMXML.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487CAE124BE0C400E8EE4E /* MGMXML.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CCD124BE22E00E8EE4E /* MGMXML.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487CAE124BE0C400E8EE4E /* MGMXML.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CCE124BE22E00E8EE4E /* MGMXMLAddons.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C93124BE0AB00E8EE4E /* MGMXMLAddons.h */; };
|
2A487CCE124BE22E00E8EE4E /* MGMXMLAddons.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C93124BE0AB00E8EE4E /* MGMXMLAddons.h */; };
|
||||||
2A487CCF124BE22E00E8EE4E /* MGMXMLDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C95124BE0AB00E8EE4E /* MGMXMLDocument.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CCF124BE22E00E8EE4E /* MGMXMLDocument.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C95124BE0AB00E8EE4E /* MGMXMLDocument.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CD0124BE22E00E8EE4E /* MGMXMLDTD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C97124BE0AB00E8EE4E /* MGMXMLDTD.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CD0124BE22E00E8EE4E /* MGMXMLDTD.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C97124BE0AB00E8EE4E /* MGMXMLDTD.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CD1124BE22E00E8EE4E /* MGMXMLDTDNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C99124BE0AB00E8EE4E /* MGMXMLDTDNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CD1124BE22E00E8EE4E /* MGMXMLDTDNode.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C99124BE0AB00E8EE4E /* MGMXMLDTDNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CD2124BE22E00E8EE4E /* MGMXMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9B124BE0AB00E8EE4E /* MGMXMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CD2124BE22E00E8EE4E /* MGMXMLElement.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9B124BE0AB00E8EE4E /* MGMXMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CD3124BE22E00E8EE4E /* MGMXMLNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9D124BE0AB00E8EE4E /* MGMXMLNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CD3124BE22E00E8EE4E /* MGMXMLNode.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9D124BE0AB00E8EE4E /* MGMXMLNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CD4124BE22E00E8EE4E /* MGMXMLNodeOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9F124BE0AB00E8EE4E /* MGMXMLNodeOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CD4124BE22E00E8EE4E /* MGMXMLNodeOptions.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9F124BE0AB00E8EE4E /* MGMXMLNodeOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487CD5124BE22E00E8EE4E /* VoiceBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BE1245676A00D119B5 /* VoiceBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A487CD5124BE22E00E8EE4E /* VoiceBase.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BE1245676A00D119B5 /* VoiceBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A487D0D124BE40700E8EE4E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A487CF0124BE3E600E8EE4E /* libxml2.dylib */; };
|
2A487D0D124BE40700E8EE4E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A487CF0124BE3E600E8EE4E /* libxml2.dylib */; };
|
||||||
2A487D0F124BE41B00E8EE4E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A487D0E124BE41B00E8EE4E /* libxml2.dylib */; };
|
2A487D0F124BE41B00E8EE4E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A487D0E124BE41B00E8EE4E /* libxml2.dylib */; };
|
||||||
2A77133C124C4CE200D68042 /* MGMSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A77133A124C4CE200D68042 /* MGMSound.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2A77133C124C4CE200D68042 /* MGMSound.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A77133A124C4CE200D68042 /* MGMSound.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
2A77133D124C4CE200D68042 /* MGMSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A77133B124C4CE200D68042 /* MGMSound.m */; };
|
2A77133D124C4CE200D68042 /* MGMSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A77133B124C4CE200D68042 /* MGMSound.m */; };
|
||||||
2A771340124C4D2800D68042 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A77133F124C4D2800D68042 /* AudioToolbox.framework */; };
|
2A771340124C4D2800D68042 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A77133F124C4D2800D68042 /* AudioToolbox.framework */; };
|
||||||
2A771344124C4F9A00D68042 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A771343124C4F9A00D68042 /* AVFoundation.framework */; };
|
2A771344124C4F9A00D68042 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A771343124C4F9A00D68042 /* AVFoundation.framework */; };
|
||||||
@ -110,6 +110,41 @@
|
|||||||
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
|
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
2AAFDB9C12569EE200475472 /* Copy Headers */ = {
|
||||||
|
isa = PBXCopyFilesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
dstPath = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/usr/local/include/VoiceBase";
|
||||||
|
dstSubfolderSpec = 0;
|
||||||
|
files = (
|
||||||
|
2A487CC1124BE22E00E8EE4E /* MGMAddressBook.h in Copy Headers */,
|
||||||
|
2A487CC2124BE22E00E8EE4E /* MGMContacts.h in Copy Headers */,
|
||||||
|
2A487CC3124BE22E00E8EE4E /* MGMContactsProtocol.h in Copy Headers */,
|
||||||
|
2A487CC4124BE22E00E8EE4E /* MGMGoogleContacts.h in Copy Headers */,
|
||||||
|
2A487CC5124BE22E00E8EE4E /* MGMAddons.h in Copy Headers */,
|
||||||
|
2A487CC6124BE22E00E8EE4E /* MGMInbox.h in Copy Headers */,
|
||||||
|
2A487CC7124BE22E00E8EE4E /* MGMInstance.h in Copy Headers */,
|
||||||
|
2A487CC8124BE22E00E8EE4E /* MGMThemeManager.h in Copy Headers */,
|
||||||
|
2A487CCD124BE22E00E8EE4E /* MGMXML.h in Copy Headers */,
|
||||||
|
2A487CCE124BE22E00E8EE4E /* MGMXMLAddons.h in Copy Headers */,
|
||||||
|
2A487CCF124BE22E00E8EE4E /* MGMXMLDocument.h in Copy Headers */,
|
||||||
|
2A487CD0124BE22E00E8EE4E /* MGMXMLDTD.h in Copy Headers */,
|
||||||
|
2A487CD1124BE22E00E8EE4E /* MGMXMLDTDNode.h in Copy Headers */,
|
||||||
|
2A487CD2124BE22E00E8EE4E /* MGMXMLElement.h in Copy Headers */,
|
||||||
|
2A487CD3124BE22E00E8EE4E /* MGMXMLNode.h in Copy Headers */,
|
||||||
|
2A487CD4124BE22E00E8EE4E /* MGMXMLNodeOptions.h in Copy Headers */,
|
||||||
|
2A487CC9124BE22E00E8EE4E /* MGMSIP.h in Copy Headers */,
|
||||||
|
2A487CCA124BE22E00E8EE4E /* MGMSIPAccount.h in Copy Headers */,
|
||||||
|
2A487CCB124BE22E00E8EE4E /* MGMSIPCall.h in Copy Headers */,
|
||||||
|
2A487CCC124BE22E00E8EE4E /* MGMSIPURL.h in Copy Headers */,
|
||||||
|
2A487CD5124BE22E00E8EE4E /* VoiceBase.h in Copy Headers */,
|
||||||
|
2A77133C124C4CE200D68042 /* MGMSound.h in Copy Headers */,
|
||||||
|
);
|
||||||
|
name = "Copy Headers";
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||||
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||||
@ -413,35 +448,6 @@
|
|||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXHeadersBuildPhase section */
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
2AE6EE4F1249DA0B0006B5AC /* Headers */ = {
|
|
||||||
isa = PBXHeadersBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
2A487CC1124BE22E00E8EE4E /* MGMAddressBook.h in Headers */,
|
|
||||||
2A487CC2124BE22E00E8EE4E /* MGMContacts.h in Headers */,
|
|
||||||
2A487CC3124BE22E00E8EE4E /* MGMContactsProtocol.h in Headers */,
|
|
||||||
2A487CC4124BE22E00E8EE4E /* MGMGoogleContacts.h in Headers */,
|
|
||||||
2A487CC5124BE22E00E8EE4E /* MGMAddons.h in Headers */,
|
|
||||||
2A487CC6124BE22E00E8EE4E /* MGMInbox.h in Headers */,
|
|
||||||
2A487CC7124BE22E00E8EE4E /* MGMInstance.h in Headers */,
|
|
||||||
2A487CC8124BE22E00E8EE4E /* MGMThemeManager.h in Headers */,
|
|
||||||
2A487CCD124BE22E00E8EE4E /* MGMXML.h in Headers */,
|
|
||||||
2A487CCE124BE22E00E8EE4E /* MGMXMLAddons.h in Headers */,
|
|
||||||
2A487CCF124BE22E00E8EE4E /* MGMXMLDocument.h in Headers */,
|
|
||||||
2A487CD0124BE22E00E8EE4E /* MGMXMLDTD.h in Headers */,
|
|
||||||
2A487CD1124BE22E00E8EE4E /* MGMXMLDTDNode.h in Headers */,
|
|
||||||
2A487CD2124BE22E00E8EE4E /* MGMXMLElement.h in Headers */,
|
|
||||||
2A487CD3124BE22E00E8EE4E /* MGMXMLNode.h in Headers */,
|
|
||||||
2A487CD4124BE22E00E8EE4E /* MGMXMLNodeOptions.h in Headers */,
|
|
||||||
2A487CC9124BE22E00E8EE4E /* MGMSIP.h in Headers */,
|
|
||||||
2A487CCA124BE22E00E8EE4E /* MGMSIPAccount.h in Headers */,
|
|
||||||
2A487CCB124BE22E00E8EE4E /* MGMSIPCall.h in Headers */,
|
|
||||||
2A487CCC124BE22E00E8EE4E /* MGMSIPURL.h in Headers */,
|
|
||||||
2A487CD5124BE22E00E8EE4E /* VoiceBase.h in Headers */,
|
|
||||||
2A77133C124C4CE200D68042 /* MGMSound.h in Headers */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
8DC2EF500486A6940098B216 /* Headers */ = {
|
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||||
isa = PBXHeadersBuildPhase;
|
isa = PBXHeadersBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -478,7 +484,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 2AE6EE611249DA770006B5AC /* Build configuration list for PBXNativeTarget "VoiceBase Touch" */;
|
buildConfigurationList = 2AE6EE611249DA770006B5AC /* Build configuration list for PBXNativeTarget "VoiceBase Touch" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
2AE6EE4F1249DA0B0006B5AC /* Headers */,
|
2AAFDB9C12569EE200475472 /* Copy Headers */,
|
||||||
2AE6EE501249DA0B0006B5AC /* Sources */,
|
2AE6EE501249DA0B0006B5AC /* Sources */,
|
||||||
2AE6EE511249DA0B0006B5AC /* Frameworks */,
|
2AE6EE511249DA0B0006B5AC /* Frameworks */,
|
||||||
);
|
);
|
||||||
@ -1000,7 +1006,9 @@
|
|||||||
"-all_load",
|
"-all_load",
|
||||||
);
|
);
|
||||||
PREBINDING = NO;
|
PREBINDING = NO;
|
||||||
|
PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/VoiceBase;
|
||||||
PRODUCT_NAME = VoiceBase;
|
PRODUCT_NAME = VoiceBase;
|
||||||
|
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/VoiceBase;
|
||||||
SDKROOT = iphoneos4.0;
|
SDKROOT = iphoneos4.0;
|
||||||
};
|
};
|
||||||
name = "Release SIP";
|
name = "Release SIP";
|
||||||
|
10063
VoiceMob.ai
BIN
VoiceMob.png
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 103 KiB |
@ -28,7 +28,6 @@
|
|||||||
2A1E9B0F124DA4CB00D3BEAE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */; };
|
2A1E9B0F124DA4CB00D3BEAE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */; };
|
||||||
2A1E9B13124DA4D700D3BEAE /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */; };
|
2A1E9B13124DA4D700D3BEAE /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */; };
|
||||||
2A1E9B45124DA63C00D3BEAE /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */; };
|
2A1E9B45124DA63C00D3BEAE /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */; };
|
||||||
2A1E9BA6124DB1AE00D3BEAE /* VoiceMob.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */; };
|
|
||||||
2A316C3412529555009998B6 /* MGMSIPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316C3212529555009998B6 /* MGMSIPUser.m */; };
|
2A316C3412529555009998B6 /* MGMSIPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316C3212529555009998B6 /* MGMSIPUser.m */; };
|
||||||
2A316C3712529567009998B6 /* MGMVoiceUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316C3612529567009998B6 /* MGMVoiceUser.m */; };
|
2A316C3712529567009998B6 /* MGMVoiceUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316C3612529567009998B6 /* MGMVoiceUser.m */; };
|
||||||
2A316C49125296A5009998B6 /* SIPUser_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A316C46125296A5009998B6 /* SIPUser_iPhone.xib */; };
|
2A316C49125296A5009998B6 /* SIPUser_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A316C46125296A5009998B6 /* SIPUser_iPhone.xib */; };
|
||||||
@ -51,6 +50,14 @@
|
|||||||
2A906BFD1255231F0008461E /* VoiceSMS_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A906BFC1255231F0008461E /* VoiceSMS_iPhone.xib */; };
|
2A906BFD1255231F0008461E /* VoiceSMS_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A906BFC1255231F0008461E /* VoiceSMS_iPhone.xib */; };
|
||||||
2A906BFF1255232E0008461E /* VoiceInbox_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A906BFE1255232E0008461E /* VoiceInbox_iPhone.xib */; };
|
2A906BFF1255232E0008461E /* VoiceInbox_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A906BFE1255232E0008461E /* VoiceInbox_iPhone.xib */; };
|
||||||
2A906CBA12554DA40008461E /* MGMInboxMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A906CB912554DA40008461E /* MGMInboxMessageView.m */; };
|
2A906CBA12554DA40008461E /* MGMInboxMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A906CB912554DA40008461E /* MGMInboxMessageView.m */; };
|
||||||
|
2A98E8111256324400D37C0B /* MGMSMSTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A98E8101256324400D37C0B /* MGMSMSTextView.m */; };
|
||||||
|
2A98EAF412567FAF00D37C0B /* MGMPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A98EAF312567FAF00D37C0B /* MGMPath.m */; };
|
||||||
|
2A98EBF81256903700D37C0B /* MGMSMSBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A98EBF71256903700D37C0B /* MGMSMSBottomView.m */; };
|
||||||
|
2AAFDBFA1256A63300475472 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = 2AAFDBF61256A63300475472 /* Icon-Small.png */; };
|
||||||
|
2AAFDBFB1256A63300475472 /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2AAFDBF71256A63300475472 /* Icon-Small@2x.png */; };
|
||||||
|
2AAFDBFC1256A63300475472 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 2AAFDBF81256A63300475472 /* icon.png */; };
|
||||||
|
2AAFDBFD1256A63300475472 /* icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2AAFDBF91256A63300475472 /* icon@2x.png */; };
|
||||||
|
2AAFDC051256ABF600475472 /* MGMGradientButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AAFDC041256ABF600475472 /* MGMGradientButton.m */; };
|
||||||
2ABD37AE1250D448004AAE00 /* AccountController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */; };
|
2ABD37AE1250D448004AAE00 /* AccountController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */; };
|
||||||
2ABD380412513B26004AAE00 /* MGMAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ABD380312513B26004AAE00 /* MGMAccountController.m */; };
|
2ABD380412513B26004AAE00 /* MGMAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ABD380312513B26004AAE00 /* MGMAccountController.m */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
@ -107,7 +114,6 @@
|
|||||||
2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||||
2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||||
2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
|
2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
|
||||||
2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VoiceMob.png; sourceTree = SOURCE_ROOT; };
|
|
||||||
2A316C3112529555009998B6 /* MGMSIPUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSIPUser.h; sourceTree = "<group>"; };
|
2A316C3112529555009998B6 /* MGMSIPUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSIPUser.h; sourceTree = "<group>"; };
|
||||||
2A316C3212529555009998B6 /* MGMSIPUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSIPUser.m; sourceTree = "<group>"; };
|
2A316C3212529555009998B6 /* MGMSIPUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSIPUser.m; sourceTree = "<group>"; };
|
||||||
2A316C3512529567009998B6 /* MGMVoiceUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMVoiceUser.h; sourceTree = "<group>"; };
|
2A316C3512529567009998B6 /* MGMVoiceUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMVoiceUser.h; sourceTree = "<group>"; };
|
||||||
@ -142,6 +148,18 @@
|
|||||||
2A906BFE1255232E0008461E /* VoiceInbox_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VoiceInbox_iPhone.xib; sourceTree = "<group>"; };
|
2A906BFE1255232E0008461E /* VoiceInbox_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VoiceInbox_iPhone.xib; sourceTree = "<group>"; };
|
||||||
2A906CB812554DA40008461E /* MGMInboxMessageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMInboxMessageView.h; sourceTree = "<group>"; };
|
2A906CB812554DA40008461E /* MGMInboxMessageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMInboxMessageView.h; sourceTree = "<group>"; };
|
||||||
2A906CB912554DA40008461E /* MGMInboxMessageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMInboxMessageView.m; sourceTree = "<group>"; };
|
2A906CB912554DA40008461E /* MGMInboxMessageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMInboxMessageView.m; sourceTree = "<group>"; };
|
||||||
|
2A98E80F1256324400D37C0B /* MGMSMSTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSMSTextView.h; sourceTree = "<group>"; };
|
||||||
|
2A98E8101256324400D37C0B /* MGMSMSTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSMSTextView.m; sourceTree = "<group>"; };
|
||||||
|
2A98EAF212567FAF00D37C0B /* MGMPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMPath.h; sourceTree = "<group>"; };
|
||||||
|
2A98EAF312567FAF00D37C0B /* MGMPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMPath.m; sourceTree = "<group>"; };
|
||||||
|
2A98EBF61256903700D37C0B /* MGMSMSBottomView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSMSBottomView.h; sourceTree = "<group>"; };
|
||||||
|
2A98EBF71256903700D37C0B /* MGMSMSBottomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSMSBottomView.m; sourceTree = "<group>"; };
|
||||||
|
2AAFDBF61256A63300475472 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small.png"; sourceTree = "<group>"; };
|
||||||
|
2AAFDBF71256A63300475472 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small@2x.png"; sourceTree = "<group>"; };
|
||||||
|
2AAFDBF81256A63300475472 /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = "<group>"; };
|
||||||
|
2AAFDBF91256A63300475472 /* icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon@2x.png"; sourceTree = "<group>"; };
|
||||||
|
2AAFDC031256ABF600475472 /* MGMGradientButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMGradientButton.h; sourceTree = "<group>"; };
|
||||||
|
2AAFDC041256ABF600475472 /* MGMGradientButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMGradientButton.m; sourceTree = "<group>"; };
|
||||||
2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountController_iPhone.xib; sourceTree = "<group>"; };
|
2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountController_iPhone.xib; sourceTree = "<group>"; };
|
||||||
2ABD380212513B25004AAE00 /* MGMAccountController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMAccountController.h; sourceTree = "<group>"; };
|
2ABD380212513B25004AAE00 /* MGMAccountController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMAccountController.h; sourceTree = "<group>"; };
|
||||||
2ABD380312513B26004AAE00 /* MGMAccountController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMAccountController.m; sourceTree = "<group>"; };
|
2ABD380312513B26004AAE00 /* MGMAccountController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMAccountController.m; sourceTree = "<group>"; };
|
||||||
@ -231,6 +249,8 @@
|
|||||||
2ABD380312513B26004AAE00 /* MGMAccountController.m */,
|
2ABD380312513B26004AAE00 /* MGMAccountController.m */,
|
||||||
2A354CDA1251830F00454A75 /* MGMAccounts.h */,
|
2A354CDA1251830F00454A75 /* MGMAccounts.h */,
|
||||||
2A354CDB1251830F00454A75 /* MGMAccounts.m */,
|
2A354CDB1251830F00454A75 /* MGMAccounts.m */,
|
||||||
|
2A98EAF212567FAF00D37C0B /* MGMPath.h */,
|
||||||
|
2A98EAF312567FAF00D37C0B /* MGMPath.m */,
|
||||||
2A316C3012529555009998B6 /* SIP */,
|
2A316C3012529555009998B6 /* SIP */,
|
||||||
2A316C3312529555009998B6 /* Voice */,
|
2A316C3312529555009998B6 /* Voice */,
|
||||||
2A316DE41252C8BA009998B6 /* Views */,
|
2A316DE41252C8BA009998B6 /* Views */,
|
||||||
@ -242,7 +262,10 @@
|
|||||||
2A1E97C0124D22DA00D3BEAE /* Resources */ = {
|
2A1E97C0124D22DA00D3BEAE /* Resources */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */,
|
2AAFDBF61256A63300475472 /* Icon-Small.png */,
|
||||||
|
2AAFDBF71256A63300475472 /* Icon-Small@2x.png */,
|
||||||
|
2AAFDBF81256A63300475472 /* icon.png */,
|
||||||
|
2AAFDBF91256A63300475472 /* icon@2x.png */,
|
||||||
2A906A031254D4BB0008461E /* blankicon.png */,
|
2A906A031254D4BB0008461E /* blankicon.png */,
|
||||||
2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */,
|
2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */,
|
||||||
2A1E97C1124D22DA00D3BEAE /* Info.plist */,
|
2A1E97C1124D22DA00D3BEAE /* Info.plist */,
|
||||||
@ -328,6 +351,12 @@
|
|||||||
2A90683F125436120008461E /* MGMContactView.m */,
|
2A90683F125436120008461E /* MGMContactView.m */,
|
||||||
2A906CB812554DA40008461E /* MGMInboxMessageView.h */,
|
2A906CB812554DA40008461E /* MGMInboxMessageView.h */,
|
||||||
2A906CB912554DA40008461E /* MGMInboxMessageView.m */,
|
2A906CB912554DA40008461E /* MGMInboxMessageView.m */,
|
||||||
|
2A98EBF61256903700D37C0B /* MGMSMSBottomView.h */,
|
||||||
|
2A98EBF71256903700D37C0B /* MGMSMSBottomView.m */,
|
||||||
|
2A98E80F1256324400D37C0B /* MGMSMSTextView.h */,
|
||||||
|
2A98E8101256324400D37C0B /* MGMSMSTextView.m */,
|
||||||
|
2AAFDC031256ABF600475472 /* MGMGradientButton.h */,
|
||||||
|
2AAFDC041256ABF600475472 /* MGMGradientButton.m */,
|
||||||
);
|
);
|
||||||
path = Views;
|
path = Views;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -404,7 +433,6 @@
|
|||||||
2A1E99A2124D70A500D3BEAE /* Radio.png in Resources */,
|
2A1E99A2124D70A500D3BEAE /* Radio.png in Resources */,
|
||||||
2A1E99A3124D70A500D3BEAE /* RadioSelected.png in Resources */,
|
2A1E99A3124D70A500D3BEAE /* RadioSelected.png in Resources */,
|
||||||
2A1E9A0F124D827B00D3BEAE /* VoiceMob Setup.png in Resources */,
|
2A1E9A0F124D827B00D3BEAE /* VoiceMob Setup.png in Resources */,
|
||||||
2A1E9BA6124DB1AE00D3BEAE /* VoiceMob.png in Resources */,
|
|
||||||
2ABD37AE1250D448004AAE00 /* AccountController_iPhone.xib in Resources */,
|
2ABD37AE1250D448004AAE00 /* AccountController_iPhone.xib in Resources */,
|
||||||
2A354CD81251820C00454A75 /* Accounts_iPhone.xib in Resources */,
|
2A354CD81251820C00454A75 /* Accounts_iPhone.xib in Resources */,
|
||||||
2A316C49125296A5009998B6 /* SIPUser_iPhone.xib in Resources */,
|
2A316C49125296A5009998B6 /* SIPUser_iPhone.xib in Resources */,
|
||||||
@ -416,6 +444,10 @@
|
|||||||
2A906A041254D4BB0008461E /* blankicon.png in Resources */,
|
2A906A041254D4BB0008461E /* blankicon.png in Resources */,
|
||||||
2A906BFD1255231F0008461E /* VoiceSMS_iPhone.xib in Resources */,
|
2A906BFD1255231F0008461E /* VoiceSMS_iPhone.xib in Resources */,
|
||||||
2A906BFF1255232E0008461E /* VoiceInbox_iPhone.xib in Resources */,
|
2A906BFF1255232E0008461E /* VoiceInbox_iPhone.xib in Resources */,
|
||||||
|
2AAFDBFA1256A63300475472 /* Icon-Small.png in Resources */,
|
||||||
|
2AAFDBFB1256A63300475472 /* Icon-Small@2x.png in Resources */,
|
||||||
|
2AAFDBFC1256A63300475472 /* icon.png in Resources */,
|
||||||
|
2AAFDBFD1256A63300475472 /* icon@2x.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -443,6 +475,10 @@
|
|||||||
2A906BEF125522800008461E /* MGMVoiceSMS.m in Sources */,
|
2A906BEF125522800008461E /* MGMVoiceSMS.m in Sources */,
|
||||||
2A906BF6125522D10008461E /* MGMVoiceInbox.m in Sources */,
|
2A906BF6125522D10008461E /* MGMVoiceInbox.m in Sources */,
|
||||||
2A906CBA12554DA40008461E /* MGMInboxMessageView.m in Sources */,
|
2A906CBA12554DA40008461E /* MGMInboxMessageView.m in Sources */,
|
||||||
|
2A98E8111256324400D37C0B /* MGMSMSTextView.m in Sources */,
|
||||||
|
2A98EAF412567FAF00D37C0B /* MGMPath.m in Sources */,
|
||||||
|
2A98EBF81256903700D37C0B /* MGMSMSBottomView.m in Sources */,
|
||||||
|
2AAFDC051256ABF600475472 /* MGMGradientButton.m in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|