gimp r24834 - in trunk: . app/widgets



Author: neo
Date: Fri Feb  8 20:42:34 2008
New Revision: 24834
URL: http://svn.gnome.org/viewvc/gimp?rev=24834&view=rev

Log:
2008-02-08  Sven Neumann  <sven gimp org>

	* app/widgets/gimptexteditor.c: use an entry with completion 
for
	language selection. Still not functional.



Modified:
   trunk/ChangeLog
   trunk/app/widgets/gimptexteditor.c

Modified: trunk/app/widgets/gimptexteditor.c
==============================================================================
--- trunk/app/widgets/gimptexteditor.c	(original)
+++ trunk/app/widgets/gimptexteditor.c	Fri Feb  8 20:42:34 2008
@@ -46,12 +46,14 @@
 };
 
 
-static void   gimp_text_editor_finalize     (GObject         *object);
+static void        gimp_text_editor_finalize           (GObject         *object);
 
-static void   gimp_text_editor_text_changed (GtkTextBuffer   *buffer,
-                                             GimpTextEditor  *editor);
-static void   gimp_text_editor_font_toggled (GtkToggleButton *button,
-                                             GimpTextEditor  *editor);
+static GtkWidget * gimp_text_editor_language_entry_new (void);
+
+static void        gimp_text_editor_text_changed       (GtkTextBuffer   *buffer,
+                                                        GimpTextEditor  *editor);
+static void        gimp_text_editor_font_toggled       (GtkToggleButton *button,
+                                                        GimpTextEditor  *editor);
 
 
 G_DEFINE_TYPE (GimpTextEditor, gimp_text_editor, GIMP_TYPE_DIALOG)
@@ -133,6 +135,10 @@
 {
   GimpTextEditor *editor;
   GtkTextBuffer  *buffer;
+  GtkWidget      *vbox;
+  GtkWidget      *hbox;
+  GtkWidget      *label;
+  GtkWidget      *entry;
   GtkWidget      *toolbar;
   GtkWidget      *scrolled_window;
 
@@ -169,33 +175,16 @@
       gtk_widget_show (toolbar);
     }
 
-  {
-    GtkListStore    *store;
-    GtkWidget       *combo;
-    GtkCellRenderer *cell;
-
-    store = gimp_language_store_new (FALSE);
-    combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
-    g_object_unref (store);
-
-    cell = gtk_cell_renderer_text_new ();
-    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, TRUE);
-    gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), cell,
-                                    "text", GIMP_LANGUAGE_STORE_LANGUAGE,
-                                    NULL);
-
-    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox),
-                        combo, FALSE, FALSE, 0);
-    gtk_widget_show (combo);
-  }
+  vbox = gtk_vbox_new (FALSE, 6);
+  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox), vbox, TRUE, TRUE, 0);
+  gtk_widget_show (vbox);
 
   scrolled_window = gtk_scrolled_window_new (NULL, NULL);
   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                   GTK_POLICY_AUTOMATIC,
                                   GTK_POLICY_AUTOMATIC);
   gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 2);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox),
-                      scrolled_window, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
   gtk_widget_show (scrolled_window);
 
   editor->view = gtk_text_view_new ();
@@ -220,10 +209,23 @@
 
   gtk_widget_set_size_request (editor->view, 128, 64);
 
+  hbox = gtk_hbox_new (FALSE, 6);
+  gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+  gtk_widget_show (hbox);
+
+  label = gtk_label_new_with_mnemonic (_("_Language:"));
+  gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+  gtk_widget_show (label);
+
+  entry = gimp_text_editor_language_entry_new ();
+  gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
+  gtk_widget_show (entry);
+
+  gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
+
   editor->font_toggle =
     gtk_check_button_new_with_mnemonic (_("_Use selected font"));
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox),
-                      editor->font_toggle, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox), editor->font_toggle, FALSE, FALSE, 0);
   gtk_widget_show (editor->font_toggle);
 
   g_signal_connect (editor->font_toggle, "toggled",
@@ -344,6 +346,29 @@
 
 /*  private functions  */
 
+static GtkWidget *
+gimp_text_editor_language_entry_new (void)
+{
+  GtkWidget          *entry;
+  GtkListStore       *store;
+  GtkEntryCompletion *completion;
+
+  entry = gtk_entry_new ();
+
+  completion = gtk_entry_completion_new ();
+  gtk_entry_completion_set_text_column (completion,
+                                        GIMP_LANGUAGE_STORE_LANGUAGE);
+
+  store = gimp_language_store_new (FALSE);
+  gtk_entry_completion_set_model (completion, GTK_TREE_MODEL (store));
+  g_object_unref (store);
+
+  gtk_entry_set_completion (GTK_ENTRY (entry), completion);
+  g_object_unref (completion);
+
+  return entry;
+}
+
 static void
 gimp_text_editor_text_changed (GtkTextBuffer  *buffer,
                                GimpTextEditor *editor)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]