You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.9 KiB
61 lines
1.9 KiB
#include <apt-front/predicate/combinators.h>
|
|
#include <apt-front/predicate/factory.h>
|
|
#include <klocale.h>
|
|
#include <kdebug.h>
|
|
#include <tqcheckbox.h>
|
|
#include <tqobjectlist.h>
|
|
#include "statefilter.h"
|
|
|
|
using namespace aptFront;
|
|
using namespace adept;
|
|
|
|
StateFilterWidget::StateFilterWidget( TQWidget *tqparent, const char *name )
|
|
: StateFilterUi( tqparent, name )
|
|
{
|
|
TQObjectList *chld = queryList( TQCHECKBOX_OBJECT_NAME_STRING );
|
|
TQObjectListIt it( *chld );
|
|
while( it.current() != 0 ) {
|
|
connect( it.current(), TQT_SIGNAL( toggled( bool ) ),
|
|
this, TQT_SLOT( widgetsChanged() ) );
|
|
++it;
|
|
}
|
|
}
|
|
|
|
StateFilterWidget::Predicate StateFilterWidget::predicate()
|
|
{
|
|
typedef StateFilter< entity::Package > F;
|
|
unsigned tqmask = 0;
|
|
if (m_installed->isChecked()) tqmask |= F::Installed;
|
|
if (m_notInstalled->isChecked()) tqmask |= F::NotInstalled;
|
|
if (m_upgradable->isChecked()) tqmask |= F::Upgradable;
|
|
if (m_keep->isChecked()) tqmask |= F::Keep;
|
|
if (m_install->isChecked()) tqmask |= F::Install;
|
|
if (m_remove->isChecked()) tqmask |= F::Remove;
|
|
if (m_upgrade->isChecked()) tqmask |= F::Upgrade;
|
|
|
|
StateFilter< entity::Package > f;
|
|
f.setMask( tqmask );
|
|
return predicate::adapt< entity::Entity >( f );
|
|
}
|
|
|
|
static void blockedSet( TQCheckBox *b, bool v ) {
|
|
b->blockSignals( true );
|
|
b->setChecked( v );
|
|
b->blockSignals( false );
|
|
}
|
|
|
|
void StateFilterWidget::predicateChanged()
|
|
{
|
|
typedef StateFilter< entity::Package > F;
|
|
F f = downcast< F >( m_pred );
|
|
unsigned tqmask = f.tqmask();
|
|
blockedSet( m_installed, tqmask & F::Installed );
|
|
blockedSet( m_notInstalled, tqmask & F::NotInstalled );
|
|
blockedSet( m_upgradable, tqmask & F::Upgradable );
|
|
blockedSet( m_keep, tqmask & F::Keep );
|
|
blockedSet( m_install, tqmask & F::Install );
|
|
blockedSet( m_upgrade, tqmask & F::Upgrade );
|
|
blockedSet( m_remove, tqmask & F::Remove );
|
|
}
|
|
|