Marino Faggiana 8 年之前
父节点
当前提交
b658dc7b93

+ 2 - 0
iOSClient/CCImages.h

@@ -85,6 +85,8 @@
 #define image_directorycriptata                 @"directorycriptata"
 #define image_document                          @"document"
 #define image_documentcrypto                    @"documentcrypto"
+#define image_favorite                          @"favorite"
+#define image_favoritecrypto                    @"favoritecrypto"
 #define image_offline                           @"offline"
 #define image_offlinecrypto                     @"offlinecrypto"
 #define image_offlineTitle                      @"offlineTitle"

+ 2 - 0
iOSClient/FileSystem/CCCoreData.m

@@ -1891,6 +1891,7 @@
     if (metadata.date) recordMetadata.date = metadata.date;
     recordMetadata.directory = [NSNumber numberWithBool:metadata.directory];
     recordMetadata.errorPasscode = [NSNumber numberWithBool:metadata.errorPasscode];
+    recordMetadata.favorite = [NSNumber numberWithBool:metadata.favorite];
     if ([metadata.fileID length]) recordMetadata.fileID = metadata.fileID;
     if ([metadata.directoryID length]) recordMetadata.directoryID = metadata.directoryID;
     if ([metadata.fileName length]) recordMetadata.fileName = metadata.fileName;
@@ -1939,6 +1940,7 @@
     metadata.dateRecord = recordMetadata.dateRecord;
     metadata.directory = [recordMetadata.directory boolValue];
     metadata.errorPasscode = [recordMetadata.errorPasscode boolValue];
+    metadata.favorite = [recordMetadata.favorite boolValue];
     metadata.fileID = recordMetadata.fileID;
     metadata.directoryID = recordMetadata.directoryID;
     metadata.fileName = recordMetadata.fileName;

+ 1 - 0
iOSClient/FileSystem/CCMetadata.h

@@ -33,6 +33,7 @@
 @property BOOL directory;
 @property (nonatomic, strong) NSString *directoryID;
 @property BOOL errorPasscode;
+@property BOOL favorite;
 @property (nonatomic, strong) NSString *fileID;
 @property (nonatomic, strong) NSString *fileName;
 @property (nonatomic, strong) NSString *fileNameData;

+ 3 - 0
iOSClient/FileSystem/CCMetadata.m

@@ -48,6 +48,7 @@
     [metadata setDirectory: self.directory];
     [metadata setDirectoryID: self.directoryID];
     [metadata setErrorPasscode: self.errorPasscode];
+    [metadata setFavorite: self.favorite];
     [metadata setFileID: self.fileID];
     [metadata setFileName: self.fileName];
     [metadata setFileNameData: self.fileNameData];
@@ -89,6 +90,7 @@
         _directory = [decoder decodeBoolForKey:@"directory"];
         _directoryID = [decoder decodeObjectForKey:@"directoryID"];
         _errorPasscode = [decoder decodeBoolForKey:@"errorPasscode"];
+        _favorite = [decoder decodeBoolForKey:@"favorite"];
         _fileID = [decoder decodeObjectForKey:@"fileID"];
         _fileName = [decoder decodeObjectForKey:@"fileName"];
         _fileNameData = [decoder decodeObjectForKey:@"fileNameData"];
@@ -127,6 +129,7 @@
     [encoder encodeBool:_directory forKey:@"directory"];
     [encoder encodeObject:_directoryID forKey:@"directoryID"];
     [encoder encodeBool:_errorPasscode forKey:@"errorPasscode"];
+    [encoder encodeBool:_directory forKey:@"favorite"];
     [encoder encodeObject:_fileID forKey:@"fileID"];
     [encoder encodeObject:_fileName forKey:@"fileName"];
     [encoder encodeObject:_fileNameData forKey:@"fileNameData"];

+ 1 - 0
iOSClient/FileSystem/TableMetadata+CoreDataProperties.h

@@ -22,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nullable, nonatomic, copy) NSNumber *directory;
 @property (nullable, nonatomic, copy) NSString *directoryID;
 @property (nullable, nonatomic, copy) NSNumber *errorPasscode;
+@property (nullable, nonatomic, copy) NSNumber *favorite;
 @property (nullable, nonatomic, copy) NSString *fileID;
 @property (nullable, nonatomic, copy) NSString *fileName;
 @property (nullable, nonatomic, copy) NSString *fileNameData;

