BioXASCarbonFilterFarmActuator::BioXASCarbonFilterFarmActuator(const QString &deviceName, QObject *parent) :
	BioXASBeamlineComponent(deviceName, parent)
{
	// Create actuator position control.

	position_ = new BioXASCarbonFilterFarmActuatorPositionControl(name()+"Position", "mm", this);
	addChildControl(position_);

	connect( position_, SIGNAL(valueChanged(double)), this, SLOT(onPositionControlValueChanged()) );
	connect( position_, SIGNAL(statusValueChanged(double)), this, SLOT(onPositionControlStatusValueChanged()) );
	connect( position_, SIGNAL(motorChanged(CLSMAXvMotor*)), this, SIGNAL(motorChanged(CLSMAXvMotor*)) );
	connect( position_, SIGNAL(statusChanged(AMControl*)), this, SIGNAL(positionStatusChanged(AMControl*)) );

	// Create actuator window control.

	window_ = new BioXASCarbonFilterFarmActuatorWindowControl(name()+"Window", this);
	addChildControl(window_);

	window_->setPositionControl(position_);

	connect( window_, SIGNAL(valueChanged(double)), this, SLOT(onWindowControlValueChanged()) );
	connect( window_, SIGNAL(windowsChanged()), this, SIGNAL(windowsChanged()) );

	// Create actuator filter control.

	filter_ = new BioXASCarbonFilterFarmActuatorFilterControl(name()+"Filter", "um", this);
	addChildControl(filter_);

	filter_->setWindowControl(window_);

	connect( filter_, SIGNAL(valueChanged(double)), this, SLOT(onFilterControlValueChanged()) );
	connect( filter_, SIGNAL(filtersChanged()), this, SIGNAL(filtersChanged()) );
	connect( filter_, SIGNAL(windowPreferencesChanged()), this, SIGNAL(windowPreferencesChanged()) );
}
void ResourcesModel::setFilters(const QVariantMap &map) {
    Q_D(ResourcesModel);
    
    d->filters = map;
    clear();
    emit filtersChanged();
}
	bool UserFiltersModel::Add (const RuleOptionDialog& dia)
	{
		const auto& itemRx = dia.GetType () == FilterOption::MTRegexp ?
				Util::RegExp (dia.GetString (), dia.GetCase ()) :
				Util::RegExp ();
		FilterOption fo;
		fo.Case_ = dia.GetCase ();
		fo.MatchType_ = dia.GetType ();
		fo.Domains_ = dia.GetDomains ();
		fo.NotDomains_ = dia.GetNotDomains ();
		const FilterItem_ptr item (new FilterItem
				{
					itemRx,
					dia.GetString ().toUtf8 (),
					fo
				});

		auto& container = dia.IsException () ? Filter_.Exceptions_ : Filter_.Filters_;
		const int size = dia.IsException () ? Filter_.Exceptions_.size () : rowCount ();
		beginInsertRows (QModelIndex (), size, size);
		container << item;
		endInsertRows ();

		WriteSettings ();

		emit filtersChanged ();

		return !dia.IsException ();
	}
Exemple #4
0
void FileEdit::setFilters(QString arg)
{
    if (filters != arg) {
        filters = arg;
        emit filtersChanged(arg);
    }
}
Exemple #5
0
/*!
    Sets the list of \a filters to apply to incoming 3D mouse events
    on widget().

    \sa filters(), toggleFilter(), filtersChanged()
*/
void QMouse3DEventProvider::setFilters
    (QMouse3DEventProvider::Filters filters)
{
    Q_D(QMouse3DEventProvider);
    if ((filters & (Translations | Rotations)) == 0)
        filters |= Rotations;   // Need at least 1 of these set.
    if (d->filters != filters) {
        d->filters = filters;
        d->devices->updateFilters(this, filters);
        emit filtersChanged();
    }
}
QWidget *EventsWindow::createResultTitle()
{
    m_resultTitle = new QLabel;
    QFont font = m_resultTitle->font();
    font.setPointSize(font.pointSize()+4);
    m_resultTitle->setFont(font);
    m_resultTitle->setWordWrap(true);

    connect(m_resultsView->eventsModel(), SIGNAL(filtersChanged()), SLOT(updateResultTitle()));
    updateResultTitle();

    return m_resultTitle;
}
	void UserFiltersModel::Remove (int index)
	{
		int pos = index;
		bool isException = false;
		SplitRow (&pos, &isException);
		beginRemoveRows (QModelIndex (), index, index);
		if (isException)
			Filter_.Exceptions_.removeAt (pos);
		else
			Filter_.Filters_.removeAt (pos);
		endRemoveRows ();
		WriteSettings ();

		emit filtersChanged ();
	}
