00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: YQPkgSelList.h 00014 00015 Author: Stefan Hundhammer <sh@suse.de> 00016 00017 /-*/ 00018 00019 // -*- c++ -*- 00020 00021 00022 #ifndef YQPkgSelList_h 00023 #define YQPkgSelList_h 00024 00025 #include <YQPkgObjList.h> 00026 #include <y2pm/PMSelection.h> 00027 00028 00029 class YQPkgSelListItem; 00030 00031 00035 class YQPkgSelList : public YQPkgObjList 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 00044 YQPkgSelList( QWidget * parent ); 00045 00049 virtual ~YQPkgSelList(); 00050 00051 00052 public slots: 00053 00061 void filter(); 00062 00066 void filterIfVisible(); 00067 00068 00074 void addPkgSelItem( PMSelectionPtr sel ); 00075 00079 void sendUpdatePackages() { emit updatePackages(); } 00080 00085 void applyChanges(); 00086 00087 public: 00088 00092 YQPkgSelListItem * selection() const; 00093 00094 00095 signals: 00096 00101 void updatePackages(); 00102 00107 void filterStart(); 00108 00112 void filterMatch( PMPackagePtr pkg ); 00113 00117 void filterFinished(); 00118 00119 00120 protected slots: 00121 00125 void fillList(); 00126 }; 00127 00128 00129 00130 class YQPkgSelListItem: public YQPkgObjListItem 00131 { 00132 public: 00133 00138 YQPkgSelListItem( YQPkgSelList * pkgSelList, PMSelectionPtr sel ); 00139 00143 virtual ~YQPkgSelListItem(); 00144 00148 PMSelectionPtr pmSel() { return _pmSel; } 00149 00153 const PMSelectionPtr constPmSel() const { return _pmSel; } 00154 00162 virtual void setStatus( PMSelectable::UI_Status newStatus ); 00163 00164 00175 virtual int compare( QListViewItem * other, 00176 int col, 00177 bool ascending ) const; 00178 00179 // Columns 00180 00181 int statusCol() const { return _pkgSelList->statusCol(); } 00182 int summaryCol() const { return _pkgSelList->summaryCol(); } 00183 00184 00185 protected: 00186 00187 // Data members 00188 00189 YQPkgSelList * _pkgSelList; 00190 PMSelectionPtr _pmSel; 00191 }; 00192 00193 00194 #endif // ifndef YQPkgSelList_h