+ 1 - 0
iOSClient/FileSystem/TableMetadata+CoreDataProperties.m

@@ -21,6 +21,7 @@
 @dynamic directory;
 @dynamic directoryID;
 @dynamic errorPasscode;
+@dynamic favorite;
 @dynamic fileID;
 @dynamic fileName;
 @dynamic fileNameData;

+ 23 - 0
iOSClient/Images.xcassets/favorite.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "favorite.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "favorite@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "favorite@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

二进制
iOSClient/Images.xcassets/favorite.imageset/favorite.png


二进制
iOSClient/Images.xcassets/favorite.imageset/favorite@2x.png


二进制
iOSClient/Images.xcassets/favorite.imageset/favorite@3x.png


+ 23 - 0
iOSClient/Images.xcassets/favoritecrypto.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "favoritecrypto.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "favoritecrypto@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "favoritecrypto@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

二进制
iOSClient/Images.xcassets/favoritecrypto.imageset/favoritecrypto.png


二进制
iOSClient/Images.xcassets/favoritecrypto.imageset/favoritecrypto@2x.png


二进制
iOSClient/Images.xcassets/favoritecrypto.imageset/favoritecrypto@3x.png


+ 20 - 0
iOSClient/Main/CCMain.m

@@ -4995,6 +4995,16 @@
                 cell.synchronizedImageView.image = [UIImage animatedImageWithAnimatedGIFURL:myURL];
             }
         }
+        
+        // ----------------------------------------------------------------------------------------------------------
+        // Favorite Folder
+        // ----------------------------------------------------------------------------------------------------------
+        
+        if (metadata.favorite) {
+            
+            if (metadata.cryptated) cell.offlineImageView.image = [UIImage imageNamed:image_favoritecrypto];
+            else cell.offlineImageView.image = [UIImage imageNamed:image_favorite];
+        }
 
     } else {
     
@@ -5094,6 +5104,16 @@
         else cell.offlineImageView.image = [UIImage imageNamed:image_offline];
     }
     
+    // ----------------------------------------------------------------------------------------------------------
+    // Favorite
+    // ----------------------------------------------------------------------------------------------------------
+    
+    if (metadata.favorite) {
+        
+        if (metadata.cryptated) cell.offlineImageView.image = [UIImage imageNamed:image_favoritecrypto];
+        else cell.offlineImageView.image = [UIImage imageNamed:image_favorite];
+    }
+    
     // ----------------------------------------------------------------------------------------------------------
     // Share
     // ----------------------------------------------------------------------------------------------------------

+ 1 - 0
iOSClient/Utility/CCUtility.m

@@ -757,6 +757,7 @@
     metadata.date = [NSDate dateWithTimeIntervalSince1970:itemDto.date];
     metadata.directory = itemDto.isDirectory;
     metadata.errorPasscode = false;
+    metadata.favorite = itemDto.isFavorite;
     metadata.fileID = itemDto.ocId;
     metadata.directoryID = directoryID;
     metadata.fileName = [CCUtility removeForbiddenCharacters:itemDto.fileName hasServerForbiddenCharactersSupport:YES];

+ 2 - 1
iOSClient/cryptocloud.xcdatamodeld/cryptocloud 7.xcdatamodel/contents

@@ -103,6 +103,7 @@
         <attribute name="directory" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
         <attribute name="directoryID" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="errorPasscode" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="favorite" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
         <attribute name="fileID" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="fileName" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="fileNameData" optional="YES" attributeType="String" syncable="YES"/>
@@ -143,7 +144,7 @@
         <element name="TableDirectory" positionX="-6372" positionY="111" width="162" height="240"/>
         <element name="TableGPS" positionX="-6597" positionY="990" width="128" height="180"/>
         <element name="TableLocalFile" positionX="-6138" positionY="111" width="162" height="240"/>
-        <element name="TableMetadata" positionX="-6138" positionY="402" width="162" height="508"/>
+        <element name="TableMetadata" positionX="-6138" positionY="402" width="162" height="525"/>
         <element name="TableShare" positionX="-6597" positionY="558" width="128" height="135"/>
     </elements>
 </model>