[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] pspp/src/ui/gui syntax-editor.c
From: |
John Darrington |
Subject: |
[Pspp-cvs] pspp/src/ui/gui syntax-editor.c |
Date: |
Tue, 26 Dec 2006 07:09:23 +0000 |
CVSROOT: /sources/pspp
Module name: pspp
Changes by: John Darrington <jmd> 06/12/26 07:09:23
Modified files:
src/ui/gui : syntax-editor.c
Log message:
Re-enabled Save/Save As in syntax editor
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/syntax-editor.c?cvsroot=pspp&r1=1.7&r2=1.8
Patches:
Index: syntax-editor.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/syntax-editor.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- syntax-editor.c 24 Dec 2006 23:08:25 -0000 1.7
+++ syntax-editor.c 26 Dec 2006 07:09:23 -0000 1.8
@@ -46,6 +46,21 @@
const gchar *filename,
GError **err);
+/* Append ".sps" to FILENAME if necessary.
+ The returned result must be freed when no longer required.
+ */
+static gchar *
+append_suffix (const gchar *filename)
+{
+ if ( ! g_str_has_suffix (filename, ".sps" ) &&
+ ! g_str_has_suffix (filename, ".SPS" ) )
+ {
+ return g_strdup_printf ("%s.sps", filename);
+ }
+
+ return strdup (filename);
+}
+
/* If the buffer's modified flag is set, then save it, and close the window.
Otherwise just close the window.
*/
@@ -62,7 +77,7 @@
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
_("Save contents of syntax editor to %s?"),
- e->name ? e->name : _("Untitled")
+ e->name
);
gtk_dialog_add_button (GTK_DIALOG (dialog),
@@ -84,8 +99,7 @@
{
GError *err = NULL;
- if ( ! save_editor_to_file (se, e->name ? e->name : _("Untitled"),
- &err) )
+ if ( ! save_editor_to_file (se, e->name, &err) )
{
msg (ME, err->message);
g_error_free (err);
@@ -101,8 +115,7 @@
/* Callback for the File->SaveAs menuitem */
static void
-on_syntax_save_as (GtkMenuItem *menuitem,
- gpointer user_data)
+on_syntax_save_as (GtkMenuItem *menuitem, gpointer user_data)
{
GtkFileFilter *filter;
gint response;
@@ -156,9 +169,8 @@
}
/* Callback for the File->Save menuitem */
-void
-on_syntax_save (GtkMenuItem *menuitem,
- gpointer user_data)
+static void
+on_syntax_save (GtkMenuItem *menuitem, gpointer user_data)
{
struct syntax_editor *se = user_data;
struct editor_window *e = user_data;
@@ -167,11 +179,14 @@
on_syntax_save_as (menuitem, user_data);
else
{
- GError *err;
+ GError *err = NULL;
save_editor_to_file (se, e->name, &err);
+ if ( err )
+ {
msg (ME, err->message);
g_error_free (err);
}
+ }
}
@@ -346,19 +361,16 @@
e->window);
-#if 0
-
- g_signal_connect (get_widget_assert (xml,"file_save"),
+ g_signal_connect (get_widget_assert (xml, "file_save"),
"activate",
G_CALLBACK (on_syntax_save),
se);
- g_signal_connect (get_widget_assert (xml,"file_save_as"),
+ g_signal_connect (get_widget_assert (xml, "file_save_as"),
"activate",
G_CALLBACK (on_syntax_save_as),
se);
-#endif
g_signal_connect (get_widget_assert (xml,"file_quit"),
"activate",
@@ -424,10 +436,15 @@
GtkTextIter start, stop;
gchar *text;
+ gchar *suffixedname;
gchar *glibfilename;
g_assert (filename);
- glibfilename = g_filename_from_utf8 (filename, -1, 0, 0, err);
+ suffixedname = append_suffix (filename);
+
+ glibfilename = g_filename_from_utf8 (suffixedname, -1, 0, 0, err);
+
+ g_free ( suffixedname);
if ( ! glibfilename )
return FALSE;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] pspp/src/ui/gui syntax-editor.c,
John Darrington <=