diff --git a/Classes/HistoryDetailsViewController.xib b/Classes/HistoryDetailsViewController.xib
index 7deedb7e5..6e340bd86 100644
--- a/Classes/HistoryDetailsViewController.xib
+++ b/Classes/HistoryDetailsViewController.xib
@@ -3,19 +3,19 @@
1296
11E53
- 2182
+ 2549
1138.47
569.00
+ IBProxyObject
IBUIButton
IBUIImageView
- IBUIView
IBUILabel
- IBProxyObject
+ IBUIView
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
@@ -53,7 +53,7 @@
IBCocoaTouchFramework
diff --git a/Classes/LinphoneUI/UILinphone.h b/Classes/LinphoneUI/UILinphone.h
index 42fc6c2ba..8b84d01f5 100644
--- a/Classes/LinphoneUI/UILinphone.h
+++ b/Classes/LinphoneUI/UILinphone.h
@@ -20,6 +20,9 @@
#ifndef UILINPHONE_H
#define UILINPHONE_H
+
+#define LINPHONE_MAIN_COLOR [UIColor colorWithRed:207.0f/255.0f green:76.0f/255.0f blue:41.0f/255.0f alpha:1.0f]
#define LINPHONE_TABLE_CELL_BACKGROUND_COLOR [UIColor colorWithRed:207.0f/255.0f green:76.0f/255.0f blue:41.0f/255.0f alpha:1.0f]
+
#endif
diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m
index 69f5085d6..6aa413b11 100644
--- a/Classes/SettingsViewController.m
+++ b/Classes/SettingsViewController.m
@@ -19,6 +19,105 @@
#import "SettingsViewController.h"
#import "LinphoneManager.h"
+#import "UILinphone.h"
+
+static void removeTableBackground(UIView* view) {
+ if([view isKindOfClass:[UITableView class]]) {
+ [view setBackgroundColor:[UIColor clearColor]];
+ }
+ for(UIView *subview in [view subviews]) {
+ removeTableBackground(subview);
+ }
+}
+
+@interface UINavigationBarEx: UINavigationBar {
+
+}
+@end
+
+@implementation UINavigationBarEx
+
+
+#pragma mark - Lifecycle Functions
+
+- (void)initUINavigationBarEx {
+ [self setTintColor:LINPHONE_MAIN_COLOR];
+}
+
+- (id)init {
+ self = [super init];
+ if (self) {
+ [self initUINavigationBarEx];
+ }
+ return self;
+}
+
+- (id)initWithCoder:(NSCoder *)aDecoder {
+ self = [super initWithCoder:aDecoder];
+ if (self) {
+ [self initUINavigationBarEx];
+ }
+ return self;
+}
+
+- (id)initWithFrame:(CGRect)frame {
+ self = [super initWithFrame:frame];
+ if (self) {
+ [self initUINavigationBarEx];
+ }
+ return self;
+}
+
+- (void)drawRect:(CGRect)rect {
+ UIImage *img = [UIImage imageNamed:@"settings_bar_background.png"];
+ [img drawInRect:rect];
+}
+
+@end
+
+@interface UINavigationControllerEx : UINavigationController
+
+@end
+
+@implementation UINavigationControllerEx
+
+- (id)initWithRootViewController:(UIViewController *)rootViewController {
+ removeTableBackground(rootViewController.view);
+ return [super initWithRootViewController:rootViewController];
+}
+
+- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
+ removeTableBackground(viewController.view);
+
+ UILabel *labelTitleView = [[UILabel alloc] init];
+ labelTitleView.backgroundColor = [UIColor clearColor];
+ labelTitleView.textColor = [UIColor colorWithRed:0x41/255.0f green:0x48/255.0f blue:0x4f/255.0f alpha:1.0];
+ labelTitleView.shadowColor = [UIColor colorWithWhite:1.0 alpha:0.5];
+ labelTitleView.font = [UIFont boldSystemFontOfSize:20];
+ labelTitleView.shadowOffset = CGSizeMake(0,1);
+ labelTitleView.textAlignment = UITextAlignmentCenter;
+ labelTitleView.text = viewController.navigationItem.title;
+ [labelTitleView sizeToFit];
+ viewController.navigationItem.titleView = labelTitleView;
+
+ [super pushViewController:viewController animated:animated];
+}
+
+- (void)setViewControllers:(NSArray *)viewControllers {
+ for(UIViewController *controller in viewControllers) {
+ removeTableBackground(controller.view);
+ }
+ [super setViewControllers:viewControllers];
+}
+
+- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated {
+ for(UIViewController *controller in viewControllers) {
+ removeTableBackground(controller.view);
+ }
+ [super setViewControllers:viewControllers animated:animated];
+}
+
+@end
@implementation SettingsViewController
@@ -59,17 +158,6 @@ static UICompositeViewDescription *compositeDescription = nil;
}
-#pragma mark -
-
-+ (void)removeBackground:(UIView*)view {
- if([view isKindOfClass:[UITableView class]]) {
- [view setBackgroundColor:[UIColor clearColor]];
- }
- for(UIView *subview in [view subviews]) {
- [SettingsViewController removeBackground:subview];
- }
-}
-
#pragma mark - ViewController Functions
- (void)viewDidLoad {
@@ -82,8 +170,8 @@ static UICompositeViewDescription *compositeDescription = nil;
settingsController.settingsStore = [[LinphoneManager instance] settingsStore];
navigationController.view.frame = self.view.frame;
- [SettingsViewController removeBackground:navigationController.view];
- [SettingsViewController removeBackground:settingsController.view];
+ removeTableBackground(navigationController.view);
+ [navigationController pushViewController:settingsController animated:FALSE];
[self.view addSubview: navigationController.view];
}
diff --git a/Classes/SettingsViewController.xib b/Classes/SettingsViewController.xib
index 4d1cbfb30..9c69905bb 100644
--- a/Classes/SettingsViewController.xib
+++ b/Classes/SettingsViewController.xib
@@ -3,20 +3,20 @@
1296
11E53
- 2182
+ 2549
1138.47
569.00
- IBUINavigationBar
- IBUINavigationItem
- IBUIViewController
- IBUIView
- IBUINavigationController
IBProxyObject
+ IBUINavigationBar
+ IBUINavigationController
+ IBUINavigationItem
+ IBUIView
+ IBUIViewController
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
@@ -48,6 +48,20 @@
IBCocoaTouchFramework
+
@@ -67,24 +81,7 @@
YES
IBCocoaTouchFramework
-
-
- NO
-
-
- Settings
- IBCocoaTouchFramework
-
-
-
-
- 1
- 1
-
- IBCocoaTouchFramework
- NO
-
-
+
@@ -97,14 +94,6 @@
9
-
-
- settingsController
-
-
-
- 8
-
navigationController
@@ -113,12 +102,20 @@
15
+
+
+ settingsController
+
+
+
+ 8
+
0
-
+
@@ -144,7 +141,6 @@
-
navigationController
@@ -161,7 +157,7 @@
-
+
settingsController
@@ -177,7 +173,9 @@
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
UIResponder
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ UINavigationControllerEx
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ UINavigationBarEx
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
@@ -233,6 +231,22 @@
./Classes/SettingsViewController.h
+
+ UINavigationBarEx
+ UINavigationBar
+
+ IBProjectSource
+ ./Classes/UINavigationBarEx.h
+
+
+
+ UINavigationControllerEx
+ UINavigationController
+
+ IBProjectSource
+ ./Classes/UINavigationControllerEx.h
+
+
0
@@ -243,6 +257,6 @@
YES
3
- 1181
+ 1498
diff --git a/Resources/history_details_bar_background.png b/Resources/history_details_bar_background.png
new file mode 100644
index 000000000..e3638e197
Binary files /dev/null and b/Resources/history_details_bar_background.png differ
diff --git a/Resources/settings_bar_background.png b/Resources/settings_bar_background.png
new file mode 100644
index 000000000..e3638e197
Binary files /dev/null and b/Resources/settings_bar_background.png differ
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index d1eef5517..b018832b9 100755
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -666,6 +666,10 @@
D3A8BB7F15A6CC3200F96BE5 /* setup_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7815A6CC3200F96BE5 /* setup_back_disabled.png */; };
D3A8BB8115A6CC3200F96BE5 /* setup_cancel_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7915A6CC3200F96BE5 /* setup_cancel_disabled.png */; };
D3A8BB8315A6CC3200F96BE5 /* setup_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7A15A6CC3200F96BE5 /* setup_start_disabled.png */; };
+ D3B82A0215C18A710036C93E /* history_details_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0015C18A710036C93E /* history_details_bar_background.png */; };
+ D3B82A0315C18A710036C93E /* history_details_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0015C18A710036C93E /* history_details_bar_background.png */; };
+ D3B82A0415C18A710036C93E /* settings_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0115C18A710036C93E /* settings_bar_background.png */; };
+ D3B82A0515C18A710036C93E /* settings_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0115C18A710036C93E /* settings_bar_background.png */; };
D3B9A3DF15A58C450096EA4E /* chat_field.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B9A3DA15A58C440096EA4E /* chat_field.png */; };
D3B9A3E115A58C450096EA4E /* chat_ok_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B9A3DB15A58C440096EA4E /* chat_ok_default.png */; };
D3B9A3E315A58C450096EA4E /* chat_ok_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B9A3DC15A58C440096EA4E /* chat_ok_over.png */; };
@@ -1412,6 +1416,8 @@
D3A8BB7815A6CC3200F96BE5 /* setup_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_back_disabled.png; path = Resources/setup_back_disabled.png; sourceTree = ""; };
D3A8BB7915A6CC3200F96BE5 /* setup_cancel_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_cancel_disabled.png; path = Resources/setup_cancel_disabled.png; sourceTree = ""; };
D3A8BB7A15A6CC3200F96BE5 /* setup_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_start_disabled.png; path = Resources/setup_start_disabled.png; sourceTree = ""; };
+ D3B82A0015C18A710036C93E /* history_details_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = history_details_bar_background.png; path = Resources/history_details_bar_background.png; sourceTree = ""; };
+ D3B82A0115C18A710036C93E /* settings_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = settings_bar_background.png; path = Resources/settings_bar_background.png; sourceTree = ""; };
D3B9A3DA15A58C440096EA4E /* chat_field.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_field.png; path = Resources/chat_field.png; sourceTree = ""; };
D3B9A3DB15A58C440096EA4E /* chat_ok_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_ok_default.png; path = Resources/chat_ok_default.png; sourceTree = ""; };
D3B9A3DC15A58C440096EA4E /* chat_ok_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_ok_over.png; path = Resources/chat_ok_over.png; sourceTree = ""; };
@@ -2343,6 +2349,7 @@
D3157A8915B4466F00DD8C4C /* history_details_add_over.png */,
D3157A8E15B446CB00DD8C4C /* history_details_back_default.png */,
D3157A8F15B446CB00DD8C4C /* history_details_back_over.png */,
+ D3B82A0015C18A710036C93E /* history_details_bar_background.png */,
D3ED3E9415872EF1006C0DE4 /* history_edit_default.png */,
D3ED3E9515872EF1006C0DE4 /* history_edit_over.png */,
D3ED3E9715872EF1006C0DE4 /* history_missed_default.png */,
@@ -2437,6 +2444,7 @@
D3D6A3A5159B0EFE005F692C /* security_ko.png */,
D3D6A3A7159B0EFE005F692C /* security_ok.png */,
D3D6A3A6159B0EFE005F692C /* security_pending.png */,
+ D3B82A0115C18A710036C93E /* settings_bar_background.png */,
D38327EF1580FE3A00FA0D23 /* settings_default.png */,
D38327FE158100E400FA0D23 /* settings_over.png */,
D38327F01580FE3A00FA0D23 /* settings_selected.png */,
@@ -3032,6 +3040,8 @@
D3C31A8215BD8DED008ED271 /* video_on_default_landscape.png in Resources */,
D3C31A8415BD8DED008ED271 /* video_on_disabled_landscape.png in Resources */,
D3C31A8615BD8DED008ED271 /* video_on_over_landscape.png in Resources */,
+ D3B82A0215C18A710036C93E /* history_details_bar_background.png in Resources */,
+ D3B82A0415C18A710036C93E /* settings_bar_background.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3336,6 +3346,8 @@
D34BD74115C13E250070C209 /* Localizable.strings in Resources */,
D34BD74215C13E350070C209 /* untitled.plist in Resources */,
D34BD74315C13ED70070C209 /* DialerViewController.xib in Resources */,
+ D3B82A0315C18A710036C93E /* history_details_bar_background.png in Resources */,
+ D3B82A0515C18A710036C93E /* settings_bar_background.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};