ClipIt-1.4.2-20111015001

+ Fixed: Fixed bug where wrong item was being selected for editing.
This commit is contained in:
Cristian Henzel 2011-10-15 12:30:45 +03:00
parent f3800da8c1
commit 23e3ffe68e
2 changed files with 22 additions and 18 deletions

View File

@ -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.

View File

@ -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()
{