/* channellist.h - IRC Channel Search Widget Copyright (c) 2004 by Jason Keirstead Kopete (c) 2004 by the Kopete developers ************************************************************************* * * * 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 CHANNELLIST_H #define CHANNELLIST_H #include #include #include #include "kircengine.h" class TQVBoxLayout; class TQHBoxLayout; class TQGridLayout; class TQLabel; class TQLineEdit; class TQPushButton; class KListView; class TQSpinBox; class TQListViewItem; class ChannelList : public TQWidget { Q_OBJECT public: ChannelList( TQWidget *parent, KIRC::Engine *engine ); public slots: void search(); void reset(); void clear(); signals: void channelDoubleClicked( const TQString &channel ); void channelSelected( const TQString &channel ); private slots: void slotItemDoubleClicked( TQListViewItem * i ); void slotItemSelected( TQListViewItem * i ); void slotChannelListed( const TQString & channel, uint users, const TQString & topic ); void slotListEnd(); void slotSearchCache(); void slotStatusChanged( KIRC::Engine::Status ); private: void checkSearchResult( const TQString & channel, uint users, const TQString & topic ); TQLabel* textLabel1_2; TQLineEdit* channelSearch; TQSpinBox* numUsers; TQPushButton* mSearchButton; KListView* mChannelList; TQVBoxLayout* ChannelListLayout; TQHBoxLayout* layout72_2; KIRC::Engine *m_engine; bool mSearching; TQString mSearch; uint mUsers; TQMap< TQString, TQPair< uint, TQString > > channelCache; TQMap< TQString, TQPair< uint, TQString > >::const_iterator cacheIterator; }; #endif