[Mono-docs-list] Patch for pasting in monodoc
Peter Williams
peter@newton.cx
Wed, 28 Jul 2004 00:21:42 -0400
--=-BYlfrw8QERTZxR1TmBT0
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Hi,
The attached patch adds a menu item to allow pasting when editing in
Monodoc. Otherwise it's disabled. Ok for me to commit?
Peter
--
Peter Williams peter@newton.cx
"[Ninjas] are cool; and by cool, I mean totally sweet."
-- REAL Ultimate Power
--=-BYlfrw8QERTZxR1TmBT0
Content-Disposition: attachment; filename=pasting.diff
Content-Type: text/x-patch; name=pasting.diff; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Index: browser/ChangeLog
===================================================================
RCS file: /cvs/public/monodoc/browser/ChangeLog,v
retrieving revision 1.133
diff -u -r1.133 ChangeLog
--- browser/ChangeLog 27 Jul 2004 02:49:45 -0000 1.133
+++ browser/ChangeLog 28 Jul 2004 03:15:29 -0000
@@ -1,3 +1,9 @@
+2004-07-28 Peter Williams <peter@newton.cx>
+
+ * browser.cs: Add support for pasting from the clipboard.
+
+ * browser.glade: Add a Paste menu item.
+
2004-07-26 Ben Maurer <bmaurer@ximian.com>
* mono-ecma.xsl: rendering editing urls is fairly slow, so limit
Index: browser/browser.cs
===================================================================
RCS file: /cvs/public/monodoc/browser/browser.cs,v
retrieving revision 1.106
diff -u -r1.106 browser.cs
--- browser/browser.cs 23 Jun 2004 16:58:49 -0000 1.106
+++ browser/browser.cs 28 Jul 2004 03:15:29 -0000
@@ -106,6 +106,7 @@
[Glade.Widget] CheckMenuItem showinheritedmembers;
[Glade.Widget] CheckMenuItem comments1;
[Glade.Widget] MenuItem postcomment;
+ [Glade.Widget] MenuItem paste1;
[Glade.Widget] MenuItem bookmarksMenu;
@@ -228,6 +229,8 @@
text_editor.Buffer.Changed += new EventHandler (EditedTextChanged);
text_editor.WrapMode = WrapMode.Word;
+ paste1.Sensitive = false;
+
//
// Other bits
//
@@ -263,10 +266,13 @@
if (browser_mode == m)
return;
- if (m == Mode.Viewer)
+ if (m == Mode.Viewer) {
html_and_editor_notebook.Page = 0;
- else
+ paste1.Sensitive = false;
+ } else {
html_and_editor_notebook.Page = 1;
+ paste1.Sensitive = true;
+ }
browser_mode = m;
}
@@ -557,6 +563,21 @@
void OnCopyActivate (object sender, EventArgs a)
{
html.Copy ();
+ }
+
+ //
+ // Invoked by Edit/Paste menu entry.
+ //
+ void OnPasteActivate (object sender, EventArgs a)
+ {
+ Clipboard cb = Clipboard.Get (Gdk.Selection.Clipboard);
+
+ if (!cb.WaitIsTextAvailable ())
+ return;
+
+ string text = cb.WaitForText ();
+
+ text_editor.Buffer.InsertAtCursor (text);
}
class About {
Index: browser/browser.glade
===================================================================
RCS file: /cvs/public/monodoc/browser/browser.glade,v
retrieving revision 1.49
diff -u -r1.49 browser.glade
--- browser/browser.glade 23 Jun 2004 14:00:25 -0000 1.49
+++ browser/browser.glade 28 Jul 2004 03:15:30 -0000
@@ -122,6 +122,28 @@
</widget>
</child>
+ <child>
+ <widget class="GtkImageMenuItem" id="paste1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Paste</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="OnPasteActivate" last_modification_time="Wed, 28 Jul 2004 03:59:03 GMT"/>
+ <accelerator key="V" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image132">
+ <property name="visible">True</property>
+ <property name="stock">gtk-paste</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
<child>
<widget class="GtkMenuItem" id="select_all1">
<property name="visible">True</property>
--=-BYlfrw8QERTZxR1TmBT0--