/* Save DE to file */
static void
-save_file (PsppireDataWindow *de)
+save_file (PsppireWindow *w)
{
gchar *fn = NULL;
GString *fnx;
struct getl_interface *sss;
struct string file_name ;
+ PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (w);
- g_object_get (de, "filename", &fn, NULL);
+ g_object_get (w, "filename", &fn, NULL);
fnx = g_string_new (fn);
ds_destroy (&file_name);
execute_syntax (sss);
-
- psppire_window_set_unsaved (PSPPIRE_WINDOW (de), FALSE);
}
psppire_window_set_filename (PSPPIRE_WINDOW (de), filename->str);
- save_file (de);
+ save_file (PSPPIRE_WINDOW (de));
g_string_free (filename, TRUE);
}
const gchar *fn = psppire_window_get_filename (de);
if ( NULL != fn)
- save_file (PSPPIRE_DATA_WINDOW (de));
+ psppire_window_save (de);
else
data_save_as_dialog (PSPPIRE_DATA_WINDOW (de));
}
fonts_activate (GtkMenuItem *menuitem, gpointer data)
{
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
+ GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (de));
PangoFontDescription *current_font;
gchar *font_name;
GtkWidget *dialog =
g_free (font_name);
gtk_window_set_transient_for (GTK_WINDOW (dialog),
- GTK_WINDOW (get_widget_assert (de->builder,
- "data_editor")));
+ GTK_WINDOW (toplevel));
+
if ( GTK_RESPONSE_OK == gtk_dialog_run (GTK_DIALOG (dialog)) )
{
const gchar *font = gtk_font_selection_dialog_get_font_name
static void
set_unsaved (gpointer w)
{
- psppire_window_set_unsaved (PSPPIRE_WINDOW (w), TRUE);
+ psppire_window_set_unsaved (PSPPIRE_WINDOW (w));
}
static void
connect_help (de->builder);
- g_object_ref (menubar);
- gtk_widget_unparent (menubar);
-
- g_object_ref (hb);
- gtk_widget_unparent (hb);
-
- g_object_ref (sb);
- gtk_widget_unparent (sb);
-
gtk_box_pack_start (GTK_BOX (box), menubar, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (box), hb, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (de->data_editor), TRUE, TRUE, 0);
{
+ GtkWidget *toolbarbutton = get_widget_assert (de->builder, "button-open");
+
GtkAction *action_data_open =
- resolve_action (de->builder, "file_open_data", "button-open");
+ resolve_action (de->builder, "file_open_data", NULL);
g_object_set (action_data_open,
"tooltip", _("Open a data file"),
g_signal_connect (action_data_open, "activate",
G_CALLBACK (open_data_dialog), de);
+
+ g_signal_connect_swapped (toolbarbutton, "clicked",
+ G_CALLBACK (gtk_action_activate), action_data_open);
}
static void
psppire_data_window_iface_init (PsppireWindowIface *iface)
{
- iface->save = data_save;
+ iface->save = save_file;
iface->load = load_file;
}