void BioXASFilterFlipper::setFilters(BioXASFilterFlipperFilters *newControl)
{
	if (filters_ != newControl) {

		removeChildControl(filters_);

		filters_ = newControl;

		addChildControl(filters_);

		updateFilters(); // We want the filters control to be updated with our slides control.

		emit filtersChanged(filters_);
	}
}
	void UserFiltersModel::WriteSettings ()
	{
		QSettings settings (QCoreApplication::organizationName (),
				QCoreApplication::applicationName () + "_CleanWeb_Subscr");
		settings.clear ();

		auto writeItems = [&settings] (const QString& name, const QList<FilterItem_ptr>& from)
		{
			QList<FilterItem> saved;
			saved.reserve (from.size ());
			for (const auto& item : from)
				saved << *item;
			settings.setValue (name, QVariant::fromValue (saved));
		};
		writeItems ("ExceptionItems", Filter_.Exceptions_);
		writeItems ("FilterItems", Filter_.Filters_);

		emit filtersChanged ();
	}
	void UserFiltersModel::AddMultiFilters (QStringList lines)
	{
		std::for_each (lines.begin (), lines.end (),
				[] (QString& str) { str = str.trimmed (); });

		beginResetModel ();
		auto p = std::for_each (lines.begin (), lines.end (),
				LineParser (&Filter_));
		endResetModel ();

		if (p.GetSuccess () <= 0)
			return;

		WriteSettings ();

		emit filtersChanged ();

		emit gotEntity (Util::MakeNotification ("Poshuku CleanWeb",
				tr ("Imported %1 user filters (%2 parsed successfully).")
					.arg (p.GetSuccess ())
					.arg (p.GetTotal ()),
				PInfo_));
	}
