Ejemplo n.º 1
0
void FilterLvl::onClicked (QModelIndex idx)
{
	if (!idx.isValid()) return;
	QStandardItem * item = m_model->itemFromIndex(idx);
	Q_ASSERT(item);

	if (idx.column() == 1)
	{
		QString const & filter_item = m_model->data(m_model->index(idx.row(), 0, QModelIndex()), Qt::DisplayRole).toString();
		QString const & mod = m_model->data(idx, Qt::DisplayRole).toString();

		E_LevelMode const curr = stringToLvlMod(mod.toStdString().c_str()[0]);
		size_t const i = (curr + 1) % e_max_lvlmod_enum_value;
		E_LevelMode const new_mode = static_cast<E_LevelMode>(i);
		m_model->setData(idx, QString(lvlModToString(new_mode)));

		bool const checked = (item->checkState() == Qt::Checked);
		setMode(filter_item, !checked, new_mode);

		emitFilterChangedSignal();
	}
	else
	{
		QString const & filter_item = m_model->data(idx, Qt::DisplayRole).toString();
		bool const orig_checked = (item->checkState() == Qt::Checked);
		if (orig_checked)
			append(filter_item);
		else
			remove(filter_item);

		emitFilterChangedSignal();
	}
}
Ejemplo n.º 2
0
void FilterTime::onRm ()
{
	QModelIndex const idx = m_ui->view->currentIndex();
    int const row = idx.row();

    QModelIndex const op_idx = m_model->index(row, 1, QModelIndex());
    QModelIndex const s_idx = m_model->index(row, 2, QModelIndex());
    QModelIndex const u_idx = m_model->index(row, 3, QModelIndex());

	QStandardItem * op_item = m_model->itemFromIndex(op_idx);
	if (!op_item)
		return;
	QStandardItem * s_item = m_model->itemFromIndex(s_idx);
	if (!s_item)
		return;
	QStandardItem * u_item = m_model->itemFromIndex(u_idx);
	if (!u_item)
		return;

	QString const & op_val = m_model->data(op_idx, Qt::DisplayRole).toString();
	QString const & s_val = m_model->data(s_idx, Qt::DisplayRole).toString();
	QString const & u_val = m_model->data(u_idx, Qt::DisplayRole).toString();
	m_model->removeRow(idx.row());
	remove(op_val, s_val.toULongLong(), u_val);
	recompile();
	emitFilterChangedSignal();
}
Ejemplo n.º 3
0
void FilterScript::appendToScriptFilters (QString const & s, bool enabled, int state)
{
	for (int i = 0, ie = m_data.size(); i < ie; ++i)
		if (m_data[i].m_name == s)
			return;
	m_data.push_back(FilteredScript(s, enabled, state));
	emitFilterChangedSignal();
}
Ejemplo n.º 4
0
void FilterTime::append (QString const & op, uint64_t t, QString const & units, bool enabled)
{
	for (int i = 0, ie = m_data.size(); i < ie; ++i)
		if (m_data[i] == FilteredTime(op, t, units, enabled))
			return;
	m_data.push_back(FilteredTime(op, t, units, enabled));
	emitFilterChangedSignal();
}
Ejemplo n.º 5
0
void ColorizerRow::onClickedAt (QModelIndex idx)
{
	QStandardItem * item = m_model->itemFromIndex(idx);
	Q_ASSERT(item);

	QString const & str = m_model->data(idx, Qt::DisplayRole).toString();
	bool const checked = (item->checkState() == Qt::Checked);
	ColorizedRow & ct = findOrCreateColorizedRow(item->text());
	if (checked)
	{
		append(str);
		recompileColorRow(ct);
		updateColorRow(ct);
	}
	else
	{
		recompileColorRow(ct);
		updateColorRow(ct);
		remove(str);
	}

	emitFilterChangedSignal();

/*
		if (!idx.isValid()) return;
		QStandardItemModel * model = static_cast<QStandardItemModel *>(m_config_ui.ui()->viewColorRow->model());
		QStandardItem * item = model->itemFromIndex(idx);
		Q_ASSERT(item);

		QString const & val = model->data(idx, Qt::DisplayRole).toString();
		bool const checked = (item->checkState() == Qt::Checked);

		// @TODO: if state really changed
		for (int i = 0, ie = m_filter_state.m_colorized_texts.size(); i < ie; ++i)
		{
			ColorizedRow & ct = m_filter_state.m_colorized_texts[i];
			if (ct.m_row_str == val)
			{
				if (checked)
				{
					m_filter_state.setColorRowChecked(val, checked);
					recompileColorRow(ct);
					updateColorRow(ct);
				}
				else
				{
					uncolorRow(ct);
					m_filter_state.setColorRowChecked(val, checked);
					recompileColorRow(ct);
				}
				break;
			}
		}
*/
}
Ejemplo n.º 6
0
void FilterScript::onScriptRm ()
{
	QModelIndex const idx = m_ui->view->currentIndex();
	QStandardItem * item = m_model->itemFromIndex(idx);
	if (!item)
		return;
	QString const & val = m_model->data(idx, Qt::DisplayRole).toString();
	m_model->removeRow(idx.row());
	removeFromScriptFilters(val);
	recompile();
	emitFilterChangedSignal();
}
Ejemplo n.º 7
0
void FilterTime::remove (QString const & op, uint64_t t, QString const & u)
{
	for (int i = 0, ie = m_data.size(); i < ie; ++i)
	{
		if (m_data[i] == FilteredTime(op, t, u))
		{
			m_data.removeAt(i);
			return;
		}
	}
	emitFilterChangedSignal();
}
Ejemplo n.º 8
0
void FilterScript::removeFromScriptFilters (QString const & s)
{
	for (int i = 0, ie = m_data.size(); i < ie; ++i)
	{
		FilteredScript & fr = m_data[i];
		if (fr.m_name == s)
		{
			m_data.removeAt(i);
			return;
		}
	}
	emitFilterChangedSignal();
}
Ejemplo n.º 9
0
void FilterScript::onClickedAtScriptList (QModelIndex idx)
{
	if (!idx.isValid())
		return;

	if (idx.column() == 1)
	{
		QString const & filter_item = m_model->data(m_model->index(idx.row(), 0, QModelIndex()), Qt::DisplayRole).toString();
		QString const & mod = m_model->data(idx, Qt::DisplayRole).toString();
		E_FilterMode const curr = stringToFltMod(mod.toStdString().c_str()[0]);
		size_t const i = (curr + 1) % e_max_fltmod_enum_value;
		E_FilterMode const new_mode = static_cast<E_FilterMode>(i);
		m_model->setData(idx, QString(fltModToString(new_mode)));

		bool const is_inclusive = new_mode == e_Include;
		setScriptState(filter_item, is_inclusive);
		recompile();
		emitFilterChangedSignal();
	}
	else
	{
		QStandardItem * item = m_model->itemFromIndex(idx);
		Q_ASSERT(item);
		bool const orig_checked = (item->checkState() == Qt::Checked);
		Qt::CheckState const checked = orig_checked ? Qt::Unchecked : Qt::Checked;
		item->setCheckState(checked);

		QString const & mod = m_model->data(m_model->index(idx.row(), 1, QModelIndex()), Qt::DisplayRole).toString();
		E_FilterMode const curr = stringToFltMod(mod.toStdString().c_str()[0]);
		bool const is_inclusive = curr == e_Include;
		QString const & val = m_model->data(idx, Qt::DisplayRole).toString();
		// @TODO: if state really changed
		setScriptState(val, is_inclusive);
		setScriptChecked(val, checked);
		recompile();
		emitFilterChangedSignal();
	}
}
Ejemplo n.º 10
0
// slots
void FilterTid::onClicked (QModelIndex idx)
{
	if (!idx.isValid()) return;
	QStandardItem * item = m_model->itemFromIndex(idx);
	Q_ASSERT(item);

    QString const & filter_item = m_model->data(idx, Qt::DisplayRole).toString();
    bool const orig_checked = (item->checkState() == Qt::Checked);
    if (orig_checked)
        append(filter_item);
    else
        remove(filter_item);

    emitFilterChangedSignal();
}
Ejemplo n.º 11
0
void ColorizerRow::onSelectNone ()
{
	boost::function<void (ColorizerRow*, QString)> f = &ColorizerRow::remove;
	applyFnOnAllChildren(f, this, m_model, Qt::Unchecked);
	emitFilterChangedSignal();
}
Ejemplo n.º 12
0
void FilterLvl::onSelectNone ()
{
	boost::function<void (FilterLvl *, QString const &)> f = &FilterLvl::remove;
	applyFnOnAllChildren(f, this, m_model, Qt::Unchecked);
	emitFilterChangedSignal();
}
Ejemplo n.º 13
0
void FilterTid::onSelectAll ()
{
	boost::function<void (FilterTid *, QString const &)> f = &FilterTid::append;
	applyFnOnAllChildren(f, this, m_model, Qt::Checked);
	emitFilterChangedSignal();
}
Ejemplo n.º 14
0
void FilterFileLine::onClickedAtFileTree (QModelIndex idx)
{
/*	TreeModel<DockedInfo>::node_t const * n = m_docked_widgets_model->getItemFromIndex(idx);
	QStringList const & dst = n->data.m_path;

	int const col = idx.column();
	Action a;
	a.m_type = static_cast<E_ActionType>(col);
	a.m_src_path = path();
	a.m_src = this;
	a.m_dst_path = dst;
	if (col == e_Visibility)
	{
		int const state = m_docked_widgets_model->data(idx, Qt::CheckStateRole).toInt();
		a.m_args.push_back(state);
	}
	if (col == e_InCentralWidget)
	{
		int const state = m_docked_widgets_model->data(idx, e_DockRoleCentralWidget).toInt();
		int const new_state = state == 0 ? 1 : 0;

		m_docked_widgets_model->setData(idx, new_state, e_DockRoleCentralWidget);
		a.m_args.push_back(new_state);
	}*/


	emitFilterChangedSignal();


/*	FilterFileLine * const node = m_model->getItemFromIndex(idx);
	FilterFileLine const * line_node = 0;

	s.clear();
	s.reserve(16);
	if (!node->hasChildren())
		line_node = node;
	else
		s.push_back(model->data(idx, Qt::DisplayRole).toString());

	QStandardItem * parent = node->parent();
	std::string file;
	QModelIndex parent_idx = model->indexFromItem(parent);
	while (parent_idx.isValid())
	{
		QString const & val = model->data(parent_idx, Qt::DisplayRole).toString();
		s.push_back(val);
		parent = parent->parent();
		parent_idx = model->indexFromItem(parent);
	}

	for (std::vector<QString>::const_reverse_iterator it=s.rbegin(), ite=s.rend(); it != ite; ++it)
		file += std::string("/") + (*it).toStdString();

	fileline_t filter_node(file, std::string());
	if (line_node)
	{
		QString const & val = model->data(idx, Qt::DisplayRole).toString();
		filter_node.second = val.toStdString();
	}
	std::string const fileline = filter_node.first + "/" + filter_node.second;

	Qt::CheckState const curr_state = node->checkState();
	if (curr_state == Qt::Checked)
	{
		// unchecked --> checked
		setCheckStateChilds(node, curr_state);
		conn->sessionState().m_file_filters.set_state_to_childs(fileline, static_cast<E_NodeStates>(curr_state));

		QStandardItem * p = node;
		while (p = p->parent())
		{
			bool const all_checked = checkChildState(p, Qt::Checked);
			if (all_checked)
			{
				//conn->sessionState().m_file_filters.set_state_to_childs(fileline, static_cast<E_NodeStates>(curr_state));
				p->setCheckState(Qt::Checked);
			}
		}
	}
	else if (curr_state == Qt::Unchecked)
	{
		// checked --> unchecked
		set_state_to_topdown(conn->sessionState().m_file_filters, fileline, static_cast<E_NodeStates>(curr_state), e_PartialCheck);
		setCheckStateChilds(node, curr_state);
		setCheckStateReverse(node->parent(), Qt::PartiallyChecked); // iff parent unchecked and clicked on leaf
	}

	E_NodeStates const new_state = static_cast<E_NodeStates>(curr_state);

	qDebug("file click! sync state of %s --> node_checkstate=%i", fileline.c_str(), node->checkState());
	conn->sessionState().m_file_filters.set_to_state(fileline, static_cast<E_NodeStates>(new_state));
	conn->onInvalidateFilter();*/
}
Ejemplo n.º 15
0
void FilterFileLine::onSelectNone ()
{
	m_model->stateToChildren(m_data.root, Qt::Unchecked);
	emitFilterChangedSignal();
}