]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/additionalinfoaccessor.h
Allow custom sorting of details-view columns
[dolphin.git] / src / views / additionalinfoaccessor.h
index dbec097fdf999029f5ff520bd3ef2afcb7597d8e..0fd7eed0c2de546d7fcf8610d7a1446ee0565b38 100644 (file)
@@ -60,31 +60,24 @@ public:
      *         All entries of this list are keys for accessing the corresponding
      *         data (see actionCollectionName(), translation(), bitValue()).
      */
-    KFileItemDelegate::InformationList keys() const;
+    QList<DolphinView::AdditionalInfo> keys() const;
 
-    /**
-     * @return Key for the model column with the index \p columnIndex.
-     */
-    KFileItemDelegate::Information keyForColumn(int columnIndex) const;
+    QByteArray role(DolphinView::AdditionalInfo info) const;
+
+    DolphinView::AdditionalInfo additionalInfo(const QByteArray& role) const;
 
-    QString actionCollectionName(KFileItemDelegate::Information info, ActionCollectionType type) const;
+    QString actionCollectionName(DolphinView::AdditionalInfo info, ActionCollectionType type) const;
 
-    QString translation(KFileItemDelegate::Information info) const;
+    QString translation(DolphinView::AdditionalInfo info) const;
 
     /**
      * @return String representation of the value that is stored in the .directory
      *         by ViewProperties.
      */
-    QString value(KFileItemDelegate::Information info) const;
+    // TODO Dolphin 3.0: Deprecate - just use role() instead.
+    QString value(DolphinView::AdditionalInfo info) const;
 
-    DolphinView::Sorting sorting(KFileItemDelegate::Information info) const;
-
-    /**
-     * @return Bitvalue for \p info that is stored in a ViewProperties instance.
-     *         Is required only for backward compatibility with the version 1 of
-     *         the view-properties.
-     */
-    int bitValue(KFileItemDelegate::Information info) const;
+    DolphinView::Sorting sorting(DolphinView::AdditionalInfo info) const;
 
 protected:
     AdditionalInfoAccessor();
@@ -93,16 +86,15 @@ protected:
 
 private:
     struct AdditionalInfo {
-        const char* const actionCollectionName;
-        const char* const context;
-        const char* const translation;
-        const char* const value;
+        const char* const role;
+        const char* const roleTranslationContext;
+        const char* const roleTranslation;
+        const char* const value; // TODO Dolphin 3.0: Deprecate and use role instead
         const DolphinView::Sorting sorting;
-        const int bitValue; // for backward compatibility with version 1 of view-properties
     };
 
-    KFileItemDelegate::InformationList m_information;
-    QMap<KFileItemDelegate::Information, const AdditionalInfo*> m_map;
+    QMap<DolphinView::AdditionalInfo, const AdditionalInfo*> m_map;
+    QHash<QByteArray, DolphinView::AdditionalInfo> m_infoForRole;
 };
 
 #endif