+
+/* Parses the command line specified by ARGC and ARGV as received by
+ main(). Returns true if normal execution should proceed,
+ false if the command-line indicates that PSPP should exit. */
+static bool
+parse_command_line (int *argc, char ***argv, gchar **filename, GError **err)
+{
+ static struct option long_options[] =
+ {
+ {"help", no_argument, NULL, 'h'},
+ {"version", no_argument, NULL, 'V'},
+ {0, 0, 0, 0},
+ };
+
+ int c;
+
+ for (;;)
+ {
+ c = getopt_long (*argc, *argv, "hV", long_options, NULL);
+ if (c == -1)
+ break;
+
+ switch (c)
+ {
+ case 'h':
+ g_print ("Usage: psppire {|--help|--version}\n");
+ return false;
+ case 'V':
+ g_print (version);
+ g_print ("\n");
+ g_print (legal);
+ return false;
+ default:
+ return false;
+ }
+ }
+
+ if ( optind < *argc)
+ {
+ *filename = (*argv)[optind];
+ }
+
+ return true;
+}
+
+
+
+void
+create_icon_factory (void)
+{
+ GtkIconFactory *factory = gtk_icon_factory_new();
+
+ GtkIconSet *icon_set;
+
+ GdkPixbuf *pixbuf;
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/value-labels.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-value-labels", icon_set);
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/weight-cases.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-weight-cases", icon_set);
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/goto-variable.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-goto-variable", icon_set);
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/insert-variable.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-insert-variable", icon_set);
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/insert-case.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-insert-case", icon_set);
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/split-file.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-split-file", icon_set);
+
+ pixbuf = gdk_pixbuf_new_from_file (PKGDATADIR "/select-cases.png", 0);
+ icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
+ g_object_unref (pixbuf);
+ gtk_icon_factory_add ( factory, "pspp-select-cases", icon_set);
+
+ gtk_icon_factory_add_default (factory);
+}