00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef CHANNELEDITOR_H
00024 #define CHANNELEDITOR_H
00025
00026 #include <klistview.h>
00027
00028 class ChannelStore;
00029 class Channel;
00030
00031 class ChannelListItem : public QObject, public KListViewItem {
00032 Q_OBJECT
00033 public:
00034 ChannelListItem(KListView* parent, Channel* ch, bool);
00035 virtual ~ChannelListItem();
00036
00037 virtual int compare(QListViewItem *i, int col, bool ascending) const;
00038
00039 QString _num, _name;
00040
00041 virtual int rtti() const;
00042 Channel *c;
00043
00044 public slots:
00045 void updateFields();
00046 private:
00047 bool _showSelectedOnly;
00048 };
00049
00050
00054 class ChannelEditor : public KListView
00055 {
00056 Q_OBJECT
00057
00058 public:
00059 ChannelEditor(QWidget* parent = 0, const char* name = 0, bool showSelectedOnly = true);
00060 ~ChannelEditor();
00061
00062 public slots:
00063 void setChannels( ChannelStore *chans );
00064 void renameItem( QListViewItem *item, const QString &str, int col );
00065 void ensureSelected( Channel *ch );
00066 void reloadChannels();
00067 void slotSetShowSelectedOnly(bool);
00068
00069 private slots:
00070 void requestChange( QListViewItem *item );
00071 void storeCurrentChannel();
00072 void restoreCurrentChannel();
00073
00074 signals:
00075 void channelModified( Channel *chan );
00076 void channelSelected( Channel *chan );
00077
00078 protected:
00079 void createItems();
00080
00081 private:
00082 ChannelStore *cs;
00083 bool _showSelectedOnly;
00084 int prev;
00085 };
00086
00087 #endif // CHANNELEDITOR_H
00088