Brion VIBBER has submitted this change and it was merged.

Change subject: Made description use a label instead of textbox if already 
uploaded.
......................................................................


Made description use a label instead of textbox if already uploaded.

Change-Id: I8a5038e8c6a2d2273786ce9b72ab1276d6dac087
---
M Commons-iOS/DetailScrollViewController.h
M Commons-iOS/DetailScrollViewController.m
M Commons-iOS/en.lproj/MainStoryboard.storyboard
3 files changed, 37 insertions(+), 10 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/Commons-iOS/DetailScrollViewController.h 
b/Commons-iOS/DetailScrollViewController.h
index be57d4d..b97ec4c 100644
--- a/Commons-iOS/DetailScrollViewController.h
+++ b/Commons-iOS/DetailScrollViewController.h
@@ -27,6 +27,7 @@
 @property (weak, nonatomic) IBOutlet UITextField *titleTextField;
 @property (weak, nonatomic) IBOutlet UILabelDynamicHeight *titleTextLabel;
 @property (weak, nonatomic) IBOutlet UITextView *descriptionTextView;
+@property (weak, nonatomic) IBOutlet UILabelDynamicHeight 
*descriptionTextLabel;
 @property (weak, nonatomic) IBOutlet UILabel *descriptionLabel;
 @property (weak, nonatomic) IBOutlet UILabel *descriptionPlaceholder;
 @property (weak, nonatomic) IBOutlet UIBarButtonItem *deleteButton;
@@ -67,6 +68,8 @@
 
 -(void)scrollByAmount:(float)amount withDuration:(NSTimeInterval)duration 
delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options 
useXF:(BOOL)useXF then:(void(^)(void))block;
 
+@property (strong, nonatomic) IBOutlet NSLayoutConstraint 
*descriptionTextViewHeightConstraint;
+
 -(void)ensureScrollingDoesNotExceedThreshold;
 -(void)toggle;
 
diff --git a/Commons-iOS/DetailScrollViewController.m 
b/Commons-iOS/DetailScrollViewController.m
index 4cadccb..637781d 100644
--- a/Commons-iOS/DetailScrollViewController.m
+++ b/Commons-iOS/DetailScrollViewController.m
@@ -124,6 +124,11 @@
     self.categoryLabel.text = [MWMessage 
forKey:@"details-category-label"].text;
     
     self.descriptionTextView.backgroundColor = 
DETAIL_EDITABLE_TEXTBOX_BACKGROUND_COLOR;
+    self.descriptionTextLabel.backgroundColor = [UIColor clearColor];
+    self.descriptionTextLabel.borderColor = [UIColor clearColor];
+    self.descriptionTextLabel.paddingColor = 
DETAIL_NON_EDITABLE_TEXTBOX_BACKGROUND_COLOR;
+    [self.descriptionTextLabel setPaddingInsets:UIEdgeInsetsMake(5.0f, 5.0f, 
5.0f, 5.0f)];
+    
     self.titleTextField.backgroundColor = 
DETAIL_EDITABLE_TEXTBOX_BACKGROUND_COLOR;
     self.titleTextLabel.backgroundColor = [UIColor clearColor];
     self.titleTextLabel.borderColor = [UIColor clearColor];
@@ -208,7 +213,7 @@
     self.licenseContainer.backgroundColor = containerColor;
     self.categoryContainer.backgroundColor = containerColor;
     
-//    [self.view randomlyColorSubviews];
+    //[self.view randomlyColorSubviews];
 }
 
 -(void)handleDetailsPan:(UIPanGestureRecognizer *)recognizer
@@ -314,13 +319,14 @@
         self.titleTextField.text = record.title;
         self.titleTextLabel.text = record.title;
         self.descriptionTextView.text = record.desc;
