Author: yurize
Date: Fri Aug  3 11:16:10 2012
New Revision: 1368892

URL: http://svn.apache.org/viewvc?rev=1368892&view=rev
Log:
Adds  Done button to finish editing. By Vicente J. Ruiz Jurado.
https://reviews.apache.org/r/6336

Modified:
    
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/edit/EditSession.java
    
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/menu/MenuController.java
    
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/IntrinsicBlipMetaView.java
    
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/BlipMetaViewBuilder.java

Modified: 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/edit/EditSession.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/edit/EditSession.java?rev=1368892&r1=1368891&r2=1368892&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/edit/EditSession.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/edit/EditSession.java
 Fri Aug  3 11:16:10 2012
@@ -154,8 +154,9 @@ public final class EditSession
 
     // Find the document.
     ContentDocument document = 
documents.get(views.getBlip(blipUi)).getDocument();
+    
blipUi.getMeta().enable(BlipMetaViewBuilder.ENABLED_WHILE_EDITING_MENU_OPTIONS_SET);
     
blipUi.getMeta().disable(BlipMetaViewBuilder.DISABLED_WHILE_EDITING_MENU_OPTIONS_SET);
-    blipUi.getMeta().select(MenuOption.EDIT);
+    blipUi.getMeta().select(MenuOption.EDIT_DONE);
 
     // Create or re-use and editor for it.
     editor = Editors.attachTo(document);
@@ -197,8 +198,9 @@ public final class EditSession
       editor.reset();
       // TODO(user): this does not work if the view has been deleted and
       // detached.
-      editing.getMeta().deselect(MenuOption.EDIT);
+      editing.getMeta().deselect(MenuOption.EDIT_DONE);
       
editing.getMeta().enable(BlipMetaViewBuilder.DISABLED_WHILE_EDITING_MENU_OPTIONS_SET);
+      
editing.getMeta().disable(BlipMetaViewBuilder.ENABLED_WHILE_EDITING_MENU_OPTIONS_SET);
       Editor oldEditor = editor;
       BlipView oldEditing = editing;
       editor = null;

Modified: 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/menu/MenuController.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/menu/MenuController.java?rev=1368892&r1=1368891&r2=1368892&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/menu/MenuController.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/menu/MenuController.java
 Fri Aug  3 11:16:10 2012
@@ -64,11 +64,10 @@ public final class MenuController implem
     BlipMenuItemView item = panel.asBlipMenuItem(context);
     switch (item.getOption()) {
       case EDIT:
-        if (item.isSelected()) {
-          actions.stopEditing();
-        } else {
-          actions.startEditing(item.getParent().getParent());
-        }
+        actions.startEditing(item.getParent().getParent());
+        break;
+      case EDIT_DONE:
+        actions.stopEditing();
         break;
       case REPLY:
         actions.reply(item.getParent().getParent());

Modified: 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/IntrinsicBlipMetaView.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/IntrinsicBlipMetaView.java?rev=1368892&r1=1368891&r2=1368892&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/IntrinsicBlipMetaView.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/IntrinsicBlipMetaView.java
 Fri Aug  3 11:16:10 2012
@@ -34,7 +34,9 @@ public interface IntrinsicBlipMetaView {
     /** Option to link to this blip. */
     LINK,
     /** Option to edit this blip. */
-    EDIT,;
+    EDIT,
+    /** Option to finish edit this blip. */
+    EDIT_DONE,;
   }
 
   /**

Modified: 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/BlipMetaViewBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/BlipMetaViewBuilder.java?rev=1368892&r1=1368891&r2=1368892&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/BlipMetaViewBuilder.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/view/dom/full/BlipMetaViewBuilder.java
 Fri Aug  3 11:16:10 2012
@@ -46,6 +46,7 @@ import java.util.Set;
  */
 public final class BlipMetaViewBuilder implements UiBuilder, 
IntrinsicBlipMetaView {
 
+
   /** An enum for all the components of a blip view. */
   public enum Components implements Component {
     /** The avatar element. */
@@ -85,17 +86,23 @@ public final class BlipMetaViewBuilder i
 
   public static final String OPTION_ID_ATTRIBUTE = "o";
   public static final String OPTION_SELECTED_ATTRIBUTE = "s";
-  public final static Set<MenuOption> DISABLED_WHILE_EDITING_MENU_OPTIONS_SET 
= EnumSet.of(
+  private static final EnumSet<MenuOption> MENU_OPTIONS_BEFORE_EDITING = 
EnumSet.of(
       IntrinsicBlipMetaView.MenuOption.REPLY, 
IntrinsicBlipMetaView.MenuOption.DELETE,
+      IntrinsicBlipMetaView.MenuOption.EDIT,
       IntrinsicBlipMetaView.MenuOption.LINK);
+  public final static Set<MenuOption> ENABLED_WHILE_EDITING_MENU_OPTIONS_SET = 
EnumSet.of(
+      IntrinsicBlipMetaView.MenuOption.EDIT_DONE);
+  public final static Set<MenuOption> DISABLED_WHILE_EDITING_MENU_OPTIONS_SET 
= MENU_OPTIONS_BEFORE_EDITING;
 
 
   static {
     MENU_CODES.put(MenuOption.EDIT, EscapeUtils.fromSafeConstant("e"));
+    MENU_CODES.put(MenuOption.EDIT_DONE, EscapeUtils.fromSafeConstant("x"));
     MENU_CODES.put(MenuOption.REPLY, EscapeUtils.fromSafeConstant("r"));
     MENU_CODES.put(MenuOption.DELETE, EscapeUtils.fromSafeConstant("d"));
     MENU_CODES.put(MenuOption.LINK, EscapeUtils.fromSafeConstant("l"));
     MENU_LABELS.put(MenuOption.EDIT, EscapeUtils.fromSafeConstant("Edit"));
+    MENU_LABELS.put(MenuOption.EDIT_DONE, 
EscapeUtils.fromSafeConstant("Done"));
     MENU_LABELS.put(MenuOption.REPLY, EscapeUtils.fromSafeConstant("Reply"));
     MENU_LABELS.put(MenuOption.DELETE, EscapeUtils.fromSafeConstant("Delete"));
     MENU_LABELS.put(MenuOption.LINK, EscapeUtils.fromSafeConstant("Link"));
@@ -121,7 +128,7 @@ public final class BlipMetaViewBuilder i
   private String metaline;
   private String avatarUrl;
   private boolean read = true;
-  private final Set<MenuOption> options = EnumSet.allOf(MenuOption.class);
+  private final Set<MenuOption> options = MENU_OPTIONS_BEFORE_EDITING;
   private final Set<MenuOption> selected = EnumSet.noneOf(MenuOption.class);
 
   //


Reply via email to