| 591 | | searchKeyPressed: function (str) { |
| 592 | | _findFirst(str, _backwards); |
| | 591 | onKeyPress: function (str) { |
| | 592 | liberator.log('onKeyPress'); |
| | 593 | if (typeof str == 'string') { |
| | 594 | liberator.log('findFirst'); |
| | 595 | _findFirst(str, _backwards); |
| | 596 | } else if (str === false) |
| | 597 | MF.findAgain(); |
| 596 | | |
| 597 | | // XXX for 2.1pre |
| 598 | | // そのうち消す? |
| 599 | | // http://vimperator.g.hatena.ne.jp/hogelog/20090511/1242060081 |
| 600 | | if (typeof search == "undefined") { |
| 601 | | migemized.onSubmit = migemized.searchSubmitted; |
| 602 | | migemized.onCancel = migemized.searchCanceled; |
| 603 | | migemized.onKeyPress = migemized.searchKeyPressed; |
| 604 | | var search = finder; |
| 605 | | } |
| 606 | | |
| 607 | | // オリジナルの状態に戻せるように保存しておく |
| 608 | | let (original = {}) { |
| 609 | | for (let name in migemized) |
| 610 | | original[name] = search[name]; |
| 611 | | |
| 612 | | function set (funcs) { |
| 613 | | for (let name in funcs) |
| 614 | | search[name] = funcs[name]; |
| 615 | | } |
| 616 | | |
| 617 | | if (do_install) |
| 618 | | set(migemized); |
| 619 | | |
| 620 | | MF.install = function () set(migemized); |
| 621 | | MF.uninstall = function () set(original); |
| 622 | | } |
| 623 | | |
| | 601 | commandline.registerCallback("change", modes.SEARCH_FORWARD, migemized.onKeyPress); |
| | 602 | commandline.registerCallback("submit", modes.SEARCH_FORWARD, migemized.onSubmit); |
| | 603 | commandline.registerCallback("cancel", modes.SEARCH_FORWARD, migemized.onCancel); |
| | 604 | commandline.registerCallback("change", modes.SEARCH_BACKWARD, migemized.onKeyPress); |
| | 605 | commandline.registerCallback("submit", modes.SEARCH_BACKWARD, migemized.onSubmit); |
| | 606 | commandline.registerCallback("cancel", modes.SEARCH_BACKWARD, migemized.onCancel); |
| | 607 | |
| | 608 | finder.findAgain = migemized.findAgain; |