1 diff -ru -x *.pot -x cat-id-tbl* glade-0.5.7-orig/glade/main.c glade-0.5.7/glade/main.c
2 --- glade-0.5.7-orig/glade/main.c Wed Dec 22 17:01:00 1999
3 +++ glade-0.5.7/glade/main.c Sun Mar 12 20:44:11 2000
5 static void parse_command_line (int argc,
7 GladeProjectWindow *project_window);
8 +static void post_command_line (GladeProjectWindow *project_window);
9 static void usage (void);
12 +/* Currently we handle only command-line arguments an XML file to load
13 + and request for source build.
14 + For Gnome we have to use popt, even though we have no options. */
16 +static gchar *arg_filename=NULL;
17 +static int arg_write_source=0;
20 static poptContext pctx;
22 static struct poptOption options[] = {
29 + N_("Whether to automatically (and only) build the source files"),
37 glade_show_property_editor ();
39 parse_command_line (argc, argv, project_window);
40 + post_command_line (project_window);
41 if (current_project == NULL)
49 +post_command_line (GladeProjectWindow *project_window)
52 + GladeProject *project;
57 + directory = g_get_current_dir ();
58 + arg_filename = glade_util_make_absolute_path (directory, arg_filename);
59 + glade_project_window_open_project (project_window, arg_filename);
61 + g_free (arg_filename);
63 + if (arg_write_source)
65 + if (!arg_filename) {
66 + fprintf(stderr,_("Project name not specified, requited for \"--writesource\" option.\n"));
69 + project = glade_project_view_get_project (GLADE_PROJECT_VIEW (project_window->project_view));
70 + g_return_if_fail (project != NULL);
71 + error = glade_project_write_source (project);
73 + fprintf(stderr,_("Error writing source, use GUI to fix it.\n"));
74 + glade_error_free (error);
81 -/* Currently the only command-line argument we handle is an XML file to load.
82 - For Gnome we have to use popt, even though we have no options. */
85 parse_command_line (int argc, char *argv[],
86 GladeProjectWindow *project_window)
88 - gchar *filename = NULL, *directory;
94 for (i = 0; args && args[i]; i++)
96 - if (filename == NULL)
97 - filename = (gchar*) args[i];
100 + if (arg_filename == NULL)
101 + arg_filename = (gchar*) args[i];
106 poptFreeContext (pctx);
110 - directory = g_get_current_dir ();
111 - filename = glade_util_make_absolute_path (directory, filename);
112 - glade_project_window_open_project (project_window, filename);
113 - g_free (directory);
119 @@ -143,28 +181,18 @@
120 parse_command_line (int argc, char *argv[],
121 GladeProjectWindow *project_window)
123 - gchar *filename = NULL, *directory;
126 /* GTK parses argc & argv and sets arguments to NULL if it has used them. */
127 for (i = 1; i < argc; i++)
131 - if (filename == NULL)
132 - filename = argv[i];
140 - directory = g_get_current_dir ();
141 - filename = glade_util_make_absolute_path (directory, filename);
142 - glade_project_window_open_project (project_window, filename);
143 - g_free (directory);
145 + if (!argv[i]) continue;
146 + if (!strcmp(argv[i],"-w") || !strcmp(argv[i],"--writesource"))
147 + arg_write_source = 1;
148 + else if (arg_filename == NULL)
149 + arg_filename = (gchar*) argv[i];
159 - fprintf (stderr, "Usage: glade [filename]\n");
160 + fprintf (stderr, "Usage: glade [-w|--writesource] [<filename>]\n");