ClipIt-1.4.2-20111015001
+ Fixed: Fixed bug where wrong item was being selected for editing.
This commit is contained in:
parent
f3800da8c1
commit
23e3ffe68e
|
@ -1,4 +1,9 @@
|
|||
ClipIt-1.4.2-20110906001 ~ 2011-09-06 15:01:40 +0300
|
||||
ClipIt-1.4.2-20111015001 ~ 2011-10-15 12:29:14 +0300
|
||||
|
||||
+ Fixed: Fixed bug where wrong item was being selected for editing.
|
||||
|
||||
|
||||
ClipIt-1.4.2-20110906001 - 2011-09-06 15:03:00 +0300
|
||||
|
||||
+ Added: Added transifex config to repository.
|
||||
+ Added: Added script for automatic translation updating.
|
||||
|
|
33
src/manage.c
33
src/manage.c
|
@ -35,6 +35,13 @@ GtkListStore *search_list;
|
|||
GtkWidget *search_entry;
|
||||
GtkWidget *treeview_search;
|
||||
|
||||
static void add_iter(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *piter, gpointer userdata)
|
||||
{
|
||||
GArray *sel = (GArray*)userdata;
|
||||
GtkTreeIter iter = *piter;
|
||||
g_array_append_val(sel, iter);
|
||||
}
|
||||
|
||||
/* Search through the history */
|
||||
static void search_history()
|
||||
{
|
||||
|
@ -115,17 +122,17 @@ static void edit_selected()
|
|||
if (selected_count > 0) {
|
||||
/* Create clipboard buffer and set its text */
|
||||
gint selected_item_nr;
|
||||
GList *selected_rows = gtk_tree_selection_get_selected_rows(search_selection, NULL);
|
||||
GList *row_loop = g_list_first(selected_rows);
|
||||
selected_item_nr = atoi((gchar*)gtk_tree_path_to_string(row_loop->data));
|
||||
g_list_foreach(selected_rows, (GFunc)gtk_tree_path_free, NULL);
|
||||
g_list_free(selected_rows);
|
||||
GList* element = g_list_nth(history, selected_item_nr);
|
||||
GList* elementafter = element->next;
|
||||
GArray *sel = g_array_new(FALSE, FALSE, sizeof(GtkTreeIter));
|
||||
gtk_tree_selection_selected_foreach(search_selection, add_iter, sel);
|
||||
gtk_tree_selection_unselect_all(search_selection);
|
||||
GtkTreeIter *iter = &g_array_index(sel, GtkTreeIter, 0);
|
||||
gtk_tree_model_get((GtkTreeModel*)search_list, iter, 0, &selected_item_nr, -1);
|
||||
g_array_free(sel, TRUE);
|
||||
GList *element = g_list_nth(history, selected_item_nr);
|
||||
history_item *elem_data = element->data;
|
||||
GString* s_selected_item = g_string_new((gchar*)elem_data->content);
|
||||
GList* elementafter = element->next;
|
||||
GtkTextBuffer* clipboard_buffer = gtk_text_buffer_new(NULL);
|
||||
gtk_text_buffer_set_text(clipboard_buffer, s_selected_item->str, -1);
|
||||
gtk_text_buffer_set_text(clipboard_buffer, (gchar*)elem_data->content, -1);
|
||||
/* Create the dialog */
|
||||
GtkWidget* dialog = gtk_dialog_new_with_buttons(_("Editing Clipboard"), NULL,
|
||||
(GTK_DIALOG_MODAL + GTK_DIALOG_NO_SEPARATOR),
|
||||
|
@ -180,18 +187,10 @@ static void edit_selected()
|
|||
}
|
||||
}
|
||||
gtk_widget_destroy(dialog);
|
||||
g_string_free(s_selected_item, TRUE);
|
||||
search_history();
|
||||
}
|
||||
}
|
||||
|
||||
static void add_iter(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *piter, gpointer userdata)
|
||||
{
|
||||
GArray *sel = (GArray*)userdata;
|
||||
GtkTreeIter iter = *piter;
|
||||
g_array_append_val(sel, iter);
|
||||
}
|
||||
|
||||
/* Called when Remove is selected from Manage dialog */
|
||||
static void remove_selected()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user