static void on_simple_search_dialog_response (GtkDialog *dialog, gint responseId, gpointer user_data) { SimpleSearchDialog *ssd = (SimpleSearchDialog *)user_data; const gchar *searchString; vfolderPtr vfolder = ssd->priv->vfolder; searchString = gtk_entry_get_text (GTK_ENTRY (ssd->priv->query)); if (1 == responseId) { /* Search */ search_clean_results (vfolder); /* Create new search... */ ssd->priv->vfolder = vfolder = vfolder_new (node_new (vfolder_get_node_type ())); node_set_title (vfolder->node, searchString); itemset_add_rule (vfolder->itemset, "exact", searchString, TRUE); search_load_results (vfolder); } if (2 == responseId) /* Advanced... */ search_dialog_open (searchString); /* Do not close the dialog when "just" searching. The user should click "Close" to close the dialog to be able to do subsequent searches... */ if (1 != responseId) g_object_unref (ssd); }
static void on_search_dialog_response (GtkDialog *dialog, gint responseId, gpointer user_data) { SearchDialog *sd = (SearchDialog *)user_data; vfolderPtr vfolder = sd->priv->vfolder; if (1 == responseId) { /* Search */ search_clean_results (vfolder); sd->priv->vfolder = vfolder = vfolder_new (node_new (vfolder_get_node_type ())); rule_editor_save (sd->priv->re, vfolder->itemset); vfolder->itemset->anyMatch = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (liferea_dialog_lookup (sd->priv->dialog, "anyRuleRadioBtn2"))); search_load_results (vfolder); } if (2 == responseId) { /* + Search Folder */ rule_editor_save (sd->priv->re, vfolder->itemset); vfolder->itemset->anyMatch = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (liferea_dialog_lookup (sd->priv->dialog, "anyRuleRadioBtn2"))); nodePtr node = vfolder->node; sd->priv->vfolder = NULL; feedlist_node_added (node); } if (1 != responseId) g_object_unref (sd); }
static void search_dialog_init (SearchDialog *sd) { sd->priv = SEARCH_DIALOG_GET_PRIVATE (sd); sd->priv->vfolder = vfolder_new (node_new (vfolder_get_node_type ())); node_set_title (sd->priv->vfolder->node, _("Saved Search")); }
static gboolean vfolder_add (void) { nodePtr node; node = node_new (vfolder_get_node_type ()); vfolder_new (node); vfolder_properties (node); return TRUE; }
static void vfolder_import (nodePtr node, nodePtr parent, xmlNodePtr cur, gboolean trusted) { vfolderPtr vfolder; debug1 (DEBUG_CACHE, "import vfolder: title=%s", node_get_title (node)); vfolder = vfolder_new (node); vfolder->itemset = db_search_folder_load (node->id); vfolder_import_rules (cur, vfolder); }
static void on_simple_search_dialog_response (GtkDialog *dialog, gint responseId, gpointer user_data) { SimpleSearchDialog *ssd = (SimpleSearchDialog *)user_data; const gchar *searchString; searchString = gtk_entry_get_text (GTK_ENTRY (ssd->priv->query)); if (1 == responseId) { /* Search */ /* Clean up old search result data and display... */ if (ssd->priv->searchResult) { if (ssd->priv->searchResult == itemlist_get_displayed_node ()) itemlist_unload (FALSE); node_free (ssd->priv->searchResult); } /* Create new search... */ ssd->priv->searchResult = node_new (vfolder_get_node_type ()); ssd->priv->vfolder = vfolder_new (ssd->priv->searchResult); node_set_title (ssd->priv->searchResult, searchString); itemset_add_rule (ssd->priv->vfolder->itemset, "exact", searchString, TRUE); vfolder_reset (ssd->priv->vfolder); search_load_results (ssd->priv->searchResult, searchString); } if (2 == responseId) /* Advanced... */ search_dialog_open (searchString); /* Do not close the dialog when "just" searching. The user should click "Close" to close the dialog to be able to do subsequent searches... */ if (1 != responseId) g_object_unref (ssd); }