summaryrefslogtreecommitdiff
path: root/desktop/source/app/cmdlineargs.cxx
AgeCommit message (Collapse)Author
2025-02-02Filter out more unwanted command URIsCaolán McNamara
Change-Id: I24c95d73b4fee89bdf044d5dd6efc9cd89627c54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180970 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-18loplugin:ostr in variousNoel Grandin
Change-Id: I7aa8ed716998a185996482dc561219b398a1c919 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169080 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-08tdf#69192: add StartingSlide to SID_PRESENTATION and cmdline show=Justin Luth
Allow the user to start the presentation at a specific slide using command-line parameters. This patch depends on the previous variable renaming patch. Change-Id: I87797cbccb463904e5d2fe9b078e3921be27c91a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167066 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-01next is never passed a null pointer, use a referenceCaolán McNamara
Change-Id: I6d57e6a7f746a05017c6f93ef434a234716259c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166965 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-01-03tdf117100: do not attempt to re-install extensions on restartJustin Luth
A common way to install extensions is to simply double-click on them in the OS's file browser. But in this case the reload still contains the extension in the cmdline and thus it "opens" the extension again and asks to re-install. So just eliminate OXTs from the commandline if OfficeRestartInProgress. If multiple OXTs are provided on the commandline, two things happen: -LO crashes (with an assert) -both extensions are successfully installed before restart is requested. In both cases removing ALL extensions during restart is appropriate. Prior to this patch, OfficeRestartInProgress was not actually used AFAICS. Mike Kaganski laid out lots of good criteria for this patch 1. After restart, user can still manually install an extension: YES 2. A restart after a restart should still inhibit extensions: YES 3. Must no interfere is user choses to "restart later": YES 4. It works with a clean profile (rm -r instdir/user): YES This implementation is closest to his suggested > Variant 4. Cleanup all fileopen/print arguments from the guards > that manage restarts (e.g., soffice.exe on Windows), so that > when restarting, they would not repeat using those arguments again. > Problem: first launch of soffice.bin that initializes user profile: > restart after this should repeat all the command line arguments. Change-Id: I2460cb31be0c6f3e10cbb5b200cf67839cbd822a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161549 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-05-10desktop : remove useless using namespaceArnaud VERSINI
Change-Id: I23a2932402120d9097ab6bd9793d4b4e92be03e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151538 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2023-04-07drop unused eventtesting stuffCaolán McNamara
eventtesting with input of fuzzed keystroke was a fairly nifty idea, but I never did anything with it beyond an initial experimental run and its cluttering up things so drop it now Change-Id: I44571e3e33124f522374d7c6772b7a7e7721aa1d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150125 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-06desktop : use a std::mutex instead of a osl::MutexArnaud VERSINI
Change-Id: I149af335196eaa31cbd11965e1656c3dfe7431ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139440 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-01Filter out unwanted command URIsStephan Bergmann
Change-Id: I0b7e5329af8cc053d14d5c60ec14fe7f364ef993 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139225 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-03elide some makeStringAndClear() classNoel Grandin
when we are passing the result to a string_view, it is pointless. Change-Id: I4c780bd8dd356bd764b9f88400a41cca6d85f84b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-13Clean up O[U]StringBuffer ctors taking a length parameterStephan Bergmann
For !LIBO_INTERNAL_ONLY, go back to the state before d91d98a53612a972de368186415aa48698e074d9 "fix gcc-4.0.1 and/or 32bit build for string literals" of having just a sal_Int32 overload. (For !LIBO_INTERNAL_ONLY, the current state was confusing, as the existence of further overloads depended on __cplusplus >= 201103L.) And for LIBO_INTERNAL_ONLY: * Have overloads for all integral types, with an assert checking that they do not use out-of-bounds length arguments. (The std::make_unsigned_t dance in the assert is needed to avoid signed/unsigned mismatch warnings as seen at least with MSVC.) This removes the need for explicitly casting arguments that are larger than (unsigned) int. (And I cleaned up two such places that I had become aware of with the abandoned previous attempt <https://gerrit.libreoffice.org/c/core/+/132825> "Let O[U]StringBuffer ctors take sal_Int32 length parameters"; there may be more places to clean up, though.) * Have deleted overloads for all integral types that are not actually integer types. (This excludes signed char and unsigned char, as at least > OUStringBuffer aBuf( rToken.GetByte()); in ScTokenConversion::ConvertToTokenSequence in sc/source/ui/unoobj/tokenuno.cxx does a legitimate call with an argument of type sal_Int8 aka signed char.) Change-Id: I2df77429f25b74f19cc3de5064e6fd982e87b05e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132951 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-11new loplugin:trivialdestructorNoel Grandin
look for potentially trivial destructors that can then be elided Change-Id: I435c251bd4291b5864c20d68f88676faac7c43fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131318 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-22long->tools::Long in dbaccess..drawinglayerNoel
Change-Id: I15760da167e7d0b4c410acccd1c8c90210e28b2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104623 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-21Drop o3tl::optional wrapperStephan Bergmann
...now that macOS builds are guaranteed to have std::optional since 358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to Xcode 11.3 and macOS 10.14.4". The change is done mostly mechanically with > for i in $(git grep -Fl optional); do > sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \ > -e 's/\<o3tl::optional\>/std::optional/g' \ > -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i" > done > for i in $(git grep -Flw o3tl::nullopt); do > sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i" > done (though that causes some of the resulting #include <optional> to appear at different places relative to other includes than if they had been added manually), plus a few manual modifications: * adapt bin/find-unneeded-includes * adapt desktop/IwyuFilter_desktop.yaml * remove include/o3tl/optional.hxx * quote resulting "<"/">" as "&lt;"/"&gt;" in officecfg/registry/cppheader.xsl * and then solenv/clang-format/reformat-formatted-files Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-24tdf#42949 Fix IWYU warnings in desktop/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: If72377cb352be71050a5b0a471bbe3b02d9c0f74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87117 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS and macOS is still Xcode 9.3 according to README.md). And mechanically rewrite all code to use o3tl::optional instead of boost::optional. One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus -Werror=maybe-uninitialized" should no longer be necessary (and whose check happened to no longer trigger for GCC 10 trunk, even though that compiler would still emit bogus -Wmaybe-uninitialized for uses of boost::optional under --enable-optimized, which made me ponder whether this switch from boost::optional to std::optional would be a useful thing to do; I keep that configure.ac check for now, though, and will only remove it in a follow up commit). Another longer-term benefit is that the code is now already in good shape for an eventual switch to std::optional (a switch we would have done anyway once we no longer need to support Xcode < 10). Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses boost::property_tree::ptree::get_child_optional returning boost::optional, so let it keep using boost::optional for now. After a number of preceding commits have paved the way for this change, this commit is completely mechanical, done with > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g' (before committing include/o3tl/optional.hxx, and relying on some GNU features). It excludes some files where mention of boost::optional et al should apparently not be changed (and the sub-repo directory stubs). It turned out that all uses of boost::none across the code base were in combination with boost::optional, so had all to be rewritten as o3tl::nullopt. Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b Reviewed-on: https://gerrit.libreoffice.org/84128 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-30Rewrite uses of boost::optionalStephan Bergmann
...to only use functions that are also available for std::optional (in preparation for changing from boost::optional to std::optional): * uses of get are replaced with operator * or operator -> * uses of is_initialized are replaced with operator bool * uses of reset with an argument are replace with operator = (All of the replacements are also available for boost::optional "since forever", so this change should not break builds against old --with-system-boost. An alternative replacement for is_initialized would have been has_value, but that is only available since Boost 1.68.) Change-Id: I532687b6a5ee37dab28befb8e0eb05c22cbecf0f Reviewed-on: https://gerrit.libreoffice.org/84124 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-04Revert "uitest: make child soffice process die when parent dies"Stephan Bergmann
This reverts commit d35840a2111beafe018851314a624e268e3cde6a, now that 43aef04d77aafb9d055957642e62b559231f3711 "Reliably wait for soffice to terminate" makes sure that no soffice-related processes are left behind by UITests. Using PR_SET_PDEATHSIG had the following drawbacks: * It defeats debugging if a runaway process is forcefully killed by the test framework. (And there are already higher-layer mechanisms in place for the reliable termination of runaway tinderbox builds, see the commit message of 43aef04d77aafb9d055957642e62b559231f3711 mentioned above.) * It is brittle in that it can terminate soffice-related processes too early, as the signal is sent as soon as the parent's thread that spawned the child (and not the parent process as a whole) terminates. * It is Linux-only. Change-Id: Ia07f5dbaafc824bad0dfbdb1a2aabe6d5508741b Reviewed-on: https://gerrit.libreoffice.org/80186 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-01uitest: make child soffice process die when parent diesNoel Grandin
using PR_SET_PDEATHSIG. Note that this can only be called by the child process in question, so we have to pass a new command line argument down to activate it. And we have to plumb it through the wrapper oosplash process. I wonder where else our testing infrastructure could benefit from this Change-Id: I55e8e9f7f4e6cc415046df04c804e51475b8a4c9 Reviewed-on: https://gerrit.libreoffice.org/79854 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-20Replace remaining occurrences of LIBO_HEADLESS with HAVE_FEATURE_UIAndras Timar
Change-Id: Ie2b04ee443dece851d3d96afbc932aa64369c75c Reviewed-on: https://gerrit.libreoffice.org/79084 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-04-17SharePoint connection: Better handling of encoded URLsTamás Zolnai
Handle %7c with small letters. Make sure that the output parameter's content is not affected by decoding. Change-Id: Ie3faad2461815497c0edfb04a589fc57aeb7d66b Reviewed-on: https://gerrit.libreoffice.org/70873 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2019-04-16SharePoint connection: Handle encoded URL passed as command line argumentTamás Zolnai
Change-Id: I3352bf9ade88bd86f7ca3d53238364216547d52b Reviewed-on: https://gerrit.libreoffice.org/70830 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-05clang-tidy performance-inefficient-vector-operationNoel Grandin
Change-Id: Iebcaea7b08c5284946d83b6b6b9ed26b218025d4 Reviewed-on: https://gerrit.libreoffice.org/59992 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-10tdf#119194: save deprecated argument earlyMike Kaganski
Change-Id: I4b5001e1f71ac536ac0c3bda4b8c1955020ab40d Reviewed-on: https://gerrit.libreoffice.org/58815 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-08-01Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories from dbaccess to extensions Change-Id: I4d15aa35e11664ef78c836ffc2937c7e0bb6ea59 Reviewed-on: https://gerrit.libreoffice.org/58165 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-03-05Use for-range loops in desktop (part1)Julien Nabet
+ remove some useless typedef + some reindent Change-Id: Ic1e445a7096b1663ca8cbc58c40bb8f7af0c70e1 Reviewed-on: https://gerrit.libreoffice.org/50787 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-06Remove unused #include <vcl/metaact.hxx> from vcl/outdev.hxxStephan Bergmann
...and fix the fallout Change-Id: Ie514bd95d5a9f990a887566619031e9844c40b92 Reviewed-on: https://gerrit.libreoffice.org/45195 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-07desktop: fix loplugin:unnecessaryparen warningMiklos Vajna
Change-Id: I10253c38208da7e5881af7611f80e03059ccc5e5
2017-09-07Improve error messages for not-standalone command line switchesMike Kaganski
--printer-name and --outdir are only valid command-line parameters if they directly follow their parent parameters (--print-to-file and --convert-to). Placing them out-of-order (e.g., using another parameter between --convert-to and --outdir) results in a generic message that --outdir is an unknown parameter. This change makes more useful message for these errors to avoid user confusion. Change-Id: I924e8571eec3de9058fe18be3789ccee2bc98c7d Reviewed-on: https://gerrit.libreoffice.org/42039 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-05tdf#109202: Convert images via command line parameter, CLI supportSamuel Mehrbrodt
Change-Id: Iea65bc24ed9a76ca35f7f91e0867a0853ced93e6 Reviewed-on: https://gerrit.libreoffice.org/41136 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-07-19CheckWebQuery: Don't use OUString::createFromAscii for user inputMike Kaganski
Change-Id: I26803984c0a9e172aa4ceb7bfc9d26abb14ca207 Reviewed-on: https://gerrit.libreoffice.org/40173 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-07-12tdf#106359: use SvFileStream to read iqy; fixes *nix compatibilityMike Kaganski
Change-Id: I42dc6559a57eaedcc64d2a4e59e16677b9dfeb1c Reviewed-on: https://gerrit.libreoffice.org/39862 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-06-09Add --script-cat parameter to dump scripts content.Michael Meeks
Also factor out over-long print method into its own helper. Change-Id: Ica98dc9c999d5655e78662774e0140d70369d0b7 Reviewed-on: https://gerrit.libreoffice.org/38579 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-05-07revert OSL_ASSERT changesChris Sherlock
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
2017-05-07tdf#43157: convert desktop module away from OSL_ASSERT to assertChris Sherlock
Change-Id: I521042a79cf93a51d84b72554d04715b321dd942
2017-04-29Move getProcessWorkingDir from tools to unotoolsChris Sherlock
Change-Id: Ifd86ab3c89c285ad5329fc86cc57967ebd1af91a Reviewed-on: https://gerrit.libreoffice.org/37100 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-04-06tdf#106359: register .iqy in MSI and treat them as templatesMike Kaganski
Change-Id: I7ae94c7717fbea03d96c539e05eeb565bafefd9f Reviewed-on: https://gerrit.libreoffice.org/36188 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-03-09tdf#106359: Open Web Query (.iqy) filesMike Kaganski
As per http://support.microsoft.com/kb/157482, the files are plain-text files with an URL and optional GET and POST parameters (static and dynamic). This commit introduces basic support to open these files (without support for POST and dynamic parameters). Change-Id: Ic122efdcfacb8b5de3ef68be1cf0e8a480710eca Reviewed-on: https://gerrit.libreoffice.org/34928 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-03-03Fix typosAndrea Gelmini
Change-Id: I6b547a864e7a8c8eeedcd7f7c56796e2b3a606d1 Reviewed-on: https://gerrit.libreoffice.org/34807 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-28Revert "Remove extra "=" symbol for "--splash-pipe" argument"Stephan Bergmann
This reverts commit 87a098e3bb72910399473ee0fbe32a70cad9c737: '--splash-pipe=N' is a "private" command line argument between oosplash (desktop/unx/source/start.c) and soffice.bin (desktop/source/splash/unxsplash.cxx). No need to silently accept a bogus '--splash-pipe' (without '=' part) provided by the user.
2016-11-26Remove extra "=" symbol for "--splash-pipe" argumenttagezi
This argument ignores any parameters since commit 5c22a03320f20ae9ac2c3c16025e7c5e3a7915d5. It is a part of documenting cmdline. Change-Id: I9d7f06f692d77379b3d96b741987f83771bd13c2 Reviewed-on: https://gerrit.libreoffice.org/31243 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2016-11-23loplugin:unnecessaryoverride (dtors) in desktopStephan Bergmann
Change-Id: I9153f2506a9d054ec2e81a5c0d6f9bb089b73f64
2016-10-10safemode: Add command line optionSamuel Mehrbrodt
Change-Id: I081cc6b4d61be4541a3bdcf475385b5ce0f59cda
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-08-19coverity#1371119 Unchecked return valueCaolán McNamara
Change-Id: I6a39ee4aafe646c542f03c8548e1822837dfde5c
2016-07-31tdf#100837: honor LibreOffice command line arguments for Office URIsMike Kaganski
This patch allows modifying open mode set in Office URI by using LibreOffice usual command line arguments. For instance, if there is -p "ofe:...", then the file won't be open for editing, but instead will be printed. Change-Id: I4bde9b6e1c0e92b63ee3834ee1fd8f6e1bd321f2 Reviewed-on: https://gerrit.libreoffice.org/27629 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2016-07-26Restructure CommandLineArgs::ParseCommandLine_ImplMike Kaganski
CommandLineArgs::ParseCommandLine_Impl is restructured to remove multiple redundant booleans and make its structure more clear. Command line "events" (that specify following filenames treatment) are grouped to an enum. (NB: "events" is not invented by me, this is currently used term). Normalized treatment of --display param: now it is always ignored. Previously, if it happened to be a known switch like --writer, it handled as it's not after --display. Immediate parameters to switches --pt, --convert-to, --outdir, --printer-name are now treated likewise. They are treated as corresponding values, even if they happen to be known switches. --language (without "=") is no more a recognized switch. Before this it skipped all filenames until next file management switch. After this gets approved, TODO is to tweak Office URIs to take current event into account: e.g., to print opened file if it's after -p. Change-Id: Ic2f3980548f8906f695d297dc6677bd2cbd19c5b Reviewed-on: https://gerrit.libreoffice.org/27316 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2016-07-19tdf#100837: Support Office URI SchemesMike Kaganski
This patch adds support for Office URI Schemes (see https://msdn.microsoft.com/en-us/library/dn906146). This will enable browser (non-CMIS) integration of LibreOffice with MS SharePoint server (v.2013 tested). In this patch, in addition to ms-* schemes, a new scheme is introduced: vnd.libreoffice.command, which is analogous to ms-*. Its purpose is to enable flexible configuration of server and client, where some types of documents are declared as handled by LibreOffice, and other are handled by other software. E.g., ODTs may have "vnd.libreoffice.command" scheme, while DOCXs could be "ms-word". Client may register LibreOffice to handle both, or to handle only "vnd.libreoffice.command" scheme. Unit test included. TODO in a later patch: add a mechanism to register LibreOffice to the schemes with OS. Change-Id: I1c449a211102036f87163058a4c90a93eb32c948 Reviewed-on: https://gerrit.libreoffice.org/27094 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-15Related tdf#37531: Make --cat headless/hidden like --convert-toStephan Bergmann
...which automatically takes care of the open problem from 08960441558743f222280637985690bb8b41b861 "Related tdf#37531: Handle conversion args sent over pipe" that --cat terminates the called soffice. Change-Id: Ief8cdf8c1335749dad1504966d635e0519fe92f7