diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-27 01:04:16 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-27 01:04:16 -0600 |
commit | 5159cd2beb2e87806a5b54e9991b7895285c9d3e (patch) | |
tree | 9b70e8be47a390f8f4d56ead812ab0c9dad88709 /tdeio/tdeio/kmimetypechooser.h | |
parent | c17cb900dcf52b8bd6dc300d4f103392900ec2b4 (diff) | |
download | tdelibs-5159cd2beb2e87806a5b54e9991b7895285c9d3e.tar.gz tdelibs-5159cd2beb2e87806a5b54e9991b7895285c9d3e.zip |
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'tdeio/tdeio/kmimetypechooser.h')
-rw-r--r-- | tdeio/tdeio/kmimetypechooser.h | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/tdeio/tdeio/kmimetypechooser.h b/tdeio/tdeio/kmimetypechooser.h new file mode 100644 index 000000000..16ec052f5 --- /dev/null +++ b/tdeio/tdeio/kmimetypechooser.h @@ -0,0 +1,180 @@ +/* This file is part of the KDE libraries + Copyright (C) 2001 - 2004 Anders Lund <anders@alweb.dk> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License version 2 as published by the Free Software Foundation. + + 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 _KMIMETYPE_CHOOSER_H_ +#define _KMIMETYPE_CHOOSER_H_ + +#include <tqvbox.h> +#include <kdialogbase.h> + + +/** + * This widget provides a checkable list of all available mimetypes, + * and a list of selected ones, as well as a corresponding list of file + * extensions, an optional text and an optional edit button (not working yet). + * Mime types is presented in a list view, with name, comment and patterns columns. + * + * @author Anders Lund (anders at alweb dk), jan 23, 2002 + */ +class TDEIO_EXPORT KMimeTypeChooser : public TQVBox +{ + Q_OBJECT + + public: + /** + * Buttons and data for display. + */ + enum Visuals { + Comments=1, ///< Show the Mimetypes Comment field in a column ("HTML Document"). + Patterns=2, ///< Show the Mimetypes Patterns field in a column ("*.html;*.htm"). + EditButton=4 ///< Show the "Edit" button, allowing to edit the selected type. + }; + /** + * Create a new KMimeTypeChooser. + * + * @param text A Text to display above the list + * @param selectedMimeTypes A list of mimetype names, theese will be checked + * in the list if they exist. + * @param visuals A OR'd Visuals enum to decide which data and buttons to display. + * @param defaultGroup The group to open when no groups are selected (like + * "text"). If not provided, no group is opened. If @p groupsToShow + * is provided and defaultGroup is not a member of that, it is ignored. + * @param groupsToShow a list of mimetype groups to show. If empty, all + * groups are shown. + * @param parent The parent widget to use + * @param name The internal name of this object + */ + KMimeTypeChooser( const TQString& text=TQString::null, + const TQStringList &selectedMimeTypes=0, + const TQString &defaultGroup=TQString::null, + const TQStringList &groupsToShow=TQStringList(), + int visuals=Comments|Patterns|EditButton, + TQWidget *parent=0, const char *name=0 ); + ~KMimeTypeChooser(); + + /** + * @return a list of all selected selected mimetypes represented by their name. + */ + TQStringList mimeTypes() const; + /** + * @return a list of the fileame patterns associated with all selected mimetypes. + */ + TQStringList patterns() const; + + public slots: + /** + * @short edit the current mimetype + * Uses KRun to start the KDE mimetype editor for editing the currently + * selected mimetype. + */ + void editMimeType(); + + private slots: + /** + * @internal disables the "edit" button for groups + */ + void slotCurrentChanged(TQListViewItem* i); + + /** + * @internal called when the sycoca database has changed after + * the user edited a mimetype + */ + void slotSycocaDatabaseChanged(); + + private: + /** + * @internal Load mime types into the list view + * If @p selected is empty, selectedMimeTypesStringList() is called + * to fill it in. + */ + void loadMimeTypes( const TQStringList &selected=TQStringList() ); + + class KMimeTypeChooserPrivate *d; +}; + +/** + * @short A Dialog to choose some mimetypes. + * Provides a checkable tree list of mimetypes, with icons and optinally + * comments and patterns, and an (optional) button to display the KDE mimetype + * editor. + * + * Here is an example, using the dialog to set the text of two lineedits: + * + * @code + * TQString text = i18n("Select the MimeTypes you want for this file type."); + * TQStringList list = TQStringList::split( TQRegExp("\\s*;\\s*"), leMimetypes->text() ); + * KMimeTypeChooserDialog *d = new KMimeTypeChooserDialog( this, 0, + * i18n("Select Mime Types"), text, list, "text" ); + * if ( d->exec() == KDialogBase::Accepted ) { + * leWildcards->setText( d->chooser()->patterns().join(";") ); + * leMimetypes->setText( d->chooser()->mimeTypes().join(";") ); + * } + * @endcode + * + * @author Anders Lund (anders at alweb dk) dec 19, 2001 + */ +class TDEIO_EXPORT KMimeTypeChooserDialog : public KDialogBase +{ + public: + /** + * Create a KMimeTypeChooser dialog. + * + * @param caption The title of the dialog + * @param text A Text to display above the list + * @param selectedMimeTypes A list of mimetype names, theese will be + * checked in the list if they exist. + * patterns will be added to the list view. + * @param visuals A OR'd KMimetypeChooser::Visuals enum to decide which data + * and buttons to display. + * @param defaultGroup The group to open when no groups are selected (like + * "text"). If not provided, no group is opened. If @p groupsToShow + * is provided and defaultGroup is not a member of that, it is ignored. + * @param groupsToShow a list of mimetype groups to show. If empty, all + * groups are shown. + * @param parent The parent widget to use + * @param name The internal name of this object + */ + KMimeTypeChooserDialog( const TQString &caption=TQString::null, + const TQString& text=TQString::null, + const TQStringList &selectedMimeTypes=TQStringList(), + const TQString &defaultGroup=TQString::null, + const TQStringList &groupsToShow=TQStringList(), + int visuals=KMimeTypeChooser::Comments|KMimeTypeChooser::Patterns|KMimeTypeChooser::EditButton, + TQWidget *parent=0, const char *name=0 ); + + /** + * @overload + */ + KMimeTypeChooserDialog( const TQString &caption, + const TQString& text, + const TQStringList &selectedMimeTypes, + const TQString &defaultGroup, + TQWidget *parent=0, const char *name=0 ); + + ~KMimeTypeChooserDialog(); + + /** + * @return a pointer to the KMimeTypeChooser widget + */ + KMimeTypeChooser* chooser() { return m_chooser; } + + private: + KMimeTypeChooser *m_chooser; +}; +#endif // _KMIMETYPE_CHOOSER_H_ +// kate: space-indent on; indent-width 2; replace-tabs on; |