static void modest_msg_edit_window_clipboard_owner_change (GtkClipboard *clipboard,
GdkEvent *event,
ModestMsgEditWindow *window);
+static void modest_msg_edit_window_system_clipboard_owner_change (GtkClipboard *clipboard,
+ GdkEvent *event,
+ ModestMsgEditWindow *window);
static void update_window_title (ModestMsgEditWindow *window);
static void update_dimmed (ModestMsgEditWindow *window);
+static void update_paste_dimming (ModestMsgEditWindow *window);
/* Find toolbar */
static void modest_msg_edit_window_find_toolbar_search (GtkWidget *widget,
gdouble zoom_level;
gulong clipboard_change_handler_id;
+ gulong system_clipboard_change_handler_id;
TnyMsg *draft_msg;
};
priv->draft_msg = NULL;
priv->clipboard_change_handler_id = 0;
+ priv->system_clipboard_change_handler_id = 0;
}
priv->clipboard_change_handler_id = g_signal_connect (G_OBJECT (gtk_clipboard_get (GDK_SELECTION_PRIMARY)), "owner-change",
G_CALLBACK (modest_msg_edit_window_clipboard_owner_change), obj);
+ priv->system_clipboard_change_handler_id = g_signal_connect (G_OBJECT (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD)), "owner-change",
+ G_CALLBACK (modest_msg_edit_window_system_clipboard_owner_change), obj);
}
priv->clipboard_change_handler_id = 0;
}
+ if (priv->system_clipboard_change_handler_id > 0) {
+ g_signal_handler_disconnect (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD),
+ priv->system_clipboard_change_handler_id);
+ priv->system_clipboard_change_handler_id = 0;
+ }
+
/* This had to stay alive for as long as the combobox that used it: */
modest_pair_list_free (priv->from_field_protos);
MODEST_FILE_FORMAT_FORMATTED_TEXT :
MODEST_FILE_FORMAT_PLAIN_TEXT;
modest_msg_edit_window_set_file_format (MODEST_MSG_EDIT_WINDOW (obj), file_format);
+
+ update_paste_dimming (MODEST_MSG_EDIT_WINDOW (obj));
return (ModestWindow*) obj;
}
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
dialog = hildon_file_chooser_dialog_new (GTK_WINDOW (window), GTK_FILE_CHOOSER_ACTION_OPEN);
+ gtk_window_set_title (GTK_WINDOW (dialog), _("mcen_ia_select_inline_image_title"));
response = gtk_dialog_run (GTK_DIALOG (dialog));
switch (response) {
gtk_action_set_sensitive (action, (selection != NULL) && (!MODEST_IS_ATTACHMENTS_VIEW (focused)));
action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/EditMenu/CopyMenu");
gtk_action_set_sensitive (action, (selection != NULL) && (!MODEST_IS_ATTACHMENTS_VIEW (focused)));
+
+ update_paste_dimming (window);
}
static void
}
+static void
+update_paste_dimming (ModestMsgEditWindow *window)
+{
+ ModestWindowPrivate *parent_priv = MODEST_WINDOW_GET_PRIVATE (window);
+ GtkAction *action = NULL;
+ GtkClipboard *clipboard = NULL;
+
+ clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
+
+ action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/EditMenu/PasteMenu");
+ gtk_action_set_sensitive (action, gtk_clipboard_wait_is_text_available (clipboard));
+
+}
+
+static void
+modest_msg_edit_window_system_clipboard_owner_change (GtkClipboard *clipboard,
+ GdkEvent *event,
+ ModestMsgEditWindow *window)
+{
+ update_paste_dimming (window);
+}
+