[gtk+/wip/matthiasc/touch-selection] entry: Never show handles and popover at the same time
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/touch-selection] entry: Never show handles and popover at the same time
- Date: Mon, 8 Jun 2015 01:26:33 +0000 (UTC)
commit cf6cb3e1ba75fa49a7625a02f62c469958bf87e8
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Jun 7 14:01:39 2015 -0400
entry: Never show handles and popover at the same time
gtk/gtkentry.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 8813486..d81bbea 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -9684,6 +9684,31 @@ gtk_entry_popup_menu (GtkWidget *widget)
}
static void
+show_or_hide_handles (GtkWidget *popover,
+ GParamSpec *pspec,
+ GtkEntry *entry)
+{
+ gboolean visible;
+ GtkTextHandle *handle;
+ GtkTextHandleMode mode;
+
+ visible = gtk_widget_get_visible (popover);
+
+ handle = entry->priv->text_handle;
+ mode = _gtk_text_handle_get_mode (handle);
+
+ if (mode == GTK_TEXT_HANDLE_MODE_CURSOR)
+ {
+ _gtk_text_handle_set_visible (handle, GTK_TEXT_HANDLE_POSITION_CURSOR, !visible);
+ }
+ else if (mode == GTK_TEXT_HANDLE_MODE_SELECTION)
+ {
+ _gtk_text_handle_set_visible (handle, GTK_TEXT_HANDLE_POSITION_SELECTION_START, !visible);
+ _gtk_text_handle_set_visible (handle, GTK_TEXT_HANDLE_POSITION_SELECTION_END, !visible);
+ }
+}
+
+static void
activate_bubble_cb (GtkWidget *item,
GtkEntry *entry)
{
@@ -9756,6 +9781,8 @@ bubble_targets_received (GtkClipboard *clipboard,
GTK_STYLE_CLASS_TOUCH_SELECTION);
gtk_popover_set_position (GTK_POPOVER (priv->selection_bubble), GTK_POS_BOTTOM);
gtk_popover_set_modal (GTK_POPOVER (priv->selection_bubble), FALSE);
+ g_signal_connect (priv->selection_bubble, "notify::visible",
+ G_CALLBACK (show_or_hide_handles), entry);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
g_object_set (box, "margin", 10, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]