From a4dff9392cda6db26a08d272a4e9800c122d2f82 Mon Sep 17 00:00:00 2001 From: Kirill Zhdanovich Date: Wed, 28 Aug 2013 22:11:58 +0300 Subject: [PATCH] [iOS] Show bags in country download list --- iphone/Maps/Maps.xcodeproj/project.pbxproj | 12 +++++++ .../Maps/Settings/CountriesViewController.mm | 33 +++++++++++++++++- iphone/Maps/guide_bag.png | Bin 0 -> 1761 bytes iphone/Maps/guide_bag@2x.png | Bin 0 -> 4592 bytes 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 iphone/Maps/guide_bag.png create mode 100644 iphone/Maps/guide_bag@2x.png diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index 5ed362051b..2e4b632691 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -31,6 +31,10 @@ CB252D6E16FF82C9001E41E9 /* libFlurry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CB252D6A16FF82C8001E41E9 /* libFlurry.a */; }; CB252D6F16FF82C9001E41E9 /* Statistics.m in Sources */ = {isa = PBXBuildFile; fileRef = CB252D6C16FF82C8001E41E9 /* Statistics.m */; }; CB252D7016FF82C9001E41E9 /* Statistics.m in Sources */ = {isa = PBXBuildFile; fileRef = CB252D6C16FF82C8001E41E9 /* Statistics.m */; }; + ED2F9BEF17CE76490008C549 /* guide_bag@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = ED2F9BED17CE76490008C549 /* guide_bag@2x.png */; }; + ED2F9BF017CE76490008C549 /* guide_bag@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = ED2F9BED17CE76490008C549 /* guide_bag@2x.png */; }; + ED2F9BF117CE76490008C549 /* guide_bag.png in Resources */ = {isa = PBXBuildFile; fileRef = ED2F9BEE17CE76490008C549 /* guide_bag.png */; }; + ED2F9BF217CE76490008C549 /* guide_bag.png in Resources */ = {isa = PBXBuildFile; fileRef = ED2F9BEE17CE76490008C549 /* guide_bag.png */; }; ED48BBB117BE6EA8003E7E92 /* MWMApi.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED48BBB017BE6EA8003E7E92 /* MWMApi.mm */; }; ED48BBB217BE6EA8003E7E92 /* MWMApi.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED48BBB017BE6EA8003E7E92 /* MWMApi.mm */; }; ED48BBB517C267F5003E7E92 /* ColorPickerView.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED48BBB417C267F5003E7E92 /* ColorPickerView.mm */; }; @@ -1348,6 +1352,8 @@ CB252D6A16FF82C8001E41E9 /* libFlurry.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libFlurry.a; sourceTree = ""; }; CB252D6B16FF82C8001E41E9 /* Statistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Statistics.h; sourceTree = ""; }; CB252D6C16FF82C8001E41E9 /* Statistics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Statistics.m; sourceTree = ""; }; + ED2F9BED17CE76490008C549 /* guide_bag@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_bag@2x.png"; sourceTree = ""; }; + ED2F9BEE17CE76490008C549 /* guide_bag.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_bag.png; sourceTree = ""; }; ED48BBAF17BE6EA8003E7E92 /* MWMApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMApi.h; sourceTree = ""; }; ED48BBB017BE6EA8003E7E92 /* MWMApi.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMApi.mm; sourceTree = ""; }; ED48BBB317C267F5003E7E92 /* ColorPickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorPickerView.h; sourceTree = ""; }; @@ -2212,6 +2218,8 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + ED2F9BED17CE76490008C549 /* guide_bag@2x.png */, + ED2F9BEE17CE76490008C549 /* guide_bag.png */, ED9CC5EE17CA18770051642E /* ios-guides.json */, FA765AAF1737BC6D00279CFF /* 22x29-lite.png */, FA765AB01737BC6D00279CFF /* 44x58-lite.png */, @@ -3687,6 +3695,8 @@ 5797B6D716C931EE00FFE6D2 /* resources-xhdpi in Resources */, FAF30A95173AB23900818BF6 /* 00_roboto_regular.ttf in Resources */, ED9CC5EF17CA18770051642E /* ios-guides.json in Resources */, + ED2F9BEF17CE76490008C549 /* guide_bag@2x.png in Resources */, + ED2F9BF117CE76490008C549 /* guide_bag.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4271,6 +4281,8 @@ FA765AB61737BC6D00279CFF /* 320-lite.png in Resources */, FAF30A96173AB23900818BF6 /* 00_roboto_regular.ttf in Resources */, ED9CC5F017CA18770051642E /* ios-guides.json in Resources */, + ED2F9BF017CE76490008C549 /* guide_bag@2x.png in Resources */, + ED2F9BF217CE76490008C549 /* guide_bag.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/iphone/Maps/Settings/CountriesViewController.mm b/iphone/Maps/Settings/CountriesViewController.mm index 9edd9da929..f0ea52b007 100644 --- a/iphone/Maps/Settings/CountriesViewController.mm +++ b/iphone/Maps/Settings/CountriesViewController.mm @@ -156,8 +156,22 @@ static bool IsOurIndex(TIndex const & theirs, TIndex const & ours) Storage & s = frm.Storage(); string const & flag = s.CountryFlag(countryIndex); - if (!flag.empty()) + guides::GuideInfo info; + if ((s.CountriesCount(countryIndex) == 0) && frm.GetGuideInfo(countryIndex, info)) + { + cell.imageView.image = [UIImage imageNamed:@"guide_bag"]; + [cell layoutSubviews]; + UIButton * bt = [[[UIButton alloc] initWithFrame:cell.imageView.frame] autorelease]; + bt.backgroundColor = [UIColor clearColor]; + [bt addTarget:self action:@selector(showGuideAdvertise:) forControlEvents:UIControlEventTouchUpInside]; + [cell.contentView addSubview:bt]; + } + else if (!flag.empty()) + { + for (UIButton * v in cell.contentView.subviews) + [v removeFromSuperview]; cell.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%s.png", flag.c_str()]]; + } // do not show status for parent categories if (![cell.reuseIdentifier isEqual: @"ParentCell"]) @@ -480,4 +494,21 @@ static bool IsOurIndex(TIndex const & theirs, TIndex const & ours) } } +-(void)showGuideAdvertise:(UIButton *)bt +{ + UITableViewCell * cell = (UITableViewCell *)(bt.superview.superview); + UITableView * v = (UITableView *)self.view; + NSIndexPath * indexPath = [v indexPathForCell:cell]; + TIndex const index = CalculateIndex(m_index, indexPath); + guides::GuideInfo info; + if (!GetFramework().GetGuideInfo(index, info)); + return; + NSURL * guideUrl = [NSURL URLWithString:[NSString stringWithUTF8String:info.GetAppID().c_str()]]; + UIApplication * app = [UIApplication sharedApplication]; + if ([app canOpenURL:guideUrl]) + [app openURL:guideUrl]; + else + [app openURL:[NSURL URLWithString:[NSString stringWithUTF8String:info.GetURL().c_str()]]]; +} + @end diff --git a/iphone/Maps/guide_bag.png b/iphone/Maps/guide_bag.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b6ca616abe827241a93feacf5b464ae2d92661 GIT binary patch literal 1761 zcmV<71|Io|P)ZaQ$jxjzk9?#+N*mHE(v9G#&a1(McMk`8wuAb_8Ro{E>d#|dAloD=d zqi~y>uKp21N>Z{CT@PaS6w2e?8Y3tlp&T(HBZH-^MN|lG765MCgx&in+W{ElvScok z31#aWmRkV~XU@Vx@Xh-6^9ODkK`9*IsqO)u?37;~>ppVdJzdKBeJHyPL*Mz@%i9jJ zWV7U{P4eJ@JMa6y07y-N9O!E~~gmwbzWd6wd z$*ENHVy3V$IeYvUzkhYdXK%f|`TWZV57Z;@wJ5t#_M+@Sxg)jw-1(=U-*U35s;%yC z?;ee&)A^vy7U)fLfGr)}BuUk4R7~uq^h)E0$6KuFt5iPw*g}O_(E#5LCDM^dSw&rK zfeNvR8bU3B`ih4pzg8tV!D z0jaTxHw(@{!DwkKFn&DaOx0-rF ze9xM19(qBB9d6v&V+NC%a*;^Z3PLT+JR1V~pjx!csf3dMWgQXiAVnRLq7u%YSQ%dIOX&4 zoI>oC;;uMAE-K|2XOV${tvsG&?2oSwms3~^oY%V`Nbq}}D1wmgh7K7ST3EnQwSE>~ zUxcsv_ON5eMy%KWuofe85y#i#&P}+;FxNf!)95M$(1DMm(ArX?#S$r-@hIr}jJJWU z$byRt&q7wLj~*EJXd#5+<{^)m?)Y-n5G^eYTI&X#y5LRB2BH=qMF5vjc1h2r(RI3( z%QJ}0H;Bf@IaI1%Ar~oyh}`L8an7r&LbSH#G64*;WASv^x5~0&8jkuEJ6eg(nUIrH zWpc&R(wjz@2cRHoYl2kqfeW`nUybRPu}c>L4Eq(kHx)EO35;Jh_^q7vM9W~*njw+Q z^X6#K@wSk<2Y}2el6U~b`4zPa=-D!-h0OpRxp)iaI|vdmHqj`SvbNZ|S=arq#>NHm z4)R40jBrj;Zc&Or$Q*^pnjjs!WV2hn@eB@?amC^7+pK_pd|)uE0OTA1M&u&bGDfH<$8t5Te~{RwsnhM-uIkFWs^zkJ=F=0GX0HM8+F8Hi)^0;jr7a=Y z2B6x)ssRj*SgbB$YRapE)jMPHq&b;NWeVR1@U>rY_f8gImWhKh)%SE_0q-2JNw-3;mU^w%MKbvZZ#u~@H6r3-RruYO(p zznjp;-7@Jrj*$m5NW^i62doOHK7m9uwEjVRbpSAdzB*mauyD#>-?eP`-<%z=$FN(v z;Yx-?>~oJ5%_~TzJ~dNt7)Vz^#J)3NSCkucbJtl4qS3wTG0HwZKJ&u>FbsYEUw7@I z#^Mqhfkf1_#nSEqDg}qL)`n(`Ke52(ZU)5X&9TwZndKh=0RLQhTmui>n+T}d|F09R zHjw$7|Ju>9r0^!Jc6q+DH*}r*N5(?^9s&6c0FVdc$)x#)!&p`Wk=lMzT^Xo3c}feE zRsrYXvoAZrVxs(^2Xba{IGqm0-Z&KhtGeM|_i5&DYdia2KYVDQ;7sa)s_a{;iZTtHtkgcvXtSxQdteKs@BQ`Kpaq`7iCf`B#FSy75&wrY! zpf!Md78fUkN=^m$mZHL-3PW6#hNAng0l1y*e*z2u?XuM~<)ZA300000NkvXXu0mjf Dm!w`3 literal 0 HcmV?d00001 diff --git a/iphone/Maps/guide_bag@2x.png b/iphone/Maps/guide_bag@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2d0894c80919699e43ae53f7932bf38e2ce8ef7f GIT binary patch literal 4592 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