mirror of
https://github.com/gryf/gryf-overlay.git
synced 2026-01-04 04:44:13 +01:00
308 lines
9.7 KiB
Diff
308 lines
9.7 KiB
Diff
diff -ur sylpheed-3.1.4_orig/src/addressbook.c sylpheed-3.1.4/src/addressbook.c
|
|
--- sylpheed-3.1.4_orig/src/addressbook.c 2012-10-03 17:25:03.253072293 +0200
|
|
+++ sylpheed-3.1.4/src/addressbook.c 2012-10-03 17:25:41.651355851 +0200
|
|
@@ -201,12 +201,18 @@
|
|
static gboolean addressbook_list_button_released(GtkWidget *widget,
|
|
GdkEventButton *event,
|
|
gpointer data);
|
|
+static gboolean addressbook_list_key_pressed (GtkWidget *widget,
|
|
+ GdkEventKey *event,
|
|
+ gpointer data);
|
|
static gboolean addressbook_tree_button_pressed (GtkWidget *ctree,
|
|
GdkEventButton *event,
|
|
gpointer data);
|
|
static gboolean addressbook_tree_button_released(GtkWidget *ctree,
|
|
GdkEventButton *event,
|
|
gpointer data);
|
|
+static gboolean addressbook_tree_key_pressed (GtkWidget *ctree,
|
|
+ GdkEventKey *event,
|
|
+ gpointer data);
|
|
|
|
static gboolean addressbook_drag_motion (GtkWidget *widget,
|
|
GdkDragContext *context,
|
|
@@ -718,6 +724,9 @@
|
|
g_signal_connect(G_OBJECT(treeview), "button_release_event",
|
|
G_CALLBACK(addressbook_tree_button_released),
|
|
NULL);
|
|
+ g_signal_connect(G_OBJECT(treeview), "key_press_event",
|
|
+ G_CALLBACK(addressbook_tree_key_pressed),
|
|
+ NULL);
|
|
|
|
gtk_drag_dest_set(treeview, GTK_DEST_DEFAULT_ALL,
|
|
addressbook_drag_types, N_DRAG_TYPES,
|
|
@@ -843,6 +852,9 @@
|
|
g_signal_connect(G_OBJECT(listview), "button_release_event",
|
|
G_CALLBACK(addressbook_list_button_released),
|
|
NULL);
|
|
+ g_signal_connect(G_OBJECT(listview), "key_press_event",
|
|
+ G_CALLBACK(addressbook_list_key_pressed),
|
|
+ NULL);
|
|
g_signal_connect(G_OBJECT(listview), "row_expanded",
|
|
G_CALLBACK(addressbook_person_expand_node), NULL);
|
|
g_signal_connect(G_OBJECT(listview), "row_collapsed",
|
|
@@ -3721,6 +3733,51 @@
|
|
return FALSE;
|
|
}
|
|
|
|
+static gboolean addressbook_tree_key_pressed(GtkWidget *widget,
|
|
+ GdkEventKey *event, gpointer data)
|
|
+{
|
|
+ if (event && event->keyval == GDK_Menu)
|
|
+ {
|
|
+ GtkTreeView *treeview = GTK_TREE_VIEW(widget);
|
|
+ GtkTreeSelection *selection;
|
|
+
|
|
+ if (!event)
|
|
+ return FALSE;
|
|
+
|
|
+ selection = gtk_tree_view_get_selection(treeview);
|
|
+
|
|
+ if (selection){
|
|
+ addressbook_menuitem_set_sensitive();
|
|
+ gtk_menu_popup(GTK_MENU(addrbook.tree_popup), NULL, NULL, NULL,
|
|
+ NULL, 3, event->time);
|
|
+ return TRUE;
|
|
+ }
|
|
+ }
|
|
+ return FALSE;
|
|
+}
|
|
+
|
|
+static gboolean addressbook_list_key_pressed(GtkWidget *widget,
|
|
+ GdkEventKey *event, gpointer data)
|
|
+{
|
|
+ if (event && event->keyval == GDK_Menu)
|
|
+ {
|
|
+ GtkTreeSelection *selection;
|
|
+
|
|
+ if (!event)
|
|
+ return FALSE;
|
|
+
|
|
+ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget));
|
|
+
|
|
+ if (selection){
|
|
+ gtk_menu_popup(GTK_MENU(addrbook.list_popup), NULL, NULL,
|
|
+ NULL, NULL, 3, event->time);
|
|
+ return TRUE;
|
|
+ }
|
|
+ }
|
|
+ return FALSE;
|
|
+}
|
|
+
|
|
+
|
|
static void size_allocated(GtkWidget *widget, GtkAllocation *allocation,
|
|
gpointer data)
|
|
{
|
|
diff -ur sylpheed-3.1.4_orig/src/folderview.c sylpheed-3.1.4/src/folderview.c
|
|
--- sylpheed-3.1.4_orig/src/folderview.c 2012-10-03 17:25:03.254072301 +0200
|
|
+++ sylpheed-3.1.4/src/folderview.c 2012-10-03 17:25:41.651355851 +0200
|
|
@@ -1639,7 +1639,7 @@
|
|
}
|
|
|
|
static gboolean folderview_menu_popup(FolderView *folderview,
|
|
- GdkEventButton *event)
|
|
+ guint32 event_time)
|
|
{
|
|
FolderItem *item = NULL;
|
|
Folder *folder;
|
|
@@ -1663,11 +1663,6 @@
|
|
gboolean search_folder = FALSE;
|
|
gboolean folder_property = FALSE;
|
|
|
|
- if (!event) return FALSE;
|
|
-
|
|
- if (event->button != 3)
|
|
- return FALSE;
|
|
-
|
|
if (!gtk_tree_selection_get_selected
|
|
(folderview->selection, NULL, &iter))
|
|
return FALSE;
|
|
@@ -1861,15 +1856,13 @@
|
|
item->stype != F_VIRTUAL);
|
|
SET_VISIBILITY(ifactory, "/Edit search condition...",
|
|
item->stype == F_VIRTUAL);
|
|
-
|
|
#undef SET_SENS
|
|
#undef SET_VISIBILITY
|
|
#undef SET_VISIBILITY2
|
|
|
|
syl_plugin_signal_emit("folderview-menu-popup", ifactory);
|
|
|
|
- gtk_menu_popup(GTK_MENU(popup), NULL, NULL, NULL, NULL,
|
|
- event->button, event->time);
|
|
+ gtk_menu_popup(GTK_MENU(popup), NULL, NULL, NULL, NULL, 3, event_time);
|
|
|
|
return FALSE;
|
|
}
|
|
@@ -1910,7 +1903,7 @@
|
|
(folderview->selected);
|
|
}
|
|
gtk_tree_selection_select_path(folderview->selection, path);
|
|
- folderview_menu_popup(folderview, event);
|
|
+ folderview_menu_popup(folderview, event->time);
|
|
gtk_tree_path_free(path);
|
|
return TRUE;
|
|
}
|
|
@@ -2016,6 +2009,16 @@
|
|
}
|
|
}
|
|
break;
|
|
+ case GDK_Menu:
|
|
+ if (folderview->selected) {
|
|
+ selected = gtk_tree_row_reference_get_path
|
|
+ (folderview->selected);
|
|
+ gtk_tree_selection_select_path(folderview->selection, selected);
|
|
+ folderview_menu_popup(folderview, event->time);
|
|
+ gtk_tree_path_free(selected);
|
|
+ return TRUE;
|
|
+ }
|
|
+ break;
|
|
default:
|
|
break;
|
|
}
|
|
diff -ur sylpheed-3.1.4_orig/src/mimeview.c sylpheed-3.1.4/src/mimeview.c
|
|
--- sylpheed-3.1.4_orig/src/mimeview.c 2012-10-03 17:25:03.255072309 +0200
|
|
+++ sylpheed-3.1.4/src/mimeview.c 2012-10-03 17:25:41.652355859 +0200
|
|
@@ -838,6 +838,51 @@
|
|
}
|
|
}
|
|
|
|
+static gint mimeview_popup_menu(gint event_button, gint event_time,
|
|
+ MimeView *mimeview)
|
|
+{
|
|
+ MimeInfo *partinfo;
|
|
+
|
|
+ partinfo = mimeview_get_selected_part(mimeview);
|
|
+ if (partinfo && (partinfo->mime_type == MIME_TEXT ||
|
|
+ partinfo->mime_type == MIME_TEXT_HTML ||
|
|
+ partinfo->mime_type == MIME_MESSAGE_RFC822 ||
|
|
+ partinfo->mime_type == MIME_IMAGE ||
|
|
+ partinfo->mime_type == MIME_MULTIPART))
|
|
+ menu_set_sensitive(mimeview->popupfactory, "/Display as text", FALSE);
|
|
+ else
|
|
+ menu_set_sensitive(mimeview->popupfactory, "/Display as text", TRUE);
|
|
+
|
|
+ if (partinfo && partinfo->mime_type == MIME_APPLICATION_OCTET_STREAM)
|
|
+ menu_set_sensitive(mimeview->popupfactory, "/Open", FALSE);
|
|
+ else
|
|
+ menu_set_sensitive(mimeview->popupfactory, "/Open", TRUE);
|
|
+
|
|
+ if (partinfo && (partinfo->mime_type == MIME_TEXT ||
|
|
+ partinfo->mime_type == MIME_TEXT_HTML ||
|
|
+ partinfo->mime_type == MIME_MESSAGE_RFC822))
|
|
+ menu_set_sensitive(mimeview->popupfactory, "/Print...", TRUE);
|
|
+ else
|
|
+ menu_set_sensitive(mimeview->popupfactory, "/Print...", FALSE);
|
|
+
|
|
+ if (partinfo && partinfo->mime_type == MIME_MESSAGE_RFC822) {
|
|
+ gtk_widget_show(mimeview->reply_separator);
|
|
+ gtk_widget_show(mimeview->reply_menuitem);
|
|
+ } else {
|
|
+ gtk_widget_hide(mimeview->reply_separator);
|
|
+ gtk_widget_hide(mimeview->reply_menuitem);
|
|
+ }
|
|
+#if USE_GPGME
|
|
+ menu_set_sensitive(mimeview->popupfactory,
|
|
+ "/Check signature",
|
|
+ mimeview_is_signed(mimeview));
|
|
+#endif
|
|
+
|
|
+ gtk_menu_popup(GTK_MENU(mimeview->popupmenu), NULL, NULL, NULL, NULL,
|
|
+ event_button, event_time);
|
|
+ return TRUE;
|
|
+}
|
|
+
|
|
static gint mimeview_button_pressed(GtkWidget *widget, GdkEventButton *event,
|
|
MimeView *mimeview)
|
|
{
|
|
@@ -861,51 +906,7 @@
|
|
/* call external program for image, audio or html */
|
|
mimeview_launch(mimeview);
|
|
} else if (event->button == 3) {
|
|
- partinfo = mimeview_get_selected_part(mimeview);
|
|
- if (partinfo && (partinfo->mime_type == MIME_TEXT ||
|
|
- partinfo->mime_type == MIME_TEXT_HTML ||
|
|
- partinfo->mime_type == MIME_MESSAGE_RFC822 ||
|
|
- partinfo->mime_type == MIME_IMAGE ||
|
|
- partinfo->mime_type == MIME_MULTIPART))
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Display as text", FALSE);
|
|
- else
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Display as text", TRUE);
|
|
- if (partinfo &&
|
|
- partinfo->mime_type == MIME_APPLICATION_OCTET_STREAM)
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Open", FALSE);
|
|
- else
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Open", TRUE);
|
|
-
|
|
- if (partinfo && (partinfo->mime_type == MIME_TEXT ||
|
|
- partinfo->mime_type == MIME_TEXT_HTML ||
|
|
- partinfo->mime_type == MIME_MESSAGE_RFC822))
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Print...", TRUE);
|
|
- else
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Print...", FALSE);
|
|
-
|
|
- if (partinfo && partinfo->mime_type == MIME_MESSAGE_RFC822) {
|
|
- gtk_widget_show(mimeview->reply_separator);
|
|
- gtk_widget_show(mimeview->reply_menuitem);
|
|
- } else {
|
|
- gtk_widget_hide(mimeview->reply_separator);
|
|
- gtk_widget_hide(mimeview->reply_menuitem);
|
|
- }
|
|
-#if USE_GPGME
|
|
- menu_set_sensitive(mimeview->popupfactory,
|
|
- "/Check signature",
|
|
- mimeview_is_signed(mimeview));
|
|
-#endif
|
|
-
|
|
- gtk_menu_popup(GTK_MENU(mimeview->popupmenu),
|
|
- NULL, NULL, NULL, NULL,
|
|
- event->button, event->time);
|
|
- return TRUE;
|
|
+ return mimeview_popup_menu(event->button, event->time, mimeview);
|
|
}
|
|
|
|
return FALSE;
|
|
@@ -981,6 +982,10 @@
|
|
if (summaryview)
|
|
summary_pass_key_press_event(summaryview, event);
|
|
break;
|
|
+ case GDK_Menu:
|
|
+ if (summaryview)
|
|
+ return mimeview_popup_menu(3, event->time, mimeview);
|
|
+ break;
|
|
default:
|
|
break;
|
|
}
|
|
diff -ur sylpheed-3.1.4_orig/src/summaryview.c sylpheed-3.1.4/src/summaryview.c
|
|
--- sylpheed-3.1.4_orig/src/summaryview.c 2012-10-03 17:25:03.256072316 +0200
|
|
+++ sylpheed-3.1.4/src/summaryview.c 2012-10-03 17:25:41.654355873 +0200
|
|
@@ -5898,6 +5898,7 @@
|
|
return TRUE;
|
|
} else if (event->button == 3) {
|
|
/* right clicked */
|
|
+ printf("debug dla ubogich\n");
|
|
syl_plugin_signal_emit("summaryview-menu-popup",
|
|
summaryview->popupfactory);
|
|
gtk_menu_popup(GTK_MENU(summaryview->popupmenu), NULL, NULL,
|
|
@@ -5983,6 +5984,13 @@
|
|
case GDK_Escape:
|
|
gtk_widget_grab_focus(summaryview->folderview->treeview);
|
|
return TRUE;
|
|
+ case GDK_Menu:
|
|
+ syl_plugin_signal_emit("summaryview-menu-popup",
|
|
+ summaryview->popupfactory);
|
|
+ gtk_menu_popup(GTK_MENU(summaryview->popupmenu), NULL, NULL,
|
|
+ NULL, NULL, 3, event->time);
|
|
+ return TRUE;
|
|
+ break;
|
|
default:
|
|
break;
|
|
}
|
|
Only in sylpheed-3.1.4_orig/src: version.h
|
|
Only in sylpheed-3.1.4_orig: sylpheed.spec
|