43 #define YUILogComponent "qt-pkg"
45 #include <YUIException.h>
47 #include <QVBoxLayout>
51 #include "QY2ComboTabWidget.h"
52 #include "QY2LayoutUtils.h"
53 #include "YQPkgRepoFilterView.h"
54 #include "YQPkgRepoList.h"
55 #include "YQPkgRpmGroupTagsFilterView.h"
56 #include "YQPkgSearchFilterView.h"
57 #include "YQPkgStatusFilterView.h"
64 QHBoxLayout *layout =
new QHBoxLayout(
this);
65 layout->setContentsMargins(0,0,0,0);
67 QSplitter * splitter =
new QSplitter( Qt::Vertical,
this );
68 YUI_CHECK_NEW( splitter );
70 layout->addWidget( splitter );
73 splitter->addWidget(_repoList);
75 YUI_CHECK_NEW( _repoList );
76 _repoList->setSizePolicy( QSizePolicy( QSizePolicy::Ignored, QSizePolicy::Expanding ) );
90 connect( _repoList, SIGNAL(
filterMatch ( ZyppSel, ZyppPkg ) ),
98 splitter->setStretchFactor(0, 5);
99 splitter->setStretchFactor(1, 1);
100 splitter->setStretchFactor(2, 3);
115 if ( selection && selection->
zyppRepo() )
117 return zypp::Repository::noRepository;
123 QWidget *vbox =
new QWidget( parent );
124 YUI_CHECK_NEW( vbox );
126 QVBoxLayout *layout =
new QVBoxLayout();
127 YUI_CHECK_NEW( layout );
129 vbox->setLayout( layout );
130 layout->setContentsMargins( 0, 0, 0, 0 );
139 _secondaryFilters =
new QY2ComboTabWidget( _(
"&Secondary Filter:" ));
140 YUI_CHECK_NEW( _secondaryFilters );
141 layout->addWidget(_secondaryFilters);
147 _allPackages =
new QWidget(
this );
148 YUI_CHECK_NEW( _allPackages );
149 _secondaryFilters->addPage( _(
"All Packages" ), _allPackages );
155 _unmaintainedPackages =
new QWidget(
this );
156 YUI_CHECK_NEW( _unmaintainedPackages );
157 _secondaryFilters->addPage( _(
"Unmaintained Packages" ), _unmaintainedPackages );
164 YUI_CHECK_NEW( _rpmGroupTagsFilterView );
165 _secondaryFilters->addPage( _(
"Package Groups" ), _rpmGroupTagsFilterView );
167 connect( _rpmGroupTagsFilterView, SIGNAL(
filterStart() ),
168 _repoList, SLOT (
filter() ) );
176 YUI_CHECK_NEW( _searchFilterView );
178 _searchFilterView->setSizePolicy( QSizePolicy::Minimum,
179 QSizePolicy::Minimum );
180 _secondaryFilters->addPage( _(
"Search" ), _searchFilterView );
182 connect( _searchFilterView, SIGNAL(
filterStart() ),
183 _repoList, SLOT (
filter() ) );
185 connect( _secondaryFilters, SIGNAL( currentChanged( QWidget * ) ),
186 this, SLOT (
filter() ) );
194 YUI_CHECK_NEW( _statusFilterView );
196 _searchFilterView->setSizePolicy( QSizePolicy::Minimum,
197 QSizePolicy::Minimum );
199 _secondaryFilters->addPage( _(
"Installation Summary" ), _statusFilterView );
201 connect( _statusFilterView, SIGNAL(
filterStart() ),
202 _repoList, SLOT (
filter() ) );
205 return _secondaryFilters;
241 if ( _allPackages->isVisible() )
245 else if ( _unmaintainedPackages->isVisible() )
247 return ( selectable->availableSize() == 0 );
249 else if ( _rpmGroupTagsFilterView->isVisible() )
251 return _rpmGroupTagsFilterView->
check( selectable, pkg );
253 else if ( _searchFilterView->isVisible() )
255 return _searchFilterView->
check( selectable, pkg );
257 else if ( _statusFilterView->isVisible() )
259 return _statusFilterView->
check( selectable, pkg );
272 #include "YQPkgRepoFilterView.moc"