Exemple #11
0
//----------------------------------------------------------------------
// SpawnShell
SpawnShell::SpawnShell(FilterMgr& filterMgr, 
		       ZoneMgr* zoneMgr, 
		       Player* player,
                       GuildMgr* guildMgr)
  : QObject(NULL, "spawnshell"),
    m_zoneMgr(zoneMgr),
    m_player(player),
    m_filterMgr(filterMgr),
    m_guildMgr(guildMgr),
    m_spawns(701),
    m_drops(211),
    m_doors(307),
    m_players(2)
{
   m_cntDeadSpawnIDs = 0;
   m_posDeadSpawnIDs = 0;
   for (int i = 0; i < MAX_DEAD_SPAWNIDS; i++)
     m_deadSpawnID[i] = 0;

   // these should auto delete
   m_spawns.setAutoDelete(true);
   m_drops.setAutoDelete(true);
   m_doors.setAutoDelete(true);

   // we don't want this one to auto-delete
   m_players.setAutoDelete(false); 

   // bogus list
   m_players.insert(0, m_player);

   // connect the FilterMgr's signals to SpawnShells slots
   connect(&m_filterMgr, SIGNAL(filtersChanged()),
	   this, SLOT(refilterSpawns()));
   connect(&m_filterMgr, SIGNAL(runtimeFiltersChanged(uint8_t)),
	   this, SLOT(refilterSpawnsRuntime()));

   // connect SpawnShell slots to ZoneMgr signals
   connect(m_zoneMgr, SIGNAL(zoneBegin(const QString&)),
	   this, SLOT(clear(void)));
   connect(m_zoneMgr, SIGNAL(zoneChanged(const QString&)),
	   this, SLOT(clear(void)));

   // connect Player signals to SpawnShell signals
   connect(m_player, SIGNAL(changeItem(const Item*, uint32_t)),
	   this, SIGNAL(changeItem(const Item*, uint32_t)));

   // connect Player signals to SpawnShell slots
   connect(m_player, SIGNAL(changedID(uint16_t)),
	   this, SLOT(playerChangedID(uint16_t)));

   // restore the spawn list if necessary
   if (showeq_params->restoreSpawns)
     restoreSpawns();

   // create the timer
   m_timer = new QTimer(this);

   // connect the timer
   connect(m_timer, SIGNAL(timeout()),
	   this, SLOT(saveSpawns(void)));

   // start the timer (changed to oneshot to help prevent a backlog on slower
   // machines)
   if (showeq_params->saveSpawns)
     m_timer->start(showeq_params->saveSpawnsFrequency, true);
}
Exemple #12
0
FiltersMenu::FiltersMenu(QWidget *parent)
 : QMenu(parent)
{
    // Loads the filter menu settings
    KConfig config("apper");
    KConfigGroup filterMenuGroup(&config, "FilterMenu");

    QMenu *menuCollections = new QMenu(i18n("Collections"), this);
    connect(menuCollections, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableCollections(bool)),
            addMenu(menuCollections), SLOT(setVisible(bool)));
    QActionGroup *collectionGroup = new QActionGroup(menuCollections);
    collectionGroup->setExclusive(true);

    QAction *collectionTrue = new QAction(i18n("Only collections"), collectionGroup);
    collectionTrue->setCheckable(true);
    m_filtersAction[collectionTrue] = Transaction::FilterCollections;
    collectionGroup->addAction(collectionTrue);
    menuCollections->addAction(collectionTrue);
    m_actions << collectionTrue;

    QAction *collectionFalse = new QAction(i18n("Exclude collections"), collectionGroup);
    collectionFalse->setCheckable(true);
    m_filtersAction[collectionFalse] = Transaction::FilterNotCollections;
    collectionGroup->addAction(collectionFalse);
    menuCollections->addAction(collectionFalse);
    m_actions << collectionFalse;

    // Installed
    QMenu *menuInstalled = new QMenu(i18n("Installed"), this);
    connect(menuInstalled, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableInstalled(bool)),
            addMenu(menuInstalled), SLOT(setVisible(bool)));
    addMenu(menuInstalled);
    QActionGroup *installedGroup = new QActionGroup(menuInstalled);
    installedGroup->setExclusive(true);

    QAction *installedTrue = new QAction(i18n("Only installed"), installedGroup);
    installedTrue->setCheckable(true);
    m_filtersAction[installedTrue] = Transaction::FilterInstalled;
    installedGroup->addAction(installedTrue);
    menuInstalled->addAction(installedTrue);
    m_actions << installedTrue;

    QAction *installedFalse = new QAction(i18n("Only available"), installedGroup);
    installedFalse->setCheckable(true);
    m_filtersAction[installedFalse] = Transaction::FilterNotInstalled;
    installedGroup->addAction(installedFalse);
    menuInstalled->addAction(installedFalse);
    m_actions << installedFalse;

    QAction *installedNone = new QAction(i18n("No filter"), installedGroup);
    installedNone->setCheckable(true);
    installedNone->setChecked(true);
    installedGroup->addAction(installedNone);
    menuInstalled->addAction(installedNone);
    m_actions << installedNone;

    // Development
    QMenu *menuDevelopment = new QMenu(i18n("Development"), this);
    connect(menuDevelopment, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableDevelopment(bool)),
            addMenu(menuDevelopment), SLOT(setVisible(bool)));
    addMenu(menuDevelopment);
    QActionGroup *developmentGroup = new QActionGroup(menuDevelopment);
    developmentGroup->setExclusive(true);

    QAction *developmentTrue = new QAction(i18n("Only development"), developmentGroup);
    developmentTrue->setCheckable(true);
    m_filtersAction[developmentTrue] = Transaction::FilterDevel;
    developmentGroup->addAction(developmentTrue);
    menuDevelopment->addAction(developmentTrue);
    m_actions << developmentTrue;

    QAction *developmentFalse = new QAction(i18n("Only end user files"), developmentGroup);
    developmentFalse->setCheckable(true);
    m_filtersAction[developmentFalse] = Transaction::FilterNotDevel;
    developmentGroup->addAction(developmentFalse);
    menuDevelopment->addAction(developmentFalse);
    m_actions << developmentFalse;

    QAction *developmentNone = new QAction(i18n("No filter"), developmentGroup);
    developmentNone->setCheckable(true);
    developmentNone->setChecked(true);
    developmentGroup->addAction(developmentNone);
    menuDevelopment->addAction(developmentNone);
    m_actions << developmentNone;

    // Graphical
    QMenu *menuGui = new QMenu(i18n("Graphical"), this);
    connect(menuGui, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableGraphical(bool)),
            addMenu(menuGui), SLOT(setVisible(bool)));
    addMenu(menuGui);
    QActionGroup *guiGroup = new QActionGroup(menuGui);
    guiGroup->setExclusive(true);

    QAction *guiTrue = new QAction(i18n("Only graphical"), guiGroup);
    guiTrue->setCheckable(true);
    m_filtersAction[guiTrue] = Transaction::FilterGui;
    guiGroup->addAction(guiTrue);
    menuGui->addAction(guiTrue);
    m_actions << guiTrue;

    QAction *guiFalse = new QAction(i18n("Only text"), guiGroup);
    guiFalse->setCheckable(true);
    m_filtersAction[guiFalse] = Transaction::FilterNotGui;
    guiGroup->addAction(guiFalse);
    menuGui->addAction(guiFalse);
    m_actions << guiFalse;

    QAction *guiNone = new QAction(i18n("No filter"), guiGroup);
    guiNone->setCheckable(true);
    guiNone->setChecked(true);
    guiGroup->addAction(guiNone);
    menuGui->addAction(guiNone);
    m_actions << guiNone;

    // Free
    QMenu *menuFree = new QMenu(i18nc("Filter for free packages", "Free"), this);
    connect(menuFree, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableFree(bool)),
            addMenu(menuFree), SLOT(setVisible(bool)));
    addMenu(menuFree);
    QActionGroup *freeGroup = new QActionGroup(menuFree);
    freeGroup->setExclusive(true);

    QAction *freeTrue = new QAction(i18n("Only free software"), freeGroup);
    freeTrue->setCheckable(true);
    m_filtersAction[freeTrue] = Transaction::FilterFree;
    freeGroup->addAction(freeTrue);
    menuFree->addAction(freeTrue);
    m_actions << freeTrue;

    QAction *freeFalse = new QAction(i18n("Only non-free software"), freeGroup);
    freeFalse->setCheckable(true);
    m_filtersAction[freeFalse] = Transaction::FilterNotFree;
    freeGroup->addAction(freeFalse);
    menuFree->addAction(freeFalse);
    m_actions << freeFalse;

    QAction *freeNone = new QAction(i18n("No filter"), freeGroup);
    freeNone->setCheckable(true);
    freeNone->setChecked(true);
    freeGroup->addAction(freeNone);
    menuFree->addAction(freeNone);
    m_actions << freeNone;

    // Supported
    QMenu *menuSupported = new QMenu(i18nc("Filter for supported packages", "Supported"), this);
    connect(menuSupported, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableSupported(bool)),
            addMenu(menuSupported), SLOT(setVisible(bool)));
    addMenu(menuSupported);
    QActionGroup *supportedGroup = new QActionGroup(menuSupported);
    supportedGroup->setExclusive(true);

    QAction *supportedTrue = new QAction(i18n("Only supported software"), supportedGroup);
    supportedTrue->setCheckable(true);
    m_filtersAction[supportedTrue] = Transaction::FilterSupported;
    supportedGroup->addAction(supportedTrue);
    menuSupported->addAction(supportedTrue);
    m_actions << supportedTrue;

    QAction *supportedFalse = new QAction(i18n("Only non-supported software"), supportedGroup);
    supportedFalse->setCheckable(true);
    m_filtersAction[supportedFalse] = Transaction::FilterNotSupported;
    supportedGroup->addAction(supportedFalse);
    menuSupported->addAction(supportedFalse);
    m_actions << supportedFalse;

    QAction *supportedNone = new QAction(i18n("No filter"), supportedGroup);
    supportedNone->setCheckable(true);
    supportedNone->setChecked(true);
    supportedGroup->addAction(supportedNone);
    menuSupported->addAction(supportedNone);
    m_actions << supportedNone;

    // Source
    QMenu *menuSource = new QMenu(i18nc("Filter for source packages", "Source"), this);
    connect(menuSource, SIGNAL(triggered(QAction*)),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableSource(bool)),
            addMenu(menuSource), SLOT(setVisible(bool)));
    addMenu(menuSource);
    QActionGroup *sourceGroup = new QActionGroup(menuSource);
    sourceGroup->setExclusive(true);

    QAction *sourceTrue = new QAction(i18n("Only sourcecode"), sourceGroup);
    sourceTrue->setCheckable(true);
    m_filtersAction[sourceTrue] = Transaction::FilterSource;
    sourceGroup->addAction(sourceTrue);
    menuSource->addAction(sourceTrue);
    m_actions << sourceTrue;

    QAction *sourceFalse = new QAction(i18n("Only non-sourcecode"), sourceGroup);
    sourceFalse->setCheckable(true);
    m_filtersAction[sourceFalse] = Transaction::FilterNotSource;
    sourceGroup->addAction(sourceFalse);
    menuSource->addAction(sourceFalse);
    m_actions << sourceFalse;

    QAction *sourceNone = new QAction(i18n("No filter"), sourceGroup);
    sourceNone->setCheckable(true);
    sourceNone->setChecked(true);
    sourceGroup->addAction(sourceNone);
    menuSource->addAction(sourceNone);
    m_actions << sourceNone;

    // Basename, Newest, Arch separator
    connect(this, SIGNAL(enableBasenameNewestArchSeparator(bool)),
            addSeparator(), SLOT(setVisible(bool)));

    QAction *basename = new QAction(i18n("Hide Subpackages"), this);
    connect(basename, SIGNAL(triggered()),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableBasename(bool)),
            basename, SLOT(setVisible(bool)));
    basename->setCheckable(true);
    basename->setToolTip(i18n("Only show one package, not subpackages"));
    m_filtersAction[basename] = Transaction::FilterBasename;
    m_actions << basename;

    QAction *newest = new QAction(i18n("Only Newest Packages"), this);
    connect(newest, SIGNAL(triggered()),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableNewest(bool)),
            newest, SLOT(setVisible(bool)));
    newest->setCheckable(true);
    newest->setChecked(filterMenuGroup.readEntry("FilterNewest", true));
    newest->setToolTip(i18n("Only show the newest available package"));
    m_filtersAction[newest] = Transaction::FilterNewest;
    m_actions << newest;

    QAction *native = new QAction(i18n("Only Native Packages"), this);
    connect(native, SIGNAL(triggered()),
            this, SIGNAL(filtersChanged()));
    connect(this, SIGNAL(enableArch(bool)),
            native, SLOT(setVisible(bool)));
    native->setCheckable(true);
    native->setChecked(filterMenuGroup.readEntry("FilterNative", true));
    native->setToolTip(i18n("Only show packages matching the machine architecture"));
    m_filtersAction[native] = Transaction::FilterArch;
    m_actions << native;

