┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kfilepreviewgenerator.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-09-21 21:17:00 +0000
committerPeter Penz <[email protected]>2008-09-21 21:17:00 +0000
commit5edaa4b299de465d3e3d43389b29834e01ced190 (patch)
treedadf2f3cb292004a3cd4157628e924eac444ca1d /src/kfilepreviewgenerator.h
parent5fe847f61438c5535fc1f0143e80583a5f7012bd (diff)
prepare class to simplify keeping binary compatibility
svn path=/trunk/KDE/kdebase/apps/; revision=863339
Diffstat (limited to 'src/kfilepreviewgenerator.h')
-rw-r--r--src/kfilepreviewgenerator.h143
1 files changed, 11 insertions, 132 deletions
diff --git a/src/kfilepreviewgenerator.h b/src/kfilepreviewgenerator.h
index 6d720fefc..67f26a7e7 100644
--- a/src/kfilepreviewgenerator.h
+++ b/src/kfilepreviewgenerator.h
@@ -84,139 +84,18 @@ public:
/** Cancels all pending previews. */
void cancelPreviews();
-private slots:
- /**
- * Generates previews for the items \a items asynchronously.
- */
- void generatePreviews(const KFileItemList& items);
-
- /**
- * Adds the preview \a pixmap for the item \a item to the preview
- * queue and starts a timer which will dispatch the preview queue
- * later.
- */
- void addToPreviewQueue(const KFileItem& item, const QPixmap& pixmap);
-
- /**
- * Is invoked when the preview job has been finished and
- * removes the job from the m_previewJobs list.
- */
- void slotPreviewJobFinished(KJob* job);
-
- /** Synchronizes the item icon with the clipboard of cut items. */
- void updateCutItems();
-
- /**
- * Dispatches the preview queue block by block within
- * time slices.
- */
- void dispatchPreviewQueue();
-
- /**
- * Pauses all preview jobs and invokes KFilePreviewGenerator::resumePreviews()
- * after a short delay. Is invoked as soon as the user has moved
- * a scrollbar.
- */
- void pausePreviews();
-
- /**
- * Resumes the previews that have been paused after moving the
- * scrollbar. The previews for the current visible area are
- * generated first.
- */
- void resumePreviews();
-
private:
- /**
- * Returns true, if the item \a item has been cut into
- * the clipboard.
- */
- bool isCutItem(const KFileItem& item) const;
-
- /** Applies an item effect to all cut items. */
- void applyCutItemEffect();
-
- /**
- * Applies a frame around the icon. False is returned if
- * no frame has been added because the icon is too small.
- */
- bool applyImageFrame(QPixmap& icon);
-
- /**
- * Resizes the icon to \a maxSize if the icon size does not
- * fit into the maximum size. The aspect ratio of the icon
- * is kept.
- */
- void limitToSize(QPixmap& icon, const QSize& maxSize);
-
- /**
- * Starts a new preview job for the items \a to m_previewJobs
- * and triggers the preview timer.
- */
- void startPreviewJob(const KFileItemList& items);
-
- /** Kills all ongoing preview jobs. */
- void killPreviewJobs();
-
- /**
- * Orders the items \a items in a way that the visible items
- * are moved to the front of the list. When passing this
- * list to a preview job, the visible items will get generated
- * first.
- */
- void orderItems(KFileItemList& items);
-
-private:
- /** Remembers the pixmap for an item specified by an URL. */
- struct ItemInfo
- {
- KUrl url;
- QPixmap pixmap;
- };
-
- bool m_showPreview;
-
- /**
- * True, if m_pendingItems and m_dispatchedItems should be
- * cleared when the preview jobs have been finished.
- */
- bool m_clearItemQueues;
-
- /**
- * True if a selection has been done which should cut items.
- */
- bool m_hasCutSelection;
-
- int m_pendingVisiblePreviews;
-
- QAbstractItemView* m_view;
- QTimer* m_previewTimer;
- QTimer* m_scrollAreaTimer;
- QList<KJob*> m_previewJobs;
- KDirModel* m_dirModel;
- KDirSortFilterProxyModel* m_proxyModel;
-
- KMimeTypeResolver* m_mimeTypeResolver;
-
- QList<ItemInfo> m_cutItemsCache;
- QList<ItemInfo> m_previews;
-
- /**
- * Contains all items where a preview must be generated, but
- * where the preview job has not dispatched the items yet.
- */
- KFileItemList m_pendingItems;
-
- /**
- * Contains all items, where a preview has already been
- * generated by the preview jobs.
- */
- KFileItemList m_dispatchedItems;
+ class Private;
+ Private* const d; /// @internal
+ Q_DISABLE_COPY(KFilePreviewGenerator)
+
+ Q_PRIVATE_SLOT(d, void generatePreviews(const KFileItemList&))
+ Q_PRIVATE_SLOT(d, void addToPreviewQueue(const KFileItem&, const QPixmap&))
+ Q_PRIVATE_SLOT(d, void slotPreviewJobFinished(KJob*))
+ Q_PRIVATE_SLOT(d, void updateCutItems())
+ Q_PRIVATE_SLOT(d, void dispatchPreviewQueue())
+ Q_PRIVATE_SLOT(d, void pausePreviews())
+ Q_PRIVATE_SLOT(d, void resumePreviews())
};
-inline bool KFilePreviewGenerator::showPreview() const
-{
- return m_showPreview;
-}
-
#endif