]> matita.cs.unibo.it Git - helm.git/commitdiff
The edit menu items (copy/cut/delete/paste) are now sensitive to the
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 25 Jul 2005 13:35:24 +0000 (13:35 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 25 Jul 2005 13:35:24 +0000 (13:35 +0000)
selection/existence of textual data in the clipboard.

helm/matita/matita.txt
helm/matita/matitaGui.ml

index 9372b0a12c137bcba9377f54afca2bd890563650..c08253e829ff03f24651c8ee5399757988cb8a7d 100644 (file)
@@ -59,8 +59,7 @@ TODO
   - keybinding globali: CTRL-{su,giu,...} devono fungere anche quando altre
     finestre hanno il focus (e.g. cicBrowser). C'e' gia' da qualche parte il
     codice che aggiunge i keybinding a tutte le eventBox, e' da ripristinare
-  - sensitiveness per copy/paste/cut/delete nel menu Edit
-  - sensitiveness per goto begin/end/etc.
+  - sensitiveness per goto begin/end/etc. (???)
 
   - menu contestuale (tasto dx) nel sequent viewer
   - feedback su hyperlink nei sequenti e nel browser: rendere visibili gli
@@ -81,6 +80,7 @@ TODO
   - non chiudere transitivamente i moo ?? 
 
 DONE
+- sensitiveness per copy/paste/cut/delete nel menu Edit -> CSC
 - fare "matita foo" (dove foo non esiste), cambiare qualcosa e uscire senza
   salvare. In verita' foo e' stato scritto lo stesso! -> CSC
 - matitaclean deve rimuovere anche i .moo; in alternativa il makefile
index f83e01913d7fb1c26281e4ef5a60492e39301b67..7eaf239e1680cade11e6a10d27000182a0ac8013 100644 (file)
@@ -331,6 +331,18 @@ class gui () =
       let clipboard =
        let atom = Gdk.Atom.clipboard in
         GData.clipboard atom in
+      ignore(self#main#editMenu#connect#activate
+        ~callback:
+          (fun () ->
+            let something_selected =
+              (source_buffer#get_iter_at_mark `INSERT)#compare
+              (source_buffer#get_iter_at_mark `SEL_BOUND) <> 0
+            in
+             self#main#cutMenuItem#misc#set_sensitive something_selected;
+             self#main#copyMenuItem#misc#set_sensitive something_selected;
+             self#main#deleteMenuItem#misc#set_sensitive something_selected;
+             self#main#pasteMenuItem#misc#set_sensitive (clipboard#text <> None)
+          ));
       ignore(self#main#cutMenuItem#connect#activate
         ~callback:(fun () -> source_view#buffer#cut_clipboard clipboard));
       ignore(self#main#copyMenuItem#connect#activate