From 74cee13a8ed3e5f00c6a0f2e680f80482edd1806 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 23 Sep 2008 10:54:55 +0000 Subject: Make KFilePreviewGenerator independent from the view implementation, so that it is no requirement that a QAbstractItemView is used -> the view implementation can also be based on QGraphicsView like done in the FolderView Plasmoid. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch provided by Fredrik Höglund. CCMAIL: fredrik@kde.org svn path=/trunk/KDE/kdebase/apps/; revision=863845 --- src/kabstractviewadapter_p.h | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/kabstractviewadapter_p.h (limited to 'src/kabstractviewadapter_p.h') diff --git a/src/kabstractviewadapter_p.h b/src/kabstractviewadapter_p.h new file mode 100644 index 000000000..0291fa897 --- /dev/null +++ b/src/kabstractviewadapter_p.h @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (C) 2008 by Fredrik Höglund * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library 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 * + * Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public License * + * along with this library; see the file COPYING.LIB. If not, write to * + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * + * Boston, MA 02110-1301, USA. * + *******************************************************************************/ + +#ifndef KABSTRACTVIEWADAPTER_H +#define KABSTRACTVIEWADAPTER_H + +#include + +class QModelIndex; +class KDirModel; +class QPalette; +class QRect; +class QSize; + +/* + * Interface used by KFilePreviewGenerator to generate previews + * for files. The interface allows KFilePreviewGenerator to be + * independent from the view implementation. + */ +class AbstractViewAdapter : public QObject +{ +public: + enum Signal { ScrollBarValueChanged }; + + AbstractViewAdapter(QObject *parent) : QObject(parent) {} + virtual QObject *createMimeTypeResolver(KDirModel*) const = 0; + virtual QSize iconSize() const = 0; + virtual QPalette palette() const = 0; + virtual QRect visibleArea() const = 0; + virtual QRect visualRect(const QModelIndex &index) const = 0; + virtual void connect(Signal signal, QObject *receiver, const char *slot) = 0; +}; + +#endif + -- cgit v1.3