void SludgeProjectManager::on_files_tree_selection_changed(GtkTreeSelection *theSelection)
{
	GList * selectedRows;
    GtkTreeIter iter;
    GtkTreeModel *model;
    gchar *tx, *tx1;

	clearFileList(resourceList, &numResources);
	if (currentFilename[0] == 0)
		return;
	getSourceDirFromName(currentFilename);

	selectedRows = gtk_tree_selection_get_selected_rows(theSelection, &model);

	for (int j = 0; j < g_list_length(selectedRows); j++)
	{
		gtk_tree_model_get_iter(model, &iter, (GtkTreePath *)g_list_nth(selectedRows, j)->data);
		gtk_tree_model_get(model, &iter, 0, &tx1, -1);
		tx = g_locale_from_utf8(tx1, -1, NULL, NULL, NULL);
		g_free(tx1);
		populateResourceList(tx, resourceList, &numResources);
		g_free(tx);

		gtk_widget_set_sensitive(removeFileButton, TRUE);
	}
	if (g_list_length(selectedRows) == 0) {
		gtk_widget_set_sensitive(removeFileButton, FALSE);
	}
	g_list_foreach(selectedRows, (GFunc) gtk_tree_path_free, NULL);
	g_list_free(selectedRows);

	listChanged(RESOURCE_TREEVIEW);
}
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RicFileHierarchyDialog::slotFindOrCancelButtonClicked()
{
    if (m_findOrCancelButton->text() == FIND_BUTTON_FIND_TEXT)
    {
        clearFileList();

        if(!m_fileList->isVisible())
        {
            m_fileListLabel->setVisible(true);
            m_fileList->setVisible(true);

            if(height() < DEFAULT_DIALOG_FIND_HEIGHT) resize(width(), DEFAULT_DIALOG_FIND_HEIGHT);
        }

        m_findOrCancelButton->setText(FIND_BUTTON_CANCEL_TEXT);

        m_cancelPressed = false;
        m_files = findMatchingFiles();

        m_findOrCancelButton->setText(FIND_BUTTON_FIND_TEXT);

        if (m_cancelPressed)
        {
            clearFileList();
        }
        else if(m_files.isEmpty())
        {
            updateStatus(NO_FILES_FOUND);
        }

        setOkButtonEnabled(!m_files.isEmpty());
    }
    else
    {
        m_cancelPressed = true;
    }
}
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RicFileHierarchyDialog::slotFilterChanged(const QString& text)
{
    clearFileList();
    updateEffectiveFilter();
}