From ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 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/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kate/part/katefiletype.h | 142 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 kate/part/katefiletype.h (limited to 'kate/part/katefiletype.h') diff --git a/kate/part/katefiletype.h b/kate/part/katefiletype.h new file mode 100644 index 000000000..cd343019c --- /dev/null +++ b/kate/part/katefiletype.h @@ -0,0 +1,142 @@ +/* This file is part of the KDE libraries + Copyright (C) 2001-2003 Christoph Cullmann + + 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 __kate_filetype_h__ +#define __kate_filetype_h__ + +#include +#include +#include // for QPtrList, compile with gcc 3.4 +#include + +#include "katedialogs.h" + +class KateDocument; + +class KateFileType +{ + public: + int number; + QString name; + QString section; + QStringList wildcards; + QStringList mimetypes; + int priority; + QString varLine; +}; + +class KateFileTypeManager +{ + public: + KateFileTypeManager (); + ~KateFileTypeManager (); + + /** + * File Type Config changed, update all docs (which will take care of views/renderers) + */ + void update (); + + void save (QPtrList *v); + + /** + * get the right fileType for the given document + * -1 if none found ! + */ + int fileType (KateDocument *doc); + + /** + * Don't store the pointer somewhere longer times, won't be valid after the next update() + */ + const KateFileType *fileType (uint number); + + /** + * Don't modify + */ + QPtrList *list () { return &m_types; } + + private: + int wildcardsFind (const QString &fileName); + + private: + QPtrList m_types; +}; + +class KateFileTypeConfigTab : public KateConfigPage +{ + Q_OBJECT + + public: + KateFileTypeConfigTab( QWidget *parent ); + + public slots: + void apply(); + void reload(); + void reset(); + void defaults(); + + private slots: + void update (); + void deleteType (); + void newType (); + void typeChanged (int type); + void showMTDlg(); + void save (); + + private: + class QGroupBox *gbProps; + class QPushButton *btndel; + class QComboBox *typeCombo; + class QLineEdit *wildcards; + class QLineEdit *mimetypes; + class KIntNumInput *priority; + class QLineEdit *name; + class QLineEdit *section; + class QLineEdit *varLine; + + QPtrList m_types; + KateFileType *m_lastType; +}; + +class KateViewFileTypeAction : public Kate::ActionMenu +{ + Q_OBJECT + + public: + KateViewFileTypeAction(const QString& text, QObject* parent = 0, const char* name = 0) + : Kate::ActionMenu(text, parent, name) { init(); }; + + ~KateViewFileTypeAction(){;}; + + void updateMenu (Kate::Document *doc); + + private: + void init(); + + QGuardedPtr m_doc; + QStringList subMenusName; + QStringList names; + QPtrList subMenus; + + public slots: + void slotAboutToShow(); + + private slots: + void setType (int mode); +}; + +#endif -- cgit v1.2.3