Closed Bug 187208 Opened 22 years ago Closed 22 years ago

give more information for menu

Categories

(Core :: Disability Access APIs, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: yinbolian, Assigned: browser-china-atf)

References

Details

(Keywords: access)

Attachments

(1 file, 3 obsolete files)

Give information such as:
  1. Is it submenu
  2. It shortcut
  3. It is AccessKey
mass changing QA contact to Jessie Li.
Status: NEW → ASSIGNED
QA Contact: dsirnapalli → jessie.li
Attached patch patch (obsolete) — Splinter Review
seek r= & sr=
Attachment #110576 - Flags: review?(kyle.yuan)
Comment on attachment 110576 [details] [diff] [review]
patch

>+NS_IMETHODIMP nsXULMenuitemAccessible::GetAccKeybinding(nsAString& _retval)
>+{
>+  nsCOMPtr<nsIDOMElement> elt(do_QueryInterface(mDOMNode));
>+  if (elt) {
>+    nsAutoString accesskey;
>+    elt->GetAttribute(NS_LITERAL_STRING("acceltext"), accesskey);
>+    if (accesskey.IsEmpty())
>+      return NS_OK;
>+
>+    nsAutoString Shortcut;
>+    PRInt32 oldpos, pos=0;
Please use interCap variable name here, and make the first letter lower-case.
Same with the rest part.

>+
>+    while ( (pos != -1) && (pos < (PRInt32)accesskey.Length()) ) {
You don't need the space between the parentheses.

>+      oldpos = pos;
>+      nsAutoString subString;
>+      pos = accesskey.FindChar('+', oldpos);
>+      if (pos == -1) {
>+        accesskey.Mid(subString, oldpos, accesskey.Length() - oldpos);
>+        Shortcut += subString;
>+      }
>+      else {
>+        accesskey.Mid(subString, oldpos, pos - oldpos);
>+        Shortcut += NS_LITERAL_STRING("<") + subString + NS_LITERAL_STRING(">");
>+        pos++;
>+      }
>+    }
I'd like to see this transformation takes place in thr mai code, it's platform
specific.

> const gchar *
> MaiInterfaceAction::GetKeybinding(gint aActionIndex)
> {
>+    //return all Keybindings including accesskey and shortcut
>+    //
Don't need the empty comment line

>+    nsAutoString autoStr;
I prefer a better name for this, such as keyShortcut. 

>+    nsresult rv = accessible->GetAccKeyboardShortcut(autoStr);
>+    if (NS_FAILED(rv))
>+        return NULL;
>+
Here you should check whether the |autoStr| is empty, as well as
|grandparentKey|.

>+
>+    nsAutoString keyBinding, shortCut;
>+    accessible->GetAccKeybinding(keyBinding);
Need a null checking.

>+    shortCut = autoStr + NS_LITERAL_STRING(";") + keyBinding;
>+
Attachment #110576 - Flags: review?(kyle.yuan) → review-
Attached patch patch 2 (obsolete) — Splinter Review
new patch due to comment #3
Attachment #110576 - Attachment is obsolete: true
Attachment #110748 - Flags: superreview?(aaronl)
Attachment #110748 - Flags: review?(kyle.yuan)
Comment on attachment 110748 [details] [diff] [review]
patch 2

>+    //get accesskey
>+    nsAutoString accessKey;
>+    nsresult rv = accessible->GetAccKeyboardShortcut(accessKey);
>+    if (NS_FAILED(rv) || accessKey.IsEmpty())
>+        return NULL;
You shouldn't return here, in case of some menu items have a shortcut key, but
no accesskey.

>+    allKeybinding = allKeybinding + NS_LITERAL_STRING(";") + subShortcut;
allKeybinding += NS_LITERAL_STRING(";") + subShortcut; is better

other part looks good to me.

BTW, currently, Aaron is not the right person to ask sr= (I hope he will be
soon :), please choose a sr from http://www.mozilla.org/hacking/reviewers.html
Attachment #110748 - Flags: review?(kyle.yuan) → review-
Comment on attachment 110748 [details] [diff] [review]
patch 2

aaronl is not a super reviewer.
Attachment #110748 - Flags: superreview?(aaronl)
Attached patch patch 3 (obsolete) — Splinter Review
new patch due to comment #5
Attachment #110759 - Flags: review?(kyle.yuan)
Attachment #110759 - Flags: review?(kyle.yuan) → review+
Attachment #110759 - Flags: superreview?(blizzard)
Attachment #110759 - Flags: superreview?(blizzard) → superreview?(bryner)
Comment on attachment 110759 [details] [diff] [review]
patch 3

>+    //get accesskey
>+    nsAutoString accessKey;
>+    nsresult rv = accessible->GetAccKeyboardShortcut(accessKey);
>+
>+    if (!NS_FAILED(rv) && !accessKey.IsEmpty()) {

Use NS_SUCCEEDED(rv) instead of !NS_FAILED(rv) here, and also later in the
patch.

sr=bryner with those changes.
Attachment #110759 - Flags: superreview?(bryner) → superreview+
Thanks bryner!
Attachment #110759 - Attachment is obsolete: true
checked in!
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Blocks: 195190
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: