Commit graph

48 commits

Author SHA1 Message Date
Tor Lillqvist
6507b8b3fe Fix warning: MobileCoreServices has been renamed to CoreServices
Change-Id: I352a4a00c6ad0e80a6769a93fe6f5999aadf3128
Signed-off-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit 5b598f13c71f6a1ca920d82d692102d366afdea4)
2020-11-05 23:42:39 +02:00
Tor Lillqvist
471dad998c Bump iOS deployment target to 13.0
Upcoming changes will introduce use of APIs that require iOS 13.

Change-Id: Idd4b1e1235ca7ab19eea8aa58f72784b946d50f8
Signed-off-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit fcdc3b2f892bc2847c777127e20e5e5db096870f)
2020-11-05 23:42:39 +02:00
Tor Lillqvist
a8bee952f2 Add source files from toolkit/source/awt for debugging goodness
Change-Id: I3e912221d6acf4712602ed11e3575d5ed8af6ca7
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/103705
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/103712
2020-09-30 19:06:45 +02:00
Tor Lillqvist
9b4d246366 Compile C++ for the iOS app as C++17
Needed by headers in core:master now.

Change-Id: I997bcf267ffd74479c04d83c8703e7f520046aa2
2020-09-23 00:02:38 +03:00
Tor Lillqvist
233cc39cf8 Link with the system libsqlite3 (for nss)
Change-Id: I889e87bd288fdf9e4d9f0a02033ef7cd14e5135b
2020-09-22 12:06:04 +03:00
Tor Lillqvist
2a8db1b5ab Use CollaboraOnlineWebViewKeyboardManager
For now, just copy its source files here. When/if I figure out what is
the appropriate way to package that framework for use in other
products (like the Collabora Office iOS app) I will use that instead.

Change-Id: If808f96b6a72c80e54dc84fce80a551503c96335
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/101268
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-08-25 13:41:20 +02:00
Tor Lillqvist
14d98c6181 Add a bunch of source files from vcl for breakpointing convenience
Change-Id: I4730ecda8ab7b05fd46b8568dc750d85a8ffa804
2020-07-23 14:04:43 +03:00
Tor Lillqvist
6971cf578d Add Authorization.cpp and hpp
Surely no point in using that code for the iOS app, though. Hopefullly
eventually some clean way to bypass it wil emerge. Note that this is
just one step towards making the iOS app even build again.

Change-Id: Ia5a8e31fc6195394f02cbf43f2b5291bcfbb398d
2020-07-01 13:02:54 +03:00
Tor Lillqvist
7f25109f72 tdf#128502: Chunk of work to enable "multi-tasking" in the iOS app
Seems to not cause any serious regressions in the iOS app or in "make
run", but of course I am not able to run a comprehensive check of all
functionality.

Change-Id: I44a0e8d60bdbc0a885db88475961575c5e95ce88
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93037
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-06-26 13:09:51 +02:00
Tor Lillqvist
56afddaba0 Add RequestDetails.cpp and hpp
Change-Id: I084ce2e731073ab69a806d5053c27987b2a8244c
2020-05-15 23:34:01 +03:00
Tor Lillqvist
459cdc9c73 Add source files from framework/source/services
Change-Id: Ic1d905dfbb65d42da577a3d536742ad7c3893db3
2020-05-07 13:44:42 +03:00
Tor Lillqvist
c05f7a4ad0 Argh, had forgotten to commit the s/Document/CODocument/ in the project file
Change-Id: I795d78cddbfbca2d9df17a662ec4800c40b68ace
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91742
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-04-06 12:54:28 +02:00
Jan Holesovsky
9978752258 mobile detection: Create a separate device-*.css for the phone/tablet/desktop.
The problem is that the @media-based detection often disagrees with the
JS-based detection which then leads to many problems - most notably that
part of the UI behaves as if it was a tablet, and the other part as if
was a mobile phone, leading to a terrible user experience.

This commit changes it so that there is only one way how to detect if
we are on mobile phone, tablet or desktop: using the JavaScript, and we
will load the appropriate css accordingly.

