diff options
| author | Dmitry Zhulanov <dmitry.zhulanov@gmail.com> | 2016-09-26 17:23:14 +0000 |
|---|---|---|
| committer | Dmitry Zhulanov <dmitry.zhulanov@gmail.com> | 2016-09-26 17:23:14 +0000 |
| commit | 6efece51f99980b824b199bbeb6452f03e6736c6 (patch) | |
| tree | 7fa1c7d9a0278c5770c15c5ef4251e0deb362e4e /src/main.cpp | |
| parent | Remove unused variable. (diff) | |
| download | inkscape-6efece51f99980b824b199bbeb6452f03e6736c6.tar.gz inkscape-6efece51f99980b824b199bbeb6452f03e6736c6.zip | |
add x-verbs support
(bzr r15136.1.1)
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp index 004d96191..d9f11ed8b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -112,6 +112,7 @@ #endif #include "main-cmdlineact.h" +#include "main-cmdlinexact.h" #include "widgets/icon.h" #include <errno.h> @@ -127,6 +128,7 @@ enum { SP_ARG_NOGUI, SP_ARG_GUI, SP_ARG_FILE, + SP_ARG_XVERBS, SP_ARG_PRINT, SP_ARG_EXPORT_PNG, SP_ARG_EXPORT_DPI, @@ -227,6 +229,9 @@ static gchar *sp_export_png_utf8 = NULL; static gchar *sp_export_svg_utf8 = NULL; static gchar *sp_global_printer_utf8 = NULL; +static gchar *sp_xverbs_yaml_utf8 = NULL; +static gchar *sp_xverbs_yaml = NULL; + /** * Reset variables to default values. @@ -301,6 +306,11 @@ struct poptOption options[] = { N_("Open specified document(s) (option string may be excluded)"), N_("FILENAME")}, + {"xverbs", 'B', + POPT_ARG_STRING, &sp_xverbs_yaml, SP_ARG_XVERBS, + N_("xverbs command"), + N_("XVERBS_FILENAME")}, + {"print", 'p', POPT_ARG_STRING, &sp_global_printer, SP_ARG_PRINT, N_("Print document(s) to specified output file (use '| program' for pipe)"), @@ -881,6 +891,7 @@ static int sp_common_main( int argc, char const **argv, GSList **flDest ) fixupSingleFilename( &sp_export_png, &sp_export_png_utf8 ); fixupSingleFilename( &sp_export_svg, &sp_export_svg_utf8 ); fixupSingleFilename( &sp_global_printer, &sp_global_printer_utf8 ); + fixupSingleFilename( &sp_xverbs_yaml, &sp_xverbs_yaml_utf8 ); } else { @@ -890,6 +901,9 @@ static int sp_common_main( int argc, char const **argv, GSList **flDest ) sp_export_svg_utf8 = g_strdup( sp_export_svg ); if ( sp_global_printer ) sp_global_printer_utf8 = g_strdup( sp_global_printer ); + if ( sp_xverbs_yaml ) + sp_xverbs_yaml_utf8 = g_strdup( sp_xverbs_yaml ); + } #ifdef WITH_DBUS @@ -2131,6 +2145,14 @@ sp_process_args(poptContext ctx) } break; } + case SP_ARG_XVERBS: { + gchar const *fn = poptGetOptArg(ctx); + if (fn != NULL) { + sp_xverbs_yaml = g_strdup(fn); + Inkscape::CmdLineXAction::createActionsFromYAML((const char *)sp_xverbs_yaml); + } + break; + } case SP_ARG_VERSION: { printf("Inkscape %s (%s)\n", Inkscape::version_string, __DATE__); exit(0); |
