File gtk-2.24+-replace-functions.patch of Package scim-skk

diff -ur scim-skk-0.5.2.orig/src/scim_skk_imengine_setup.cpp scim-skk-0.5.2/src/scim_skk_imengine_setup.cpp
--- scim-skk-0.5.2.orig/src/scim_skk_imengine_setup.cpp	2012-06-11 22:12:16.007565280 -0500
+++ scim-skk-0.5.2/src/scim_skk_imengine_setup.cpp	2012-06-11 22:44:07.315670643 -0500
@@ -180,7 +180,6 @@
 static GtkWidget    * __widget_annot_highlight = 0;
 static GtkWidget    * __widget_ignore_return   = 0;
 static GtkWidget    * __widget_selection_style = 0;
-static GtkTooltips  * __widget_tooltips        = 0;
 
 static KeyboardConfigData __config_keyboards_common [] =
 {
@@ -485,16 +484,15 @@
     gtk_widget_show (label);
     gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 4);
 
-    *widget = gtk_combo_new ();
-    gtk_combo_set_value_in_list (GTK_COMBO (*widget), TRUE, FALSE);
-    gtk_combo_set_case_sensitive (GTK_COMBO (*widget), TRUE);
-    gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (*widget)->entry), FALSE);
+    *widget = gtk_combo_box_text_new_with_entry ();
+    GtkWidget *entry = gtk_bin_get_child (GTK_BIN (*widget));
+    gtk_editable_set_editable (GTK_EDITABLE (entry), FALSE);
     gtk_widget_show (*widget);
     gtk_box_pack_start (GTK_BOX (hbox), *widget, FALSE, FALSE, 4);
-    g_object_set_data (G_OBJECT (GTK_COMBO (*widget)->entry), DATA_POINTER_KEY,
+    g_object_set_data (G_OBJECT (entry), DATA_POINTER_KEY,
                        (gpointer) candidates_p);
 
-    g_signal_connect ((gpointer) GTK_COMBO (*widget)->entry, "changed",
+    g_signal_connect ((gpointer) entry, "changed",
                       G_CALLBACK (on_default_combo_changed),
                       data_p);
 
@@ -529,11 +527,9 @@
     if (label)
         gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry->widget);
 
-    if (!__widget_tooltips)
-        __widget_tooltips = gtk_tooltips_new();
     if (entry->tooltip)
-        gtk_tooltips_set_tip(__widget_tooltips, entry->widget,
-                             _(entry->tooltip), NULL);
+        gtk_widget_set_tooltip_text (entry->widget,
+                             _(entry->tooltip));
 
     return hbox;
 }
@@ -721,7 +717,7 @@
     // Create keyboard setting.
     for (unsigned int i = 0; data[i].key; ++ i) {
         APPEND_ENTRY(_(data[i].label), data[i].entry, i);
-        gtk_entry_set_editable (GTK_ENTRY (data[i].entry), FALSE);
+        gtk_editable_set_editable (GTK_EDITABLE (data[i].entry), FALSE);
 
         data[i].button = gtk_button_new_with_label ("...");
         gtk_widget_show (data[i].button);
@@ -740,11 +736,9 @@
                           &(data[i].data));
     }
 
-    if (!__widget_tooltips)
-        __widget_tooltips = gtk_tooltips_new();
     for (unsigned int i = 0; data[i].key; ++ i) {
-        gtk_tooltips_set_tip (__widget_tooltips, data[i].entry,
-                              _(data[i].tooltip), NULL);
+        gtk_widget_set_tooltip_text (data[i].entry,
+                              _(data[i].tooltip));
     }
 
     return table;
@@ -794,40 +788,38 @@
 }
 
 static void
