You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/lib/kofficecore/KoDetailsPane.h

135 lines
4.0 KiB

/* This file is part of the KDE project
Copyright (C) 2005 Peter Simonsson <psn@linux.se>
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 <klistview.h>
#include "koDetailsPaneBase.h"
class KoTemplateGroup;
class KoTemplate;
class TDEInstance;
class TQListViewItem;
class KoRecentDocumentsPanePrivate;
class KoRichTextListItemPrivate;
class KFileItem;
class TQPixmap;
namespace KIO {
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
{
Q_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<int>& sizes);
public slots:
void resizeSplitter(KoDetailsPaneBase* sender, const TQValueList<int>& 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
{
Q_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<int>& sizes);
public slots:
void resizeSplitter(KoDetailsPaneBase* sender, const TQValueList<int>& sizes);
protected slots:
void selectionChanged(TQListViewItem* item);
void openFile();
void openFile(TQListViewItem* item);
void previewResult(KIO::Job* job);
void updatePreview(const KFileItem* fileItem, const TQPixmap& preview);
void changePalette();
private:
KoRecentDocumentsPanePrivate* d;
};
#endif //KODETAILSPANE_H