Author: yurize
Date: Fri Mar 30 09:07:42 2012
New Revision: 1307323
URL: http://svn.apache.org/viewvc?rev=1307323&view=rev
Log:
Allows to create a link with current selection. By Ali Lown.
https://reviews.apache.org/r/4229/
Modified:
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
Modified:
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
URL:
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java?rev=1307323&r1=1307322&r2=1307323&view=diff
==============================================================================
---
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
(original)
+++
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
Fri Mar 30 09:07:42 2012
@@ -56,9 +56,11 @@ import org.waveprotocol.wave.client.widg
import org.waveprotocol.wave.client.widget.toolbar.buttons.ToolbarToggleButton;
import org.waveprotocol.wave.media.model.AttachmentIdGenerator;
import org.waveprotocol.wave.media.model.AttachmentIdGeneratorImpl;
+import org.waveprotocol.wave.model.document.util.DocHelper;
import org.waveprotocol.wave.model.document.util.FocusedRange;
import org.waveprotocol.wave.model.document.util.LineContainers;
import org.waveprotocol.wave.model.document.util.Point;
+import org.waveprotocol.wave.model.document.util.Range;
import org.waveprotocol.wave.model.document.util.XmlStringBuilder;
import org.waveprotocol.wave.model.id.IdGenerator;
import org.waveprotocol.wave.model.id.WaveId;
@@ -425,18 +427,27 @@ public class EditToolbar {
Window.alert("Select some text to create a link.");
return;
}
- String rawLinkValue =
- Window.prompt("Enter link: URL or Wave ID.",
WaveRefConstants.WAVE_URI_PREFIX);
- // user hit "ESC" or "cancel"
- if (rawLinkValue == null) {
- return;
- }
try {
- String linkAnnotationValue =
Link.normalizeLink(rawLinkValue);
+ // We try to create a link with the current selection, if
fails, we ask for a link
+ Range rg = range.asRange();
+ String text = DocHelper.getText(editor.getDocument(),
rg.getStart(), rg.getEnd());
+ String linkAnnotationValue = Link.normalizeLink(text);
EditorAnnotationUtil.setAnnotationOverSelection(editor,
Link.KEY,
linkAnnotationValue);
} catch (InvalidLinkException e) {
- Window.alert(e.getLocalizedMessage());
+ String rawLinkValue =
+ Window.prompt("Enter link: URL or Wave ID.",
WaveRefConstants.WAVE_URI_PREFIX);
+ // user hit "ESC" or "cancel"
+ if (rawLinkValue == null) {
+ return;
+ }
+ try {
+ String linkAnnotationValue =
Link.normalizeLink(rawLinkValue);
+ EditorAnnotationUtil.setAnnotationOverSelection(editor,
Link.KEY,
+ linkAnnotationValue);
+ } catch (InvalidLinkException e2) {
+ Window.alert(e2.getLocalizedMessage());
+ }
}
}
});