Browse Source

search option

Marino Faggiana 8 years ago
parent
commit
b53bd6dd58

+ 2 - 2
iOSClient/Actions/CCActions.swift

@@ -325,9 +325,9 @@ class CCActions: NSObject {
     
     func search(_ serverUrl : String, fileName : String, depth : String, delegate: AnyObject) {
         
-        let versionServer = CCCoreData.getServerVersionActiveAccount(appDelegate.activeAccount)
+        let versionServer = CCCoreData.getServerVersionMajorActiveAccount(appDelegate.activeAccount)
         
-        if (versionServer < 12.0) {
+        if (versionServer < 12) {
             
             let metadataNet: CCMetadataNet = CCMetadataNet.init(account: appDelegate.activeAccount)
 

+ 1 - 0
iOSClient/AppDelegate.h

@@ -68,6 +68,7 @@
 @property BOOL hasServerCapabilitiesSupport;
 @property OCCapabilities *capabilities;
 @property (nonatomic, strong) NSMutableArray<OCCommunication *> *listOfNotifications;
+@property NSInteger serverVersion;
 
 // Network Operation
 @property (nonatomic, strong) NSOperationQueue *netQueue;

+ 1 - 1
iOSClient/FileSystem/CCCoreData.h

@@ -75,7 +75,7 @@
 + (BOOL)getCameraUploadCryptatedVideoActiveAccount:(NSString *)activeAccount;
 + (BOOL)getCameraUploadWWanPhotoActiveAccount:(NSString *)activeAccount;
 + (BOOL)getCameraUploadWWanVideoActiveAccount:(NSString *)activeAccount;
-+ (float)getServerVersionActiveAccount:(NSString *)activeAccount;
++ (NSInteger)getServerVersionMajorActiveAccount:(NSString *)activeAccount;
 
 + (void)setCameraUpload:(BOOL)state activeAccount:(NSString *)activeAccount;
 + (void)setCameraUploadBackground:(BOOL)state activeAccount:(NSString *)activeAccount;

+ 4 - 5
iOSClient/FileSystem/CCCoreData.m

@@ -294,19 +294,18 @@
     else return NO;
 }
 
-+ (float)getServerVersionActiveAccount:(NSString *)activeAccount
++ (NSInteger)getServerVersionMajorActiveAccount:(NSString *)activeAccount
 {
     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@)", activeAccount];
     TableAccount *record = [TableAccount MR_findFirstWithPredicate:predicate];
 
     if (record) {
-        NSInteger versionMajor = [record.versionMajor integerValue];
-        NSInteger versionMinor = [record.versionMinor integerValue];
         
-        return versionMajor + versionMinor/100;
+        NSInteger versionMajor = [record.versionMajor integerValue];
+        return versionMajor;
 
     } else
-        return 0.0;
+        return 0;
 }
 
 + (void)setCameraUpload:(BOOL)state activeAccount:(NSString *)activeAccount

+ 38 - 11
iOSClient/Main/CCMain.m

@@ -60,7 +60,7 @@
     
     BOOL _isPickerCriptate;              // if is cryptated image or video back from picker
     BOOL _isSelectedMode;
-    
+        
     NSMutableArray *_selectedMetadatas;
     NSMutableArray *_queueSelector;
     NSUInteger _numSelectedMetadatas;
@@ -183,6 +183,9 @@
         [self readFolderWithForced:NO serverUrl:_serverUrl];
     }
 
+    // Version Server
+    app.serverVersion = [CCCoreData getServerVersionMajorActiveAccount:app.activeAccount];
+    
     // Title
     [self setTitle];
         
@@ -196,14 +199,20 @@
     self.tableView.tableHeaderView = self.searchController.searchBar;
     self.searchController.searchBar.barTintColor = COLOR_SEPARATOR_TABLE;
     [self.searchController.searchBar sizeToFit];
+    self.searchController.searchBar.delegate = self;
     
-    if ([CCCoreData getServerVersionActiveAccount:app.activeAccount] >= 12) {
+    if (app.serverVersion >= 12) {
+        
         if (_isRoot)
             self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_all_folders_",nil);
         else
             self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_sub_folder_",nil);
+        
+        self.searchController.searchBar.scopeButtonTitles = [NSArray arrayWithObjects:NSLocalizedString(@"_search_this_folder_",nil),self.searchController.searchBar.placeholder, nil];
+        
     } else {
         self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_this_folder_",nil);
+        self.searchController.searchBar.scopeButtonTitles = nil;
     }
 }
 
@@ -1136,17 +1145,30 @@
 {
     app.capabilities = capabilities;
     
-    [CCCoreData setServerVersionActiveAccount:app.activeAccount versionMajor:capabilities.versionMajor versionMinor:capabilities.versionMinor versionMicro:capabilities.versionMicro];
+    // Search bar if change version
+    if (app.serverVersion != capabilities.versionMajor) {
     
-    // Search placeholder
-    if (capabilities.versionMajor >= 12) {
-        if (_isRoot)
-            self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_all_folders_",nil);
-        else
-            self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_sub_folder_",nil);
-    } else {
-        self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_this_folder_",nil);
+        [self cancelSearchBar];
+        
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
+
+            if (capabilities.versionMajor >= 12) {
+                if (_isRoot)
+                    self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_all_folders_",nil);
+                else
+                    self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_sub_folder_",nil);
+                
+                self.searchController.searchBar.scopeButtonTitles = [NSArray arrayWithObjects:NSLocalizedString(@"_search_this_folder_",nil),self.searchController.searchBar.placeholder, nil];
+                
+            } else {
+                self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_this_folder_",nil);
+                self.searchController.searchBar.scopeButtonTitles = nil;
+            }
+        });
     }
+    
+    [CCCoreData setServerVersionActiveAccount:app.activeAccount versionMajor:capabilities.versionMajor versionMinor:capabilities.versionMinor versionMicro:capabilities.versionMicro];
+    app.serverVersion = capabilities.versionMajor;
 }
 
 - (void)getFeaturesSupportedByServerSuccess:(BOOL)hasCapabilitiesSupport hasForbiddenCharactersSupport:(BOOL)hasForbiddenCharactersSupport hasShareSupport:(BOOL)hasShareSupport hasShareeSupport:(BOOL)hasShareeSupport
@@ -1961,6 +1983,11 @@
     }
 }
 
+- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope
+{
+    //[self updateSearchResultsForSearchController:self.searchController];
+    NSLog(@"x");
+}
 #pragma mark -
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Delete File or Folder =====