Forráskód Böngészése

Add create folder on Move

Marino Faggiana 8 éve
szülő
commit
549867d1e6
3 módosított fájl, 121 hozzáadás és 46 törlés
  1. 3 2
      iOSClient/Move/CCMove.h
  2. 96 32
      iOSClient/Move/CCMove.m
  3. 22 12
      iOSClient/Move/CCMove.storyboard

+ 3 - 2
iOSClient/Move/CCMove.h

@@ -61,8 +61,9 @@
 @property (nonatomic, strong) UIColor *tintColor;
 @property (nonatomic, strong) UIColor *tintColorTitle;
 
-@property (nonatomic, weak) UIBarButtonItem *cancel;
-@property (nonatomic, weak) UIBarButtonItem *move;
+@property (nonatomic, weak) IBOutlet UIBarButtonItem *cancel;
+@property (nonatomic, weak) IBOutlet UIBarButtonItem *move;
+@property (nonatomic, weak) IBOutlet UIBarButtonItem *create;
 
 @end
 

+ 96 - 32
iOSClient/Move/CCMove.m

@@ -44,9 +44,7 @@
 
 @implementation CCMove
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== View =====
-#pragma --------------------------------------------------------------------------------------------
+// MARK: - View
 
 - (void)viewDidLoad
 {
@@ -81,6 +79,7 @@
     self.tableView.tableFooterView = [UIView new];
 
     [self.cancel setTitle:NSLocalizedString(@"_cancel_", nil)];
+    [self.create setTitle:NSLocalizedString(@"_create_folder_", nil)];
 
     if (![self.localServerUrl length]) {
         
@@ -110,21 +109,10 @@
     self.navigationController.toolbar.tintColor = self.tintColor;
     
     // read folder
-    [_hud visibleIndeterminateHud];
-    
-    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:activeAccount];
-    
-    metadataNet.action = actionReadFolder;
-    metadataNet.serverUrl = self.localServerUrl;
-    metadataNet.selector = selectorReadFolder;
-    metadataNet.date = nil;
-    
-    [self addNetworkingQueue:metadataNet];
+    [self readFolder];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == alertView ==
-#pragma --------------------------------------------------------------------------------------------
+// MARK: - alertView
 
 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
 {
@@ -136,9 +124,7 @@
     }
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == IBAction ==
-#pragma --------------------------------------------------------------------------------------------
+// MARK: - IBAction
 
 - (IBAction)cancel:(UIBarButtonItem *)sender
 {
@@ -154,9 +140,25 @@
     [self dismissViewControllerAnimated:YES completion:nil];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == BKPasscodeViewController ==
-#pragma --------------------------------------------------------------------------------------------
+- (IBAction)create:(UIBarButtonItem *)sender
+{
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_create_folder_",nil) message:@"" preferredStyle:UIAlertControllerStyleAlert];
+    
+    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
+        //textField.placeholder = NSLocalizedString(@"LoginPlaceholder", @"Login");
+    }];
+    
+    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_save_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+        [self createFolder:alertController.textFields.firstObject.text];
+    }]];
+    
+    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+    }]];
+    
+    [self presentViewController:alertController animated:YES completion:nil];
+}
+
+// MARK: - BKPasscodeViewController
 
 - (void)passcodeViewController:(CCBKPasscode *)aViewController didFinishWithPasscode:(NSString *)aPasscode
 {
@@ -217,9 +219,7 @@
     [self dismissViewControllerAnimated:YES completion:nil];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ======================= NetWorking ==================================
-#pragma --------------------------------------------------------------------------------------------
+// MARK: - NetWorking
 
 - (void)dropboxFailure
 {
@@ -261,6 +261,8 @@
     
 }
 
+// MARK: - Download File
+
 - (void)downloadFileSuccess:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost
 {
     if ([selector isEqualToString:selectorLoadPlist]) {
@@ -278,11 +280,20 @@
     self.move.enabled = NO;
 }
 
+// MARK: - Read Folder
+
 - (void)readFolderFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     [_hud hideHud];
 
-    self.move.enabled = NO;    
+    self.move.enabled = NO;
+    
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_",nil) message:message preferredStyle:UIAlertControllerStyleAlert];
+    
+    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_ok_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+    }]];
+    
+    [self presentViewController:alertController animated:YES completion:nil];
 }
 
 - (void)readFolderSuccess:(CCMetadataNet *)metadataNet permissions:(NSString *)permissions rev:(NSString *)rev metadatas:(NSArray *)metadatas
@@ -338,9 +349,64 @@
     [_hud hideHud];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == Table ==
