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