Author: norman
Date: Tue Aug 11 17:38:25 2009
New Revision: 803228

URL: http://svn.apache.org/viewvc?rev=803228&view=rev
Log:
Disable send button while uploading is running

Added:
    labs/hupa/src/main/java/org/apache/hupa/client/widgets/HasEnable.java
    labs/hupa/src/main/java/org/apache/hupa/client/widgets/MyButton.java
Modified:
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=803228&r1=803227&r2=803228&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java 
(original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java 
Tue Aug 11 17:38:25 2009
@@ -41,7 +41,6 @@
 import org.apache.hupa.shared.rpc.DeleteMessage;
 import org.apache.hupa.shared.rpc.DeleteMessageResult;
 
-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.HasClickHandlers;

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java?rev=803228&r1=803227&r2=803228&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java 
(original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java 
Tue Aug 11 17:38:25 2009
@@ -32,6 +32,7 @@
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
 import org.apache.hupa.client.MyAsyncCallback;
+import org.apache.hupa.client.widgets.HasEnable;
 import org.apache.hupa.shared.data.IMAPFolder;
 import org.apache.hupa.shared.data.IMAPMessage;
 import org.apache.hupa.shared.data.Message;
@@ -63,7 +64,8 @@
        private DispatchAsync dispatcher;
        public static final Place PLACE = new Place("MessageSend");
        private ArrayList<MessageAttachment> aList = new 
ArrayList<MessageAttachment>();
-       private UploaderValueChangeHandler handler = new 
UploaderValueChangeHandler();
+       private EndValueChangeHandler handler = new EndValueChangeHandler();
+       private StartValueChangeHandler startHandler = new 
StartValueChangeHandler();
        private Type type = Type.NEW;
        private IMAPFolder folder;
        private IMAPMessage oldmessage;
@@ -91,6 +93,7 @@
                public HasText getSubjectText();
                public HasText getMessageText();
                public HasClickHandlers getSendClick();
+               public HasEnable getSendEnable();
                public IUploader getUploader();
                public void resetUploader();
        }
@@ -198,7 +201,8 @@
 
        private void reset() {
                display.resetUploader();
-               display.getUploader().setOnChangeHandler(handler);
+               display.getUploader().setOnStartHandler(startHandler);
+               display.getUploader().setOnFinishHandler(handler);
                display.getBccText().setText("");
                display.getCcText().setText("");
                display.getToText().setText("");
@@ -257,17 +261,25 @@
                
        }
        
-       private class UploaderValueChangeHandler implements 
ValueChangeHandler<IUploader> {
+       private class EndValueChangeHandler implements 
ValueChangeHandler<IUploader> {
 
                public void onValueChange(ValueChangeEvent<IUploader> event) {
                        String name = ((Uploader) 
event.getValue()).getFilename();
                        MessageAttachment attachment = new MessageAttachment();
                        attachment.setName(name);
                        aList.add(attachment);
+                       display.getSendEnable().setEnabled(true);
                }
 
        }
        
+       private class StartValueChangeHandler implements 
ValueChangeHandler<IUploader> {
+
+               public void onValueChange(ValueChangeEvent<IUploader> event) {
+                       display.getSendEnable().setEnabled(false);
+               }
+               
+       }
        
        public void bind(User user, IMAPFolder folder, IMAPMessage 
oldmessage,Type type) {
                this.oldmessage = oldmessage;

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java?rev=803228&r1=803227&r2=803228&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java Tue 
Aug 11 17:38:25 2009
@@ -32,8 +32,9 @@
 import gwtupload.client.MultiUploader;
 
 import org.apache.hupa.client.HupaConstants;
+import org.apache.hupa.client.widgets.HasEnable;
+import org.apache.hupa.client.widgets.MyButton;
 import org.apache.hupa.client.widgets.UploadProgress;
-import org.cobogw.gwt.user.client.ui.Button;
 import org.cobogw.gwt.user.client.ui.ButtonBar;
 
 import com.google.gwt.core.client.GWT;
@@ -42,6 +43,8 @@
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.logical.shared.ResizeEvent;
 import com.google.gwt.event.logical.shared.ResizeHandler;
+import com.google.gwt.event.logical.shared.ValueChangeEvent;
+import com.google.gwt.event.logical.shared.ValueChangeHandler;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Grid;
@@ -64,7 +67,7 @@
        private TextBox subject = new TextBox();
        private MultiUploader uploader = new MultiUploader(new 
UploadProgress());
        private TextArea text = new TextArea();
-       private Button sendButton = new Button(constants.sendButton());
+       private MyButton sendButton = new MyButton(constants.sendButton());
        private ValidationMessages vMessages = new ValidationMessages();
        private ValidationProcessor validator = new DefaultValidationProcessor(
                        vMessages);
@@ -152,6 +155,13 @@
                text.setHeight("400px");
                text.setVisibleLines(50);
 
+               uploader.setOnStartHandler(new ValueChangeHandler<IUploader>() {
+
+                       public void onValueChange(ValueChangeEvent<IUploader> 
event) {
+                               sendButton.setEnabled(false);
+                       }
+                       
+               });
                /*
                 * uploader.setOnFinishHandler(new 
ValueChangeHandler<IUploader>() {
                 * public void onValueChange(ValueChangeEvent<IUploader> event) 
{
@@ -305,4 +315,8 @@
                uploader.avoidRepeatFiles(true);
                detailGrid.setWidget(5, 1, uploader);           
        }
+
+       public HasEnable getSendEnable() {
+               return sendButton;
+       }
 }

Added: labs/hupa/src/main/java/org/apache/hupa/client/widgets/HasEnable.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/widgets/HasEnable.java?rev=803228&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/widgets/HasEnable.java 
(added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/widgets/HasEnable.java Tue 
Aug 11 17:38:25 2009
@@ -0,0 +1,25 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.widgets;
+
+public interface HasEnable {
+
+       public void setEnabled(boolean enable);
+}

Added: labs/hupa/src/main/java/org/apache/hupa/client/widgets/MyButton.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/widgets/MyButton.java?rev=803228&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/widgets/MyButton.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/widgets/MyButton.java Tue 
Aug 11 17:38:25 2009
@@ -0,0 +1,33 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.widgets;
+
+import org.cobogw.gwt.user.client.ui.Button;
+
+public class MyButton extends Button implements HasEnable{
+
+       public MyButton(String sendButton) {
+               super(sendButton);
+       }
+
+       public MyButton() {
+               super();
+       }
+}



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

Reply via email to