-#pragma --------------------------------------------------------------------------------------------
+- (void)readFolder
+{
+    // read folder
+    [_hud visibleIndeterminateHud];
+    
+    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:activeAccount];
+    
+    metadataNet.action = actionReadFolder;
+    metadataNet.serverUrl = self.localServerUrl;
+    metadataNet.selector = selectorReadFolder;
+    metadataNet.date = nil;
+    
+    [self addNetworkingQueue:metadataNet];
+}
+
+// MARK: - Create Folder
+
+- (void)createFolderFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
+{
+    [_hud hideHud];
+    
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_",nil) message:message preferredStyle:UIAlertControllerStyleAlert];
+    
+    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_ok_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+    }]];
+    
+    [self presentViewController:alertController animated:YES completion:nil];
+}
+
+- (void)createFolderSuccess:(CCMetadataNet *)metadataNet
+{
+    [_hud hideHud];
+    
+    [CCCoreData addDirectory:[NSString stringWithFormat:@"%@/%@", metadataNet.serverUrl, metadataNet.fileName] date:[NSDate date] permissions:nil activeAccount:activeAccount];
+    
+    // Load Folder or the Datasource
+    [self readFolder];
+}
+
+- (void)createFolder:(NSString *)fileNameFolder
+{
+    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:activeAccount];
+    
+    fileNameFolder = [CCUtility clearFile:fileNameFolder];
+    if (![fileNameFolder length]) return;
+    
+    metadataNet.action = actionCreateFolder;
+    metadataNet.fileName = fileNameFolder;
+    metadataNet.selector = selectorCreateFolder;
+    metadataNet.selectorPost = selectorReadFolderForced;
+    metadataNet.serverUrl = _localServerUrl;
+    
+    [self addNetworkingQueue:metadataNet];
+    
+    [_hud visibleIndeterminateHud];
+}
+
+// MARK: - Table
 
 - (void)reloadTable
 {
@@ -400,9 +466,7 @@
     [self performSegueDirectoryWithControlPasscode:YES];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == Navigation ==
-#pragma --------------------------------------------------------------------------------------------
+// MARK: - Navigation
 
 - (void)performSegueDirectoryWithControlPasscode:(BOOL)controlPasscode
 {

+ 22 - 12
iOSClient/Move/CCMove.storyboard

@@ -1,8 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="16C67" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+    <device id="retina4_7" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
         <!--Move-->
@@ -10,22 +14,22 @@
             <objects>
                 <tableViewController storyboardIdentifier="CCMoveVC" id="r57-Y0-NGA" customClass="CCMove" sceneMemberID="viewController">
                     <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="50" sectionHeaderHeight="22" sectionFooterHeight="22" id="McT-Wl-5yC">
-                        <rect key="frame" x="0.0" y="64" width="600" height="492"/>
+                        <rect key="frame" x="0.0" y="64" width="375" height="559"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <prototypes>
                             <tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="MyCustomCell" textLabel="Z3y-WW-606" rowHeight="60" style="IBUITableViewCellStyleDefault" id="w3K-MH-HTI">
-                                <rect key="frame" x="0.0" y="22" width="600" height="60"/>
+                                <rect key="frame" x="0.0" y="22" width="375" height="60"/>
                                 <autoresizingMask key="autoresizingMask"/>
                                 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="w3K-MH-HTI" id="o7i-Tv-3Dy">
-                                    <rect key="frame" x="0.0" y="0.0" width="567" height="59.5"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="342" height="59"/>
                                     <autoresizingMask key="autoresizingMask"/>
                                     <subviews>
                                         <label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Z3y-WW-606">
-                                            <rect key="frame" x="15" y="0.0" width="550" height="59.5"/>
+                                            <rect key="frame" x="15" y="0.0" width="325" height="59"/>
                                             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                             <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                     </subviews>
@@ -38,6 +42,11 @@
                         </connections>
                     </tableView>
                     <toolbarItems>
+                        <barButtonItem title="Create" id="POg-4h-6PE">
+                            <connections>
+                                <action selector="create:" destination="r57-Y0-NGA" id="osR-ef-mcW"/>
+                            </connections>
+                        </barButtonItem>
                         <barButtonItem style="plain" systemItem="flexibleSpace" id="W6q-bt-WEv"/>
                         <barButtonItem title="Move" id="lHO-dx-i7G">
                             <connections>
@@ -54,7 +63,8 @@
                     </navigationItem>
                     <connections>
                         <outlet property="cancel" destination="YzK-6z-T0K" id="ieh-Qu-oWw"/>
-                        <outlet property="move" destination="lHO-dx-i7G" id="fgf-TQ-kcD"/>
+                        <outlet property="create" destination="POg-4h-6PE" id="UyP-ep-sWK"/>
+                        <outlet property="move" destination="lHO-dx-i7G" id="8iF-b5-5v2"/>
                     </connections>
                 </tableViewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="WJJ-7C-06z" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -67,13 +77,13 @@
                 <navigationController storyboardIdentifier="CCMove" automaticallyAdjustsScrollViewInsets="NO" toolbarHidden="NO" id="GGi-ld-Icm" sceneMemberID="viewController">
                     <toolbarItems/>
                     <navigationItem key="navigationItem" id="uMb-zy-0sS"/>
-                    <navigationBar key="navigationBar" alpha="0.89999997615814209" contentMode="scaleToFill" translucent="NO" id="emo-5L-Jsr">
+                    <navigationBar key="navigationBar" alpha="0.89999997615814209" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="emo-5L-Jsr">
                         <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </navigationBar>
                     <nil name="viewControllers"/>
                     <toolbar key="toolbar" opaque="NO" clearsContextBeforeDrawing="NO" alpha="0.89999997615814209" contentMode="scaleToFill" translucent="NO" id="rcA-x8-dow">
-                        <rect key="frame" x="0.0" y="556" width="600" height="44"/>
+                        <rect key="frame" x="0.0" y="623" width="375" height="44"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </toolbar>
                     <connections>