Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / apps / konqueror / settings / filetypes / filetypesview.h
blob41e5ffde9593b02c4c3386ac9e349e295a060374
1 #ifndef FILETYPESVIEW_H
2 #define FILETYPESVIEW_H
4 #include <Qt3Support/Q3PtrList>
5 #include <QtCore/QMap>
6 #include <QtGui/QLabel>
7 #include <QtGui/QStackedWidget>
9 #include <KConfig>
10 #include <KSharedConfig>
11 #include <KCModule>
13 #include "typeslistitem.h"
15 class QLabel;
16 class K3ListView;
17 class Q3ListViewItem;
18 class QPushButton;
19 class KLineEdit;
20 class FileTypeDetails;
21 class FileGroupDetails;
22 class QStackedWidget;
24 class FileTypesView : public KCModule
26 Q_OBJECT
27 public:
28 FileTypesView(QWidget *parent, const QVariantList &args);
29 ~FileTypesView();
31 void load();
32 void save();
33 void defaults();
35 protected Q_SLOTS:
36 /** fill in the various graphical elements, set up other stuff. */
37 void init();
39 void addType();
40 void removeType();
41 void updateDisplay(Q3ListViewItem *);
42 void slotDoubleClicked(Q3ListViewItem *);
43 void slotFilter(const QString &patternFilter);
44 void setDirty(bool state);
46 void slotDatabaseChanged();
47 void slotEmbedMajor(const QString &major, bool &embed);
49 private:
50 void readFileTypes();
52 private:
53 K3ListView *typesLV;
54 QPushButton *m_removeTypeB;
56 QStackedWidget * m_widgetStack;
57 FileTypeDetails * m_details;
58 FileGroupDetails * m_groupDetails;
59 QLabel * m_emptyWidget;
61 KLineEdit *patternFilterLE;
62 QStringList removedList;
63 bool m_dirty;
64 QMap<QString,TypesListItem*> m_majorMap;
65 Q3PtrList<TypesListItem> m_itemList;
67 QList<TypesListItem *> m_itemsModified;
69 KSharedConfig::Ptr m_fileTypesConfig;
72 #endif