gimp r26244 - in branches/soc-2008-tagging: . app/widgets
- From: aurisj svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r26244 - in branches/soc-2008-tagging: . app/widgets
- Date: Sun, 20 Jul 2008 13:10:48 +0000 (UTC)
Author: aurisj
Date: Sun Jul 20 13:10:48 2008
New Revision: 26244
URL: http://svn.gnome.org/viewvc/gimp?rev=26244&view=rev
Log:
2008-07-20 Aurimas JuÅka <aurisj svn gnome org>
* app/widgets/gimptagentry.c: allow jellybean selection with mouse
button 1 (normally left).
Modified:
branches/soc-2008-tagging/ChangeLog
branches/soc-2008-tagging/app/widgets/gimptagentry.c
Modified: branches/soc-2008-tagging/app/widgets/gimptagentry.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimptagentry.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimptagentry.c Sun Jul 20 13:10:48 2008
@@ -40,32 +40,34 @@
#define GIMP_TAG_ENTRY_QUERY_DESC "filter"
#define GIMP_TAG_ENTRY_ASSIGN_DESC "enter tags"
-static void gimp_tag_entry_activate (GtkEntry *entry,
- gpointer unused);
-static void gimp_tag_entry_changed (GtkEntry *entry,
- gpointer unused);
-static void gimp_tag_entry_insert_text (GtkEditable *editable,
- gchar *new_text,
- gint text_length,
- gint *position,
- gpointer user_data);
-static gboolean gimp_tag_entry_focus_in (GtkWidget *widget,
- GdkEventFocus *event,
- gpointer user_data);
-static gboolean gimp_tag_entry_focus_out (GtkWidget *widget,
- GdkEventFocus *event,
- gpointer user_data);
-static void gimp_tag_entry_backspace (GtkEntry *entry);
-static void gimp_tag_entry_delete_from_cursor (GtkEntry *entry,
- GtkDeleteType delete_type,
- gint count);
-static void gimp_tag_entry_query_tag (GimpTagEntry *entry);
-
-static void gimp_tag_entry_assign_tags (GimpTagEntry *tag_entry);
-static void gimp_tag_entry_item_set_tags (GimpTagged *entry,
- GList *tags);
+static void gimp_tag_entry_activate (GtkEntry *entry,
+ gpointer unused);
+static void gimp_tag_entry_changed (GtkEntry *entry,
+ gpointer unused);
+static void gimp_tag_entry_insert_text (GtkEditable *editable,
+ gchar *new_text,
+ gint text_length,
+ gint *position,
+ gpointer user_data);
+static gboolean gimp_tag_entry_focus_in (GtkWidget *widget,
+ GdkEventFocus *event,
+ gpointer user_data);
+static gboolean gimp_tag_entry_focus_out (GtkWidget *widget,
+ GdkEventFocus *event,
+ gpointer user_data);
+static gboolean gimp_tag_entry_button_release (GtkWidget *widget,
+ GdkEventButton *event);
+static void gimp_tag_entry_backspace (GtkEntry *entry);
+static void gimp_tag_entry_delete_from_cursor (GtkEntry *entry,
+ GtkDeleteType delete_type,
+ gint count);
+static void gimp_tag_entry_query_tag (GimpTagEntry *entry);
+
+static void gimp_tag_entry_assign_tags (GimpTagEntry *tag_entry);
+static void gimp_tag_entry_item_set_tags (GimpTagged *entry,
+ GList *tags);
-static void gimp_tag_entry_load_selection (GimpTagEntry *tag_entry);
+static void gimp_tag_entry_load_selection (GimpTagEntry *tag_entry);
static gchar* gimp_tag_entry_get_completion_prefix (GimpTagEntry *entry);
@@ -77,13 +79,14 @@
gchar *prefix);
static gboolean gimp_tag_entry_auto_complete (GimpTagEntry *tag_entry);
-static void gimp_tag_entry_toggle_desc (GimpTagEntry *widget,
- gboolean show);
-static gboolean gimp_tag_entry_expose (GtkWidget *widget,
- GdkEventExpose *event,
- gpointer user_data);
+static void gimp_tag_entry_toggle_desc (GimpTagEntry *widget,
+ gboolean show);
+static gboolean gimp_tag_entry_expose (GtkWidget *widget,
+ GdkEventExpose *event,
+ gpointer user_data);
-static gboolean gimp_tag_entry_select_jellybean (GimpTagEntry *entry);
+static gboolean gimp_tag_entry_select_jellybean (GimpTagEntry *entry);
+static gboolean gimp_tag_entry_try_select_jellybean (GimpTagEntry *tag_entry);
G_DEFINE_TYPE (GimpTagEntry, gimp_tag_entry, GTK_TYPE_ENTRY);
@@ -94,8 +97,11 @@
static void
gimp_tag_entry_class_init (GimpTagEntryClass *klass)
{
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GtkEntryClass *entry_class = GTK_ENTRY_CLASS (klass);
+ widget_class->button_release_event = gimp_tag_entry_button_release;
+
entry_class->backspace = gimp_tag_entry_backspace;
entry_class->delete_from_cursor = gimp_tag_entry_delete_from_cursor;
}
@@ -737,6 +743,25 @@
}
static gboolean
+gimp_tag_entry_button_release (GtkWidget *widget,
+ GdkEventButton *event)
+{
+ if (event->button == 1)
+ {
+ g_idle_add ((GSourceFunc) gimp_tag_entry_try_select_jellybean,
+ widget);
+ }
+ return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
+}
+
+static gboolean
+gimp_tag_entry_try_select_jellybean (GimpTagEntry *tag_entry)
+{
+ gimp_tag_entry_select_jellybean (tag_entry);
+ return FALSE;
+}
+
+static gboolean
gimp_tag_entry_select_jellybean (GimpTagEntry *entry)
{
gchar *original_string;
@@ -804,3 +829,4 @@
return TRUE;
}
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]