-setup_combo_value (GtkCombo *combo,
+setup_combo_value (GtkComboBoxText *combo,
                    ComboConfigData *data, const String & str)
 {
-    GList *list = NULL;
     const char *defval = NULL;
 
     for (unsigned int i = 0; data[i].label; i++) {
-        list = g_list_append (list, (gpointer) _(data[i].label));
+        gtk_combo_box_text_append_text (combo, _(data[i].label));
+
         if (!strcmp (data[i].data, str.c_str ()))
             defval = _(data[i].label);
     }
 
-    gtk_combo_set_popdown_strings (combo, list);
-    g_list_free (list);
-
     if (defval)
-        gtk_entry_set_text (GTK_ENTRY (combo->entry), defval);
+        gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo))),
+                            defval);
 }
 
 static void
 setup_widget_value ()
 {
     if (__widget_selection_style) {
-        setup_combo_value (GTK_COMBO (__widget_selection_style),
+        setup_combo_value (GTK_COMBO_BOX_TEXT (__widget_selection_style),
                            selection_style, __config_selection_style);
     }
 
     if (__widget_annot_pos) {
-        setup_combo_value (GTK_COMBO (__widget_annot_pos),
+        setup_combo_value (GTK_COMBO_BOX_TEXT (__widget_annot_pos),
                            annot_position, __config_annot_pos);
     }
 
     if (__widget_annot_target) {
-        setup_combo_value (GTK_COMBO (__widget_annot_target),
+        setup_combo_value (GTK_COMBO_BOX_TEXT (__widget_annot_target),
                            annot_target, __config_annot_target);
     }
 
@@ -1059,17 +1051,19 @@
     FileConfigData *data = static_cast <FileConfigData *> (user_data);
 
     if (data) {
-        GtkWidget *dialog = gtk_file_selection_new (_(data->title));
+        GtkWidget *dialog = gtk_file_chooser_dialog_new (_(data->title), GTK_WINDOW(gtk_widget_get_toplevel (GTK_WIDGET(button))), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+				      GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+				      NULL );
         gint result;
 
-        gtk_file_selection_set_filename(GTK_FILE_SELECTION (dialog),
+        gtk_file_chooser_set_filename(GTK_FILE_CHOOSER (dialog),
             gtk_entry_get_text(GTK_ENTRY(data->entry)));
 
         result = gtk_dialog_run (GTK_DIALOG (dialog));
 
         if (result == GTK_RESPONSE_OK) {
             const gchar *fname =
-                gtk_file_selection_get_filename (GTK_FILE_SELECTION (dialog));
+                gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
 
             if (!fname) fname = "";
 
diff -ur scim-skk-0.5.2.orig/src/scim_skk_setup_dictionaries.cpp scim-skk-0.5.2/src/scim_skk_setup_dictionaries.cpp
--- scim-skk-0.5.2.orig/src/scim_skk_setup_dictionaries.cpp	2012-06-11 22:12:32.943353553 -0500
+++ scim-skk-0.5.2/src/scim_skk_setup_dictionaries.cpp	2012-06-11 22:13:10.159888284 -0500
@@ -37,7 +37,7 @@
 
 static void file_selection_clicked_cb (GtkButton *button,
                                        gpointer user_data);
-static void dict_type_changed_cb (GtkComboBox *combo,
+static void dict_type_changed_cb (GtkComboBoxText *combo,
                                   gpointer user_data);
 static void dict_list_add_clicked_cb (GtkButton *button,
                                       gpointer user_data);
@@ -302,16 +302,18 @@
     DictionaryConfigWidgets *data = static_cast <DictionaryConfigWidgets *> (user_data);
 
     if (data) {
-        GtkWidget *dialog = gtk_file_selection_new (_(data->title));
+        GtkWidget *dialog = gtk_file_chooser_dialog_new (_(data->title), GTK_WINDOW(gtk_widget_get_toplevel (GTK_WIDGET(button))), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+				      GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+				      NULL );
         gint result;
 
-        gtk_file_selection_set_filename(GTK_FILE_SELECTION (dialog), gtk_entry_get_text(GTK_ENTRY(data->entry)));
+        gtk_file_chooser_set_filename(GTK_FILE_CHOOSER (dialog), gtk_entry_get_text(GTK_ENTRY(data->entry)));
 
         result = gtk_dialog_run (GTK_DIALOG (dialog));
 
         if (result == GTK_RESPONSE_OK) {
             const gchar *fname =
-                gtk_file_selection_get_filename (GTK_FILE_SELECTION (dialog));
+                gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
 
             if (!fname) fname = "";
 
@@ -323,15 +325,15 @@
 }
 
 static void
-dict_type_changed_cb (GtkComboBox *combo,
+dict_type_changed_cb (GtkComboBoxText *combo,
                       gpointer userdata)
 {
-    gchar *typetext = gtk_combo_box_get_active_text(combo);
+    gchar *typetext = gtk_combo_box_text_get_active_text(combo);
     for (int i = 0; __dict_type_names[i] != ""; i++) {
         if (__dict_type_names[i] == typetext) {
             gtk_widget_show_all(__widgets_dicts[i].widget);
         } else {
-            gtk_widget_hide_all(__widgets_dicts[i].widget);
+            gtk_widget_hide(__widgets_dicts[i].widget);
         }
     }
     gtk_entry_set_text(GTK_ENTRY(__widgets_dicts[0].entry), "");
@@ -357,9 +359,9 @@
     label = gtk_label_new(_("Dictionary Type: "));
     gtk_widget_show(label);
     gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
-    __combo_box_dict_types = gtk_combo_box_new_text();
+    __combo_box_dict_types = gtk_combo_box_text_new();
     for (int i = 0; !__dict_type_names[i].empty(); i++) {
-        gtk_combo_box_append_text(GTK_COMBO_BOX(__combo_box_dict_types),
+        gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(__combo_box_dict_types),
                                   __dict_type_names[i].data());
     }
     g_signal_connect((gpointer) __combo_box_dict_types, "changed",
@@ -367,21 +369,21 @@
                      NULL);
     gtk_widget_show(__combo_box_dict_types);
     gtk_box_pack_start(GTK_BOX(hbox), __combo_box_dict_types, FALSE, TRUE, 4);
-    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, FALSE, 4);
+    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), hbox, FALSE, FALSE, 4);
 
     /* dictionary file widgets */
     dict_entry_widgets_dictfile_setup(&(__widgets_dicts[0]));
-    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), __widgets_dicts[0].widget,
+    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), __widgets_dicts[0].widget,
                        TRUE, FALSE, 4);
 
     /* skkserv widgets */
     dict_entry_widgets_skkserv_setup(&__widgets_dicts[1]);
-    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), __widgets_dicts[1].widget,
+    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), __widgets_dicts[1].widget,
                        TRUE, FALSE, 4);
 
     /* dictionary file widgets */
     dict_entry_widgets_dictfile_setup(&__widgets_dicts[2]);
-    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), __widgets_dicts[2].widget,
+    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), __widgets_dicts[2].widget,
                        TRUE, FALSE, 4);
 
     gtk_combo_box_set_active(GTK_COMBO_BOX(__combo_box_dict_types), 0);
@@ -393,12 +395,11 @@
                                       _("Add"),
                                       GTK_RESPONSE_OK);
     gtk_widget_grab_default(ok_button);
-    gtk_dialog_set_has_separator(GTK_DIALOG(dialog), TRUE);
     gtk_widget_show(dialog);
 
     result = gtk_dialog_run(GTK_DIALOG(dialog));
     if (result == GTK_RESPONSE_OK) {
-        String dict_type = gtk_combo_box_get_active_text(GTK_COMBO_BOX(__combo_box_dict_types));
+        String dict_type = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(__combo_box_dict_types));
         String dict_name;
         GtkTreeIter iter;
         GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(userdata));
openSUSE Build Service is sponsored by