зеркало из https://github.com/mozilla/pjs.git
Bug 359552 - Remove keycode constants from nsIAutoCompleteController. r=gavin.
This commit is contained in:
Родитель
deaf9bba4f
Коммит
ae03ce4f53
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
interface nsIAutoCompleteInput;
|
interface nsIAutoCompleteInput;
|
||||||
|
|
||||||
[scriptable, uuid(8E62F092-DD82-4748-BAB3-8898C7C881A1)]
|
[scriptable, uuid(bafcfe4f-0850-4106-a176-be5aef2e1e52)]
|
||||||
interface nsIAutoCompleteController : nsISupports
|
interface nsIAutoCompleteController : nsISupports
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -52,18 +52,6 @@ interface nsIAutoCompleteController : nsISupports
|
||||||
const unsigned short STATUS_COMPLETE_NO_MATCH = 3;
|
const unsigned short STATUS_COMPLETE_NO_MATCH = 3;
|
||||||
const unsigned short STATUS_COMPLETE_MATCH = 4;
|
const unsigned short STATUS_COMPLETE_MATCH = 4;
|
||||||
|
|
||||||
/*
|
|
||||||
* Possible key navigation values
|
|
||||||
*/
|
|
||||||
const unsigned short KEY_UP = 1;
|
|
||||||
const unsigned short KEY_DOWN = 2;
|
|
||||||
const unsigned short KEY_LEFT = 3;
|
|
||||||
const unsigned short KEY_RIGHT = 4;
|
|
||||||
const unsigned short KEY_PAGE_UP = 5;
|
|
||||||
const unsigned short KEY_PAGE_DOWN = 6;
|
|
||||||
const unsigned short KEY_HOME = 7;
|
|
||||||
const unsigned short KEY_END = 8;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The input widget that is currently being controlled.
|
* The input widget that is currently being controlled.
|
||||||
*/
|
*/
|
||||||
|
@ -126,7 +114,7 @@ interface nsIAutoCompleteController : nsISupports
|
||||||
*
|
*
|
||||||
* @return True if the controller wishes to prevent event propagation and default event
|
* @return True if the controller wishes to prevent event propagation and default event
|
||||||
*/
|
*/
|
||||||
boolean handleKeyNavigation(in unsigned short key);
|
boolean handleKeyNavigation(in unsigned long key);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Notify the controller that the user chose to delete the current
|
* Notify the controller that the user chose to delete the current
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
#include "nsITreeColumns.h"
|
#include "nsITreeColumns.h"
|
||||||
#include "nsIGenericFactory.h"
|
#include "nsIGenericFactory.h"
|
||||||
#include "nsIObserverService.h"
|
#include "nsIObserverService.h"
|
||||||
|
#include "nsIDOMKeyEvent.h"
|
||||||
|
|
||||||
static const char *kAutoCompleteSearchCID = "@mozilla.org/autocomplete/search;1?name=";
|
static const char *kAutoCompleteSearchCID = "@mozilla.org/autocomplete/search;1?name=";
|
||||||
|
|
||||||
|
@ -362,7 +363,7 @@ nsAutoCompleteController::HandleEndComposition()
|
||||||
HandleText(PR_TRUE);
|
HandleText(PR_TRUE);
|
||||||
} else if (forceOpenPopup) {
|
} else if (forceOpenPopup) {
|
||||||
PRBool cancel;
|
PRBool cancel;
|
||||||
HandleKeyNavigation(nsIAutoCompleteController::KEY_DOWN, &cancel);
|
HandleKeyNavigation(nsIDOMKeyEvent::DOM_VK_DOWN, &cancel);
|
||||||
}
|
}
|
||||||
// On here, |value| and |mSearchString| are same. Therefore, next HandleText should be
|
// On here, |value| and |mSearchString| are same. Therefore, next HandleText should be
|
||||||
// ignored. Because there are no reason to research.
|
// ignored. Because there are no reason to research.
|
||||||
|
@ -379,7 +380,7 @@ nsAutoCompleteController::HandleTab()
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsAutoCompleteController::HandleKeyNavigation(PRUint16 aKey, PRBool *_retval)
|
nsAutoCompleteController::HandleKeyNavigation(PRUint32 aKey, PRBool *_retval)
|
||||||
{
|
{
|
||||||
// By default, don't cancel the event
|
// By default, don't cancel the event
|
||||||
*_retval = PR_FALSE;
|
*_retval = PR_FALSE;
|
||||||
|
@ -400,10 +401,10 @@ nsAutoCompleteController::HandleKeyNavigation(PRUint16 aKey, PRBool *_retval)
|
||||||
mInput->GetDisableAutoComplete(&disabled);
|
mInput->GetDisableAutoComplete(&disabled);
|
||||||
NS_ENSURE_TRUE(!disabled, NS_OK);
|
NS_ENSURE_TRUE(!disabled, NS_OK);
|
||||||
|
|
||||||
if (aKey == nsIAutoCompleteController::KEY_UP ||
|
if (aKey == nsIDOMKeyEvent::DOM_VK_UP ||
|
||||||
aKey == nsIAutoCompleteController::KEY_DOWN ||
|
aKey == nsIDOMKeyEvent::DOM_VK_DOWN ||
|
||||||
aKey == nsIAutoCompleteController::KEY_PAGE_UP ||
|
aKey == nsIDOMKeyEvent::DOM_VK_PAGE_UP ||
|
||||||
aKey == nsIAutoCompleteController::KEY_PAGE_DOWN)
|
aKey == nsIDOMKeyEvent::DOM_VK_PAGE_DOWN)
|
||||||
{
|
{
|
||||||
// Prevent the input from handling up/down events, as it may move
|
// Prevent the input from handling up/down events, as it may move
|
||||||
// the cursor to home/end on some systems
|
// the cursor to home/end on some systems
|
||||||
|
@ -412,10 +413,10 @@ nsAutoCompleteController::HandleKeyNavigation(PRUint16 aKey, PRBool *_retval)
|
||||||
PRBool isOpen;
|
PRBool isOpen;
|
||||||
mInput->GetPopupOpen(&isOpen);
|
mInput->GetPopupOpen(&isOpen);
|
||||||
if (isOpen) {
|
if (isOpen) {
|
||||||
PRBool reverse = aKey == nsIAutoCompleteController::KEY_UP ||
|
PRBool reverse = aKey == nsIDOMKeyEvent::DOM_VK_UP ||
|
||||||
aKey == nsIAutoCompleteController::KEY_PAGE_UP ? PR_TRUE : PR_FALSE;
|
aKey == nsIDOMKeyEvent::DOM_VK_PAGE_UP ? PR_TRUE : PR_FALSE;
|
||||||
PRBool page = aKey == nsIAutoCompleteController::KEY_PAGE_UP ||
|
PRBool page = aKey == nsIDOMKeyEvent::DOM_VK_PAGE_UP ||
|
||||||
aKey == nsIAutoCompleteController::KEY_PAGE_DOWN ? PR_TRUE : PR_FALSE;
|
aKey == nsIDOMKeyEvent::DOM_VK_PAGE_DOWN ? PR_TRUE : PR_FALSE;
|
||||||
|
|
||||||
// Fill in the value of the textbox with whatever is selected in the popup
|
// Fill in the value of the textbox with whatever is selected in the popup
|
||||||
// if the completeSelectedIndex attribute is set. We check this before
|
// if the completeSelectedIndex attribute is set. We check this before
|
||||||
|
@ -454,10 +455,10 @@ nsAutoCompleteController::HandleKeyNavigation(PRUint16 aKey, PRBool *_retval)
|
||||||
} else
|
} else
|
||||||
StartSearchTimer();
|
StartSearchTimer();
|
||||||
}
|
}
|
||||||
} else if ( aKey == nsIAutoCompleteController::KEY_LEFT
|
} else if ( aKey == nsIDOMKeyEvent::DOM_VK_LEFT
|
||||||
|| aKey == nsIAutoCompleteController::KEY_RIGHT
|
|| aKey == nsIDOMKeyEvent::DOM_VK_RIGHT
|
||||||
#ifndef XP_MACOSX
|
#ifndef XP_MACOSX
|
||||||
|| aKey == nsIAutoCompleteController::KEY_HOME
|
|| aKey == nsIDOMKeyEvent::DOM_VK_HOME
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -641,22 +641,12 @@ nsFormFillController::KeyPress(nsIDOMEvent* aEvent)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
case nsIDOMKeyEvent::DOM_VK_UP:
|
case nsIDOMKeyEvent::DOM_VK_UP:
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_UP, &cancel);
|
|
||||||
break;
|
|
||||||
case nsIDOMKeyEvent::DOM_VK_DOWN:
|
case nsIDOMKeyEvent::DOM_VK_DOWN:
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_DOWN, &cancel);
|
|
||||||
break;
|
|
||||||
case nsIDOMKeyEvent::DOM_VK_LEFT:
|
case nsIDOMKeyEvent::DOM_VK_LEFT:
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_LEFT, &cancel);
|
|
||||||
break;
|
|
||||||
case nsIDOMKeyEvent::DOM_VK_RIGHT:
|
case nsIDOMKeyEvent::DOM_VK_RIGHT:
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_RIGHT, &cancel);
|
|
||||||
break;
|
|
||||||
case nsIDOMKeyEvent::DOM_VK_PAGE_UP:
|
case nsIDOMKeyEvent::DOM_VK_PAGE_UP:
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_PAGE_UP, &cancel);
|
|
||||||
break;
|
|
||||||
case nsIDOMKeyEvent::DOM_VK_PAGE_DOWN:
|
case nsIDOMKeyEvent::DOM_VK_PAGE_DOWN:
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_PAGE_DOWN, &cancel);
|
mController->HandleKeyNavigation(k, &cancel);
|
||||||
break;
|
break;
|
||||||
case nsIDOMKeyEvent::DOM_VK_ESCAPE:
|
case nsIDOMKeyEvent::DOM_VK_ESCAPE:
|
||||||
mController->HandleEscape(&cancel);
|
mController->HandleEscape(&cancel);
|
||||||
|
@ -828,7 +818,7 @@ nsFormFillController::MouseClick(nsIDOMEvent* aMouseEvent)
|
||||||
// Show the popup with the complete result set. Can't use HandleText()
|
// Show the popup with the complete result set. Can't use HandleText()
|
||||||
// because it doesn't display the popup if the input is blank.
|
// because it doesn't display the popup if the input is blank.
|
||||||
PRBool cancel = PR_FALSE;
|
PRBool cancel = PR_FALSE;
|
||||||
mController->HandleKeyNavigation(nsIAutoCompleteController::KEY_DOWN, &cancel);
|
mController->HandleKeyNavigation(nsIDOMKeyEvent::DOM_VK_DOWN, &cancel);
|
||||||
}
|
}
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
|
@ -393,7 +393,6 @@
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
var cancel = false;
|
var cancel = false;
|
||||||
const IController = Components.interfaces.nsIAutoCompleteController;
|
|
||||||
|
|
||||||
// Catch any keys that could potentially move the caret. Ctrl can be
|
// Catch any keys that could potentially move the caret. Ctrl can be
|
||||||
// used in combination with these keys, so only make sure that Alt
|
// used in combination with these keys, so only make sure that Alt
|
||||||
|
@ -401,13 +400,9 @@
|
||||||
if (!this.disableKeyNavigation && !aEvent.altKey) {
|
if (!this.disableKeyNavigation && !aEvent.altKey) {
|
||||||
switch (aEvent.keyCode) {
|
switch (aEvent.keyCode) {
|
||||||
case KeyEvent.DOM_VK_LEFT:
|
case KeyEvent.DOM_VK_LEFT:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_LEFT);
|
|
||||||
break;
|
|
||||||
case KeyEvent.DOM_VK_RIGHT:
|
case KeyEvent.DOM_VK_RIGHT:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_RIGHT);
|
|
||||||
break;
|
|
||||||
case KeyEvent.DOM_VK_HOME:
|
case KeyEvent.DOM_VK_HOME:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_HOME);
|
cancel = this.mController.handleKeyNavigation(aEvent.keyCode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -418,20 +413,14 @@
|
||||||
case KeyEvent.DOM_VK_TAB:
|
case KeyEvent.DOM_VK_TAB:
|
||||||
if (this.tabScrolling && this.popup.mPopupOpen)
|
if (this.tabScrolling && this.popup.mPopupOpen)
|
||||||
cancel = this.mController.handleKeyNavigation(aEvent.shiftKey ?
|
cancel = this.mController.handleKeyNavigation(aEvent.shiftKey ?
|
||||||
IController.KEY_UP :
|
KeyEvent.DOM_VK_UP :
|
||||||
IController.KEY_DOWN);
|
KeyEvent.DOM_VK_DOWN);
|
||||||
break;
|
break;
|
||||||
case KeyEvent.DOM_VK_UP:
|
case KeyEvent.DOM_VK_UP:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_UP);
|
|
||||||
break;
|
|
||||||
case KeyEvent.DOM_VK_DOWN:
|
case KeyEvent.DOM_VK_DOWN:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_DOWN);
|
|
||||||
break;
|
|
||||||
case KeyEvent.DOM_VK_PAGE_UP:
|
case KeyEvent.DOM_VK_PAGE_UP:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_PAGE_UP);
|
|
||||||
break;
|
|
||||||
case KeyEvent.DOM_VK_PAGE_DOWN:
|
case KeyEvent.DOM_VK_PAGE_DOWN:
|
||||||
cancel = this.mController.handleKeyNavigation(IController.KEY_PAGE_DOWN);
|
cancel = this.mController.handleKeyNavigation(aEvent.keyCode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче