diff --git a/chrome.manifest b/chrome.manifest index 70a48c3..935a8a4 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -1,4 +1,4 @@ -content xulmigemo jar:chrome/xulmigemo.jar!/content/xulmigemo/ +content xulmigemo chrome/content/xulmigemo/ overlay chrome://browser/content/browser.xul chrome://xulmigemo/content/browserOverlay.xul @@ -14,14 +14,14 @@ overlay chrome://browser/content/places/places.xul chrome://xulmigemo/content/pl overlay chrome://messenger/content/messenger.xul chrome://xulmigemo/content/mailWindowOverlay.xul overlay chrome://messenger/content/messageWindow.xul chrome://xulmigemo/content/mailWindowOverlay.xul -locale xulmigemo en-US jar:chrome/xulmigemo.jar!/locale/en-US/xulmigemo/ -locale xulmigemo-platform en-US jar:chrome/xulmigemo.jar!/locale/en-US/xulmigemo/ +locale xulmigemo en-US chrome/locale/en-US/xulmigemo/ +locale xulmigemo-platform en-US chrome/locale/en-US/xulmigemo/ locale xulmigemo-platform en-US jar:platform/Darwin/chrome/xulmigemo.jar!/locale/en-US/xulmigemo/ os=Darwin -locale xulmigemo ja jar:chrome/xulmigemo.jar!/locale/ja/xulmigemo/ -locale xulmigemo-platform ja jar:chrome/xulmigemo.jar!/locale/ja/xulmigemo/ +locale xulmigemo ja chrome/locale/ja/xulmigemo/ +locale xulmigemo-platform ja chrome/locale/ja/xulmigemo/ locale xulmigemo-platform ja jar:platform/Darwin/chrome/xulmigemo.jar!/locale/ja/xulmigemo/ os=Darwin -skin xulmigemo classic/1.0 jar:chrome/xulmigemo.jar!/skin/classic/xulmigemo/ +skin xulmigemo classic/1.0 chrome/skin/classic/xulmigemo/ resource xulmigemo-modules modules/ diff --git a/chrome/content/xulmigemo/config/config.xul b/chrome/content/xulmigemo/config/config.xul index fb78c38..5f62bc8 100644 --- a/chrome/content/xulmigemo/config/config.xul +++ b/chrome/content/xulmigemo/config/config.xul @@ -141,12 +141,6 @@ - - @@ -171,35 +165,6 @@ - - - - - - - - - - - - - - - @@ -582,7 +547,7 @@ &config.combination.description; - + @@ -615,7 +580,6 @@ preference="xulmigemo.mailnews.threadsearch.enabled"/> - diff --git a/chrome/content/xulmigemo/highlight/highlight.js b/chrome/content/xulmigemo/highlight/highlight.js index a5de267..9eb054d 100644 --- a/chrome/content/xulmigemo/highlight/highlight.js +++ b/chrome/content/xulmigemo/highlight/highlight.js @@ -52,21 +52,21 @@ var XMigemoHighlight = { else if ('gSearchWP' in window && 'Highlighting' in gSearchWP) { eval('gSearchWP.Highlighting.toggleHighlight = '+gSearchWP.Highlighting.toggleHighlight.toSource().replace( /(\}\)?)$/, - + "\ + if (XMigemoHighlight.strongHighlight)\ + XMigemoHighlight.toggleHighlightScreen(gSearchWP.Preferences.highlighted);\ + $1" )); } if (typeof GBL_Listener != 'undefined') { // Googlebar Lite eval('window.GBL_ToggleHighlighting = '+window.GBL_ToggleHighlighting.toSource().replace( 'var hb = document.getElementById("GBL-TB-Highlighter");', - + "\ + var hb = document.getElementById(\"GBL-TB-Highlighter\");\ + if (XMigemoHighlight.strongHighlight)\ + XMigemoHighlight.toggleHighlightScreen(!hb.checked);\ + " )); } @@ -407,14 +407,14 @@ var XMigemoHighlight = { } }, domain : 'xulmigemo', - preferences : <>.toString(), + preferences : "\ + xulmigemo.highlight.showScreen\ + xulmigemo.highlight.hideScreen.restoreButtons\ + xulmigemo.highlight.animateFound\ + xulmigemo.highlight.animationStyle\ + xulmigemo.highlight.animationStyle.0.size\ + xulmigemo.highlight.animationStyle.1.size\ + ", /* Safari style highlight, dark screen based on http://kuonn.mydns.jp/fx/SafariHighlight.uc.js diff --git a/chrome/content/xulmigemo/initializer/downloader.js b/chrome/content/xulmigemo/initializer/downloader.js index 0af0753..83f51c5 100644 --- a/chrome/content/xulmigemo/initializer/downloader.js +++ b/chrome/content/xulmigemo/initializer/downloader.js @@ -57,7 +57,7 @@ var XMigemoFileDownloader = { nsIWebBrowserPersist.PERSIST_FLAGS_BYPASS_CACHE; Persist.progressListener = this; - Persist.saveURI(source, null, null, null, null, tempFile); + Persist.saveURI(source, null, null, null, null, tempFile, null); }, onComplete : function() diff --git a/chrome/content/xulmigemo/marker/marker.js b/chrome/content/xulmigemo/marker/marker.js index 0cd314a..daed393 100644 --- a/chrome/content/xulmigemo/marker/marker.js +++ b/chrome/content/xulmigemo/marker/marker.js @@ -348,15 +348,15 @@ var XMigemoMarker = { } }, domain : 'xulmigemo.highlight.foundMarker', - preferences : <>.toString(), + preferences : "\ + xulmigemo.highlight.foundMarker.enabled\ + xulmigemo.highlight.foundMarker.size\ + xulmigemo.highlight.foundMarker.padding\ + xulmigemo.highlight.foundMarker.fill\ + xulmigemo.highlight.foundMarker.stroke\ + xulmigemo.highlight.foundMarker.fill.active\ + xulmigemo.highlight.foundMarker.stroke.active\ + ", /* rendering position markers */ diff --git a/chrome/content/xulmigemo/places/bookmarksPanelOverlay.js b/chrome/content/xulmigemo/places/bookmarksPanelOverlay.js index 75e6f9e..2da802a 100644 --- a/chrome/content/xulmigemo/places/bookmarksPanelOverlay.js +++ b/chrome/content/xulmigemo/places/bookmarksPanelOverlay.js @@ -13,14 +13,14 @@ var XMigemoBookmarksPanelOverlay = { eval('tree.applyFilter = '+ tree.applyFilter.toSource().replace( 'this.load([query], options);', - + "\ + if (XMigemoService.getPref('xulmigemo.places.bookmarksPanel') &&\ + XMigemoPlaces.isValidInput(query.searchTerms))\ + XMigemoPlaces.startProgressiveLoad(query, options, this,\ + XMigemoPlaces.bookmarksInRangeSQL);\ + else\ + $&\ + " ) ); } diff --git a/chrome/content/xulmigemo/places/historyPanelOverlay.js b/chrome/content/xulmigemo/places/historyPanelOverlay.js index d39f523..6c97831 100644 --- a/chrome/content/xulmigemo/places/historyPanelOverlay.js +++ b/chrome/content/xulmigemo/places/historyPanelOverlay.js @@ -13,28 +13,28 @@ var XMigemoHistoryPanelOverlay = { eval('window.searchHistory = '+ window.searchHistory.toSource().replace( 'gHistoryTree.load([query], options);', - + "\ + if (XMigemoService.getPref('xulmigemo.places.historyPanel') &&\ + XMigemoPlaces.isValidInput(query.searchTerms))\ + XMigemoPlaces.startProgressiveLoad(query, options, gHistoryTree,\ + XMigemoPlaces.historyInRangeSQL);\ + else\ + $&\ + " ) ); eval('tree.applyFilter = '+ tree.applyFilter.toSource().replace( 'this.load([query], options);', - + "\ + if (XMigemoService.getPref('xulmigemo.places.historyPanel') &&\ + XMigemoPlaces.isValidInput(query.searchTerms))\ + XMigemoPlaces.startProgressiveLoad(query, options, this,\ + XMigemoPlaces.historyInRangeSQL);\ + else\ + $&\ + " ) ); } diff --git a/chrome/content/xulmigemo/places/locationBarOverlay.js b/chrome/content/xulmigemo/places/locationBarOverlay.js index 9afe411..5308928 100644 --- a/chrome/content/xulmigemo/places/locationBarOverlay.js +++ b/chrome/content/xulmigemo/places/locationBarOverlay.js @@ -302,12 +302,12 @@ var XMigemoLocationBarOverlay = { 'xulmigemo.places.locationBar', 'browser.urlbar.autocomplete.enabled' ], - preferences : .toString(), + preferences : "\ + xulmigemo.places.locationBar\ + xulmigemo.places.locationBar.delay\ + xulmigemo.places.locationBar.useThread\ + browser.urlbar.autocomplete.enabled\ + ", handleEvent : function(aEvent) { @@ -861,12 +861,12 @@ var XMigemoLocationBarOverlay = { overrideFunctions : function() { - eval('LocationBarHelpers._searchBegin = '+ - LocationBarHelpers._searchBegin.toSource().replace( - /(\}\))?$/, - 'if (XMigemoLocationBarOverlay.isMigemoActive) XMigemoLocationBarOverlay.onSearchBegin(); $1' - ) - ); + //eval('LocationBarHelpers._searchBegin = '+ + // LocationBarHelpers._searchBegin.toSource().replace( + // /(\}\))?$/, + // 'if (XMigemoLocationBarOverlay.isMigemoActive) XMigemoLocationBarOverlay.onSearchBegin(); $1' + // ) + //); var panel = this.panel; eval('panel._appendCurrentResult = '+ diff --git a/chrome/content/xulmigemo/places/organizerOverlay.js b/chrome/content/xulmigemo/places/organizerOverlay.js index 8377ccb..112d8b2 100644 --- a/chrome/content/xulmigemo/places/organizerOverlay.js +++ b/chrome/content/xulmigemo/places/organizerOverlay.js @@ -10,14 +10,14 @@ var XMigemoOrganizerOverlay = { eval('PlacesSearchBox.search = '+ PlacesSearchBox.search.toSource().replace( 'content.load([query], options)', - + "\ + if (XMigemoService.getPref('xulmigemo.places.organizer') &&\ + XMigemoPlaces.isValidInput(query.searchTerms))\ + XMigemoPlaces.startProgressiveLoad(query, options, content,\ + XMigemoPlaces.historyInRangeSQL);\ + else\ + $&\ + " ) ); @@ -25,22 +25,22 @@ var XMigemoOrganizerOverlay = { eval('tree.applyFilter = '+ tree.applyFilter.toSource().replace( 'this.load([query], options);', - + "\ + if (XMigemoService.getPref('xulmigemo.places.organizer') &&\ + XMigemoPlaces.isValidInput(query.searchTerms)) {\ + XMigemoPlaces.startProgressiveLoad(query, options, this,\ + options.queryType == Ci.nsINavHistoryQueryOptions.QUERY_TYPE_HISTORY ?\ + XMigemoPlaces.historyInRangeSQL :\ + XMigemoPlaces.bookmarksInRangeSQL,\ + XMigemoOrganizerOverlay.saveCommand\ + );\ + }\ + else {\ + if (XMigemoOrganizerOverlay.saveCommand)\ + XMigemoOrganizerOverlay.saveCommand.removeAttribute('disabled');\ + $&\ + }\ + " ) ); }, diff --git a/chrome/content/xulmigemo/tabPreviews.js b/chrome/content/xulmigemo/tabPreviews.js index 935b3ce..f0459cd 100644 --- a/chrome/content/xulmigemo/tabPreviews.js +++ b/chrome/content/xulmigemo/tabPreviews.js @@ -22,14 +22,14 @@ var XMigemoTabPreviews = { var getter = ctrlTab.__lookupGetter__('tabList'); eval('getter = '+getter.toSource().replace( 'if (this.searchField.value) {', - .toString() + "\ + if (this.searchField.value &&\ + XMigemoTabPreviews.enabled &&\ + migemo.isValidFunctionalInput(this.searchField.value)) {\ + list = XMigemoTabPreviews.filterListFromInput(list, this.searchField.value);\ + }\ + else $&\ + " )); ctrlTab.__defineGetter__('tabList', getter); }, @@ -96,9 +96,9 @@ var XMigemoTabPreviews = { } }, domain : 'xulmigemo.ctrlTab', - preferences : <>.toString(), + preferences : "\ + xulmigemo.ctrlTab.enabled\ + ", dummy : null }; diff --git a/chrome/content/xulmigemo/ui.js b/chrome/content/xulmigemo/ui.js index d33b0f4..b781e86 100644 --- a/chrome/content/xulmigemo/ui.js +++ b/chrome/content/xulmigemo/ui.js @@ -118,21 +118,6 @@ var XMigemoUI = { kLABELS_HIDE : 2, buttonLabelsMode : 1, - kCLOSEBUTTON_POSITION_LEFTMOST : 0, - kCLOSEBUTTON_POSITION_RIGHTMOST : 1, - closeButtonPosition : 0, - lastCloseButtonPosition : 0, - - kFINDBAR_POSITION_BELOW_CONTENT : 0, - kFINDBAR_POSITION_ABOVE_CONTENT : 1, - kFINDBAR_POSITION_BELOW_TABS : 2, - findBarPositionAttrValues : [ - 'belowcontent', - 'abovecontent', - 'belowtabbar' - ], - findBarPosition : 0, - get highlightSelectionOnly() { return this.highlightSelectionAvailable && @@ -203,30 +188,6 @@ var XMigemoUI = { }, _findBar : null, - get findBarItems() - { - var node = this.closeButton; - var items = []; - do { - items.push(node); - node = node.nextSibling; - } - while (node); - return items; - }, - - get closeButton() - { - if (this._closeButton === void(0)) { - this._closeButton = document.getElementById('find-closebutton'); - if (!this._closeButton && this.findBar) { - this._closeButton = this.findBar.getElement('find-closebutton'); - } - } - return this._closeButton; - }, -// _closeButton : null, - get label() { if (this._label === void(0)) { @@ -684,40 +645,39 @@ var XMigemoUI = { domain : 'xulmigemo', - preferences : .toString(), - preferencesFindBar : .toString(), + preferences : "\ + xulmigemo.autostart\ + xulmigemo.autostart.regExpFind\ + xulmigemo.enableautoexit.inherit\ + xulmigemo.enableautoexit.nokeyword\ + xulmigemo.checked_by_default.highlight.always\ + xulmigemo.checked_by_default.highlight.always.minLength\ + xulmigemo.checked_by_default.caseSensitive\ + xulmigemo.findMode.always\ + xulmigemo.enabletimeout\ + xulmigemo.enabletimeout.indicator\ + xulmigemo.timeout\ + xulmigemo.timeout.stopWhileScrolling\ + xulmigemo.shortcut.findForward\ + xulmigemo.shortcut.findBackward\ + xulmigemo.shortcut.manualStart\ + xulmigemo.shortcut.manualStart2\ + xulmigemo.shortcut.manualStartLinksOnly\ + xulmigemo.shortcut.manualStartLinksOnly2\ + xulmigemo.shortcut.goDicManager\ + xulmigemo.shortcut.manualExit\ + xulmigemo.shortcut.modeCirculation\ + xulmigemo.disableIME.quickFindFor\ + xulmigemo.disableIME.normalFindFor\ + xulmigemo.find_delay\ + xulmigemo.ignore_find_links_only_behavior\ + xulmigemo.prefillwithselection\ + xulmigemo.work_for_any_xml_document\ + ", + preferencesFindBar : "\ + xulmigemo.appearance.buttonLabelsMode\ + xulmigemo.appearance.indicator.height\ + ", observe : function(aSubject, aTopic, aPrefName) { @@ -832,11 +792,6 @@ var XMigemoUI = { this.updateIndicatorHeight(value); return; - case 'xulmigemo.appearance.closeButtonPosition': - this.closeButtonPosition = value; - this.findBarInitialShown = false; - return; - case 'xulmigemo.disableIME.quickFindFor': this.disableIMEOnQuickFindFor = value; return; @@ -934,7 +889,6 @@ var XMigemoUI = { case 'XMigemoFindBarUpdateRequest': if (this.updatingFindBar) return; this.updatingFindBar = true; - this.updateFloatingFindBarAppearance(aEvent); this.onChangeFindBarSize(aEvent); window.setTimeout(function(aSelf) { aSelf.updatingFindBar = false; @@ -946,19 +900,11 @@ var XMigemoUI = { case 'SubBrowserAdded': case 'SubBrowserRemoved': case 'SubBrowserContentCollapsed': - if (this.findBarPosition != this.kFINDBAR_POSITION_BELOW_TABS) - return; - gFindBar.close(); - window.setTimeout('gFindBar.open();', 100); return; case 'SubBrowserFocusMoved': XMigemoFind.target = this.activeBrowser; this.findBar.setAttribute(this.kTARGET, this.activeBrowser.id || 'subbrowser'); - if (this.findBarPosition != this.kFINDBAR_POSITION_BELOW_TABS) - return; - gFindBar.close(); - window.setTimeout('gFindBar.open();', 100); return; default: @@ -1302,20 +1248,22 @@ var XMigemoUI = { onXMigemoFindProgress : function(aEvent) { + var detail = aEvent.detail; + var statusRes = ( XMigemoFind.isLinksOnly ? - aEvent.resultFlag & XMigemoFind.FOUND_IN_LINK : - aEvent.resultFlag & XMigemoFind.FOUND + detail.resultFlag & XMigemoFind.FOUND_IN_LINK : + detail.resultFlag & XMigemoFind.FOUND ) ? this.nsITypeAheadFind.FIND_FOUND : - (aEvent.resultFlag & XMigemoFind.WRAPPED) ? + (detail.resultFlag & XMigemoFind.WRAPPED) ? this.nsITypeAheadFind.FIND_WRAPPED : this.nsITypeAheadFind.FIND_NOTFOUND; var found = (statusRes == this.nsITypeAheadFind.FIND_FOUND || statusRes == this.nsITypeAheadFind.FIND_WRAPPED); gFindBar._enableFindButtons(this.findTerm); - if (this.lastHighlightedKeyword != aEvent.findTerm) { - this.lastHighlightedKeyword = aEvent.findTerm; + if (this.lastHighlightedKeyword != detail.findTerm) { + this.lastHighlightedKeyword = detail.findTerm; if (found && this.highlightCheck.checked) gFindBar._setHighlightTimeout(); } @@ -1326,7 +1274,7 @@ var XMigemoUI = { if (link) link.setAttribute(this.kFOCUSED, true); } - gFindBar._updateStatusUI(statusRes, !(aEvent.findFlag & XMigemoFind.FIND_BACK)); + gFindBar._updateStatusUI(statusRes, !(detail.findFlag & XMigemoFind.FIND_BACK)); }, lastHighlightedKeyword : null, @@ -1370,11 +1318,6 @@ var XMigemoUI = { onChangeFindBarSize : function(aEvent) { var shouldUpdatePosition = false; - if (this.findBarPosition == this.kFINDBAR_POSITION_BELOW_TABS && - this.lastTargetBox) { - this.setFloatingFindBarWidth(this.lastTargetBox.boxObject.width, aEvent); - shouldUpdatePosition = true; - } if (this.buttonLabelsMode == this.kLABELS_AUTO) { this.showHideLabels(true); var box = this.caseSensitiveCheck.boxObject; @@ -1486,7 +1429,6 @@ var XMigemoUI = { onFindBarOpen : function(aEvent) { this.updateItemOrder(); - this.updateFindBarAppearance(); this.updateModeSelectorPosition(true); if (this.lastWindowWidth != window.innerWidth) { this.onChangeFindBarSize(); @@ -1507,34 +1449,6 @@ var XMigemoUI = { { if (this.findBarInitialShown) return; this.findBarInitialShown = true; - if (this.findBarPosition == this.kFINDBAR_POSITION_BELOW_CONTENT && - this.closeButtonPosition == this.kCLOSEBUTTON_POSITION_LEFTMOST) - return; - window.setTimeout(function(aSelf) { - var items = aSelf.findBarItems; - items = items.sort(function(aA, aB) { - return parseInt(aA.ordinal) - parseInt(aB.ordinal); - }).filter(function(aItem) { - return aItem.boxObject.x; - }); - var wrongOrder = false; - for (var i = 0, maxi = items.length-1; i < maxi; i++) - { - if (items[i].boxObject.x < items[i+1].boxObject.x) - continue; - wrongOrder = true; - break; - } - if (!wrongOrder) return; - - aSelf.findBar.hidden = true; - window.setTimeout(function(aSelf) { - aSelf.findBar.hidden = false; - window.setTimeout(function(aSelf) { - aSelf.field.focus(); - }, 0, aSelf); - }, 0, aSelf); - }, 0, this); }, doPrefillWithSelection : function(aShowMinimalUI) @@ -1839,17 +1753,7 @@ var XMigemoUI = { updateItemOrder : function(aPosition) { - if (this.closeButtonPosition == this.lastCloseButtonPosition) return; - this.lastCloseButtonPosition = this.closeButtonPosition; - - var items = this.findBarItems; - var closebox = items.shift(); - closebox.ordinal = (this.closeButtonPosition == this.kCLOSEBUTTON_POSITION_RIGHTMOST) ? - (items.length + 2) * 100 : - 1 ; - items.forEach(function(aItem, aIndex) { - aItem.ordinal = (aIndex + 1) * 100; - }); + // deleted }, updateModeSelectorPosition : function(aForceUpdate) @@ -1869,105 +1773,18 @@ var XMigemoUI = { document.documentElement.boxObject.width - findBarBox.x - findBarBox.width - + ( - (this.closeButtonPosition == this.kCLOSEBUTTON_POSITION_RIGHTMOST) ? - this.closeButton.boxObject.width + this.rightMostOffset : - 0 - ) )+'px'; - box.style.top = (this.findBarPosition == this.kFINDBAR_POSITION_BELOW_CONTENT) ? - 'auto' : - this.findBar.boxObject.y+'px' ; - box.style.bottom = (this.findBarPosition == this.kFINDBAR_POSITION_BELOW_CONTENT) ? + box.style.top = 'auto'; + box.style.bottom = ( document.documentElement.boxObject.height - findBarBox.y - findBarBox.height - )+'px' : - 'auto' ; + )+'px'; box.lastBaseState = baseState; }, rightMostOffset : 5, - updateFindBarPosition : function() - { - this.findBarPosition = XMigemoService.getPref('xulmigemo.appearance.findBarPosition'); - if (this.findBarPosition < 0 || this.findBarPosition >= this.findBarPositionAttrValues.length) - this.findBarPosition = this.kFINDBAR_POSITION_BELOW_CONTENT; - - if ('XMigemoMail' in window && this.findBarPosition == this.kFINDBAR_POSITION_BELOW_TABS) - this.findBarPosition = this.kFINDBAR_POSITION_ABOVE_CONTENT; - - var bar = this.findBar; - bar.setAttribute(this.kFINDBAR_POSITION, this.findBarPositionAttrValues[this.findBarPosition]); - - if (this.findBarPosition != this.kFINDBAR_POSITION_ABOVE_CONTENT) return; - - var contentArea = document.getElementById('browser') || // Firefox - document.getElementById('messagepane'); // Thunderbird - contentArea.parentNode.insertBefore(bar, contentArea); - }, - - updateFindBarAppearance : function() - { - if (this.findBarPosition != this.kFINDBAR_POSITION_BELOW_TABS && - this.findBarPosition != this.kFINDBAR_POSITION_ABOVE_CONTENT) - return; - - this.cleanUpOnFindBarHidden() - - var floating = (this.findBarPosition == this.kFINDBAR_POSITION_BELOW_TABS); - if (floating) { - this.updateFloatingFindBarAppearance(); - this.onChangeFindBarSize(); - } - - var height = this.findBar.boxObject.height; - - var target = this.target; - var targetBox = this.targetBox; - if (floating) targetBox.style.paddingTop = height+'px'; - target.contentWindow.scrollBy(0, height); - - this.lastTarget = target; - this.lastTargetBox = targetBox; - this.contentAreaYOffset = height; - }, - - cleanUpOnFindBarHidden : function() - { - if (!this.lastTarget) return; - switch (this.findBarPosition) - { - case this.kFINDBAR_POSITION_BELOW_TABS: - this.lastTargetBox.style.paddingTop = 0; - - case this.kFINDBAR_POSITION_ABOVE_CONTENT: - this.lastTarget.contentWindow.scrollBy(0, -this.contentAreaYOffset); - this.lastTarget = null; - this.lastTargetBox = null; - this.contentAreaYOffset = 0; - return; - - default: - return; - } - }, - - updateFloatingFindBarAppearance : function(aEvent) - { - if (this.findBarPosition != this.kFINDBAR_POSITION_BELOW_TABS) return; - - var bar = this.findBar; - var target = this.targetBox; - - bar.style.position = 'fixed'; - bar.style.top = target.boxObject.y+'px'; - bar.style.left = target.boxObject.x+'px'; - - this.setFloatingFindBarWidth(target.boxObject.width, aEvent); - }, - setFloatingFindBarWidth : function(aWidth, aEvent) { if (aEvent && @@ -2055,10 +1872,10 @@ var XMigemoUI = { eval('gFindBar._highlightDoc = '+gFindBar._highlightDoc.toSource() .replace( /((?:var|let) win = [^;]+;)/, - .toString() + "$1\ + if (!aWord || aWord != this._lastHighlightString)\ + XMigemoUI.clearHighlight(win.document);\ + " ).replace( 'return textFound;', 'XMigemoUI.clearHighlight(win.document); $&' @@ -2073,18 +1890,18 @@ var XMigemoUI = { 'XMigemoUI.getDocumentBody(doc)' ).replace( 'var retRange = null;', - .toString() + "\ + if (XMigemoUI.isActive || !XMigemoUI.highlightSelectionOnly) {\ + if (XMigemoUI.highlightText(aHighlight, aWord, null, searchRange)) {\ + this._lastHighlightString = aWord;\ + return true;\ + }\ + else {\ + return false;\ + }\ + }\ + $&\ + " ) ); eval('gFindBar.xmigemoOriginalToggleHighlight = '+gFindBar.xmigemoOriginalToggleHighlight.toSource() @@ -2121,18 +1938,18 @@ var XMigemoUI = { gFindBar._setHighlightTimeout.toSource() .replace( /^(\(?function)([^\(]*)\(\) \{/, - + "$1$2(aAutoChecked) {\ + if (XMigemoUI.findTerm == XMigemoUI.activeBrowser.contentDocument.documentElement.getAttribute(XMigemoUI.kLAST_HIGHLIGHT))\ + return;\ + " ).replace( /(\w+\.toggleHighlight\(false)(\);)/, - + "\ + var checked = !XMigemoUI.highlightCheck.disabled && XMigemoUI.highlightCheck.checked;\ + $1, false, true$2\ + if (checked)\ + XMigemoUI.textUtils.setSelectionLook(XMigemoUI.activeBrowser.contentDocument, true);\ + " ).replace( /(\b[^\.]+\.toggleHighlight\(true)(\);)/, '$1, !checked$2' @@ -2266,7 +2083,6 @@ var XMigemoUI = { XMigemoUI.findModeSelectorBox.setAttribute('hidden', true); XMigemoUI.findMigemoBar.setAttribute('collapsed', true); } - XMigemoUI.cleanUpOnFindBarHidden(); var event = document.createEvent('Events'); event.initEvent('XMigemoFindBarClose', true, false); @@ -2399,11 +2215,11 @@ var XMigemoUI = { var color = this.highlightSelectionAvailable ? '' : 'color: black; background-color: yellow;' ; - node.setAttribute('style', color + .toString()); + node.setAttribute('style', color + "\ + display: inline;\ + font-size: inherit;\ + padding: 0;\ + "); node.className = '__mozilla-findbar-search'; this.updateHighlightNode(node); return node; @@ -2411,28 +2227,28 @@ var XMigemoUI = { updateHighlightNode : function(aNode) { - aNode.setAttribute('onmousedown', <>); + aNode.setAttribute('onmousedown', "\ + try {\ + var xpathResult = this.ownerDocument.evaluate(\ + 'ancestor::*[contains(\" INPUT input TEXTAREA textarea \", concat(\" \", local-name(), \" \"))]',\ + this,\ + null,\ + XPathResult.FIRST_ORDERED_NODE_TYPE,\ + null\ + );\ + if (!xpathResult.singleNodeValue) return;\ + }\ + catch(e) {\ + // permission denied, then this is in the input area!\ + }\ + var range = document.createRange();\ + range.selectNodeContents(this);\ + var contents = range.extractContents(true);\ + range.selectNode(this);\ + range.deleteContents();\ + range.insertNode(contents);\ + range.detach();\ + "); XMigemoService.ObserverService.notifyObservers(aNode, 'XMigemo:highlightNodeReaday', null); }, @@ -2688,7 +2504,6 @@ if (typeof window.gFindBar == 'undefined') { this.findBar.addEventListener('XMigemoFindBarOpen', this, false); this.findBar.addEventListener('XMigemoFindBarClose', this, false); - this.updateFindBarPosition(); this.updateItemOrder(); this.overrideFindBar(); XMigemoService.firstListenPrefChange(this, this.preferencesFindBar); diff --git a/chrome/locale/en-US/xulmigemo/xulmigemo.dtd b/chrome/locale/en-US/xulmigemo/xulmigemo.dtd index 32b7189..0be7481 100644 --- a/chrome/locale/en-US/xulmigemo/xulmigemo.dtd +++ b/chrome/locale/en-US/xulmigemo/xulmigemo.dtd @@ -46,13 +46,6 @@ - - - - - - - diff --git a/chrome/locale/ja/xulmigemo/xulmigemo.dtd b/chrome/locale/ja/xulmigemo/xulmigemo.dtd index 3dfb0f0..c2f7eca 100644 --- a/chrome/locale/ja/xulmigemo/xulmigemo.dtd +++ b/chrome/locale/ja/xulmigemo/xulmigemo.dtd @@ -46,13 +46,6 @@ - - - - - - - @@ -122,7 +115,7 @@ - + diff --git a/components/xmXMigemoFind.js b/components/xmXMigemoFind.js index d777d6d..54ff662 100644 --- a/components/xmXMigemoFind.js +++ b/components/xmXMigemoFind.js @@ -450,12 +450,13 @@ mydump("findInDocument =========================================="); dispatchProgressEvent : function(aFindFlag, aResultFlag) { - var event = this.document.createEvent('Events'); - event.initEvent('XMigemoFindProgress', true, false); - event.resultFlag = aResultFlag; - event.findFlag = aFindFlag; - event.findTerm = this.lastKeyword; - event.foundTerm = aResultFlag & this.FOUND ? this.lastFoundWord : null ; + var event = this.document.createEvent('CustomEvent'); + event.initCustomEvent('XMigemoFindProgress', true, false, { + resultFlag : aResultFlag, + findFlag : aFindFlag, + findTerm : this.lastKeyword, + foundTerm : aResultFlag & this.FOUND ? this.lastFoundWord : null + }); this.document.dispatchEvent(event); }, diff --git a/defaults/preferences/xulmigemo.js b/defaults/preferences/xulmigemo.js index f8446ad..28cee69 100644 --- a/defaults/preferences/xulmigemo.js +++ b/defaults/preferences/xulmigemo.js @@ -67,10 +67,6 @@ pref("xulmigemo.enabletimeout.indicator", true); // 0 = always show labels, 1 = auto, 2 = always hide labels pref("xulmigemo.appearance.buttonLabelsMode", 1); pref("xulmigemo.appearance.indicator.height", 5); -// 0 = leftmost, 1 = rightmost -pref("xulmigemo.appearance.closeButtonPosition", 0); -// 0 = below content area, 1 = above content area, 2 = between tab bar and content area -pref("xulmigemo.appearance.findBarPosition", 0); pref("xulmigemo.shortcut.manualStart", "/"); pref("xulmigemo.shortcut.manualStart2", "Accel+Shift+F"); diff --git a/install.rdf b/install.rdf index c0f75a4..26dad9e 100644 --- a/install.rdf +++ b/install.rdf @@ -1,57 +1,58 @@ - - - - plus7, SHIMODA Hiroshi - alice0775 0.13.6mod4 - Dear Periwinkle - - - - - - - - - plus7, SHIMODA Hiroshi - alice0775 - Dear Periwinkle - - - - - plus7, SHIMODA Hiroshi - alice0775 - Dear Periwinkle - - - - - - - - - - - - - - + + + + plus7, SHIMODA Hiroshi + Kyosuke Takayama + alice0775 + Dear Periwinkle + + + http://piro.sakura.ne.jp/xul/update.rdf + MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLI43lgUhWE0E7bfiuTrQMKIP53KM3w71VEPc9FxE7YS3Hpr85dC/GgEUDPd6xD7UP7ckzEusN49LCAKoipepxgyAWzQjZ3CzvkD7PWsZFTi7lpj9ytYDysoFwHs0L96i5oiVopNj1NQM2AC0Y5Lr0b6lz2L5ece0/z6monpZXPQIDAQAB + + + + + plus7, SHIMODA Hiroshi + alice0775 + Dear Periwinkle + + + + + plus7, SHIMODA Hiroshi + alice0775 + Dear Periwinkle + + + + + + + + + + + + + + diff --git a/modules/mail.jsm b/modules/mail.jsm index 41754f8..c589c74 100644 --- a/modules/mail.jsm +++ b/modules/mail.jsm @@ -64,13 +64,13 @@ var XMigemoMail = { } regexp = new RegExp(regexp, 'ig'); - let sql = .toString().replace('%COLUMNS%', columns.join(' || ')); + let sql = "\ + SELECT GROUP_CONCAT(%COLUMNS%, ?1)\ + FROM messagesText_content c\ + LEFT JOIN messages m ON m.id = c.docid\ + LEFT JOIN folderLocations f ON f.id = m.folderID\ + WHERE f.folderURI = ?2\ + ".replace('%COLUMNS%', columns.join(' || ')); let statement = this.DBConnection.createStatement(sql); statement.bindStringParameter(0, '\n'); statement.bindStringParameter(1, aFolder.folderURL); diff --git a/modules/places.jsm b/modules/places.jsm index 98cfddc..5913dba 100644 --- a/modules/places.jsm +++ b/modules/places.jsm @@ -236,26 +236,26 @@ var XMigemoPlaces = { return sql; }, - placesSourceInRangeSQLBase : 0 AND p.hidden <> 1 - %EXCLUDE_JAVASCRIPT% - %ONLY_TYPED% - %ONLY_TAGGED% - %ONLY_OPENPAGE% - ORDER BY frecency DESC - LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%) - ]]>.toString(), + placesSourceInRangeSQLBase : "\ + SELECT GROUP_CONCAT(%FINDKEY_CONTENTS%, %PLACE_FOR_LINEBREAK%)\ + FROM (SELECT p.id id,\ + p.title title,\ + p.url uri,\ + p.frecency frecency,\ + p.typed typed,\ + %BOOKMARK_TITLE%,\ + %TAGS%\ + FROM moz_places p\ + LEFT OUTER JOIN moz_favicons f ON f.id = p.favicon_id\ + %SOURCE_FILTER%\ + WHERE p.frecency <> 0 AND p.hidden <> 1\ + %EXCLUDE_JAVASCRIPT%\ + %ONLY_TYPED%\ + %ONLY_TAGGED%\ + %ONLY_OPENPAGE%\ + ORDER BY frecency DESC\ + LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%)\ + ", getPlacesItemsSQL : function(aFindFlag) { @@ -284,31 +284,31 @@ var XMigemoPlaces = { return sql; }, - placesItemsSQLBase : 0 AND p.hidden <> 1 - %EXCLUDE_JAVASCRIPT% - %ONLY_TYPED% - %ONLY_TAGGED% - %ONLY_OPENPAGE% - ORDER BY frecency DESC - %SOURCES_LIMIT_PART%) - GROUP BY uri) - WHERE %TERMS_RULES% - ]]>.toString(), + placesItemsSQLBase : "\ + SELECT title, uri, favicon, bookmark, tags, findkey %OPEN_COUNT_FINAL%\ + FROM (SELECT *,\ + GROUP_CONCAT(%FINDKEY_CONTENTS%, ' ') findkey\ + FROM (SELECT p.title title,\ + p.url uri,\ + f.url favicon,\ + p.frecency frecency,\ + p.typed typed,\ + %BOOKMARK_TITLE%,\ + %TAGS%\ + %OPEN_COUNT%\ + FROM moz_places p\ + LEFT OUTER JOIN moz_favicons f ON f.id = p.favicon_id\ + %SOURCE_FILTER%\ + WHERE p.frecency <> 0 AND p.hidden <> 1\ + %EXCLUDE_JAVASCRIPT%\ + %ONLY_TYPED%\ + %ONLY_TAGGED%\ + %ONLY_OPENPAGE%\ + ORDER BY frecency DESC\ + %SOURCES_LIMIT_PART%)\ + GROUP BY uri)\ + WHERE %TERMS_RULES%\ + ", /* ͗̌ */ @@ -337,35 +337,35 @@ var XMigemoPlaces = { return sql; }, - inputHistorySourceInRangeSQLBase : 0 - ) AS i - LEFT OUTER JOIN moz_places p ON i.place_id = p.id - %SOURCE_FILTER% - WHERE 1 %EXCLUDE_JAVASCRIPT% - %ONLY_TYPED% - %ONLY_TAGGED% - %ONLY_OPENPAGE% - ORDER BY rank DESC, frecency DESC - LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%) - ]]>.toString(), + inputHistorySourceInRangeSQLBase : "\ + SELECT GROUP_CONCAT(%FINDKEY_CONTENTS%, %PLACE_FOR_LINEBREAK%)\ + FROM (SELECT p.title title,\ + p.url uri,\ + p.frecency frecency,\ + %BOOKMARK_TITLE%,\ + %TAGS%,\ + i.rank rank\ + FROM (SELECT ROUND(\ + MAX(\ + (\ + (i.input = ?1) + (SUBSTR(i.input, 1, LENGTH(?1)) = ?1)\ + ) * i.use_count\ + ),\ + 1\ + ) AS rank,\ + place_id\ + FROM moz_inputhistory i\ + GROUP BY i.place_id HAVING rank > 0\ + ) AS i\ + LEFT OUTER JOIN moz_places p ON i.place_id = p.id\ + %SOURCE_FILTER%\ + WHERE 1 %EXCLUDE_JAVASCRIPT%\ + %ONLY_TYPED%\ + %ONLY_TAGGED%\ + %ONLY_OPENPAGE%\ + ORDER BY rank DESC, frecency DESC\ + LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%)\ + ", getInputHistoryItemsSQL : function(aFindFlag) { @@ -392,77 +392,77 @@ var XMigemoPlaces = { return sql; }, - inputHistoryItemsSQLBase : 0 - ) AS i - LEFT OUTER JOIN moz_places p ON i.place_id = p.id - %SOURCE_FILTER% - LEFT OUTER JOIN moz_favicons f ON f.id = p.favicon_id - WHERE 1 %EXCLUDE_JAVASCRIPT% - %ONLY_TYPED% - %ONLY_TAGGED% - %ONLY_OPENPAGE% - %SOURCES_LIMIT_PART%) - GROUP BY uri - ORDER BY rank DESC, frecency DESC) - WHERE %TERMS_RULES% - ]]>.toString(), + inputHistoryItemsSQLBase : "\ + SELECT title, uri, favicon, bookmark, tags, findkey\ + FROM (SELECT *,\ + GROUP_CONCAT(%FINDKEY_CONTENTS%, ' ') findkey\ + FROM (SELECT p.title title,\ + p.url uri,\ + f.url favicon,\ + p.frecency frecency,\ + %BOOKMARK_TITLE%,\ + %TAGS%,\ + i.rank rank\ + FROM (SELECT ROUND(\ + MAX(\ + (\ + (i.input = ?1) + (SUBSTR(i.input, 1, LENGTH(?1)) = ?1)\ + ) * i.use_count\ + ),\ + 1\ + ) AS rank,\ + place_id\ + FROM moz_inputhistory i\ + GROUP BY i.place_id HAVING rank > 0\ + ) AS i\ + LEFT OUTER JOIN moz_places p ON i.place_id = p.id\ + %SOURCE_FILTER%\ + LEFT OUTER JOIN moz_favicons f ON f.id = p.favicon_id\ + WHERE 1 %EXCLUDE_JAVASCRIPT%\ + %ONLY_TYPED%\ + %ONLY_TAGGED%\ + %ONLY_OPENPAGE%\ + %SOURCES_LIMIT_PART%)\ + GROUP BY uri\ + ORDER BY rank DESC, frecency DESC)\ + WHERE %TERMS_RULES%\ + ", /* X}[gL[[ȟ */ - keywordSearchSourceInRangeSQL : .toString(), + keywordSearchSourceInRangeSQL : "\ + SELECT GROUP_CONCAT(search_url, %PLACE_FOR_LINEBREAK%)\ + FROM (SELECT REPLACE(s.url, '%s', ?2) search_url\ + FROM moz_keywords k\ + JOIN moz_bookmarks b ON b.keyword_id = k.id\ + JOIN moz_places s ON s.id = b.fk\ + LEFT OUTER JOIN moz_places h ON h.url = search_url\ + WHERE LOWER(k.keyword) = LOWER(?1)\ + ORDER BY h.frecency DESC\ + LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%)\ + ", - keywordSearchItemInRangeSQL : .toString(), + keywordSearchItemInRangeSQL : "\ + SELECT h.title,\ + REPLACE(s.url, '%s', ?2) search_url,\ + IFNULL(f.url,\ + (SELECT f.url\ + FROM moz_places r\ + JOIN moz_favicons f ON f.id = r.favicon_id\ + WHERE r.rev_host = s.rev_host\ + ORDER BY r.frecency DESC LIMIT 1)),\ + b.title,\ + NULL,\ + REPLACE(s.url, '%s', ?2) search_source\ + FROM moz_keywords k\ + JOIN moz_bookmarks b ON b.keyword_id = k.id\ + JOIN moz_places s ON s.id = b.fk\ + LEFT OUTER JOIN moz_places h ON h.url = search_url\ + LEFT OUTER JOIN moz_favicons f ON f.id = h.favicon_id\ + WHERE LOWER(k.keyword) = LOWER(?1)\ + ORDER BY h.frecency DESC\ + %SOURCES_LIMIT_PART%\ + ", /* Places OrganizerƃTCho[̌ */ @@ -476,17 +476,17 @@ var XMigemoPlaces = { return this._historyInRangeSQL; }, - historyInRangeSQLBase : 1 - LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%) - ]]>.toString(), + historyInRangeSQLBase : "\ + SELECT GROUP_CONCAT(%FINDKEY_CONTENTS%, %PLACE_FOR_LINEBREAK%)\ + FROM (SELECT p.id id,\ + p.title title,\ + p.url uri,\ + p.title bookmark,\ + %TAGS%\ + FROM moz_places p\ + WHERE p.hidden <> 1\ + LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%)\ + ", get bookmarksInRangeSQL() { @@ -498,18 +498,18 @@ var XMigemoPlaces = { return this._bookmarksInRangeSQL; }, - bookmarksInRangeSQLBase : .toString(), + bookmarksInRangeSQLBase : "\ + SELECT GROUP_CONCAT(%FINDKEY_CONTENTS%, %PLACE_FOR_LINEBREAK%)\ + FROM (SELECT b.id id,\ + b.title title,\ + p.url uri,\ + b.title bookmark,\ + %TAGS%\ + FROM moz_bookmarks b\ + LEFT OUTER JOIN moz_places p ON b.fk = p.id\ + WHERE b.type = 1 AND b.title IS NOT NULL\ + LIMIT %PLACE_FOR_START%,%PLACE_FOR_RANGE%)\ + ", insertFilter : function(aSQL, aFindFlag) { @@ -568,40 +568,40 @@ var XMigemoPlaces = { ); }, - parentFolderSQLFragment : .toString(), + parentFolderSQLFragment : "\ + SELECT b.parent\ + FROM moz_bookmarks b\ + JOIN moz_bookmarks t\ + ON t.id = b.parent\ + AND t.parent != (SELECT folder_id\ + FROM moz_bookmarks_roots\ + WHERE root_name = 'tags')\ + WHERE b.type = 1 AND b.fk = p.id\ + ORDER BY b.lastModified DESC LIMIT 1\ + ", - bookmarkTitleSQLFragment : .toString(), + bookmarkTitleSQLFragment : "\ + (SELECT b.title\ + FROM moz_bookmarks b\ + JOIN moz_bookmarks t\ + ON t.id = b.parent\ + AND t.parent != (SELECT folder_id\ + FROM moz_bookmarks_roots\ + WHERE root_name = 'tags')\ + WHERE b.type = 1 AND b.fk = p.id\ + ORDER BY b.lastModified DESC LIMIT 1) bookmark\ + ", - tagsSQLFragment : .toString(), + tagsSQLFragment : "\ + (SELECT GROUP_CONCAT(t.title, ',')\ + FROM moz_bookmarks b\ + JOIN moz_bookmarks t\ + ON t.id = b.parent\ + AND t.parent = (SELECT folder_id\ + FROM moz_bookmarks_roots\ + WHERE root_name = 'tags')\ + WHERE b.type = 1 AND b.fk = p.id) tags\ + ", openCountColumnSQLFragment : ', o.open_count open_count', openCountFinalColumnSQLFragment : ', open_count', @@ -901,23 +901,23 @@ var XMigemoPlaces = { 'xulmigemo.autostart.regExpFind', 'browser.urlbar' ], - preferences : .toString(), + preferences : "\ + xulmigemo.places.enableBoundaryFind\ + xulmigemo.places.ignoreURI\ + xulmigemo.places.chunk\ + xulmigemo.places.minLength\ + xulmigemo.autostart.regExpFind\ + browser.urlbar.filter.javascript\ + browser.urlbar.restrict.history\ + browser.urlbar.restrict.bookmark\ + browser.urlbar.restrict.tag\ + browser.urlbar.restrict.typed\ + browser.urlbar.restrict.openpage\ + browser.urlbar.match.title\ + browser.urlbar.match.url\ + browser.urlbar.matchBehavior\ + browser.urlbar.default.behavior\ + ", init : function() {