79
79
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
82
static void ui_tag_popover_cb_row_activated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
84
GtkTreeSelection *treeselection;
87
GtkEntry *entry = user_data;
89
if( GTK_IS_ENTRY(entry) )
91
treeselection = gtk_tree_view_get_selection(tree_view);
92
if( gtk_tree_selection_get_selected(treeselection, &model, &iter) )
96
gtk_tree_model_get(model, &iter, LST_DEFTAG_DATAS, &item, -1);
98
hbtk_entry_tag_name_append(GTK_ENTRY(user_data), item->name);
105
ui_tag_popover_list(GtkWidget *entry)
107
GtkWidget *box, *menubutton, *image, *scrollwin, *treeview;
109
menubutton = gtk_menu_button_new ();
110
image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON);
111
gtk_container_add(GTK_CONTAINER(menubutton), image);
113
//gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_DOWN );
114
//gtk_widget_set_halign (menubutton, GTK_ALIGN_END);
115
gtk_widget_show_all(menubutton);
117
//GtkWidget *template = ui_popover_tpl_create(data);
119
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM);
120
scrollwin = gtk_scrolled_window_new(NULL,NULL);
121
gtk_box_pack_start(GTK_BOX(box), scrollwin, TRUE, TRUE, 0);
122
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
123
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
124
treeview = ui_tag_listview_new(FALSE);
125
//data.LV_tag = treeview;
126
gtk_container_add(GTK_CONTAINER(scrollwin), treeview);
127
gtk_widget_show_all(box);
129
gtk_tree_view_set_hover_selection(GTK_TREE_VIEW(treeview), TRUE);
130
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE);
131
gtk_tree_view_set_activate_on_single_click(GTK_TREE_VIEW(treeview), TRUE);
134
GtkWidget *popover = create_popover (menubutton, box, GTK_POS_BOTTOM);
135
gtk_widget_set_size_request (popover, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST);
137
gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover);
139
ui_tag_listview_populate(treeview, 0);
141
g_signal_connect (treeview, "row-activated", G_CALLBACK (ui_tag_popover_cb_row_activated), entry);
142
g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_popover_popdown), popover);
148
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
83
152
ui_tag_listview_toggled_cb (GtkCellRendererToggle *cell,
318
387
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
390
static void ui_tag_manage_filter_text_handler (GtkEntry *entry,
396
GtkEditable *editable = GTK_EDITABLE(entry);
398
gchar *result = g_new0 (gchar, length+1);
400
for (i=0; i < length; i++)
404
result[count++] = text[i];
409
g_signal_handlers_block_by_func (G_OBJECT (editable),
410
G_CALLBACK (ui_tag_manage_filter_text_handler),
412
gtk_editable_insert_text (editable, result, count, position);
413
g_signal_handlers_unblock_by_func (G_OBJECT (editable),
414
G_CALLBACK (ui_tag_manage_filter_text_handler),
417
g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text");
322
425
* ui_tag_manage_dialog_add:
664
767
g_object_bind_property (data.BT_add, "active", addreveal, "reveal-child", G_BINDING_BIDIRECTIONAL);
666
769
g_signal_connect (G_OBJECT (data.ST_name), "activate", G_CALLBACK (ui_tag_manage_dialog_add), NULL);
770
g_signal_connect(G_OBJECT(data.ST_name), "insert-text", G_CALLBACK(ui_tag_manage_filter_text_handler), NULL);
668
772
g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data.LV_tag)), "changed", G_CALLBACK (ui_tag_manage_dialog_selection), NULL);
669
773
g_signal_connect (GTK_TREE_VIEW(data.LV_tag), "row-activated", G_CALLBACK (ui_tag_manage_dialog_onRowActivated), NULL);