diff options
-rw-r--r-- | classes/backend.php | 90 | ||||
-rwxr-xr-x | classes/rpc.php | 72 | ||||
-rw-r--r-- | js/App.js | 10 |
3 files changed, 77 insertions, 95 deletions
diff --git a/classes/backend.php b/classes/backend.php deleted file mode 100644 index aa1935f23..000000000 --- a/classes/backend.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php -class Backend extends Handler_Protected { - /* function digestTest() { - if (isset($_SESSION['uid'])) { - header("Content-type: text/html"); - - $rv = Digest::prepare_headlines_digest($_SESSION['uid'], 1, 1000); - - print "<h1>HTML</h1>"; - print $rv[0]; - print "<h1>Plain text</h1>"; - print "<pre>".$rv[3]."</pre>"; - } else { - print error_json(6); - } - } */ - - function help() { - $topic = basename(clean($_REQUEST["topic"])); // only one for now - - if ($topic == "main") { - $info = RPC::get_hotkeys_info(); - $imap = RPC::get_hotkeys_map(); - $omap = array(); - - foreach ($imap[1] as $sequence => $action) { - if (!isset($omap[$action])) $omap[$action] = array(); - - array_push($omap[$action], $sequence); - } - - print "<ul class='panel panel-scrollable hotkeys-help' style='height : 300px'>"; - - $cur_section = ""; - foreach ($info as $section => $hotkeys) { - - if ($cur_section) print "<li> </li>"; - print "<li><h3>" . $section . "</h3></li>"; - $cur_section = $section; - - foreach ($hotkeys as $action => $description) { - - if (!empty($omap[$action])) { - foreach ($omap[$action] as $sequence) { - if (strpos($sequence, "|") !== false) { - $sequence = substr($sequence, - strpos($sequence, "|")+1, - strlen($sequence)); - } else { - $keys = explode(" ", $sequence); - - for ($i = 0; $i < count($keys); $i++) { - if (strlen($keys[$i]) > 1) { - $tmp = ''; - foreach (str_split($keys[$i]) as $c) { - switch ($c) { - case '*': - $tmp .= __('Shift') . '+'; - break; - case '^': - $tmp .= __('Ctrl') . '+'; - break; - default: - $tmp .= $c; - } - } - $keys[$i] = $tmp; - } - } - $sequence = join(" ", $keys); - } - - print "<li>"; - print "<div class='hk'><code>$sequence</code></div>"; - print "<div class='desc'>$description</div>"; - print "</li>"; - } - } - } - } - - print "</ul>"; - } - - print "<footer class='text-center'>"; - print "<button dojoType='dijit.form.Button' class='alt-primary' type='submit'>".__('Close this window')."</button>"; - print "</footer>"; - - } -} diff --git a/classes/rpc.php b/classes/rpc.php index 1bfea621b..d6284033a 100755 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -706,4 +706,76 @@ class RPC extends Handler_Protected { return array($prefixes, $hotkeys); } + function hotkeyHelp() { + $info = self::get_hotkeys_info(); + $imap = self::get_hotkeys_map(); + $omap = array(); + + foreach ($imap[1] as $sequence => $action) { + if (!isset($omap[$action])) $omap[$action] = array(); + + array_push($omap[$action], $sequence); + } + + ?> + <ul class='panel panel-scrollable hotkeys-help' style='height : 300px'> + <?php + + $cur_section = ""; + foreach ($info as $section => $hotkeys) { + + if ($cur_section) print "<li> </li>"; + print "<li><h3>" . $section . "</h3></li>"; + $cur_section = $section; + + foreach ($hotkeys as $action => $description) { + + if (!empty($omap[$action])) { + foreach ($omap[$action] as $sequence) { + if (strpos($sequence, "|") !== false) { + $sequence = substr($sequence, + strpos($sequence, "|")+1, + strlen($sequence)); + } else { + $keys = explode(" ", $sequence); + + for ($i = 0; $i < count($keys); $i++) { + if (strlen($keys[$i]) > 1) { + $tmp = ''; + foreach (str_split($keys[$i]) as $c) { + switch ($c) { + case '*': + $tmp .= __('Shift') . '+'; + break; + case '^': + $tmp .= __('Ctrl') . '+'; + break; + default: + $tmp .= $c; + } + } + $keys[$i] = $tmp; + } + } + $sequence = join(" ", $keys); + } + + ?> + <li> + <div class='hk'><code><?= $sequence ?></code></div> + <div class='desc'><?= $description ?></div> + </li> + <?php + } + } + } + } + print "</ul>"; + + ?> + <footer class='text-center'> + <?= \Controls\submit_tag(__('Close this window')) ?> + </footer> + <?php + } } @@ -321,10 +321,10 @@ const App = { Effect.Fade(elemId, {duration : 0.5}); } }, - helpDialog: function(topic) { - xhrPost("backend.php", {op: "backend", method: "help", topic: topic}, (transport) => { + hotkeyHelp: function() { + xhrPost("backend.php", {op: "rpc", method: "hotkeyHelp"}, (transport) => { const dialog = new fox.SingleUseDialog({ - title: __("Help"), + title: __("Keyboard shortcuts"), content: transport.responseText, }); @@ -850,7 +850,7 @@ const App = { }; this.hotkey_actions["help_dialog"] = () => { - this.helpDialog("main"); + this.hotkeyHelp(); }; } else { @@ -1100,7 +1100,7 @@ const App = { } }; this.hotkey_actions["help_dialog"] = () => { - this.helpDialog("main"); + this.hotkeyHelp(); }; this.hotkey_actions["toggle_combined_mode"] = () => { const value = this.isCombinedMode() ? "false" : "true"; |