00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: YQPkgLangList.h 00014 00015 Author: Stefan Hundhammer <sh@suse.de> 00016 00017 /-*/ 00018 00019 // -*- c++ -*- 00020 00021 00022 #ifndef YQPkgLangList_h 00023 #define YQPkgLangList_h 00024 00025 #include <YQPkgObjList.h> 00026 #include <y2pm/PMLanguage.h> 00027 00028 00029 class YQPkgLangListItem; 00030 00031 00035 class YQPkgLangList : public YQPkgObjList 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 00044 YQPkgLangList( QWidget * parent ); 00045 00049 virtual ~YQPkgLangList(); 00050 00051 00052 public slots: 00053 00061 void filter(); 00062 00066 void filterIfVisible(); 00067 00068 00074 void addLangItem( PMLanguagePtr lang ); 00075 00079 void sendUpdatePackages() { emit updatePackages(); } 00080 00081 00082 public: 00083 00087 YQPkgLangListItem * selection() const; 00088 00089 00090 signals: 00091 00096 void updatePackages(); 00097 00102 void filterStart(); 00103 00107 void filterMatch( PMPackagePtr pkg ); 00108 00112 void filterFinished(); 00113 00114 00115 protected slots: 00116 00120 void fillList(); 00121 }; 00122 00123 00124 00125 class YQPkgLangListItem: public YQPkgObjListItem 00126 { 00127 public: 00128 00133 YQPkgLangListItem( YQPkgLangList * pkgSelList, PMLanguagePtr lang ); 00134 00138 virtual ~YQPkgLangListItem(); 00139 00143 PMLanguagePtr pmLang() { return _pmLang; } 00144 00148 const PMLanguagePtr constPmLang() const { return _pmLang; } 00149 00157 virtual void setStatus( PMSelectable::UI_Status newStatus ); 00158 00159 00160 // Columns 00161 00162 int statusCol() const { return _langList->statusCol(); } 00163 00164 00165 protected: 00166 00167 // Data members 00168 00169 YQPkgLangList * _langList; 00170 PMLanguagePtr _pmLang; 00171 }; 00172 00173 00174 #endif // ifndef YQPkgLangList_h