Tor Lillqvist
5b1233bdb4
Be sure avoid global object dtors when exiting a child process
...
The LO ones have a tendency to crash anyway on Solar Mutex assertions (in a
build where assertions are active, obviously).
2015-05-08 21:30:32 +03:00
Tor Lillqvist
3a23186217
If we run out of pre-spawned children, spawn one more
...
Just a stopgap measure so far. Clearly will need some logic to get rid of too
many children if they are just hanging around with no clients incoming. Also,
we need some sanity check not to spawn an unlimited number of children.
2015-05-08 21:30:17 +03:00
Tor Lillqvist
aa40335328
Include also the childId in this (temporary) log output
2015-05-08 21:29:45 +03:00
Mihai Varga
febaaa1900
Mouse event handlers for selection
2015-05-08 15:24:47 +03:00
Mihai Varga
1858147801
Twips to latlng and reverse methods
2015-05-08 15:24:26 +03:00
Mihai Varga
affdbc6ff1
Added search command (from the server) handler
2015-05-08 13:58:13 +03:00
Mihai Varga
5dabc12660
Search bar buttons are updated based on the current search index
2015-05-08 13:56:28 +03:00
Mihai Varga
c622852514
Removed the Draw plugin interface
...
We don't actually need this plugin because the server
dictates how the selection will work.
Will remove the whole plugin when I'm sure this won't have other
applications
2015-05-08 11:44:37 +03:00
Mihai Varga
5bde4775f6
Added cancel search button + search bar sends propper events
2015-05-08 11:10:48 +03:00
Tor Lillqvist
e22e1da038
Must use thread-local storage for the variables used by the nftw callback
...
Otherwise two or more linkOrCopy() functions running simultaneously will lead
to a mess.
Actually nftw() is not guaranteed to be thread-safe, I think, so we should
really use something that is, like Poco's SimpleRecursiveDirectoryIterator.
2015-05-07 20:24:14 +03:00
Tor Lillqvist
c69fc09a1b
Use just one RNG for the MasterProcessSession objects
...
It probably is not a good idea to keep depleting the entropy source needlessly
by having a separate RNG in the preSpawn(). Use just one shared RNG and
protect access to it with a mutex.
2015-05-07 20:24:06 +03:00
Tor Lillqvist
de52608a35
Drop setuid-root on Linux too, if we for some reason have it
2015-05-07 18:31:59 +03:00
Tor Lillqvist
caea0f9986
Try to make the server more stable when heavily loaded by connections
...
Use an explicit backlog parameter to the ServerSocket, and an explicit max number
of threads to use for the HTTPServer's thread pool.
2015-05-07 18:26:03 +03:00
Tor Lillqvist
0ca7f3129b
Add code to wait for a child session to become available
...
Not sure it is completely correct. Lots of testing needed.
2015-05-07 16:29:36 +03:00
Tor Lillqvist
d3acdbb225
String::startsWith is Firefox-only it seems
2015-05-06 18:41:09 +03:00
Tor Lillqvist
5aec1fc2f8
Register for callbacks from the LibreOfficeKit object, too
...
They are used for statgus indicator callbacks while loading a document. (This
is a fresh feature in LO master.)
2015-05-06 17:58:00 +03:00
Tor Lillqvist
cb65bbbc36
Include <string> for completeness
...
Sure, it seems to get included indirectly already, but we can't be sure that
holds for all compilers.
2015-05-06 17:58:00 +03:00
Mihai Varga
15a889db91
Search bar implemented as a leaflet Control
...
It is not ready yet, buttons' functionality and the search
functionality is to be added
2015-05-06 12:39:03 +03:00
Mihai Varga
57a2663cb9
Search bar bax with prev and next buttons
2015-05-06 10:41:26 +03:00
Mihai Varga
1b5f9b1f22
Readme update that describes how to open a doc
2015-05-06 10:08:56 +03:00
Mihai Varga
bc5bee6751
Smoother scroll without intertia
2015-05-06 09:44:32 +03:00
Mihai Varga
b9351c6fed
Forgot to replace evt.data with textMsg
2015-05-06 09:37:44 +03:00
Mihai Varga
6c6f8c29de
Document file path and host are encoded in the url
...
Usage:
http://web-page?file_path=/PATH/TO/DOC&host=ws://localhost:9980
2015-05-06 09:35:22 +03:00
Tor Lillqvist
9bce431eea
We have setcap only on Linux
...
Use setuid root otherwise. (But note that the portablity to other
Unixes is a work in progress, and for instance it is known that this
doesn't work on OS X yet.)
2015-05-04 21:00:02 +03:00
Tor Lillqvist
295e8305f9
Use the Linux capability API only on Linux
2015-05-04 21:00:02 +03:00
Tor Lillqvist
580c99d76c
Add SIGPIPE which was missing by mistake, and make it compile on OS X
2015-05-04 20:54:46 +03:00
Tor Lillqvist
8a3dfa4936
The ld -rpath switch means a different thing on OS X
2015-05-04 20:52:05 +03:00
Tor Lillqvist
4ecc431159
Look for setcap and libcap only on Linux
2015-05-04 20:17:41 +03:00
Mihai Varga
22276e7975
Better msg reading method that allows adding new types of msgs
2015-05-04 18:36:47 +03:00
Mihai Varga
4b31303cc0
Let leaflet track window resize
2015-05-04 18:02:32 +03:00
Mihai Varga
55508c6680
Enabled doc. nagivation by keyboard and mousewheel
...
Scrolling now works from the arrowkeys, pgUp, pgDown
Home and End buttons and also from the mouseWheel
TODO update the compressed file
2015-05-04 16:29:23 +03:00
Mihai Varga
bc29447b86
Removed trailing whitespaces from scrollbar code
2015-05-04 16:26:02 +03:00
Mihai Varga
7d3458eb5e
This fixes a bug that's triggered when zooming at document's end
2015-05-04 11:20:36 +03:00
Mihai Varga
a03e9f2e73
Updated readme to reflect the new changes
2015-05-04 11:20:36 +03:00
Mihai Varga
fa15ef1b20
Updated the example document
2015-05-04 11:20:36 +03:00
Mihai Varga
320e094a47
Scroll event handlers + document centering
...
The document is centered by setting map's maxBounds
There are 2 types of scroll events:
- one generated during scrolling which actually pan's the map
- one generated when scrolling stops, this is used to keep track of
scrolling events
When the document is zoomed, the scrollbars are placed at the right
offset as the document's dimension changes and this is done with
the scrollTo method after temporarily disabling the event listener.
2015-05-04 11:20:36 +03:00
Mihai Varga
f0502879b4
New containers + restored some methods implementations to their original
...
Added scrollContainer - the div that will get scrollbars
mockDoc - a mock document div of size equal to the document's, which
will cause the appearance of scrollbars
The size of the map now equals the visible area, so I've restored
the methods to work on this new size
2015-05-04 11:20:36 +03:00
Mihai Varga
c788ab8886
Event handlers for the new scrollbars
2015-05-04 11:20:36 +03:00
Mihai Varga
bee74de059
CSS updates for the new div elements
2015-05-04 11:20:36 +03:00
Mihai Varga
43c68037ec
Custom scrollbars for document navigation
...
jQuery scrollbars, they should be easy to replace if we find something
better, maybe something written in vanilla javascript
Github project: https://github.com/malihu/malihu-custom-scrollbar-plugin
MIT license available at:
https://github.com/malihu/malihu-custom-scrollbar-plugin/blob/master/LICENSE.txt
2015-05-04 11:20:36 +03:00
Mihai Varga
dd8a9f8145
Leaflet small fixes
2015-05-04 11:20:36 +03:00
Tor Lillqvist
af1821bb3b
Temporarily bypass modification time things for actual URLs
...
The code works only for pathnames currently. Need to fix soon.
2015-04-30 21:12:33 +03:00
Tor Lillqvist
dce8e0870e
Just _Exit() in childMain
...
Otherwise various LO global objects will try to run dtors and whatnot, often
crashing.
2015-04-30 21:06:52 +03:00
Tor Lillqvist
600b5bc4d8
Log also when copying of the document is done
2015-04-30 21:05:16 +03:00
Tor Lillqvist
af400fcef4
This is cleaner
2015-04-30 18:44:27 +03:00
Tor Lillqvist
f7375bb5ba
Try to be a little more robust
2015-04-30 18:03:00 +03:00
Tor Lillqvist
59055b975e
Use Poco::StreamCopier, just because it looks nicer
...
A test program did not show any performance difference between using the
std::copy() thing, Poco::StreamCopier, or std output << input.rdbuf() trick.
2015-04-30 18:01:21 +03:00
Tor Lillqvist
8b43cd25b0
Handle file: and http: URLs
2015-04-30 15:58:13 +03:00
Tor Lillqvist
847ce0442e
Add the part parameter to the example tile message here, too
2015-04-30 15:19:29 +03:00
Tor Lillqvist
e48ba86eb9
Mention using actual URLs
2015-04-30 13:50:10 +03:00