diff options
Diffstat (limited to 'src/views/dolphinitemlistcontainer.h')
| -rw-r--r-- | src/views/dolphinitemlistcontainer.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/views/dolphinitemlistcontainer.h b/src/views/dolphinitemlistcontainer.h new file mode 100644 index 000000000..599a4bd74 --- /dev/null +++ b/src/views/dolphinitemlistcontainer.h @@ -0,0 +1,78 @@ +/*************************************************************************** + * Copyright (C) 2011 by Peter Penz <[email protected]> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef DOLPHINITEMLISTCONTAINER_H +#define DOLPHINITEMLISTCONTAINER_H + +#include <kitemviews/kfileitemlistview.h> +#include <kitemviews/kitemlistcontainer.h> + +#include <libdolphin_export.h> + +class KDirLister; +class KFileItemListView; + +/** + * @brief Extends KItemListContainer by Dolphin specific properties. + * + * The view and model for KFileItems are created automatically when + * instantating KItemListContainer. + * + * The Dolphin settings of the icons-, compact- and details-view are + * converted internally to properties that can be used to configure e.g. + * the item-size and visible roles of the KItemListView. + */ +class LIBDOLPHINPRIVATE_EXPORT DolphinItemListContainer : public KItemListContainer +{ + Q_OBJECT + +public: + DolphinItemListContainer(KDirLister* dirLister, + QWidget* parent = 0); + + virtual ~DolphinItemListContainer(); + + void setPreviewsShown(bool show); + bool previewsShown() const; + + /** + * Sets the visible roles to \p roles. The integer-value defines + * the order of the visible role: Smaller values are ordered first. + */ + void setVisibleRoles(const QHash<QByteArray, int>& roles); + QHash<QByteArray, int> visibleRoles() const; + + void setZoomLevel(int level); + int zoomLevel() const; + + void setItemLayout(KFileItemListView::Layout layout); + KFileItemListView::Layout itemLayout() const; + + void beginTransaction(); + void endTransaction(); + +private: + void updateGridSize(); + +private: + int m_zoomLevel; + KFileItemListView* m_fileItemListView; +}; + +#endif |
