[tepl] LanguageChooserWidget: implement select_language()
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] LanguageChooserWidget: implement select_language()
- Date: Wed, 4 Nov 2020 21:05:11 +0000 (UTC)
commit 2bb49cdc28667c4979e1cf4c92ec7ee257b2025c
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Nov 4 21:59:18 2020 +0100
LanguageChooserWidget: implement select_language()
tepl/tepl-language-chooser-widget.c | 21 ++++++++++++++++++++-
tests/test-language-chooser-widget.c | 14 ++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
---
diff --git a/tepl/tepl-language-chooser-widget.c b/tepl/tepl-language-chooser-widget.c
index 281f540..4e02cf1 100644
--- a/tepl/tepl-language-chooser-widget.c
+++ b/tepl/tepl-language-chooser-widget.c
@@ -109,7 +109,26 @@ static void
tepl_language_chooser_widget_select_language (TeplLanguageChooser *chooser,
GtkSourceLanguage *language)
{
- /* TODO */
+ TeplLanguageChooserWidget *chooser_widget = TEPL_LANGUAGE_CHOOSER_WIDGET (chooser);
+ GList *all_rows;
+ GList *l;
+
+ all_rows = gtk_container_get_children (GTK_CONTAINER (chooser_widget->priv->list_box));
+
+ for (l = all_rows; l != NULL; l = l->next)
+ {
+ GtkListBoxRow *cur_row = GTK_LIST_BOX_ROW (l->data);
+ GtkSourceLanguage *cur_language;
+
+ cur_language = list_box_row_get_language (cur_row);
+ if (cur_language == language)
+ {
+ gtk_list_box_select_row (chooser_widget->priv->list_box, cur_row);
+ break;
+ }
+ }
+
+ g_list_free (all_rows);
}
static void
diff --git a/tests/test-language-chooser-widget.c b/tests/test-language-chooser-widget.c
index 2196d25..ecb4a43 100644
--- a/tests/test-language-chooser-widget.c
+++ b/tests/test-language-chooser-widget.c
@@ -20,6 +20,19 @@ language_activated_cb (TeplLanguageChooser *chooser,
}
}
+static void
+select_random_language (TeplLanguageChooserWidget *chooser_widget)
+{
+ GtkSourceLanguageManager *manager;
+ GtkSourceLanguage *language;
+
+ manager = gtk_source_language_manager_get_default ();
+ // html has been picked at random.
+ language = gtk_source_language_manager_get_language (manager, "html");
+
+ tepl_language_chooser_select_language (TEPL_LANGUAGE_CHOOSER (chooser_widget), language);
+}
+
int
main (int argc,
char **argv)
@@ -33,6 +46,7 @@ main (int argc,
g_signal_connect (window, "destroy", gtk_main_quit, NULL);
chooser_widget = tepl_language_chooser_widget_new ();
+ select_random_language (chooser_widget);
gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (chooser_widget));
g_signal_connect (chooser_widget,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]