+        self.descriptionTextLabel.text =record.desc;
         self.descriptionPlaceholder.hidden = (record.desc.length > 0);
 
         self.categoryListLabel.text = [self categoryShortList];
 
         // Get categories and description
         if (record.complete.boolValue) {
-            self.descriptionTextView.text = [MWMessage 
forKey:@"details-description-loading"].text;
+            self.descriptionTextLabel.text = [MWMessage 
forKey:@"details-description-loading"].text;
             dispatch_async(dispatch_get_main_queue(), ^(void) {
                 [self getPreviouslySavedDescriptionForRecord:record];
                 [self getPreviouslySavedCategoriesForRecord:record];
@@ -334,6 +340,9 @@
                 self.titleTextField.hidden = YES;
                 self.titleTextLabel.hidden = NO;
                 self.descriptionTextView.editable = NO;
+                self.descriptionTextView.hidden = YES;
+                [self.descriptionTextView 
removeConstraint:self.descriptionTextViewHeightConstraint];
+                self.descriptionTextLabel.hidden = NO;
                 self.deleteButton.enabled = NO; // fixme in future, support 
deleting uploaded items
                 self.actionButton.enabled = YES; // open link or share on the 
web
                 self.uploadButton.enabled = NO; // fixme either hide or 
replace with action button?
@@ -342,7 +351,6 @@
 
                 // Make description read-only for now
                 self.descriptionTextView.userInteractionEnabled = NO;
-                self.descriptionTextView.hidden = NO;
                 self.descriptionLabel.hidden = NO;
                 
                 // fixme: load license info from wiki page
@@ -350,9 +358,6 @@
                 self.licenseNameLabel.hidden = YES;
                 self.ccByImage.hidden = YES;
                 self.ccSaImage.hidden = YES;
-
-                               self.descriptionTextView.backgroundColor = 
DETAIL_NON_EDITABLE_TEXTBOX_BACKGROUND_COLOR;
-                               //self.titleTextField.backgroundColor = 
DETAIL_NON_EDITABLE_TEXTBOX_BACKGROUND_COLOR;
 
                 // either use HTML 
http://commons.wikimedia.org/wiki/Commons:Machine-readable_data
                 // or pick apart the standard templates
@@ -362,11 +367,13 @@
                 self.titleTextField.hidden = NO;
                 self.titleTextLabel.hidden = YES;
                 self.descriptionTextView.editable = YES;
+                [self.descriptionTextView 
addConstraint:self.descriptionTextViewHeightConstraint];
+                self.descriptionTextView.hidden = NO;
+                self.descriptionTextLabel.hidden = YES;
                 self.deleteButton.enabled = (record.progress.floatValue == 
0.0f); // don't allow delete _during_ upload
                 self.actionButton.enabled = NO;
                 
                 self.descriptionLabel.hidden = NO;
-                self.descriptionTextView.hidden = NO;
                 self.descriptionPlaceholder.hidden = (record.desc.length > 0);
                 self.licenseLabel.hidden = NO;
                 self.licenseNameLabel.hidden = NO;
@@ -922,6 +929,7 @@
     MWPromise *req = [api getRequest:params];
     
     __weak UITextView *weakDescriptionTextView = self.descriptionTextView;
+    __weak UILabelDynamicHeight *weakDescriptionTextLabel = 
self.descriptionTextLabel;
     
     [req done:^(NSDictionary *result) {
         for (NSString *page in result[@"query"][@"pages"]) {
@@ -941,7 +949,6 @@
                     weakDescriptionTextView.text = ([descriptions 
objectForKey:language]) ? descriptions[language] : descriptions[@"en"];
                     // reloadData so description cell can be resized according 
to the retrieved description's text height
 //                    [weakTableView reloadData];
-                    
                 };
                 [descriptionParser_ parse];
             }
@@ -952,6 +959,7 @@
         if ([weakDescriptionTextView.text isEqualToString: [MWMessage 
forKey:@"details-description-loading"].text]){
             weakDescriptionTextView.text = [MWMessage 
forKey:@"details-description-none-found"].text;
         }
+        weakDescriptionTextLabel.text = weakDescriptionTextView.text;
     }];
 }
 
diff --git a/Commons-iOS/en.lproj/MainStoryboard.storyboard 
b/Commons-iOS/en.lproj/MainStoryboard.storyboard
index 9d2c4f2..31e0cd3 100644
--- a/Commons-iOS/en.lproj/MainStoryboard.storyboard
+++ b/Commons-iOS/en.lproj/MainStoryboard.storyboard
@@ -1296,8 +1296,15 @@
                                                 <fontDescription 
key="fontDescription" type="system" pointSize="14"/>
                                                 <textInputTraits 
key="textInputTraits" autocapitalizationType="sentences"/>
                                             </textView>
-                                            <label opaque="NO" 
clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" 
fixedFrame="YES" text="Required" lineBreakMode="tailTruncation" 
baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="7ez-E3-hMg" 
userLabel="Required Label">
-                                                <rect key="frame" x="20" 
y="66" width="265" height="21"/>
+                                            <label hidden="YES" opaque="NO" 
clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" 
horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" 
lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" 
adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="240" 
translatesAutoresizingMaskIntoConstraints="NO" id="aaw-cf-MZE" 
userLabel="Description Text Label" customClass="UILabelDynamicHeight">
+                                                <rect key="frame" x="20" 
y="49" width="240" height="154"/>
+                                                <autoresizingMask 
key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                                <fontDescription 
key="fontDescription" type="system" pointSize="14"/>
+                                                <color key="textColor" 
white="1" alpha="1" colorSpace="calibratedWhite"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                            <label opaque="NO" 
clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" 
misplaced="YES" text="Required" lineBreakMode="tailTruncation" 
baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="7ez-E3-hMg" 
userLabel="Required Label">
+                                                <rect key="frame" x="30" 
y="57" width="230" height="21"/>
                                                 <autoresizingMask 
key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                                 <fontDescription 
key="fontDescription" type="system" pointSize="14"/>
                                                 <color key="textColor" 
white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
@@ -1308,11 +1315,18 @@
                                         <constraints>
                                             <constraint 
firstAttribute="bottom" secondItem="rwu-hG-Nxi" secondAttribute="bottom" 
constant="20" symbolic="YES" id="12H-wA-z3G"/>
                                             <constraint firstItem="rwu-hG-Nxi" 
firstAttribute="leading" secondItem="ChD-4f-cDJ" secondAttribute="leading" 
constant="20" symbolic="YES" id="4VT-vc-djl"/>
+                                            <constraint firstItem="aaw-cf-MZE" 
firstAttribute="top" secondItem="7ez-E3-hMg" secondAttribute="top" 
constant="-8" id="7Hx-Ro-tWe"/>
                                             <constraint firstItem="CZQ-bf-MDt" 
firstAttribute="leading" secondItem="ChD-4f-cDJ" secondAttribute="leading" 
constant="20" symbolic="YES" id="7lV-od-O8L"/>
+                                            <constraint firstItem="aaw-cf-MZE" 
firstAttribute="trailing" secondItem="7ez-E3-hMg" secondAttribute="trailing" 
id="8xr-pm-4V2"/>
+                                            <constraint firstItem="aaw-cf-MZE" 
firstAttribute="leading" secondItem="ChD-4f-cDJ" secondAttribute="leading" 
constant="20" symbolic="YES" id="97D-9T-EDe"/>
                                             <constraint firstItem="rwu-hG-Nxi" 
firstAttribute="top" secondItem="CZQ-bf-MDt" secondAttribute="bottom" 
constant="8" symbolic="YES" id="OEg-4O-hRu"/>
+                                            <constraint firstItem="aaw-cf-MZE" 
firstAttribute="leading" secondItem="7ez-E3-hMg" secondAttribute="leading" 
constant="-10" id="OVI-at-mG7"/>
                                             <constraint firstItem="CZQ-bf-MDt" 
firstAttribute="top" secondItem="ChD-4f-cDJ" secondAttribute="top" 
constant="20" symbolic="YES" id="Tbe-TG-24S"/>
+                                            <constraint 
firstAttribute="bottom" secondItem="aaw-cf-MZE" secondAttribute="bottom" 
constant="20" symbolic="YES" id="Xux-Cf-RTi"/>
+                                            <constraint 
firstAttribute="trailing" secondItem="aaw-cf-MZE" secondAttribute="trailing" 
constant="20" symbolic="YES" id="bF7-QK-nPM"/>
                                             <constraint 
firstAttribute="trailing" secondItem="rwu-hG-Nxi" secondAttribute="trailing" 
constant="20" symbolic="YES" id="ce1-M6-7fR"/>
                                             <constraint 
firstAttribute="trailing" secondItem="CZQ-bf-MDt" secondAttribute="trailing" 
constant="20" symbolic="YES" id="d5i-t8-6Ji"/>
+                                            <constraint firstItem="aaw-cf-MZE" 
firstAttribute="top" secondItem="CZQ-bf-MDt" secondAttribute="bottom" 
constant="8" symbolic="YES" id="jL9-Ch-3sm"/>
                                         </constraints>
                                     </view>
                                     <view contentMode="scaleToFill" 
translatesAutoresizingMaskIntoConstraints="NO" id="0OK-Zl-28Q" 
userLabel="License Container">
@@ -1390,7 +1404,9 @@
                         <outlet property="descriptionContainer" 
destination="ChD-4f-cDJ" id="Kag-oJ-QIL"/>
                         <outlet property="descriptionLabel" 
destination="CZQ-bf-MDt" id="5Ys-xU-tlY"/>
                         <outlet property="descriptionPlaceholder" 
destination="7ez-E3-hMg" id="Lmn-FU-s50"/>
+                        <outlet property="descriptionTextLabel" 
destination="aaw-cf-MZE" id="emK-u2-BdX"/>
                         <outlet property="descriptionTextView" 
destination="rwu-hG-Nxi" id="SXN-Wq-k7I"/>
+                        <outlet property="descriptionTextViewHeightConstraint" 
destination="tRZ-n3-B8e" id="Pnb-HI-0nD"/>
                         <outlet property="licenseContainer" 
destination="0OK-Zl-28Q" id="uC5-C8-e8R"/>
                         <outlet property="licenseLabel" 
destination="myN-TB-iEG" id="Fg9-q8-CZA"/>
                         <outlet property="scrollContainer" 
destination="ehb-uI-yRM" id="ENZ-Y8-UOx"/>

-- 
To view, visit https://gerrit.wikimedia.org/r/88156
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8a5038e8c6a2d2273786ce9b72ab1276d6dac087
Gerrit-PatchSet: 1
Gerrit-Project: apps/ios/commons
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Mhurd <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to