/* This file is part of the KDE project Copyright (C) 2005 Peter Simonsson 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 KODETAILSPANE_H #define KODETAILSPANE_H #include #include "koDetailsPaneBase.h" class KoTemplateGroup; class KoTemplate; class TDEInstance; class TQListViewItem; class KoRecentDocumentsPanePrivate; class KoRichTextListItemPrivate; class KFileItem; class TQPixmap; namespace TDEIO { class Job; } class KoTemplatesPanePrivate; /** * This widget is the right-side part of the template opening widget. * The parent widget is initial widget in the document space of each KOffice component. * This widget shows a list of templates and can show their details or open it. */ class KoTemplatesPane : public KoDetailsPaneBase { TQ_OBJECT public: /** * Constructor. * @param parent the parent widget * @param instance the instance object for the app * @param group the group of templates this widget will show. * @param defaultTemplate pointer to the default template. Used to select a * template when none has been selected before. */ KoTemplatesPane(TQWidget* parent, TDEInstance* instance, KoTemplateGroup* group, KoTemplate* defaultTemplate); ~KoTemplatesPane(); /// Returns true if a template in this group was the last one selected bool isSelected(); virtual bool eventFilter(TQObject* watched, TQEvent* e); signals: void openTemplate(const TQString&); /// Emited when the always use checkbox is selected void alwaysUseChanged(KoTemplatesPane* sender, const TQString& alwaysUse); void splitterResized(KoDetailsPaneBase* sender, const TQValueList& sizes); public slots: void resizeSplitter(KoDetailsPaneBase* sender, const TQValueList& sizes); protected slots: void selectionChanged(TQListViewItem* item); void openTemplate(); void openTemplate(TQListViewItem* item); void alwaysUseClicked(); void changeAlwaysUseTemplate(KoTemplatesPane* sender, const TQString& alwaysUse); void changePalette(); private: KoTemplatesPanePrivate* d; }; /** * This widget is the recent doc part of the template opening widget. * The parent widget is initial widget in the document space of each KOffice component. * This widget shows a list of recent documents and can show their details or open it. */ class KoRecentDocumentsPane : public KoDetailsPaneBase { TQ_OBJECT public: /** * Constructor. * @param parent the parent widget * @param instance the instance object for the app */ KoRecentDocumentsPane(TQWidget* parent, TDEInstance* instance); ~KoRecentDocumentsPane(); virtual bool eventFilter(TQObject* watched, TQEvent* e); signals: void openFile(const TQString&); void splitterResized(KoDetailsPaneBase* sender, const TQValueList& sizes); public slots: void resizeSplitter(KoDetailsPaneBase* sender, const TQValueList& sizes); protected slots: void selectionChanged(TQListViewItem* item); void openFile(); void openFile(TQListViewItem* item); void previewResult(TDEIO::Job* job); void updatePreview(const KFileItem* fileItem, const TQPixmap& preview); void changePalette(); private: KoRecentDocumentsPanePrivate* d; }; #endif //KODETAILSPANE_H