From eb4561f07e432825861f264b4c503df6a7cf8f78 Mon Sep 17 00:00:00 2001 From: "andreww%netscape.com" Date: Thu, 14 Sep 2000 19:02:25 +0000 Subject: [PATCH] still bug 28519 - mail 3 pane - finally getting it right. r=hyatt. --- .../content/mail3PaneWindowCommands.js | 95 +++++++++++-------- .../content/mail3PaneWindowVertLayout.xul | 6 +- mailnews/base/resources/content/messenger.xul | 12 ++- .../base/resources/content/threadPane.xul | 1 + themes/classic/messenger/mac/messenger.css | 21 ++-- themes/classic/messenger/win/messenger.css | 22 ++--- themes/modern/messenger/messenger.css | 24 ++--- 7 files changed, 99 insertions(+), 82 deletions(-) diff --git a/mailnews/base/resources/content/mail3PaneWindowCommands.js b/mailnews/base/resources/content/mail3PaneWindowCommands.js index 6492a9f7ca8f..b945d280e0a8 100644 --- a/mailnews/base/resources/content/mail3PaneWindowCommands.js +++ b/mailnews/base/resources/content/mail3PaneWindowCommands.js @@ -158,7 +158,7 @@ var ThreadPaneController = ClearMessagePane(); } //setting threadTree on - document.getElementById("threadTree").setAttribute("focusring","true"); + //document.getElementById("threadTree").setAttribute("focusring","true"); break; } }, @@ -168,14 +168,14 @@ var ThreadPaneController = // on blur events set the menu item texts back to the normal values if ( event == 'blur' ) { - document.getElementById("threadTree").setAttribute("focusring","false"); + //document.getElementById("threadTree").setAttribute("focusring","false"); } if ( event == 'focus' ) { //alert("focus") - document.getElementById("threadTree").setAttribute("focusring","true"); + //document.getElementById("threadTree").setAttribute("focusring","true"); } } @@ -503,44 +503,6 @@ function GetNumSelectedMessages() function CommandUpdate_Mail() { - //var messagePane = top.document.getElementById('messagePane'); - //var drawFocusBorder = messagePane.getAttribute('draw-focus-border'); - document.getElementById("messagepanebox").setAttribute("focusring","false"); - document.getElementById("threadTree").setAttribute("focusring","false") - document.getElementById("folderTree").setAttribute("focusring","false") - - if ( MessagePaneHasFocus() ) - { - //if ( !drawFocusBorder ) - // messagePane.setAttribute('draw-focus-border', 'true'); - document.getElementById("messagepanebox").setAttribute("focusring","true"); - //document.getElementById("threadTree").setAttribute("focusring","false") - //document.getElementById("folderTree").setAttribute("focusring","false") - - } - else - { - //if ( drawFocusBorder ) - // messagePane.removeAttribute('draw-focus-border'); - //document.getElementById("messagepanebox").setAttribute("focusring","false"); - - if( WhichPaneHasFocus() == "threadTree"){ - document.getElementById("threadTree").setAttribute("focusring","true") - //document.getElementById("folderTree").setAttribute("focusring","false") - } - -// mail3PaneWindowCommands.js - else{ - if(WhichPaneHasFocus()=="folderTree") - //document.getElementById("threadTree").setAttribute("focusring","false") - document.getElementById("folderTree").setAttribute("focusring","true") - } - - } - - - - //goUpdateCommand('button_delete'); @@ -567,6 +529,52 @@ function CommandUpdate_Mail() goUpdateCommand('cmd_compactFolder'); } + +var lastFocusedElement=null; + +function FocusRingUpdate_Mail(){ + var currentFocusedElement = null; + + if(MessagePaneHasFocus()){ + currentFocusedElement="messagepanebox" + } + else{ + currentFocusedElement= WhichPaneHasFocus() + } + + if(currentFocusedElement != lastFocusedElement){ + if( currentFocusedElement == "threadTree"){ + document.getElementById("threadTree").setAttribute("focusring","true") + //document.getElementById("folderTree").setAttribute("focusring","false") + document.getElementById("messagepanebox").setAttribute("focusring","false") + + } + + else{ + if(currentFocusedElement=="folderTree"){ + document.getElementById("threadTree").setAttribute("focusring","false") + //document.getElementById("folderTree").setAttribute("focusring","true") + document.getElementById("messagepanebox").setAttribute("focusring","false") + } + else{ + if(currentFocusedElement=="messagepanebox"){ + document.getElementById("threadTree").setAttribute("focusring","false") + //document.getElementById("folderTree").setAttribute("focusring","false") + document.getElementById("messagepanebox").setAttribute("focusring","true") + } + else{ + document.getElementById("threadTree").setAttribute("focusring","false") + //document.getElementById("folderTree").setAttribute("focusring","false") + document.getElementById("messagepanebox").setAttribute("focusring","false") + } + + } + } + lastFocusedElement=currentFocusedElement; + } + } + + function ThreadTreeUpdate_Mail(command) { goUpdateCommand('button_reply'); @@ -655,6 +663,7 @@ function MessagePaneHasFocus() if ( focusedWindow && messagePaneWindow && (focusedWindow != top) ) { var hasFocus = IsSubWindowOf(focusedWindow, messagePaneWindow, false); + return hasFocus; } @@ -686,7 +695,9 @@ function WhichPaneHasFocus(){ if(currentNode.getAttribute("id") == "threadTree" ){ whichPane="threadTree" } if(currentNode.getAttribute("id") == "folderTree"){ whichPane="folderTree" } - + + if(currentNode.getAttribute("id") == "messagepanebox"){ whichPane="messagepanebox" } + currentNode = currentNode.parentNode; } diff --git a/mailnews/base/resources/content/mail3PaneWindowVertLayout.xul b/mailnews/base/resources/content/mail3PaneWindowVertLayout.xul index cdc60d3bdde0..3c4e004d4612 100644 --- a/mailnews/base/resources/content/mail3PaneWindowVertLayout.xul +++ b/mailnews/base/resources/content/mail3PaneWindowVertLayout.xul @@ -73,6 +73,10 @@ Rights Reserved. commandupdater="true" events="threadTree-select" oncommandupdate="ThreadTreeUpdate_Mail()"/> + @@ -123,7 +127,7 @@ Rights Reserved. - + diff --git a/mailnews/base/resources/content/messenger.xul b/mailnews/base/resources/content/messenger.xul index 43aa218a772f..7a9abea3ff8f 100644 --- a/mailnews/base/resources/content/messenger.xul +++ b/mailnews/base/resources/content/messenger.xul @@ -71,10 +71,15 @@ Rights Reserved. + + + @@ -123,14 +129,14 @@ Rights Reserved. - + - +