]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/viewproperties.h
SVN_SILENT: minor coding style fixes
[dolphin.git] / src / viewproperties.h
index 65207afa0d06496c5b3a8ea2f1996d7d4e7b68d7..3237686c7f8ab428bb9dc4cadebe2b31b9a2faf4 100644 (file)
@@ -25,7 +25,6 @@
 #include <kurl.h>
 #include <libdolphin_export.h>
 
-class QFile;
 class ViewPropertySettings;
 /**
  * @brief Maintains the view properties like 'view mode' or
@@ -72,8 +71,19 @@ public:
     void setSortOrder(Qt::SortOrder sortOrder);
     Qt::SortOrder sortOrder() const;
 
-    void setAdditionalInfo(KFileItemDelegate::AdditionalInformation info);
-    KFileItemDelegate::AdditionalInformation additionalInfo() const;
+    /**
+     * Sets the additional information for the current set view-mode.
+     * Note that the additional-info property is the only property where
+     * the value is dependent from another property (in this case the view-mode).
+     */
+    void setAdditionalInfo(KFileItemDelegate::InformationList info);
+    
+    /**
+     * Returns the additional information for the current set view-mode.
+     * Note that the additional-info property is the only property where
+     * the value is dependent from another property (in this case the view-mode).
+     */
+    KFileItemDelegate::InformationList additionalInfo() const;
 
     /**
      * Sets the directory properties view mode, show preview,
@@ -118,13 +128,46 @@ private:
      */
     QString destinationDir(const QString& subDir) const;
 
+    /**
+     * Returns the encoded additional information that can be stored
+     * in the .directory file. See ViewProperties::decodedAdditionalInfo()
+     * for the coding format.
+     * @param info   Additional information for the current view mode.
+     */
+    int encodedAdditionalInfo(int info) const;
+
+    /**
+     * Returns the decoded additional information from the .directory
+     * file by respecting the current set view mode. The additional
+     * information from the .directory file is an integer value, where:
+     * - Byte 0 stores the additional info for the details view
+     * - Byte 1 stores the additional info for the icons view
+     * - Byte 2 stores the additional info for the column view
+     * The additional information property is the only property that is
+     * dependent from another property (in this case the view-mode).
+     */
+    int decodedAdditionalInfo() const;
+
     Q_DISABLE_COPY(ViewProperties)
 
 private:
+    enum AdditionalInfoValues
+    {
+        NoInfo   = 0,
+        SizeInfo = 1,
+        DateInfo = 2,
+        PermissionsInfo = 4,
+        OwnerInfo = 8,
+        GroupInfo = 16,
+        TypeInfo = 32
+    };
+
     bool m_changedProps;
     bool m_autoSave;
     QString m_filepath;
     ViewPropertySettings* m_node;
+
+    static bool m_nepomukSupport;
 };
 
 #endif