Пример #1
0
void Filter::writeConfig()
{
    d->config->writeEntry("Text", filterText());
    d->config->writeEntry("Field", (int)filterField());
    d->config->writeEntry("Type", (int)filterType());
    d->config->writeEntry("Action", (int)filterAction());
    d->config->writeEntry("DontHideReplies", dontHideReplies());
    d->config->sync();
}
Пример #2
0
void TapParameterDialog::filterActionTriggered()
{
    FilterAction *fa = qobject_cast<FilterAction *>(QObject::sender());
    QString filter_expr = filterExpression();

    if (!fa || filter_expr.isEmpty()) {
        return;
    }

    emit filterAction(filter_expr, fa->action(), fa->actionType());
}
void SelectorWidget::modifyFilter()
{
	QAction* action = qobject_cast<QAction*>(sender());
	if (action)
	{
		bool ok = false;
		int val = action->data().toInt(&ok);
		if (ok)
		{
			int typeVal = val >> 16;
			auto type = static_cast<FilterActionType>(typeVal);
			int id = val & 0xFFFF;
			auto& itemBox = m_itemBoxes[id];

			if (type == FilterActionType::addFilterContains)
			{
				itemBox.addContainsButton->hide();
				itemBox.addDoesNotContainButton->show();
				itemBox.removeButton->show();
				itemBox.widget->setBackgroundRole(QPalette::Midlight);
				itemBox.widget->setAutoFillBackground(true);
			}
			else if (type == FilterActionType::addFilterDoesNotContain)
			{
				itemBox.addContainsButton->show();
				itemBox.addDoesNotContainButton->hide();
				itemBox.removeButton->show();
				itemBox.widget->setBackgroundRole(QPalette::Midlight);
				itemBox.widget->setAutoFillBackground(true);
			}
			else if (type == FilterActionType::RemoveFilter)
			{
				itemBox.addContainsButton->show();
				itemBox.addDoesNotContainButton->show();
				itemBox.removeButton->hide();
				itemBox.widget->setBackgroundRole(QPalette::Window);
				itemBox.widget->setAutoFillBackground(false);
			}

			filterAction(type, id);
		}
	}
}