diff --git a/ui/compatibility.js b/ui/compatibility.js index 0d40c496..6101d170 100755 --- a/ui/compatibility.js +++ b/ui/compatibility.js @@ -103,28 +103,6 @@ if(window.CEF_dumpJSON != null){ }) } - window.toggleFullscreenMode = createCSSClassToggler( - document.body, - '.full-screen-mode', - function(action){ - gui.Window.get().toggleFullscreen() - }) - - window.closeWindow = function(){ - gui.Window.get().close() - } - window.showDevTools = function(){ - gui.Window.get().showDevTools() - } - window.reload = function(){ - gui.Window.get().reload() - } - window.setWindowTitle = function(text){ - var title = text +' - '+ APP_NAME - gui.Window.get().title = title - $('.title-bar .title').text(title) - } - // preview generation... // // NOTE: this will add already existing previews to IMAGES[gid]... @@ -253,6 +231,7 @@ if(window.CEF_dumpJSON != null){ // ...need a way to jumpstart it again... // XXX check if we are leaking the tail... // XXX test progress... + // ...gets collected but the structure is a tad too complex... // NOTE: this will remove the old deferred if it us resolved, thus // clearing the "log" of previous operations, unless keep_log // is set to true... @@ -293,6 +272,29 @@ if(window.CEF_dumpJSON != null){ return _PREVIW_CREATE_QUEUE } + // UI-specific... + window.toggleFullscreenMode = createCSSClassToggler( + document.body, + '.full-screen-mode', + function(action){ + gui.Window.get().toggleFullscreen() + }) + + window.closeWindow = function(){ + gui.Window.get().close() + } + window.showDevTools = function(){ + gui.Window.get().showDevTools() + } + window.reload = function(){ + gui.Window.get().reload() + } + window.setWindowTitle = function(text){ + var title = text +' - '+ APP_NAME + gui.Window.get().title = title + $('.title-bar .title').text(title) + } + // load UI stuff... $(function(){ $('
') diff --git a/ui/layout.css b/ui/layout.css index 777efca1..cb64c4ba 100644 --- a/ui/layout.css +++ b/ui/layout.css @@ -14,12 +14,16 @@ .expanding-text:hover .hidden { display: inline; } -[tooltip-top] { +/* XXX cleanup and style... + - make the arrow exact (like in .tooltip-right) + - need to align correctly for really narrow elements... +*/ +[tooltip] { position: relative; text-decoration: none; } -[tooltip-top]:after { - content: attr(tooltip-top); +[tooltip]:after { + content: attr(tooltip); position: absolute; bottom: 130%; left: 20%; @@ -27,13 +31,15 @@ padding: 5px 15px; color: black; border-radius: 10px; - white-space: nowrap; + white-space: pre; + text-align: left; + font-size: 10px; opacity: 0; -webkit-transition: all 0.4s ease; -moz-transition: all 0.4s ease; transition: all 0.4s ease; } -[tooltip-top]:before { +[tooltip]:before { content: ""; position: absolute; width: 0; @@ -48,16 +54,41 @@ left: 30%; bottom: 90%; } -[tooltip-top]:hover:after { +[tooltip]:hover:after { bottom: 100%; } -[tooltip-top]:hover:before { +[tooltip]:hover:before { bottom: 70%; } -[tooltip-top]:hover:after, -[tooltip-top]:hover:before { +[tooltip]:hover:after, +[tooltip]:hover:before { opacity: 1; } +.tooltip-right[tooltip]:after { + bottom: auto; + top: -50%; + left: 15px; +} +.tooltip-right[tooltip]:before { + border-left: none; + border-right: 5px solid #ffcb66; + border-bottom: 5px solid transparent; + border-top: 5px solid transparent; + bottom: auto; + left: 10px; + top: 25%; +} +.tooltip-right[tooltip]:hover:after { + bottom: auto; +} +.tooltip-right[tooltip]:hover:before { + bottom: auto; +} +/* XXX might be good to move this to forms... */ +.tooltip-icon { + font-size: small; + opacity: 0.9; +} /*********************************************************************/ body { font-family: sans-serif; diff --git a/ui/layout.less b/ui/layout.less index cd5a21c0..df5d968b 100755 --- a/ui/layout.less +++ b/ui/layout.less @@ -72,12 +72,16 @@ } -[tooltip-top] { +/* XXX cleanup and style... + - make the arrow exact (like in .tooltip-right) + - need to align correctly for really narrow elements... +*/ +[tooltip] { position: relative; text-decoration: none; } -[tooltip-top]:after { - content: attr(tooltip-top); +[tooltip]:after { + content: attr(tooltip); position: absolute; bottom: 130%; left: 20%; @@ -85,13 +89,15 @@ padding: 5px 15px; color: black; border-radius: 10px; - white-space: nowrap; + white-space: pre; + text-align: left; + font-size: 10px; opacity: 0; -webkit-transition: all 0.4s ease; -moz-transition: all 0.4s ease; transition: all 0.4s ease; } -[tooltip-top]:before { +[tooltip]:before { content: ""; position: absolute; width: 0; @@ -106,17 +112,46 @@ left: 30%; bottom: 90%; } -[tooltip-top]:hover:after { +[tooltip]:hover:after { bottom: 100%; } -[tooltip-top]:hover:before { +[tooltip]:hover:before { bottom: 70%; } -[tooltip-top]:hover:after, -[tooltip-top]:hover:before { +[tooltip]:hover:after, +[tooltip]:hover:before { opacity: 1; } +.tooltip-right[tooltip] { +} +.tooltip-right[tooltip]:after { + bottom: auto; + top: -50%; + left: 15px; +} +.tooltip-right[tooltip]:before { + border-left: none; + border-right: 5px solid #ffcb66; + border-bottom: 5px solid transparent; + border-top: 5px solid transparent; + bottom: auto; + left: 10px; + top: 25%; +} +.tooltip-right[tooltip]:hover:after { + bottom: auto; +} +.tooltip-right[tooltip]:hover:before { + bottom: auto; +} + +/* XXX might be good to move this to forms... */ +.tooltip-icon { + font-size: small; + opacity: 0.9; +} + /*********************************************************************/ diff --git a/ui/ui.js b/ui/ui.js index a892e9bc..887cf5f2 100755 --- a/ui/ui.js +++ b/ui/ui.js @@ -543,6 +543,11 @@ var FIELD_TYPES = { // ... // } // +//