#ifdef HAVE_APPSTREAM
    addSeparator();
    m_applications = new QAction(i18n("Only Show Applications"), this);
    m_applications->setCheckable(true);
    m_applications->setChecked(filterMenuGroup.readEntry("HidePackages", false));
    m_applications->setToolTip(i18n("Hide packages that are not applications"));
    addAction(m_applications);
    connect(m_applications, SIGNAL(triggered(bool)),
            this, SIGNAL(filterApplications(bool)));
#endif // HAVE_APPSTREAM
}
void EventsModel::applyFilters(bool fromCache)
{
    if (fromCache)
    {
        beginResetModel();
        items.clear();

        for (QHash<DVRServer*,QList<EventData*> >::Iterator it = cachedEvents.begin(); it != cachedEvents.end(); ++it)
        {
            if (!m_filter.sources.isEmpty() && !m_filter.sources.contains(it.key()))
                continue;

            for (QList<EventData*>::Iterator eit = it->begin(); eit != it->end(); ++eit)
            {
                if (m_filter(*eit))
                    items.append(*eit);
            }
        }

        bool block = blockSignals(true);
        resort();
        blockSignals(block);

        endResetModel();
    }
    else
    {
        /* Group contiguous removed rows together; provides a significant boost in performance */
        int removeFirst = -1;
        for (int i = 0; ; ++i)
        {
            if (i < items.size() && !m_filter(items[i]))
            {
                if (removeFirst < 0)
                    removeFirst = i;
            }
            else if (removeFirst >= 0)
            {
                beginRemoveRows(QModelIndex(), removeFirst, i-1);
                items.erase(items.begin()+removeFirst, items.begin()+i);
                i = removeFirst;
                removeFirst = -1;
                endRemoveRows();
            }

            if (i == items.size())
                break;
        }

#if 0
        /* Experimental concurrent implementation; would later be extended to be nonblocking */
        QList<EventData*> newItems = QtConcurrent::blockingFiltered(items, m_filter);

        int oFirstRemove = -1;
        for (int oI = 0, nI = 0; oI < items.size(); ++oI)
        {
            if (nI >= newItems.size())
            {
                if (oFirstRemove < 0)
                    oFirstRemove = oI;

                beginRemoveRows(QModelIndex(), oFirstRemove, items.size()-1);
                items.erase(items.begin()+oFirstRemove, items.end());
                endRemoveRows();
                break;
            }

            if (oFirstRemove < 0 && items[oI] != newItems[nI])
                oFirstRemove = oI;
            else if (oFirstRemove >= 0 && items[oI] == newItems[nI])
            {
                beginRemoveRows(QModelIndex(), oFirstRemove, oI-1);
                items.erase(items.begin()+oFirstRemove, items.begin()+oI);
                oI = oFirstRemove;
                oFirstRemove = -1;
                endRemoveRows();
            }

            if (oFirstRemove < 0)
            {
                ++nI;
            }
        }
#endif
    }

    emit filtersChanged();
}