Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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"));
}
Ejemplo n.º 4
0
static gboolean
vfolder_add (void)
{
	nodePtr	node;

	node = node_new (vfolder_get_node_type ());
	vfolder_new (node);
	vfolder_properties (node);
	
	return TRUE;
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
void
on_new_vfolder_activate (GSimpleAction *menuitem, GVariant *parameter, gpointer user_data)
{
	node_type_request_interactive_add (vfolder_get_node_type ());
}