mirror of https://github.com/GNOME/gimp.git
use an entry with completion for language selection. Still not functional.
2008-02-08 Sven Neumann <sven@gimp.org> * app/widgets/gimptexteditor.c: use an entry with completion for language selection. Still not functional. svn path=/trunk/; revision=24834
This commit is contained in:
parent
904abbfd11
commit
98ae72715b
|
@ -1,3 +1,8 @@
|
|||
2008-02-08 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/widgets/gimptexteditor.c: use an entry with completion for
|
||||
language selection. Still not functional.
|
||||
|
||||
2008-02-08 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/widgets/gimplanguagestore.[ch]
|
||||
|
|
|
@ -46,12 +46,14 @@ enum
|
|||
};
|
||||
|
||||
|
||||
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 @@ gimp_text_editor_new (const gchar *title,
|
|||
{
|
||||
GimpTextEditor *editor;
|
||||
GtkTextBuffer *buffer;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *label;
|
||||
GtkWidget *entry;
|
||||
GtkWidget *toolbar;
|
||||
GtkWidget *scrolled_window;
|
||||
|
||||
|
@ -169,33 +175,16 @@ gimp_text_editor_new (const gchar *title,
|
|||
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 @@ gimp_text_editor_new (const gchar *title,
|
|||
|
||||
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 @@ gimp_text_editor_get_font_name (GimpTextEditor *editor)
|
|||
|
||||
/* 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)
|
||||
|
|
Loading…
Reference in New Issue