Author: norman
Date: Sun Jul  5 10:00:49 2009
New Revision: 791211

URL: http://svn.apache.org/viewvc?rev=791211&view=rev
Log:
handle return key if searchBox has focus
reset the searchValue on empty searchBox

Modified:
    labs/hupa/src/main/java/org/apache/hupa/client/view/MainView.java

Modified: labs/hupa/src/main/java/org/apache/hupa/client/view/MainView.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/view/MainView.java?rev=791211&r1=791210&r2=791211&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/view/MainView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/view/MainView.java Sun Jul  
5 10:00:49 2009
@@ -52,6 +52,9 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyCodes;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.event.logical.shared.SelectionEvent;
 import com.google.gwt.event.logical.shared.SelectionHandler;
 import com.google.gwt.i18n.client.DateTimeFormat;
@@ -93,6 +96,7 @@
        private Maskable masker = new LoadingMasker();
        private MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(" 
,@");  
        private SuggestBox searchBox = new SuggestBox(oracle);
+       private Button searchButton = new Button(constants.searchButton());
        private Cell cell;
        private IMAPUser user;
 
@@ -222,16 +226,30 @@
                
                searchBox.setWidth("150px");
                searchBox.setLimit(20);
+               searchBox.addKeyUpHandler(new KeyUpHandler() {
+
+                       public void onKeyUp(KeyUpEvent event) {
+                               if (event.getNativeKeyCode() == 
KeyCodes.KEY_ENTER) {
+                                       searchButton.click();
+                               }
+                       }
+                       
+               });
                hPanel.add(searchBox);
                
-               final Button searchButton = new 
Button(constants.searchButton());
+               
                searchButton.addClickHandler(new ClickHandler() {
 
                        public void onClick(ClickEvent event) {
+                               String searchValue = null;
+                               if (searchBox.getValue().trim().length() >0) {
+                                       searchValue = 
searchBox.getValue().trim();
+                               }
+                               
                                controller.call(new Event<MessageListModelData, 
HupaAction>(
                                                HupaAction.FETCH_MESSAGES,
                                                new MessageListModelData(user, 
folder,
-                                                               0, 
20,searchBox.getValue()), masker));
+                                                               0, 
20,searchValue), masker));
                                searchBox.setValue("");
                        }
                        
@@ -403,11 +421,15 @@
 
                                        @Override
                                        public void run() {
+                                               String searchValue = null;
+                                               if 
(searchBox.getValue().trim().length() >0) {
+                                                       searchValue = 
searchBox.getValue().trim();
+                                               }
                                                controller
                                                                .call(new 
Event<MessageListModelData, HupaAction>(
                                                                                
HupaAction.FETCH_MESSAGES,
                                                                                
new MessageListModelData(user, folder,
-                                                                               
                0, 20), masker));
+                                                                               
                0, 20,searchValue), masker));
                                        }
 
                                }.scheduleRepeating(1000 * 60 * 5);
@@ -446,6 +468,7 @@
         clearMailTableEntries();
                center.clear();
                center.add(centerVP);
+               searchBox.setValue("");
        }
        
        private void fillOracle(IMAPMessage msg) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to