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>
|
2008-02-08 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
* app/widgets/gimplanguagestore.[ch]
|
* 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,
|
static GtkWidget * gimp_text_editor_language_entry_new (void);
|
||||||
GimpTextEditor *editor);
|
|
||||||
static void gimp_text_editor_font_toggled (GtkToggleButton *button,
|
static void gimp_text_editor_text_changed (GtkTextBuffer *buffer,
|
||||||
GimpTextEditor *editor);
|
GimpTextEditor *editor);
|
||||||
|
static void gimp_text_editor_font_toggled (GtkToggleButton *button,
|
||||||
|
GimpTextEditor *editor);
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (GimpTextEditor, gimp_text_editor, GIMP_TYPE_DIALOG)
|
G_DEFINE_TYPE (GimpTextEditor, gimp_text_editor, GIMP_TYPE_DIALOG)
|
||||||
|
@ -133,6 +135,10 @@ gimp_text_editor_new (const gchar *title,
|
||||||
{
|
{
|
||||||
GimpTextEditor *editor;
|
GimpTextEditor *editor;
|
||||||
GtkTextBuffer *buffer;
|
GtkTextBuffer *buffer;
|
||||||
|
GtkWidget *vbox;
|
||||||
|
GtkWidget *hbox;
|
||||||
|
GtkWidget *label;
|
||||||
|
GtkWidget *entry;
|
||||||
GtkWidget *toolbar;
|
GtkWidget *toolbar;
|
||||||
GtkWidget *scrolled_window;
|
GtkWidget *scrolled_window;
|
||||||
|
|
||||||
|
@ -169,33 +175,16 @@ gimp_text_editor_new (const gchar *title,
|
||||||
gtk_widget_show (toolbar);
|
gtk_widget_show (toolbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
vbox = gtk_vbox_new (FALSE, 6);
|
||||||
GtkListStore *store;
|
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox), vbox, TRUE, TRUE, 0);
|
||||||
GtkWidget *combo;
|
gtk_widget_show (vbox);
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||||
GTK_POLICY_AUTOMATIC,
|
GTK_POLICY_AUTOMATIC,
|
||||||
GTK_POLICY_AUTOMATIC);
|
GTK_POLICY_AUTOMATIC);
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 2);
|
gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 2);
|
||||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox),
|
gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
|
||||||
scrolled_window, TRUE, TRUE, 0);
|
|
||||||
gtk_widget_show (scrolled_window);
|
gtk_widget_show (scrolled_window);
|
||||||
|
|
||||||
editor->view = gtk_text_view_new ();
|
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);
|
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 =
|
editor->font_toggle =
|
||||||
gtk_check_button_new_with_mnemonic (_("_Use selected font"));
|
gtk_check_button_new_with_mnemonic (_("_Use selected font"));
|
||||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (editor)->vbox),
|
gtk_box_pack_start (GTK_BOX (vbox), editor->font_toggle, FALSE, FALSE, 0);
|
||||||
editor->font_toggle, FALSE, FALSE, 0);
|
|
||||||
gtk_widget_show (editor->font_toggle);
|
gtk_widget_show (editor->font_toggle);
|
||||||
|
|
||||||
g_signal_connect (editor->font_toggle, "toggled",
|
g_signal_connect (editor->font_toggle, "toggled",
|
||||||
|
@ -344,6 +346,29 @@ gimp_text_editor_get_font_name (GimpTextEditor *editor)
|
||||||
|
|
||||||
/* private functions */
|
/* 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
|
static void
|
||||||
gimp_text_editor_text_changed (GtkTextBuffer *buffer,
|
gimp_text_editor_text_changed (GtkTextBuffer *buffer,
|
||||||
GimpTextEditor *editor)
|
GimpTextEditor *editor)
|
||||||
|
|
Loading…
Reference in New Issue