Ejemplo n.º 1
0
static void
simple_filter_search_keyrelease_handler (GtkEntry           *entry,
                                         PraghaFilterDialog *fdialog)
{
	const gchar *text = NULL;
	gchar *u_str = NULL;
	gboolean has_text;

	if (fdialog->filter_string != NULL) {
		g_free (fdialog->filter_string);
		fdialog->filter_string = NULL;
	}

	has_text = gtk_entry_get_text_length (GTK_ENTRY(entry)) > 0;

	if (has_text) {
		text = gtk_entry_get_text (entry);
		u_str = g_utf8_strdown (text, -1);
		fdialog->filter_string = u_str;
	}

	if (!pragha_preferences_get_instant_search(fdialog->preferences))
		return;

	queue_filter_dialog_refilter(fdialog);
}
Ejemplo n.º 2
0
static gboolean
simple_filter_search_keyrelease_handler(GtkEntry *entry,
					PraghaFilterDialog *fdialog)
{
	gchar *text = NULL;
	gchar *u_str = NULL;
	gboolean has_text;

	if (fdialog->filter_string != NULL) {
		g_free (fdialog->filter_string);
		fdialog->filter_string = NULL;
	}

	has_text = gtk_entry_get_text_length (GTK_ENTRY(entry)) > 0;

	if (has_text) {
		text = gtk_editable_get_chars (GTK_EDITABLE(entry), 0, -1);
		u_str = g_utf8_strdown (text, -1);
		fdialog->filter_string = u_str;
	}

	gtk_entry_set_icon_sensitive (GTK_ENTRY(entry),
				GTK_ENTRY_ICON_SECONDARY,
				has_text);

	if (!pragha_preferences_get_instant_search(fdialog->preferences))
		return FALSE;

	queue_filter_dialog_refilter(fdialog);

	return FALSE;
}
Ejemplo n.º 3
0
void
pragha_search_bar_icon_pressed_cb (GtkEntry       *entry,
                                   gint            position,
                                   GdkEventButton *event,
                                   PraghaPreferences *preferences)
{
	if (position == GTK_ENTRY_ICON_SECONDARY) {
		gtk_entry_set_text (entry, "");
		gtk_widget_grab_focus(GTK_WIDGET(entry));

		if (!pragha_preferences_get_instant_search(preferences))
			g_signal_emit_by_name(G_OBJECT(entry), "activate");
	} else {
		seach_entry_populate_popup(entry, preferences);
	}
}
Ejemplo n.º 4
0
static void
seach_entry_populate_popup (GtkEntry *entry, PraghaPreferences *preferences)
{
	GtkWidget *popup_menu, *item;
	gboolean instant_search, approximate_search;

	popup_menu = gtk_menu_new ();

	/* Instant search. */

	item = gtk_check_menu_item_new_with_label (_("Refine the search while writing"));
	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);

	instant_search = pragha_preferences_get_instant_search(preferences);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), instant_search);
	g_signal_connect (G_OBJECT (item), "toggled",
				G_CALLBACK (search_entry_instant_option_toggled), preferences);
	gtk_widget_show (item);

	/* Aproximate search. */

	item = gtk_check_menu_item_new_with_label (_("Search approximate words"));
	gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);

	approximate_search = pragha_preferences_get_approximate_search(preferences);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), approximate_search);
	g_signal_connect (G_OBJECT (item), "toggled",
				G_CALLBACK (search_entry_approximate_option_toggled), preferences);
	gtk_widget_show (item);

	gtk_menu_attach_to_widget(GTK_MENU(popup_menu), GTK_WIDGET(entry), NULL);

	gtk_menu_popup(GTK_MENU(popup_menu), NULL, NULL,
			(GtkMenuPositionFunc) menu_position, entry,
			0, gtk_get_current_event_time());
}
Ejemplo n.º 5
0
static void
pragha_preferences_get_property (GObject *object,
                                 guint prop_id,
                                 GValue *value,
                                 GParamSpec *pspec)
{
	PraghaPreferences *preferences = PRAGHA_PREFERENCES(object);

	switch (prop_id) {
		case PROP_INSTANT_SEARCH:
			g_value_set_boolean (value, pragha_preferences_get_instant_search(preferences));
			break;
		case PROP_APPROXIMATE_SEARCH:
			g_value_set_boolean (value, pragha_preferences_get_instant_search(preferences));
			break;
		case PROP_LIBRARY_STYLE:
			g_value_set_int (value, pragha_preferences_get_library_style(preferences));
			break;
		case PROP_LIBRARY_SORT_BY_YEAR:
			g_value_set_boolean (value, pragha_preferences_get_sort_by_year(preferences));
			break;
		case PROP_LIBRARY_FUSE_FOLDERS:
			g_value_set_boolean (value, pragha_preferences_get_fuse_folders(preferences));
			break;
		case PROP_SHUFFLE:
			g_value_set_boolean (value, pragha_preferences_get_shuffle(preferences));
			break;
		case PROP_REPEAT:
			g_value_set_boolean (value, pragha_preferences_get_repeat(preferences));
			break;
		case PROP_USE_HINT:
			g_value_set_boolean (value, pragha_preferences_get_use_hint(preferences));
			break;
		case PROP_RESTORE_PLAYLIST:
			g_value_set_boolean (value, pragha_preferences_get_restore_playlist(preferences));
			break;
		case PROP_AUDIO_SINK:
			g_value_set_string (value, pragha_preferences_get_audio_sink(preferences));
			break;
		case PROP_AUDIO_DEVICE:
			g_value_set_string (value, pragha_preferences_get_audio_device(preferences));
			break;
		case PROP_SOFTWARE_MIXER:
			g_value_set_boolean (value, pragha_preferences_get_software_mixer(preferences));
			break;
		case PROP_AUDIO_CD_DEVICE:
			g_value_set_string (value, pragha_preferences_get_audio_cd_device(preferences));
			break;
		case PROP_LATERAL_PANEL:
			g_value_set_boolean (value, pragha_preferences_get_lateral_panel(preferences));
			break;
		case PROP_SIDEBAR_SIZE:
			g_value_set_int (value, pragha_preferences_get_sidebar_size(preferences));
			break;
		case PROP_SHOW_ALBUM_ART:
			g_value_set_boolean (value, pragha_preferences_get_show_album_art(preferences));
			break;
		case PROP_SHOW_STATUS_BAR:
			g_value_set_boolean (value, pragha_preferences_get_show_status_bar(preferences));
			break;
		case PROP_ADD_RECURSIVELY:
			g_value_set_boolean (value, pragha_preferences_get_add_recursively(preferences));
			break;
		case PROP_TIMER_REMAINING_MODE:
			g_value_set_boolean (value, pragha_preferences_get_timer_remaining_mode(preferences));
			break;
		default:
			G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
	}
}