Only one @media-based rule is converted as an example, the rest will
follow.

Change-Id: Id7bfb58ca12264904b3329db1542ae6b54893f11
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91416
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-03-31 20:31:49 +02:00
Tor Lillqvist
c6573a08d2 Add StringVector.{cpp,hpp}
Change-Id: I568d4136824fe0b4fcdd0f4bccd15a7c15a5248b
2020-03-10 14:17:31 +02:00
Tor Lillqvist
3de577d2c2 Use the loolkitconfig-mobile.xcu on iOS, too
We can't rename a file in the Xcode project, so copy it to
ios/Mobile/loolkitconfig.xcu in the configure script, and use from
there.

Change-Id: I1e50235c06f528dd24d0d968aaccc994418b57d8
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89466
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-02-25 21:40:03 +01:00
Michael Meeks
6bdf561049 Share the Kit environment setup code.
Particularly configuration layers so we can tweak mobile config
easily.

Add core source files from configmgr for breakpointing convenience in
the iOS project. Add loolkitconfig.xcu to the iOS app bundle. Use
${BRAND_BASE_DIR} instead of a compile-time LOOLWSD_CONFIGDIR literal
on iOS (because there is no compile-time constant path to the app
bundle). No "registry" directory directly in the app bundle any longer
on iOS, a corresponding change in core.git moved that stuff to be
under "share", like on other platforms.

Change-Id: I6672efc0505abf27297c4758118a20992b10ceb3
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88765
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-02-17 14:49:06 +01:00
Tor Lillqvist
0e797eeb3f Add some more core source files for breakpointing convenience
Change-Id: I829534011e037aac1297a41cdb0e6bf008e1b28b
2020-02-07 09:57:53 +02:00
Tor Lillqvist
cad472f796 Add some more core source files for breakpointing convenience
Change-Id: Ia0f08bca84d98f45484162017bd3019876ab8604
2020-01-27 10:52:29 +02:00
Tor Lillqvist
d39a9f84d5 Add sources in sd/source/ui/slidesorter/view for breakpointing convenience
Change-Id: I1f8919f86b64dd6a9f6befec90b13956b2b845d3
2020-01-22 13:39:55 +02:00
Tor Lillqvist
7254183877 Add some source files from sd for easier breakpointing
Change-Id: I2797b8fb8fbeebe73b6536a27733ad5fe2123d50
2020-01-14 13:21:04 +02:00
Tor Lillqvist
948069632d Add source files from svx/source/tbxctrls and svtools/source/config
... to iOS project, for breakpointing convenience.

Change-Id: I3652afe8b833dbe3ec5aff006ef58424626a15a8
2019-12-21 03:37:41 +02:00
Tor Lillqvist
6aca28d0f1 Add some more source files to the Xcode project for debugging convenience
(It is, sadly, apparently possible to set breakpoints in advance
(before the code has reached that file) only in files that are listed
in the project.)

Also drop the nonexistent "filter" directory in Resources. (It is
config/filter.)

