From e9ae80694875f869892f13f4fcaf1170a00dea41 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kommander/widgets/fileselector.h | 102 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 kommander/widgets/fileselector.h (limited to 'kommander/widgets/fileselector.h') diff --git a/kommander/widgets/fileselector.h b/kommander/widgets/fileselector.h new file mode 100644 index 00000000..9da6847d --- /dev/null +++ b/kommander/widgets/fileselector.h @@ -0,0 +1,102 @@ +/*************************************************************************** + fileselector.h - File selection widget + ------------------- + copyright : (C) 2002 by Marc Britton + email : consume@optusnet.com.au + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#ifndef _HAVE_FILESELECTOR_H_ +#define _HAVE_FILESELECTOR_H_ + +/* KDE INCLUDES */ + +/* QT INCLUDES */ +#include +#include +#include +#include + +/* OTHER INCLUDES */ +#include +#include + +class QBoxLayout; +class KPushButton; +class KLineEdit; + +class QShowEvent; +class KOMMANDER_EXPORT FileSelector : public QWidget, public KommanderWidget +{ + Q_OBJECT + + Q_PROPERTY(QString populationText READ populationText WRITE setPopulationText DESIGNABLE false) + Q_PROPERTY(QStringList associations READ associatedText WRITE setAssociatedText DESIGNABLE false) + Q_PROPERTY(bool KommanderWidget READ isKommanderWidget) + Q_PROPERTY(bool showEditor READ showEditor WRITE setShowEditor) + Q_PROPERTY(QString buttonCaption READ caption WRITE setCaption) + Q_PROPERTY(QString selectionFilter READ selectionFilter WRITE setSelectionFilter) + Q_PROPERTY(QString selectionCaption READ selectionCaption WRITE setSelectionCaption) + Q_PROPERTY(SelectionType selectionType READ selectionType WRITE setSelectionType) + Q_ENUMS(SelectionType) + Q_PROPERTY(bool selectionOpenMultiple READ selectionOpenMultiple WRITE setSelectionOpenMultiple) + +public: + FileSelector(QWidget *a_parent, const char *a_name); + ~FileSelector(); + + virtual bool isKommanderWidget() const; + virtual void setAssociatedText(const QStringList&); + virtual QStringList associatedText() const; + virtual QString currentState() const; + virtual QString populationText() const; + virtual void setPopulationText(const QString&); + + enum SelectionType { Open, Save, Directory }; + SelectionType selectionType() const; + void setSelectionType(SelectionType); + bool selectionOpenMultiple() const; + void setSelectionOpenMultiple(bool); + QString selectionFilter() const; + void setSelectionFilter(const QString&); + QString selectionCaption() const; + void setSelectionCaption(const QString&); + QString caption() const; + void setCaption(const QString&); + bool showEditor() const; + void setShowEditor(bool); + + virtual QString handleDCOP(int function, const QStringList& args); + virtual bool isFunctionSupported(int function); + +public slots: + virtual void setWidgetText(const QString&); + virtual void makeSelection(); + virtual void populate(); + +signals: + void widgetOpened(); + void widgetTextChanged(const QString&); + void contextMenuRequested(int xpos, int ypos); +protected: + void contextMenuEvent( QContextMenuEvent * e ); + + bool m_openMultiple; + QString m_caption; + QString m_filter; + SelectionType m_selectionType; + KLineEdit *m_lineEdit; + KPushButton *m_selectButton; + QBoxLayout *m_boxLayout; + void showEvent(QShowEvent *e); +private: +}; + +#endif -- cgit v1.2.3