1/*****************************************************************************
2 * Copyright (C) 2007 by Peter Penz <peter.penz@gmx.at> *
3 * *
4 * This library is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU Library General Public *
6 * License version 2 as published by the Free Software Foundation. *
7 * *
8 * This library is distributed in the hope that it will be useful, *
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
11 * Library General Public License for more details. *
12 * *
13 * You should have received a copy of the GNU Library General Public License *
14 * along with this library; see the file COPYING.LIB. If not, write to *
15 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
16 * Boston, MA 02110-1301, USA. *
17 *****************************************************************************/
18
19#ifndef KDIROPERATORDETAILVIEW_P_H
20#define KDIROPERATORDETAILVIEW_P_H
21
22#include <QtGui/QTreeView>
23
24#include <kfile.h>
25
26class QAbstractItemModel;
27
28/**
29 * Default detail view for KDirOperator using
30 * custom resizing options and columns.
31 */
32class KDirOperatorDetailView : public QTreeView
33{
34 Q_OBJECT
35
36public:
37 KDirOperatorDetailView(QWidget *parent = 0);
38 virtual ~KDirOperatorDetailView();
39 virtual void setModel(QAbstractItemModel *model);
40
41 /**
42 * Displays either Detail, Tree or DetailTree modes.
43 */
44 virtual bool setViewMode(KFile::FileView viewMode);
45
46protected:
47 virtual bool event(QEvent *event);
48 virtual void dragEnterEvent(QDragEnterEvent *event);
49 virtual void resizeEvent(QResizeEvent *event);
50 virtual void mousePressEvent(QMouseEvent *event);
51 virtual void currentChanged(const QModelIndex& current, const QModelIndex& previous);
52
53private slots:
54 void resetResizing();
55 void disableColumnResizing();
56 void slotLayoutChanged();
57
58private:
59 bool m_resizeColumns;
60 bool m_hideDetailColumns;
61};
62
63#endif
64