ukeyboard updated to version 2.0
[slovak-l10n] / ukeyboard / cpanel / langset.c
index 2c38e8e..d001e2b 100644 (file)
@@ -1,5 +1,6 @@
 /*
  *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
+ *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <hildon/hildon-caption.h>
+#include <hildon/hildon.h>
 #include <libosso.h>
 #include <gconf/gconf.h>
 #include <gconf/gconf-client.h>
-
-#ifdef HAVE_MAEMO5
-#define GETTEXT_PACKAGE "osso-applet-textinput"
-
-#include <hildon/hildon.h>
-#include <glib/gi18n-lib.h>
-#endif
-
 #include "prefs.h"
 #include "lang.h"
 #include "langset.h"
 
+#define GETTEXT_PACKAGE "osso-applet-textinput"
+#include <glib/gi18n-lib.h>
+
 #define L_CONF_DIR     "/apps/osso/inputmethod/hildon-im-languages"
 
-#ifdef HAVE_MAEMO5
 gboolean get_l_bool(GConfClient *client, char *lang, char *key)
-#else
-static gboolean get_l_bool(GConfClient *client, char *lang, char *key)
-#endif
 {
        char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
        gboolean res;
@@ -51,11 +44,7 @@ static gboolean get_l_bool(GConfClient *client, char *lang, char *key)
        return res;
 }
 
-#ifdef HAVE_MAEMO5
 void set_l_bool(GConfClient *client, char *lang, char *key, gboolean val)
-#else
-static void set_l_bool(GConfClient *client, char *lang, char *key, gboolean val)
-#endif
 {
        char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
 
@@ -65,11 +54,7 @@ static void set_l_bool(GConfClient *client, char *lang, char *key, gboolean val)
        g_free(tmp);
 }
 
-#ifdef HAVE_MAEMO5
 gchar *get_l_str(GConfClient *client, char *lang, char *key)
-#else
-static gchar *get_l_str(GConfClient *client, char *lang, char *key)
-#endif
 {
        char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
        GConfValue *val;
@@ -88,11 +73,7 @@ static gchar *get_l_str(GConfClient *client, char *lang, char *key)
        return res;
 }
 
-#ifdef HAVE_MAEMO5
 void set_l_str(GConfClient *client, char *lang, char *key, gchar *val)
-#else
-static void set_l_str(GConfClient *client, char *lang, char *key, gchar *val)
-#endif
 {
        char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
 
@@ -100,7 +81,6 @@ static void set_l_str(GConfClient *client, char *lang, char *key, gchar *val)
        g_free(tmp);
 }
 
-#ifdef HAVE_MAEMO5
 void fill_dict(HildonTouchSelector *combo, GList *langs, gchar *deflang)
 {
        GList *item;
@@ -120,107 +100,3 @@ void fill_dict(HildonTouchSelector *combo, GList *langs, gchar *deflang)
        if (!deflang || !*deflang)
                hildon_touch_selector_set_active(combo, 0, i);
 }
-#else
-static void fill_dict(GtkComboBox *combo, GList *langs, gchar *deflang)
-{
-       GList *item;
-       struct lang *lang;
-       unsigned i;
-
-       for (item = langs, i = 0; item; item = g_list_next(item)) {
-               lang = item->data;
-               if (lang->ext)
-                       continue;
-               gtk_combo_box_append_text(combo, lang->desc);
-               if (deflang && !strcmp(lang->code, deflang))
-                       gtk_combo_box_set_active(combo, i);
-               i++;
-       }
-       gtk_combo_box_append_text(combo, "Custom/Empty");
-       if (!deflang || !*deflang)
-               gtk_combo_box_set_active(combo, i);
-}
-
-void lang_settings(GConfClient *client, GtkWidget *win, GList *langs, int n)
-{
-       GtkDialog *dialog;
-       GtkBox *vbox;
-       GtkSizeGroup *group;
-       GtkToggleButton *auto_cap, *word_compl, *word_pred, *sp_after;
-       GtkComboBox *dict;
-       struct lang *lang;
-       gchar *code, *tmp;
-       int res;
-
-       if (n < 0)
-               return;
-       lang = g_list_nth_data(langs, n);
-       if (!lang)
-               return;
-       code = lang->code;
-
-       dialog = GTK_DIALOG(gtk_dialog_new());
-       gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(win));
-       tmp = g_strconcat("On-screen text input: ", lang->desc, NULL);
-       gtk_window_set_title(GTK_WINDOW(dialog), tmp);
-       g_free(tmp);
-       gtk_dialog_set_has_separator(dialog, FALSE);
-       gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
-
-       gtk_dialog_add_action_widget(dialog, gtk_button_new_with_label("OK"), GTK_RESPONSE_ACCEPT);
-       gtk_dialog_add_action_widget(dialog, gtk_button_new_with_label("Cancel"), GTK_RESPONSE_REJECT);
-
-       vbox = GTK_BOX(gtk_vbox_new(FALSE, 0));
-       group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
-
-       auto_cap = GTK_TOGGLE_BUTTON(gtk_check_button_new());
-       gtk_toggle_button_set_active(auto_cap, get_l_bool(client, code, "auto-capitalisation"));
-       gtk_box_pack_start_defaults(vbox, hildon_caption_new(group, "Auto-capitalisation",
-               GTK_WIDGET(auto_cap), NULL, HILDON_CAPTION_MANDATORY));
-
-       word_compl = GTK_TOGGLE_BUTTON(gtk_check_button_new());
-       gtk_toggle_button_set_active(word_compl, get_l_bool(client, code, "word-completion"));
-       gtk_box_pack_start_defaults(vbox, hildon_caption_new(group, "Word completion",
-               GTK_WIDGET(word_compl), NULL, HILDON_CAPTION_MANDATORY));
-
-       word_pred = GTK_TOGGLE_BUTTON(gtk_check_button_new());
-       gtk_toggle_button_set_active(word_pred, get_l_bool(client, code, "next-word-prediction"));
-       gtk_box_pack_start_defaults(vbox, hildon_caption_new(group, "Next word prediction",
-               GTK_WIDGET(word_pred), NULL, HILDON_CAPTION_MANDATORY));
-
-       sp_after = GTK_TOGGLE_BUTTON(gtk_check_button_new());
-       gtk_toggle_button_set_active(sp_after, get_l_bool(client, code, "insert-space-after-word"));
-       gtk_box_pack_start_defaults(vbox, hildon_caption_new(group, "Insert space after word",
-               GTK_WIDGET(sp_after), NULL, HILDON_CAPTION_MANDATORY));
-
-       dict = GTK_COMBO_BOX(gtk_combo_box_new_text());
-       tmp = get_l_str(client, code, "dictionary");
-       /* If tmp is NULL (i.e. the gconf key is unset), try to use the same
-        * dictionary as the keyboard. But don't do this if the keyboard is
-        * from our package. */
-       fill_dict(dict, langs, (tmp || lang->ext) ? tmp : code);
-       if (tmp)
-               g_free(tmp);
-       gtk_box_pack_start_defaults(vbox, hildon_caption_new(group, "Dictionary",
-               GTK_WIDGET(dict), NULL, HILDON_CAPTION_MANDATORY));
-
-       g_object_unref(G_OBJECT(group));
-
-       gtk_container_add(GTK_CONTAINER(dialog->vbox), GTK_WIDGET(vbox));
-       gtk_widget_show_all(GTK_WIDGET(dialog));
-       res = gtk_dialog_run(dialog);
-       if (res == GTK_RESPONSE_ACCEPT) {
-               set_l_bool(client, code, "auto-capitalisation", gtk_toggle_button_get_active(auto_cap));
-               set_l_bool(client, code, "word-completion", gtk_toggle_button_get_active(word_compl));
-               set_l_bool(client, code, "next-word-prediction", gtk_toggle_button_get_active(word_pred));
-               set_l_bool(client, code, "insert-space-after-word", gtk_toggle_button_get_active(sp_after));
-               res = gtk_combo_box_get_active(dict);
-               if (res >= 0) {
-                       lang = g_list_nth_data(langs, res);
-                       tmp = (lang && !lang->ext) ? lang->code : "";
-                       set_l_str(client, code, "dictionary", tmp);
-               }
-       }
-       gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-#endif