X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e6785665752a8a3e6f9d9a73d40fdb22a2af7d04..45a1074b0a38f38cfebde8bb65d5a6520b2db3e8:/src/kcategorizedview_p.h diff --git a/src/kcategorizedview_p.h b/src/kcategorizedview_p.h index 1a8a7f376..a18854ba3 100644 --- a/src/kcategorizedview_p.h +++ b/src/kcategorizedview_p.h @@ -1,6 +1,6 @@ /** * This file is part of the KDE project - * Copyright (C) 2007 Rafael Fernández López + * Copyright (C) 2007 Rafael Fernández López * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -21,7 +21,8 @@ #ifndef KCATEGORIZEDVIEW_P_H #define KCATEGORIZEDVIEW_P_H -class KSortFilterProxyModel; +class KCategorizedSortFilterProxyModel; +class KCategoryDrawer; /** * @internal @@ -111,6 +112,8 @@ public: */ void drawDraggedItems(); + void layoutChanged(bool forceItemReload = false); + // Attributes @@ -122,38 +125,40 @@ public: // Basic data KCategorizedView *listView; - KItemCategorizer *itemCategorizer; + KCategoryDrawer *categoryDrawer; QSize biggestItemSize; // Behavior data bool mouseButtonPressed; + bool rightMouseButtonPressed; bool isDragging; bool dragLeftViewport; QModelIndex hovered; QString hoveredCategory; QPoint initialPressPosition; QPoint mousePosition; - QItemSelection lastSelection; - QModelIndex currentViewIndex; int forcedSelectionPosition; // Cache data // We cannot merge some of them into structs because it would affect // performance - QHash elementsInfo; // in source model - QHash elementsPosition; // in source model - QHash elementDictionary; // mapped indexes - QHash invertedElementDictionary; // mapped indexes + QHash elementsInfo; + QHash elementsPosition; QHash categoriesIndexes; QHash categoriesPosition; QStringList categories; QModelIndexList intersectedIndexes; QRect lastDraggedItemsRect; - QRect lastSelectionRect; + int modelSortRole; + int modelSortColumn; + int modelLastRowCount; + bool modelCategorized; + Qt::SortOrder modelSortOrder; + QItemSelection lastSelection; // Attributes for speed reasons - KSortFilterProxyModel *proxyModel; - QModelIndexList sourceModelIndexList; // in source model + KCategorizedSortFilterProxyModel *proxyModel; + QModelIndexList modelIndexList; }; #endif // KCATEGORIZEDVIEW_P_H