summaryrefslogtreecommitdiff
path: root/libreofficekit/qa
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-04-19 09:09:19 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-04-19 08:10:35 +0000
commitdf784ec1bf3d1745a291056df28bec799d4fdee3 (patch)
treeb6cdb85786db0798da23e1970bb0866b2c98092b /libreofficekit/qa
parenta7e23e7f7b5489da2441adf5b8afbee507709821 (diff)
tdf#99314 lokdocview: add new userprofileurl property
So that users of the widget can use a custom user profile, allowing running widgets users and LibreOffice in parallel. Change-Id: I1bd0a8e53aa3216adc721052cf30f0dd174327bd Reviewed-on: https://gerrit.libreoffice.org/24237 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'libreofficekit/qa')
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
index c0d4ac7f33df..b3079a7bbdd4 100644
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
@@ -36,6 +36,7 @@ static int help()
fprintf(stderr, "--background-color <color>: Set custom background color, e.g. 'yellow'.\n");
fprintf(stderr, "--hide-page-shadow: Hide page/slide shadow.\n");
fprintf(stderr, "--hide-whitespace: Hide whitespace between pages in text documents.\n");
+ fprintf(stderr, "--user-profile: Path to a custom user profile.\n");
return 1;
}
@@ -529,7 +530,15 @@ static void createView(GtkWidget* pButton, gpointer /*pItem*/)
/// Creates a new model, i.e. LOK init and document load, one view implicitly.
static void createModelAndView(const char* pLOPath, const char* pDocPath, const std::vector<std::string>& rArguments)
{
- GtkWidget* pDocView = lok_doc_view_new(pLOPath, nullptr, nullptr);
+ std::string aUserProfile;
+ for (size_t i = 0; i < rArguments.size(); ++i)
+ {
+ const std::string& rArgument = rArguments[i];
+ if (rArgument == "--user-profile" && i + 1 < rArguments.size())
+ aUserProfile = std::string("file://") + rArguments[i + 1].c_str();
+ }
+ const gchar* pUserProfile = aUserProfile.empty() ? nullptr : aUserProfile.c_str();
+ GtkWidget* pDocView = lok_doc_view_new_from_user_profile(pLOPath, pUserProfile, nullptr, nullptr);
setupWidgetAndCreateWindow(pDocView);