X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Finkview.cpp;h=5cfde2c814a793d1365d32549300ff58394f4902;hb=d91c7044b45dde766203822b19e4affead5ce10f;hp=51b54bb6d8d3e5c143c0d7e12ad5ba93e27dbc71;hpb=fe3091465b3ba55e4e6d6f66c29d15d4c00d3e83;p=inkscape.git diff --git a/src/inkview.cpp b/src/inkview.cpp index 51b54bb6d..5cfde2c81 100644 --- a/src/inkview.cpp +++ b/src/inkview.cpp @@ -113,14 +113,14 @@ int sp_main_gui (int, char const**) { return 0; } int sp_main_console (int, char const**) { return 0; } static int -sp_svgview_main_delete (GtkWidget *widget, GdkEvent *event, struct SPSlideShow *ss) +sp_svgview_main_delete (GtkWidget */*widget*/, GdkEvent */*event*/, struct SPSlideShow */*ss*/) { gtk_main_quit (); return FALSE; } static int -sp_svgview_main_key_press (GtkWidget *widget, GdkEventKey *event, struct SPSlideShow *ss) +sp_svgview_main_key_press (GtkWidget */*widget*/, GdkEventKey *event, struct SPSlideShow *ss) { switch (event->keyval) { case GDK_Up: @@ -178,6 +178,9 @@ main (int argc, const char **argv) usage(); } + // Prevents errors like "Unable to wrap GdkPixbuf..." (in nr-filter-image.cpp for example) + Gtk::Main::init_gtkmm_internals(); + Gtk::Main main_instance (&argc, const_cast(&argv)); struct SPSlideShow ss; @@ -186,20 +189,20 @@ main (int argc, const char **argv) num_parsed_options = 0; // the list of arguments is in the net line - while ((option = getopt(argc, (char* const* )argv, "t:")) != -1) + while ((option = getopt(argc, (char* const* )argv, "t:")) != -1) { switch(option) { case 't': // for timer // fprintf(stderr, "set timer arg %s\n", optarg ); - ss.timer = atoi(optarg); + ss.timer = atoi(optarg); num_parsed_options += 2; // 2 because of flag + option break; case '?': default: usage(); - } + } } - + GtkWidget *w; int i; @@ -210,7 +213,7 @@ main (int argc, const char **argv) LIBXML_TEST_VERSION Inkscape::GC::init(); - Inkscape::Preferences::loadSkeleton(); + Inkscape::Preferences::get(); // ensure preferences are initialized gtk_init (&argc, (char ***) &argv); @@ -234,8 +237,7 @@ main (int argc, const char **argv) ss.fullscreen = false; inkscape = (Inkscape::Application *)g_object_new (SP_TYPE_INKSCAPE, NULL); - Inkscape::Preferences::load(); - + // starting at where the commandline options stopped parsing because // we want all the files to be in the list for (i = num_parsed_options + 1 ; i < argc; i++) { @@ -295,11 +297,11 @@ main (int argc, const char **argv) } ss.slides[ss.length++] = strdup (argv[i]); - ss.doc = sp_document_new (ss.slides[ss.current], TRUE, false); - if (!ss.doc && ++ss.current >= ss.length) { - /* No loadable documents */ - return 1; + if (!ss.doc) { + ss.doc = sp_document_new (ss.slides[ss.current], TRUE, false); + if (!ss.doc) + ++ss.current; } #ifdef WITH_INKJAR } @@ -321,10 +323,11 @@ main (int argc, const char **argv) g_signal_connect (G_OBJECT (w), "delete_event", (GCallback) sp_svgview_main_delete, &ss); g_signal_connect (G_OBJECT (w), "key_press_event", (GCallback) sp_svgview_main_key_press, &ss); - ss.view = sp_svg_view_widget_new (ss.doc); - sp_svg_view_widget_set_resize (SP_SVG_VIEW_WIDGET (ss.view), FALSE, sp_document_width (ss.doc), sp_document_height (ss.doc)); sp_document_ensure_up_to_date (ss.doc); + ss.view = sp_svg_view_widget_new (ss.doc); sp_document_unref (ss.doc); + sp_svg_view_widget_set_resize (SP_SVG_VIEW_WIDGET (ss.view), FALSE, + sp_document_width (ss.doc), sp_document_height (ss.doc)); gtk_widget_show (ss.view); gtk_container_add (GTK_CONTAINER (w), ss.view); @@ -336,7 +339,7 @@ main (int argc, const char **argv) } static int -sp_svgview_ctrlwin_delete (GtkWidget *widget, GdkEvent *event, void *data) +sp_svgview_ctrlwin_delete (GtkWidget */*widget*/, GdkEvent */*event*/, void */*data*/) { ctrlwin = NULL; return FALSE; @@ -386,28 +389,28 @@ sp_svgview_control_show (struct SPSlideShow *ss) } static int -sp_svgview_show_next_cb (GtkWidget *widget, void *data) +sp_svgview_show_next_cb (GtkWidget */*widget*/, void *data) { sp_svgview_show_next(static_cast(data)); return FALSE; } static int -sp_svgview_show_prev_cb (GtkWidget *widget, void *data) +sp_svgview_show_prev_cb (GtkWidget */*widget*/, void *data) { sp_svgview_show_prev(static_cast(data)); return FALSE; } static int -sp_svgview_goto_first_cb (GtkWidget *widget, void *data) +sp_svgview_goto_first_cb (GtkWidget */*widget*/, void *data) { sp_svgview_goto_first(static_cast(data)); return FALSE; } static int -sp_svgview_goto_last_cb (GtkWidget *widget, void *data) +sp_svgview_goto_last_cb (GtkWidget */*widget*/, void *data) { sp_svgview_goto_last(static_cast(data)); return FALSE; @@ -441,8 +444,8 @@ static void sp_svgview_set_document(struct SPSlideShow *ss, SPDocument *doc, int current) { if (doc && doc != ss->doc) { - reinterpret_cast(SP_VIEW_WIDGET_VIEW (ss->view))->setDocument (doc); sp_document_ensure_up_to_date (doc); + reinterpret_cast(SP_VIEW_WIDGET_VIEW (ss->view))->setDocument (doc); if (ss->doc) { delete ss->doc; } @@ -465,7 +468,7 @@ sp_svgview_show_next (struct SPSlideShow *ss) sp_svgview_set_document(ss, doc, current); sp_svgview_normal_cursor(ss); -} +} static void sp_svgview_show_prev (struct SPSlideShow *ss) @@ -491,7 +494,7 @@ sp_svgview_goto_first (struct SPSlideShow *ss) SPDocument *doc = NULL; int current = 0; while ( !doc && (current < ss->length - 1)) { - if (current == ss->current) + if (current == ss->current) break; doc = sp_document_new (ss->slides[current++], TRUE, false); } @@ -509,7 +512,7 @@ sp_svgview_goto_last (struct SPSlideShow *ss) SPDocument *doc = NULL; int current = ss->length - 1; while (!doc && (current >= 0)) { - if (current == ss->current) + if (current == ss->current) break; doc = sp_document_new (ss->slides[current--], TRUE, false); } @@ -543,9 +546,6 @@ static void usage() #ifdef WITH_INKJAR " or archives of SVGs (.sxw, .jar)" #endif - "\n\n" - "Available options:\n" - "\t-t\t\tTimer for automatically changing slides in seconds.\n" "\n"); exit(1); } @@ -557,7 +557,6 @@ void inkscape_ref (void) {} void inkscape_unref (void) {} void inkscape_add_document (SPDocument *document) {} void inkscape_remove_document (SPDocument *document) {} -Inkscape::XML::Node *inkscape_get_repr (Inkscape::Application *inkscape, const gchar *key) {return NULL;} #endif