[balsa/wip/gtk4: 144/351] mblist: Use single-click mode on all mailbox lists
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 144/351] mblist: Use single-click mode on all mailbox lists
- Date: Wed, 23 May 2018 21:29:03 +0000 (UTC)
commit 7fdc152084b81e7bba77e1cb90f209b4331a97de
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Tue Feb 6 15:58:22 2018 -0500
mblist: Use single-click mode on all mailbox lists
Call gtk_tree_view_set_activate_on_single_click() in the init() method,
so it applies to both the left-hand side mailbox list and to the
destination list when moving messages.
We can then drop the 'single-click-emulation' code :-)
src/balsa-mblist.c | 65 +---------------------------------------------------
1 files changed, 1 insertions(+), 64 deletions(-)
---
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index ac8d6db..a4af819 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -429,6 +429,7 @@ bmbl_init(BalsaMBList * mblist)
G_CALLBACK(bmbl_tree_expand), NULL);
g_signal_connect(G_OBJECT(tree_view), "row-collapsed",
G_CALLBACK(bmbl_tree_collapse), NULL);
+ gtk_tree_view_set_activate_on_single_click(tree_view, TRUE);
g_object_set(G_OBJECT(mblist),
"show_content_info",
@@ -1195,7 +1196,6 @@ balsa_mblist_default_signal_bindings(BalsaMBList * mblist)
g_signal_connect(G_OBJECT(mblist), "drag-data-received",
G_CALLBACK(bmbl_drag_cb), NULL);
- gtk_tree_view_set_activate_on_single_click(GTK_TREE_VIEW(mblist), TRUE);
g_signal_connect(G_OBJECT(mblist), "row-activated",
G_CALLBACK(bmbl_row_activated_cb), NULL);
}
@@ -1606,8 +1606,6 @@ static BalsaMBListMRUEntry *bmbl_mru_new(GList ** url_list,
static void bmbl_mru_free(BalsaMBListMRUEntry * mru);
static void bmbl_mru_activate_cb(GtkWidget * widget, gpointer data);
static void bmbl_mru_show_tree(GtkWidget * widget, gpointer data);
-static void bmbl_mru_selected_cb(GtkTreeSelection * selection,
- gpointer data);
static void bmbl_mru_activated_cb(GtkTreeView * tree_view,
GtkTreePath * path,
GtkTreeViewColumn * column,
@@ -1783,16 +1781,11 @@ bmbl_mru_show_tree(GtkWidget * widget, gpointer data)
GtkWidget *dialog;
GtkWidget *scroll;
GtkWidget *mblist;
- GtkTreeSelection *selection;
mblist = balsa_mblist_new();
g_signal_connect(mblist, "row-activated",
G_CALLBACK(bmbl_mru_activated_cb), data);
- selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(mblist));
- g_signal_connect(selection, "changed",
- G_CALLBACK(bmbl_mru_selected_cb), data);
-
scroll = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
GTK_POLICY_AUTOMATIC,
@@ -1828,62 +1821,6 @@ bmbl_mru_show_tree(GtkWidget * widget, gpointer data)
}
/*
- * bmbl_mru_selected_cb:
- *
- * Callback for the "changed" signal of the GtkTreeSelection in the
- * BalsaMBList object. This permits one-click selection of a mailbox.
- *
- * Emulates selecting one of the other menu items, and closes the dialog.
- */
-static void
-bmbl_mru_selected_cb(GtkTreeSelection * selection, gpointer data)
-{
- GdkEvent *event;
- GtkTreeView *tree_view;
- GtkTreePath *path;
- gdouble x_win, y_win;
-
- if (!data)
- return;
-
- event = gtk_get_current_event();
- if (!event)
- return;
-
- tree_view = gtk_tree_selection_get_tree_view(selection);
- if (gdk_event_get_event_type(event) != GDK_BUTTON_PRESS ||
- !gdk_event_get_coords(event, &x_win, &y_win) ||
- !gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win,
- (gint) y_win, &path,
- NULL, NULL, NULL)) {
- gtk_tree_selection_unselect_all(selection);
- gdk_event_free(event);
- return;
- }
-
- if (gtk_tree_selection_path_is_selected(selection, path)) {
- GtkTreeModel *model;
- GtkTreeIter iter;
- BalsaMailboxNode *mbnode;
-
- model = gtk_tree_view_get_model(tree_view);
- gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get(model, &iter, 0, &mbnode, -1);
- ((BalsaMBListMRUEntry *) data)->url = g_strdup(mbnode->mailbox->url);
- g_object_unref(mbnode);
- bmbl_mru_activate_cb(NULL, data);
-
- gtk_dialog_response(GTK_DIALOG
- (gtk_widget_get_ancestor
- (GTK_WIDGET(tree_view), GTK_TYPE_DIALOG)),
- GTK_RESPONSE_OK);
- }
-
- gtk_tree_path_free(path);
- gdk_event_free(event);
-}
-
-/*
* bmbl_mru_activated_cb:
*
* Callback for the "row-activated" signal of the GtkTreeView in the
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]