Change-Id: I96ec9dd8dc4591db9d640b01fb07e807565670cb
2019-11-07 08:45:05 +02:00
Tor Lillqvist
1fac53764e Bump iOS Deployment Target to 12.2
Change-Id: Ie4df6293f80bc7568ac76244e9eb4e05cc712d76
(cherry picked from commit 9953f25f55544b0e2b878fb86f40521f7f54d49b)
2019-11-01 13:00:13 +02:00
Tor Lillqvist
18ac97913a There should not be a "filter" directory directly at the top level
Change-Id: Icfc86d57924f655d5d3f3f1245aa011012d898f1
Reviewed-on: https://gerrit.libreoffice.org/78143
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit 48ac27e694167fd24dbc50b686849c1067bd2107)
2019-09-23 11:48:01 +03:00
Tor Lillqvist
2474166351 Add core source files from vcl/ios
Change-Id: I1ca8d3fbf7a63b1965abd6799642854e03c4952d
2019-05-30 11:41:38 +03:00
Tor Lillqvist
a31c7c851c Add some more core source files from sfx2/source/view
Change-Id: I3e7183ecea24ee0282cbd6fa6ad7d457fa5a781c
2019-05-20 16:25:52 +03:00
Tor Lillqvist
8ffd192856 Add also DocumentBroker.hpp for breakpointing convenience
Change-Id: I16e81ea16ad332b72f5af0df91c0249b5a2984f1
2019-05-16 14:59:41 +03:00
Tor Lillqvist
32c1dd0a5d Add more core source files for breakpointing convenience 2019-05-16 11:39:32 +03:00
Tor Lillqvist
05e4cf90f9 Remove leftovers of loading.html from iOS app project, too
Change-Id: Iecbbbc8ea42c0e26e6dde3f38a57482ad60135d5
2019-04-25 17:25:15 +03:00
Tor Lillqvist
60581962af Add branding to the iOS app
A configure argument, --with-iosapp-branding, should point to a
directory containing a branding.css file and possibly other files that
branding.css references, to be bundled and used by the iOS app. The
directory structure ends upp in the app bundle as Branding. The
generated loleaflet.html for the iOS app references
Branding/branding.css unconditionally.
2019-04-22 17:23:20 +03:00
Tor Lillqvist
095c4de38b Experiment with adding localisation of the Settings.bundle
Add a sample Finnish localisation. The localised Root.strings files
are supposed to come from some Pootle-based workflow eventually.

Apparently there is some new and improved way to do localisation in
Xcode 10, "Base localisation", but our project file was created in an
earlier Xcode version and I couldn't figure out how to do it the new
way for Settings.bundle, so I manually added the fi.lproj directory.

I changed the English Root.strings file to be in UTF-8 instead of
UTF-16 (and it still works). (The Finnish one is UTF-8, too.) I added
the strings to be translated from Root.plist into it. That is the file
that should be used as a base for Pootle work, no need to extract
strings from the Root.plist, I think.

Change-Id: I80f1c3199ee14678bb1438e218eb9c2475cd66f8
2019-04-12 21:26:37 +03:00
Tor Lillqvist
ea43fb337a Add source files from sfx2/source/appl for convenience 2019-03-22 16:22:05 +02:00
Tor Lillqvist
eaa4a7838a Add references to source files from svl/source/items for debugging goodness 2019-03-20 15:21:14 +02:00
Tor Lillqvist
8d52cf2c9f Fix iOS build in Xcode: Add header search path for boost
(But note that the iOS app is now completely broken at run-time,
nothing sane shows up.)

Change-Id: I685580bbc0113a075d2cebc54c7af8a3bbca6bd6
2019-03-06 11:03:01 +02:00
Tor Lillqvist
3b2612c20d Add sal/rtl/bootstrap.cxx for breakpointing convenience
Change-Id: I915b714aec4212cff563832772111b804af2bbd3
2019-03-01 16:26:42 +02:00
Tor Lillqvist
5c5a9f5221 Add zcodec.cxx from tools
Change-Id: I6666f08b0bddab02277595190a7127d6f0c3f6f0
2019-02-28 11:22:03 +02:00
Tor Lillqvist
d81fe29ad0 We don't need discovery.xml in the iOS app any longer either
Change-Id: Id592b58f091607cf2e8c5e951a95aa3a563e8def
2019-02-13 20:00:04 +02:00
Tor Lillqvist
938553b5f9 Put MOBILEAPP in the pre-canned config.h for iOS, too
Change-Id: Ic6a5f6cdf7b3102c8e926040311093a5a727ac3b
2019-02-12 14:39:16 +02:00
Tor Lillqvist
60a6547085 Add some more core source files for easier breakpointing
Change-Id: I1b958c0fa9ec23aef963c0fc72e9991efe5e51b5
2019-01-07 12:26:19 +02:00
Tor Lillqvist
ee2a08095f Add some source files from vcl/source/filter
Change-Id: Id6065ebc4ec40eeeb9f75db619df139d147b3f6f
2019-01-07 12:26:19 +02:00
Tor Lillqvist
c909bcd83c Need offapi headers, too, when building against a 6.0 branch or core
Change-Id: I4bce152cd286f66aaed1f8354a21c76a27e771b0
2018-12-18 20:03:52 +02:00
Tor Lillqvist
61bd04fefb Add a way to have templates specific to a customer deployment
Add two settings: One setting "Template list URL" is a string that
should either be empty (the typical case for a random user of the
app), or contain a https: URL. If this setting is empty, only the
templates bundled in the app are provided.

