Commit Graph

1256 Commits

Author SHA1 Message Date
Samuel Mannehed
667a83e65a Merge branch 'toolbar' of https://github.com/CendioOssman/noVNC 2016-09-30 21:36:00 +02:00
Samuel Mannehed
86c67404c9 Remove spaces from clipboard element 2016-09-27 16:06:16 +02:00
Samuel Mannehed
4b30f9ce09 Clean up virtual keyboard handling 2016-09-23 17:45:25 +02:00
Pierre Ossman
1a15cb5b32 Add hover hints to buttons
Disable it on touch devices though as it is mostly annoying there.
2016-09-23 14:39:22 +02:00
Pierre Ossman
5454c34511 Add headings to panels 2016-09-23 14:39:22 +02:00
Pierre Ossman
1fe9faee6c Clean up panel layouts
Make sure everything follows a consistent style and is properly
labeled.
2016-09-23 14:39:21 +02:00
Pierre Ossman
ca25d2ae26 Move Ctrl+Alt+Del to extra keys menu
The extra keys menu is now present for all devices, so avoid clutter
by moving the Ctrl+Alt+Del button there as well.
2016-09-23 14:39:21 +02:00
Pierre Ossman
cd5a035d90 Make sure all buttons have a tooltip 2016-09-23 14:39:21 +02:00
Samuel Mannehed
3f93a385a2 Auto-close the toolbar on connect after a delay 2016-09-23 14:39:21 +02:00
Samuel Mannehed
04b399e27d Allow moving the controlbar handle
This also adds emulation of Element.setCapture() as only Firefox
and Internet Explorer/Edge currently supports it.
2016-09-23 14:39:21 +02:00
Pierre Ossman
65e3d7d6a6 Make control bar handle easier to hit on mobile 2016-09-23 14:39:21 +02:00
Pierre Ossman
38323d4d92 Add handle to open and close the control bar 2016-09-23 14:39:21 +02:00
Pierre Ossman
728b5d9e1a Make control bar transparent when idle 2016-09-23 14:39:21 +02:00
Pierre Ossman
4d3aa0ef9d Add logo to control bar 2016-09-23 14:39:21 +02:00
Pierre Ossman
fb7c3b3be2 Change control bar to a smaller left-side toolbar 2016-09-23 14:39:21 +02:00
Pierre Ossman
6244e383e4 Let CSS update UI for touch and connected state
Avoid a lot of JavaScript code that can easily be handed using
style sheets instead, specifically items that should only be shown
when on a touch device, or items that depend on the connected state.
2016-09-23 14:39:21 +02:00
Pierre Ossman
8434cc81b3 Make status dialog independent of control bar 2016-09-23 14:39:21 +02:00
Pierre Ossman
f7c725cecf Improve active button visual response 2016-09-23 14:39:21 +02:00
Pierre Ossman
ebbec43a6b Enable extra keys for all devices
Manual special keys can be useful on all devices, so stop restricting
it to just touch devices.
2016-09-23 14:39:21 +02:00
Pierre Ossman
d616c9226c Merge control bar sections
There is no status information in the centre anymore, so merge
the left and right sections of the control bar.
2016-09-23 14:39:21 +02:00
Samuel Mannehed
8a7ec6ea19 Add a separate dialog for the password prompt
The user might be queried for the password during the connect stage
if no password was previously provided. Add a separate dialog for
this rather than abusing the connect dialog.
2016-09-23 14:39:21 +02:00
Samuel Mannehed
8d7708c82e Abstract status dialog CSS class handling 2016-09-23 14:39:21 +02:00
Pierre Ossman
c8d4402f58 Move touch text input out of control bar
It has nothing to do with the control bar, so hide it somewhere
more sensible.
2016-09-23 14:39:21 +02:00
Pierre Ossman
79fd3b1fcf Apply CSS style to input elements
Different browsers have wildly different defaults for input elements.
Try to get a consistent interface by applying our own style.
2016-09-23 14:39:21 +02:00
Pierre Ossman
24d8b311ca Bling up popups
Make the popups a bit more prominent by adding shadows and animations.
2016-09-23 14:39:21 +02:00
samhed
b0c6d3c6aa Remove redundant modifier state variables 2016-09-23 14:39:17 +02:00
Pierre Ossman
8bf688265d Replace icons with SVG versions
Resolution independent for high DPI devices, and easier to modify
if we want to change something.
2016-09-23 14:22:19 +02:00
samhed
ca5c74ad5a Show all status messages in a popup top bar 2016-09-23 14:22:16 +02:00
Pierre Ossman
63bf2ba578 Support RFB bell
The protocol handling was already there. What was missing was
hooking it up to a sound file in the user interface.
2016-09-22 11:15:42 +02:00
Pierre Ossman
ed8cbe4e7b Clean up panel open/close API 2016-09-20 15:37:19 +02:00
Pierre Ossman
d9e8621436 Make "selected" an extra CSS class
Avoid duplicating stuff in the style sheet by making the "selected"
property an extra class, rather than a replacement for the base one.
2016-09-20 15:36:42 +02:00
samhed
a49d929846 Harmonise CSS names
Follow the same naming convention for all CSS ids and classes.
2016-09-20 15:36:38 +02:00
Pierre Ossman
e40978c7fc Let CSS control what it means to be hidden/closed
This avoids hard-coding layout information in the JavaScript code.
It also opens up possibilities for more control in the CSS, e.g. for
animation.
2016-09-20 14:32:57 +02:00
Pierre Ossman
6cba147d4e Simplify modifier button display 2016-09-19 16:27:55 +02:00
samhed
999f1d45db Show/hide logo in updateVisualState()
We control the visibility of almost everything else in this function,
so move the logo handling there as well.
2016-09-19 16:26:23 +02:00
samhed
eeb395dc91 Remove unnecessary span:s
They were probably also incorrect to have around block elements
anyway.
2016-09-19 16:24:39 +02:00
samhed
286947cbe2 Fix name for panel CSS class 2016-09-19 16:24:39 +02:00
samhed
f9fff03719 Remove unused description 2016-09-19 16:24:39 +02:00
samhed
f0d9ab9698 Avoid ambigious optional arguments
Some functions weren't obvious what they would do if an argument was
omitted. Split them up in to separate functions in those cases to
make the API clearer.
2016-09-19 16:19:45 +02:00
Pierre Ossman
3e3eec28f3 Remove beforeunload handler
Support for this is spotty and it is getting more and more restricted
by the day. Give up on this approach.
2016-09-19 16:16:32 +02:00
samhed
0f6af1e3ec Separate UI.start() in to sub-functions 2016-09-19 16:16:05 +02:00
samhed
d7f790719a Add events to objects the modern way
The old way only allows a single event handler per event, so switch
over everything to the new model.
2016-09-19 15:58:21 +02:00
samhed
bfa414e5e8 Remove unused event handlers
These do not work and the mechanism for releasing keyboard grab on
the settings panel needs more work.
2016-09-19 15:40:10 +02:00
samhed
17eb0fcf50 Trigger autoconnect at proper time
It needs to happen after everything is fully initialised.
2016-09-19 15:30:40 +02:00
samhed
2869308c80 Sort style sheet
Sort and group the entries in the style sheet the same way as in
the HTML document. Makes it easier to find things.
2016-09-19 15:30:40 +02:00
samhed
3911256cff Place related elements together
In order to clarify the HTML we group related panels together with
the corresponding buttons.
2016-09-19 15:27:21 +02:00
samhed
9fc0e4f6e3 Strict positioning of panels
The panels were never meant to be positioned relative their container,
so make sure they pop up exactly where we want in the viewport, no
matter where they are in the structure.
2016-09-19 15:21:24 +02:00
samhed
222f3fba08 Remove unused CSS 2016-09-19 15:21:24 +02:00
Pierre Ossman
ecd49c159f Create separate style sheet for vnc_auto.html
The style sheet is intimately connected to the Javascript code and
HTML so trying to share it between both sets is not sensible.
2016-09-19 15:21:24 +02:00
Dmitry Sankevich
33e1462999 Fix TIGHT negotiation with zero sub-auth types
According to the RFB protocol, when in TIGHT auth negotation,
if the client receives a sub-auth count of zero, it should proceed
as if the `None` sub-auth type had already been selected (and not
send a message selecting that type).

Closes #564
2016-09-16 23:22:35 -04:00