diff --git a/ui (gen4)/Makefile b/ui (gen4)/Makefile index 8a7c157a..af50f2e7 100755 --- a/ui (gen4)/Makefile +++ b/ui (gen4)/Makefile @@ -66,7 +66,7 @@ # - might be a good idea to do a no-bin target -- exclude native... # - add a cli-only build # - installers: -# - msi +# - msi (wix) # - deb # - ... # - cross-compiling support... @@ -74,6 +74,14 @@ # - nwjs??? # # +# Links: +# WiX example... +# https://helgeklein.com/blog/2014/09/real-world-example-wix-msi-application-installer/ +# npm modules to abstract WiX... +# https://www.npmjs.com/package/electron-wix-msi +# https://www.npmjs.com/package/electron-builder +# +# # #********************************************************************** # variables... diff --git a/ui (gen4)/css/fonts.css b/ui (gen4)/css/fonts.css index ff1bd9f5..4ab44405 100755 --- a/ui (gen4)/css/fonts.css +++ b/ui (gen4)/css/fonts.css @@ -231,6 +231,44 @@ } */ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(https://example.com/MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(fonts/MaterialIcons/MaterialIcons-Regular.woff2) format('woff2'), + url(fonts/MaterialIcons/MaterialIcons-Regular.woff) format('woff'), + url(fonts/MaterialIcons/MaterialIcons-Regular.ttf) format('truetype'); +} +.material-icons { + font-family: 'Material Icons'; + /* + font-weight: normal; + font-style: normal; + font-size: 24px; + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + */ + + vertical-align: middle; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; /* Safari and Chrome */ + font-feature-settings: 'liga'; /* IE */ +} +.material-icons.md-16 { font-size: 16px; } +.material-icons.md-18 { font-size: 18px; } +.material-icons.md-24 { font-size: 24px; } +.material-icons.md-36 { font-size: 36px; } +.material-icons.md-48 { font-size: 48px; } /*********************************************************************/ diff --git a/ui (gen4)/css/layout.less b/ui (gen4)/css/layout.less index 702f29a8..f9de5de2 100755 --- a/ui (gen4)/css/layout.less +++ b/ui (gen4)/css/layout.less @@ -346,6 +346,7 @@ button:hover { } +/* Custom buttons... */ .buttons .button.ui-settings { opacity: 0.5; } @@ -353,6 +354,29 @@ button:hover { opacity: 1; } +.buttons .button.touch-controls:after { + display: inline-block; + content: ""; + + width: 0.7em; + height: 0.6em; + border: solid 0.05em silver; + border-left: solid 0.2em silver; + border-right: solid 0.2em silver; + + border-radius: 1px; + + opacity: 0.5; +} +.buttons .button.touch-controls:hover:after { + border: solid 0.05em white; + border-left: solid 0.2em white; + border-right: solid 0.2em white; + + opacity: 1; +} + + /* main buttons... */ .main-buttons.buttons { diff --git a/ui (gen4)/features/app.js b/ui (gen4)/features/app.js index c149ca17..161414d6 100755 --- a/ui (gen4)/features/app.js +++ b/ui (gen4)/features/app.js @@ -552,12 +552,15 @@ module.AppControl = core.ImageGridFeatures.Feature('ui-app-control', [ var AppButtonsActions = actions.Actions({ config: { 'app-buttons': { + //'': ['touch-controls', 'toggleSideButtons -- Toggle touch controls'], // XXX not sure about this... - '⛭': ['ui-settings allways-shown', - 'browseActions: "Interface/" -- Interface settings...'], + '⛭': ['ui-settings', [ + 'browseActions: "Interface/" -- Interface settings...', + 'toggleSideButtons -- Toggle touch controls', + ]], '_': ['minimize', 'minimize -- Minimize'], - '↙': ['fullscreen allways-shown', + '↙': ['fullscreen', 'toggleFullScreen -- Toggle fullscreen'], '×': ['close', 'close -- Quit'], diff --git a/ui (gen4)/features/ui-widgets.js b/ui (gen4)/features/ui-widgets.js index b4293564..fa96406c 100755 --- a/ui (gen4)/features/ui-widgets.js +++ b/ui (gen4)/features/ui-widgets.js @@ -89,6 +89,7 @@ function(context, cls, data){ } else { var e = data[k].slice() var primary = e.pop() + primary = primary instanceof Array ? primary.slice() : primary var secondary = (primary instanceof Array && primary.length > 1) ? primary.pop() : null @@ -2027,9 +2028,12 @@ var ButtonsActions = actions.Actions({ }, 'app-buttons': { - //'