repair glade; switched to gladeui-2.0; removed the internal-child in psppire-dialog.
[pspp] / src / ui / gui / psppire-syntax-window.c
index 35f57e587b4cc950f30eaf8ef40683426e7b46e4..efe6a4003207a92df4ad925a57047168b21cb22c 100644 (file)
@@ -296,7 +296,7 @@ clipboard_get_cb (GtkClipboard     *clipboard,
   PsppireSyntaxWindow *sw = data;
   g_assert (info == SELECT_FMT_TEXT);
 
-  gtk_selection_data_set (selection_data, selection_data->target,
+  gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
                          8,
                          (const guchar *) sw->cliptext, strlen (sw->cliptext));
 
@@ -369,27 +369,6 @@ on_edit_copy (PsppireSyntaxWindow *sw)
   set_clip (sw, &begin, &end);
 }
 
-
-/* A callback for when the clipboard contents have been received */
-static void
-contents_received_callback (GtkClipboard *clipboard,
-                           GtkSelectionData *sd,
-                           gpointer data)
-{
-  PsppireSyntaxWindow *syntax_window = data;
-
-  if ( sd->length < 0 )
-    return;
-
-  if ( sd->type != gdk_atom_intern ("UTF8_STRING", FALSE))
-    return;
-
-  gtk_text_buffer_insert_at_cursor (GTK_TEXT_BUFFER (syntax_window->buffer),
-                                   (gchar *) sd->data,
-                                   sd->length);
-
-}
-
 static void
 on_edit_paste (PsppireSyntaxWindow *sw)
 {
@@ -397,10 +376,7 @@ on_edit_paste (PsppireSyntaxWindow *sw)
   GtkClipboard *clipboard =
     gtk_clipboard_get_for_display (display, GDK_SELECTION_CLIPBOARD);
 
-  gtk_clipboard_request_contents (clipboard,
-                                 gdk_atom_intern ("UTF8_STRING", TRUE),
-                                 contents_received_callback,
-                                 sw);
+  gtk_text_buffer_paste_clipboard (GTK_TEXT_BUFFER (sw->buffer), clipboard, NULL, TRUE);
 }
 
 
@@ -893,11 +869,11 @@ psppire_syntax_window_init (PsppireSyntaxWindow *window)
 
   {
   GtkUIManager *uim = GTK_UI_MANAGER (get_object_assert (xml, "uimanager1", GTK_TYPE_UI_MANAGER));
+  GtkWidget *w = gtk_ui_manager_get_widget (uim,"/ui/menubar/windows/windows_minimise_all");
 
   merge_help_menu (uim);
 
-  PSPPIRE_WINDOW (window)->menu =
-    GTK_MENU_SHELL (gtk_ui_manager_get_widget (uim,"/ui/menubar/windows/windows_minimise_all")->parent);
+  PSPPIRE_WINDOW (window)->menu = GTK_MENU_SHELL (gtk_widget_get_parent (w));
   }
 
   g_object_unref (xml);
@@ -984,7 +960,7 @@ syntax_load (PsppireWindow *window, const gchar *filename,
       sw->encoding = g_strdup (encoding);
     }
 
-  text_utf8 = recode_substring_pool ("UTF-8", encoding,
+  text_utf8 = recode_substring_pool ("UTF-8", sw->encoding,
                                      ss_buffer (text_locale, len_locale),
                                      NULL).string;
   free (text_locale);