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(); }