If the "Template list URL" is non-empty, it should be a https: URL
pointing to a text file (or dynamically generated text resource). That
file is downloaded and read when the app starts. Each line in the file
should either be a comment (starting with a hash '#'), or a https: URL
pointing to a template document, that is of type .ott, .ots, or .otp.
That document is downloaded if it hasn't been downloaded already, or
if its time stamp is newer than that of the already downloaded copy.
Also a thumbnail image for the template, formed by appending ".png" to
its URL, is downloaded, if available.

Any previously downloaded templates that aren't mentioned in the list
file are removed.

The intent is that in some managed mass deployment environment, the
mobile device management software would set up this setting, so that
the end-user devices would see the same templates.

Obviously, this URL does not have to point to a static file on a web
server, but could point to some dynamically generated resource on a
web server, that enumerates the templates available on the server and
returns their URLs as a text document.

Another setting is "Empty tile cache next time". This is a toggle. If
toggled on, the next time a document is opened in the app, the tile
cache is emptied (and the toggle is reset off). This is mostly for
potential problem solving, and might be removd later.

Various refactoring to support the new functionality.

Change-Id: Ie2ebf032acb9e43bb1c6f7ae4d0c449ae66eaa05
2018-12-17 22:56:14 +02:00
Tor Lillqvist
f3f1b1e228 Adapt to LibreOfficeKitClass no longer having the translateGet() method
This is a somewhat temporary quick solution. It bluntly uses the same
code here that I had added for a while as the implementation of
translateGet() for LibreOfficeKitClass in LO core.

Ideally we should have a script here in online to pick the needed
translation from the translations submodule of core and keep them
around even if a translation happens to evaporate from
core/translations. The same idea as in the scripts/unocommands.py, but
I did not yet start modifying or copying that.

Change-Id: I455ad6044e321ef59873d60f8e5f3e7032f2447e
2018-12-13 16:14:42 +02:00
Tor Lillqvist
a3b44f2b8b Work in progress on document creation using templates in the iOS app
When the "Create Document" button in the document browser is pressed,
we scan a set of ODF templates in the Templates subfolder of the app
bundle, and we display that list as a collection view. (So far that
view is not interactive, i.e. once it is displayed, you are stuck
there.)

Eventually, when the user chooses one of the templates, we will open
that and immediately, before the user has done any edits, do a Save As
of it as a real (not template) document in the app's document folder.
What name to use for it is unclear yet. Further saves will thus don't
need any dialog to choose the document name.

More work will be needed on i18n of the template support. Should we
have localised templates? At least localised template names. Etc.

Change-Id: I5675779a5b16bc4c70a943109aa0dd53cf4bd903
2018-12-04 22:12:39 +02:00
Tor Lillqvist
14cd0f4e2b Add source files from desktoi/source/lib for breakpointing convenience
Change-Id: I36408e7adcd30b1094c41b23254919df43e6542c
2018-12-04 00:58:53 +02:00
Tor Lillqvist
191a471e2d Add source files from cppuhelper for breakpointing convenience
Change-Id: I2b61c4b870f944760171a85818f7ecd7883c3e19
2018-12-04 00:58:53 +02:00
Tor Lillqvist
3c046b0548 Add --with-iosapp-fonts option to bundle some 3rd-party fonts in the app
Propagate the font files found in that folder to Info.plist and to the
app bundle.

Change-Id: I2c38b0d7d21dbdf3b7ffd3b4ae98e47b9ad74758
2018-11-27 17:06:22 +02:00
Tor Lillqvist
a6eadf4e81 Move the iOS app to the ios folder
Change-Id: I46e0722b027e93f90b5cd6a74cd7dc46f6c8cea2
2018-11-22 16:50:57 +02:00