Author: dongxu
Date: Thu Sep 12 04:26:53 2013
New Revision: 1522348

URL: http://svn.apache.org/r1522348
Log:
fixed issue#61; add loading to mark, unmark.

Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
 Thu Sep 12 04:26:53 2013
@@ -26,11 +26,15 @@ package org.apache.hupa.client;
 <<<<<<< HEAD
 <<<<<<< HEAD
 import org.apache.hupa.client.activity.NotificationActivity;
+<<<<<<< HEAD
 import org.apache.hupa.client.activity.ToolBarActivity;
 import org.apache.hupa.client.activity.TopBarActivity;
 =======
 import org.apache.hupa.client.activity.NotificationActivity;
 >>>>>>> make a notification timer to be able to schedule the notice with 
 >>>>>>> millis time.
+=======
+import org.apache.hupa.client.activity.TopBarActivity;
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 import org.apache.hupa.client.mapper.ActivityManagerInitializer;
 import org.apache.hupa.client.place.ComposePlace;
 <<<<<<< HEAD
@@ -148,6 +152,7 @@ public class HupaController {
        @Inject private HupaRequestFactory requestFactory;
        @Inject private LoginLayoutable loginLayout;
        @Inject private NotificationActivity.Displayable noticeRegion;
+       @Inject private TopBarActivity.Displayable topBar;
        private EventBus eventBus;
 
        private Timer noopTimer = new IdleTimer();
@@ -334,11 +339,11 @@ public class HupaController {
                Place place = event.getNewPlace();
 
                if (place instanceof ComposePlace) {
-//                     if (((ComposePlace) place).getParameters() != null) {
+                       if (((ComposePlace) place).getParameters() != null) {
                                hupaLayout.switchToCompose();
-//                     } else {
-//                             this.placeController.goTo(new 
MailFolderPlace("Mock-Inbox"));
-//                     }
+                       } else {
+                               this.placeController.goTo(new 
MailFolderPlace("Mock-Inbox"));
+                       }
                } else {
                        hupaLayout.switchToMessage();
                }
@@ -387,6 +392,14 @@ public class HupaController {
                hideNotice.schedule(millis);
     }
     
+    public void showTopLoading(String message){
+       topBar.showLoading(message);
+    }
+    
+    public void hideTopLoading(){
+       topBar.hideLoading();
+    }
+    
     private final Timer hideNotice = new Timer() {
         public void run() {
                noticeRegion.hideNotification();

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 Thu Sep 12 04:26:53 2013
@@ -66,6 +66,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.hupa.client.HupaController;
 import org.apache.hupa.client.place.ComposePlace;
 import org.apache.hupa.client.rf.SendForwardMessageRequest;
 import org.apache.hupa.client.rf.SendMessageRequest;
@@ -83,6 +84,9 @@ import org.apache.hupa.shared.domain.Sen
 import org.apache.hupa.shared.domain.SendMessageAction;
 import org.apache.hupa.shared.domain.SendReplyMessageAction;
 import org.apache.hupa.shared.domain.SmtpMessage;
+import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.LoginEvent;
+import org.apache.hupa.shared.events.LoginEventHandler;
 
 <<<<<<< HEAD
 >>>>>>> make send text mail work excellently
@@ -97,6 +101,7 @@ import com.google.gwt.event.shared.Event
 <<<<<<< HEAD
 import com.google.gwt.storage.client.Storage;
 import com.google.gwt.user.client.History;
+<<<<<<< HEAD
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.HasHTML;
 import com.google.gwt.user.client.ui.HasText;
@@ -123,6 +128,8 @@ public class ComposeActivity extends App
 import com.google.gwt.user.client.History;
 >>>>>>> fixed issue#54 just using History.back()
 import com.google.gwt.user.client.Window;
+=======
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.HasHTML;
 import com.google.gwt.user.client.ui.HasText;
@@ -133,6 +140,7 @@ import com.google.web.bindery.requestfac
 
 public class ComposeActivity extends AppBaseActivity {
        @Inject private Displayable display;
+       @Inject private HupaController hupaController;
        private List<MessageAttachment> attachments = new 
ArrayList<MessageAttachment>();
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -155,7 +163,11 @@ public class ComposeActivity extends App
 =======
 >>>>>>> prepare to make composeView's reload work
        private ComposePlace place;
+<<<<<<< HEAD
 >>>>>>> coping with reply and forward sending message
+=======
+       private User user;
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 
        public Activity with(ComposePlace place) {
                this.place = place;
@@ -420,36 +432,37 @@ public class ComposeActivity extends App
                bindTo(eventBus);
                fillHeader();
        }
-       
+
        @Override
-       public String mayStop(){
+       public String mayStop() {
                super.mayStop();
-               if(noContent()){
+               if (noContent()) {
                        return null;
                }
-               return "Do you want to leave this page?";
+               return null;
+//             return "Do you want to leave this page?"; TODO
        }
-       
+
        @Override
-       public void onStop(){
+       public void onStop() {
                super.onStop();
        }
 
        private boolean noContent() {
                return "".equals(display.getMessage().getText()) && 
"".equals(display.getSubject().getText());
        }
-       
+
        @Override
-       public void onCancel(){
-               
+       public void onCancel() {
+
        }
 
        private void fillHeader() {
                if (place == null)
                        return;
                Message oldMessage = place.getParameters().getOldmessage();
-               if (place.getParameters().getUser() != null)
-                       
display.getFromList().addItem(place.getParameters().getUser().getName());
+               if (user != null)
+                       display.getFromList().addItem(user.getName());
                display.getMessageHTML().setHTML(
                                wrapMessage(oldMessage, 
place.getParameters().getOldDetails(), place.getToken()));
                if ("forward".equals(place.getToken())) {
@@ -479,10 +492,10 @@ public class ComposeActivity extends App
                                        list.addAll(oldMessage.getTo());
                                if (oldMessage.getCc() != null)
                                        list.addAll(oldMessage.getCc());
-                               list = removeEmailFromList(list, 
place.getParameters().getUser().getName());
+                               list = removeEmailFromList(list, 
user.getName());
                                
display.getCc().setText(Util.listToString(list));
                                if (oldMessage.getTo() != null) {
-                                       
oldMessage.getTo().remove(place.getParameters().getUser().getName());
+                                       
oldMessage.getTo().remove(user.getName());
                                }
                                display.getTo().setText(oldMessage.getFrom());
                        }
@@ -532,10 +545,13 @@ public class ComposeActivity extends App
                return ret;
        }
        private void bindTo(EventBus eventBus) {
-
+               eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+                       public void onLogin(LoginEvent event) {
+                               user = event.getUser();
+                       }
+               });
                
registerHandler(display.getSendClick().addClickHandler(sendClickHandler));
                
registerHandler(display.getCancelClick().addClickHandler(cancelClickHandler));
-               
 
                registerHandler(display.getCcClick().addClickHandler(new 
ClickHandler() {
                        @Override
@@ -653,13 +669,13 @@ public class ComposeActivity extends App
                        }
                }
        };
-       
-       private ClickHandler cancelClickHandler = new ClickHandler(){
+
+       private ClickHandler cancelClickHandler = new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                        History.back();
                }
-               
+
        };
 
 >>>>>>> coping with reply and forward sending message
@@ -669,6 +685,7 @@ public class ComposeActivity extends App
                                return;
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                        hupaController.showTopLoading("Sending...");
 
                        if ("new".equals(place.getToken())) {
@@ -695,6 +712,9 @@ public class ComposeActivity extends App
                        
message.setBcc(emailTextToArray(display.getBccText().getText()));
 =======
 >>>>>>> coping with java.lang.IllegalArgumentException: uid
+=======
+                       hupaController.showTopLoading("Sending...");
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 
                        if ("new".equals(place.getToken())) {
                                SendMessageRequest sendReq = 
requestFactory.sendMessageRequest();
@@ -757,7 +777,7 @@ public class ComposeActivity extends App
                                SendForwardMessageAction action = 
req.create(SendForwardMessageAction.class);
                                action.setMessage(parseMessage(req));
                                ImapFolder f = req.create(ImapFolder.class);
-                               
f.setFullName(place.getParameters().getFolder().getFullName());
+                               
f.setFullName(place.getParameters().getFolderName());
                                action.setFolder(f);
                                
action.setUid(place.getParameters().getOldmessage().getUid());
                                req.send(action).fire(new 
Receiver<GenericResult>() {
@@ -824,7 +844,7 @@ public class ComposeActivity extends App
                                SendReplyMessageAction action = 
replyReq.create(SendReplyMessageAction.class);
                                action.setMessage(parseMessage(replyReq));
                                ImapFolder folder = 
replyReq.create(ImapFolder.class);
-                               
folder.setFullName(place.getParameters().getFolder().getFullName());
+                               
folder.setFullName(place.getParameters().getFolderName());
                                action.setFolder(folder);
                                
action.setUid(place.getParameters().getOldmessage().getUid());
                                replyReq.send(action).fire(new 
Receiver<GenericResult>() {
@@ -916,6 +936,7 @@ public class ComposeActivity extends App
 
        private void afterSend(GenericResult response) {
 <<<<<<< HEAD
+<<<<<<< HEAD
                hupaController.hideTopLoading();
                hupaController.showNotice("Your mail has been sent.", 10000);
                History.back();
@@ -953,6 +974,11 @@ public class ComposeActivity extends App
                void fillContactList(String[] contacts);
 =======
                Window.alert("//TODO send result is: " + response.isSuccess());
+=======
+               hupaController.hideTopLoading();
+               hupaController.showNotice("Your mail has been sent.", 10000);
+               History.back();
+>>>>>>> fixed issue#61; add loading to mark, unmark.
        }
 
        public interface Displayable extends WidgetDisplayable {

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
 Thu Sep 12 04:26:53 2013
@@ -266,7 +266,11 @@ import org.apache.hupa.client.rf.FetchMe
 import org.apache.hupa.client.rf.GetMessageDetailsRequest;
 import org.apache.hupa.client.rf.HupaRequestFactory;
 import org.apache.hupa.client.ui.MessagesCellTable;
+<<<<<<< HEAD
 >>>>>>> let messages list activity make use of mvp
+=======
+import org.apache.hupa.client.ui.ToolBarView;
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 import org.apache.hupa.client.ui.WidgetDisplayable;
 import org.apache.hupa.shared.data.ImapFolderImpl;
 import org.apache.hupa.shared.domain.DeleteMessageByUidAction;
@@ -324,9 +328,16 @@ public class MessageListActivity extends
                                        req.get(action).fire(new 
Receiver<GetMessageDetailsResult>() {
                                                @Override
                                                public void 
onSuccess(GetMessageDetailsResult response) {
-                                                       eventBus.fireEvent(new 
ExpandMessageEvent(user, new ImapFolderImpl(folderName), event.getValue(), 
response
-                                                                       
.getMessageDetails()));
-                                                       
placeController.goTo(new MailFolderPlace(f.getFullName() + "/" + 
event.getValue().getUid()));
+                                                       eventBus.fireEvent(new 
ExpandMessageEvent(user, new ImapFolderImpl(folderName), event
+                                                                       
.getValue(), response.getMessageDetails()));
+                                                       
display.getGrid().getSelectionModel().setSelected(event.getValue(), true);
+                                                       
toolBar.enableAllTools(true);
+                                                       ToolBarView.Parameters 
p = new ToolBarView.Parameters(user, folderName, event.getValue(),
+                                                                       
response.getMessageDetails());
+                                                       
toolBar.setParameters(p);
+                                                       MailFolderPlace place = 
new MailFolderPlace(f.getFullName() + "/"
+                                                                       + 
event.getValue().getUid());
+                                                       
placeController.goTo(place);
                                                }
 
                                                @Override
@@ -335,6 +346,7 @@ public class MessageListActivity extends
                                                                // 
log.log(Level.SEVERE, error.getMessage());
                                                                // TODO write 
the error message to
                                                                // status bar.
+                                                               
toolBar.enableAllTools(false);
                                                                throw new 
RuntimeException(error.getMessage());
                                                        }
                                                }
@@ -381,10 +393,10 @@ public class MessageListActivity extends
                                
display.getGrid().setRowCount(result.getRealCount());
                                display.getGrid().setRowData(start, 
result.getMessages());
                                Scheduler.get().scheduleDeferred(new 
ScheduledCommand() {
-                                   @Override
-                                   public void execute() {
-                                       topBar.hideLoading();
-                                   }
+                                       @Override
+                                       public void execute() {
+                                               topBar.hideLoading();
+                                       }
                                });
                        }
 
@@ -444,9 +456,11 @@ public class MessageListActivity extends
        }
 
        private void antiSelectMessages(Collection<Message> c) {
+               toolBar.enableAllTools(false);
                for (Message msg : c) {
+                       if 
(!display.getGrid().getSelectionModel().isSelected(msg))
+                               continue;
                        display.getGrid().getSelectionModel().setSelected(msg, 
false);
-                       toolBar.enableAllTools(false);
                }
        }
        public void deleteSelectedMessages() {

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
 Thu Sep 12 04:26:53 2013
@@ -27,8 +27,12 @@ import java.util.ArrayList;
 import java.util.List;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.place.FolderPlace;
 =======
+=======
+import org.apache.hupa.client.HupaController;
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 import org.apache.hupa.client.place.MailFolderPlace;
 >>>>>>> fixed issue#59, coupled with fixing some UI refreshment issues in 
 >>>>>>> toolsbar
 import org.apache.hupa.client.rf.SetFlagRequest;
@@ -190,6 +194,7 @@ public class ToolBarActivity extends App
        @Inject private MessagesCellTable table;
        @Inject private MessageListActivity.Displayable messagesDisplay;
        @Inject private MessageListActivity messageListActivity;
+       @Inject private HupaController hupaController;
        //FIXME messagesDisplay can not be injected into ToolBarView, why?
        private String folderName;
 
@@ -213,18 +218,17 @@ public class ToolBarActivity extends App
        private void bindTo(EventBus eventBus) {
                registerHandler(display.getMark().addClickHandler(new 
ClickHandler() {
                        public void onClick(ClickEvent event) {
-                               // Reposition the popup relative to the button
                                Widget source = (Widget) event.getSource();
                                int left = source.getAbsoluteLeft();
                                int top = source.getAbsoluteTop() + 
source.getOffsetHeight();
                                display.getPopup().setPopupPosition(left, top);
-                               // Show the popup
                                display.getPopup().show();
                        }
                }));
                registerHandler(display.getMarkRead().addClickHandler(new 
ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
+                               hupaController.showTopLoading("Loading");
                                toMarkRead(true);
                                display.getPopup().hide();
                        }
@@ -232,6 +236,7 @@ public class ToolBarActivity extends App
                registerHandler(display.getMarkUnread().addClickHandler(new 
ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
+                               hupaController.showTopLoading("Loading");
                                toMarkRead(false);
                                display.getPopup().hide();
                        }
@@ -266,7 +271,9 @@ public class ToolBarActivity extends App
                req.set(action).fire(new Receiver<GenericResult>() {
                        @Override
                        public void onSuccess(GenericResult response) {
+                               hupaController.hideTopLoading();
                                table.refresh();
+                               table.setStyleBaseOnTag();
                        }
                });
        }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java
 Thu Sep 12 04:26:53 2013
@@ -244,7 +244,7 @@ public class TopBarActivity extends AppB
                HasClickHandlers getLogoutClick();
                void showUserName(String userName);
                HTMLPanel getUserLabel();
-               void showLoading();
+               void showLoading(String message);
                void hideLoading();
        }
 >>>>>>> add logout support

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
 Thu Sep 12 04:26:53 2013
@@ -347,6 +347,7 @@ public class AppGinModule extends Abstra
                
bind(MessageContentActivity.Displayable.class).to(MessageContentView.class);
                bind(StatusActivity.Displayable.class).to(StatusView.class);
                
bind(ComposeToolBarActivity.Displayable.class).to(ComposeToolBarView.class);
+<<<<<<< HEAD
                bind(ComposeActivity.Displayable.class).to(ComposeView.class);
                
bind(SearchBoxActivity.Displayable.class).to(SearchBoxView.class);
                
@@ -355,6 +356,9 @@ public class AppGinModule extends Abstra
                
bind(LabelPropertiesActivity.Displayable.class).to(LabelPropertiesView.class).in(Singleton.class);
                
bind(ContactsListActivity.Displayable.class).to(ContactsListView.class).in(Singleton.class);
                
bind(ContactPropertiesActivity.Displayable.class).to(ContactPropertiesView.class).in(Singleton.class);
+=======
+               
bind(ComposeActivity.Displayable.class).to(ComposeView.class).in(Singleton.class);
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 
                bind(LoginActivity.class).in(Singleton.class);
                bind(TopBarActivity.class).in(Singleton.class);
@@ -541,10 +545,14 @@ public class AppGinModule extends Abstra
 =======
                
bind(TopActivity.Displayable.class).to(TopView.class).in(Singleton.class);
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> try to fix some issues by reorganize the activity mapper and place 
 >>>>>>> controller
 =======
                
bind(FolderListActivity.Displayable.class).to(FolderListView.class);
 >>>>>>> fixed issue#45, issue#47, issue#51. change the layout of composite, 
 >>>>>>> don't use contact instead of folders list
+=======
+               
bind(FolderListActivity.Displayable.class).to(FolderListView.class).in(Singleton.class);
+>>>>>>> fixed issue#61; add loading to mark, unmark.
                
bind(WestActivity.Displayable.class).to(WestView.class).in(Singleton.class);
                
bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
                
bind(MessageSendActivity.Displayable.class).to(MessageSendView.class);

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
 Thu Sep 12 04:26:53 2013
@@ -45,7 +45,7 @@ public class ComposeActivityMapper imple
                if (!(place instanceof ComposePlace))
                        return null;
                final ComposePlace composePlace = (ComposePlace)place;
-//             if(composePlace.getParameters() == null) return null;
+               if(composePlace.getParameters() == null) return null;
 //             if(composePlace.getParameters() == null){
 //                     placeController.goTo(new MailFolderPlace("Mock-Inbox"));
 //             }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
 Thu Sep 12 04:26:53 2013
@@ -69,8 +69,7 @@ public class FoldersTreeViewModel implem
                        @SuppressWarnings("unchecked")
                        @Override
                        public void onSelectionChange(SelectionChangeEvent 
event) {
-                               topBar.showLoading();//FIXME delay to show, why
-                               controller.showNotice("Hi, this is the 
notification test.<a href='http://g.cn/' target='_blacnk'>Link</a>", 10000);
+                               topBar.showLoading("loading");//FIXME delay to 
show, why
                                SingleSelectionModel<ImapFolder> selectionModel 
= (SingleSelectionModel<ImapFolder>) event.getSource();
                                currentFolder = 
selectionModel.getSelectedObject();
                                eventBus.fireEvent(new LoadMessagesEvent(user, 
selectionModel.getSelectedObject()));

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
 Thu Sep 12 04:26:53 2013
@@ -609,19 +609,14 @@ public class MessagesCellTable extends D
                addColumn(dateCol, constants.mailTableDate());
                setColumnWidth(dateCol, 10, Unit.EM);
                setRowCount(PAGE_SIZE, false);
-               setRowStyles(new RowStyles<Message>() {
-                       @Override
-                       public String getStyleNames(Message row, int rowIndex) {
-                               return getMessageStyle(row);
-                       }
-               });
+               this.setStyleBaseOnTag();
                // redraw();
                setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
                setAutoHeaderRefreshDisabled(true);
                setSelectionModel(selectionModel, 
DefaultSelectionEventManager.<Message> createCheckboxManager(0));
        }
 
-       private String getMessageStyle(Message row) {
+       public String getMessageStyle(Message row) {
                return haveRead(row) ? getReadStyle() : getUnreadStyle();
        }
        private String getUnreadStyle() {
@@ -636,18 +631,21 @@ public class MessagesCellTable extends D
                return row.getFlags().contains(IMAPFlag.SEEN);
        }
        public void markRead(final Message message, final boolean read) {
+               setStyleBasedOnSelected(read);
+               flush();
+       }
 
+       private void setStyleBasedOnSelected(final boolean read) {
                setRowStyles(new RowStyles<Message>() {
                        @Override
                        public String getStyleNames(Message row, int rowIndex) {
-                               if (message.equals(row)) {
+                               if (getSelectionModel().isSelected(row)) {
                                        return (read ? getReadStyle() : 
getUnreadStyle());
                                } else {
                                        return getMessageStyle(row);// keep 
original
                                }
                        }
                });
-               flush();
        }
 
        public class CheckboxColumn extends Column<Message, Boolean> {
@@ -659,9 +657,7 @@ public class MessagesCellTable extends D
                                public void update(int index, Message object, 
Boolean value) {
                                        selectionModel.setSelected(object, 
value);
                                        int size = 
selectionModel.getSelectedSet().size();
-                                       if (size == 1) {
-                                               
toolBarDisplay.enableAllTools(true);
-                                       } else if (size > 1) {
+                                       if (size >= 1) {
                                                
toolBarDisplay.enableDealingTools(true);
                                                
toolBarDisplay.enableSendingTools(false);
                                        } else {
@@ -729,5 +725,14 @@ public class MessagesCellTable extends D
                flush();
        }
 
+       public void setStyleBaseOnTag() {
+               setRowStyles(new RowStyles<Message>() {
+                       @Override
+                       public String getStyleNames(Message row, int rowIndex) {
+                               return getMessageStyle(row);
+                       }
+               });
+       }
+
 }
 >>>>>>> fix some bugs related to RF, and try to use new CellView to replace 
 >>>>>>> gwt-incubator 

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
 Thu Sep 12 04:26:53 2013
@@ -28,6 +28,7 @@ import org.apache.hupa.client.place.Comp
 <<<<<<< HEAD
 <<<<<<< HEAD
 import org.apache.hupa.client.rf.HupaRequestFactory;
+<<<<<<< HEAD
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageDetails;
 import org.apache.hupa.shared.domain.User;
@@ -48,6 +49,8 @@ import org.apache.hupa.shared.domain.Del
 =======
 >>>>>>> fixed issue#59, coupled with fixing some UI refreshment issues in 
 >>>>>>> toolsbar
 import org.apache.hupa.shared.domain.ImapFolder;
+=======
+>>>>>>> fixed issue#61; add loading to mark, unmark.
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageDetails;
 <<<<<<< HEAD
@@ -427,13 +430,13 @@ public class ToolBarView extends Composi
 
        public static class Parameters {
                private User user;
-               private ImapFolder folder;
+               private String folderName;
                private Message oldmessage;
                private MessageDetails oldDetails;
 
-               public Parameters(User user, ImapFolder folder, Message 
oldmessage, MessageDetails oldDetails) {
+               public Parameters(User user, String folderName, Message 
oldmessage, MessageDetails oldDetails) {
                        this.user = user;
-                       this.folder = folder;
+                       this.folderName = folderName;
                        this.oldmessage = oldmessage;
                        this.oldDetails = oldDetails;
                }
@@ -446,12 +449,12 @@ public class ToolBarView extends Composi
                        this.user = user;
                }
 
-               public ImapFolder getFolder() {
-                       return folder;
+               public String getFolderName() {
+                       return folderName;
                }
 
-               public void setFolder(ImapFolder folder) {
-                       this.folder = folder;
+               public void setFolderName(String folderName) {
+                       this.folderName = folderName;
                }
 
                public Message getOldmessage() {

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java 
Thu Sep 12 04:26:53 2013
@@ -49,9 +49,13 @@ public class TopBarView extends Composit
        @UiField HTMLPanel userLabel;
        @UiField SimplePanel loading;
 <<<<<<< HEAD
+<<<<<<< HEAD
        @UiField HTML loadingRegion;
 =======
 >>>>>>> add loading and notification bar(finishing the folder list click 
 >>>>>>> event), related to the issue#18
+=======
+       @UiField HTML loadingRegion;
+>>>>>>> fixed issue#61; add loading to mark, unmark.
        
        @UiField Style style;
 
@@ -139,12 +143,14 @@ public class TopBarView extends Composit
 >>>>>>> fill the empty compose view with the old message when the composing 
 >>>>>>> type are reply, replyAll, forward and preparing for about & deleting 
 >>>>>>> operation
 
        @Override
-       public void showLoading(){
+       public void showLoading(String message){
+               loadingRegion.setHTML(message);
                loading.removeStyleName(style.hideLoading());
        }
        
        @Override
        public void hideLoading(){
+               loadingRegion.setHTML("");
                loading.addStyleName(style.hideLoading());
        }
        

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml?rev=1522348&r1=1522347&r2=1522348&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml
 Thu Sep 12 04:26:53 2013
@@ -136,8 +136,8 @@
                </g:west>
                <g:center>
                        <g:SimplePanel addStyleNames="{style.hideLoading} 
{style.loadingPosition} {style.textCenter}" ui:field="loading">
-                               <g:HTMLPanel 
addStyleNames="{style.fontFeel}">Loading...
-                               </g:HTMLPanel>
+                               <g:HTML ui:field="loadingRegion" 
addStyleNames="{style.fontFeel}">Loading...
+                               </g:HTML>
                        </g:SimplePanel>
                </g:center>
                <g:east size="300">



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to