aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjnarboux2008-06-09 09:15:09 +0000
committerjnarboux2008-06-09 09:15:09 +0000
commit22dd6ed6321cb8298aa119565f43c2309b27a5eb (patch)
tree22c572b8228f6b316ca12cc0401b5c2583252a6a
parent29863a4dc9feeb75a184587b7b994626db7b94ce (diff)
add confirmation dialog for printing
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11074 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--ide/coqide.ml37
1 files changed, 34 insertions, 3 deletions
diff --git a/ide/coqide.ml b/ide/coqide.ml
index 1906537f6d..7d664511f1 100644
--- a/ide/coqide.ml
+++ b/ide/coqide.ml
@@ -2060,10 +2060,41 @@ let main files =
!current.cmd_coqdoc ^ " -ps " ^ Filename.quote (Filename.basename f) ^
" | " ^ !current.cmd_print
in
- let s,_ = run_command av#insert_message cmd in
- !flash_info (cmd ^ if s = Unix.WEXITED 0 then " succeeded" else " failed")
+ let print_window = GWindow.window
+ ~title:"Print"
+ ~modal:true
+ ~position:`CENTER
+ ~wm_class:"CodIDE"
+ ~wm_name: "CodIDE" () in
+ let vbox_print = GPack.vbox
+ ~spacing:10
+ ~border_width:10
+ ~packing:print_window#add () in
+ let _ = GMisc.label
+ ~justify:`LEFT
+ ~text:"Print using the following command:"
+ ~packing:vbox_print#add () in
+ let print_entry = GEdit.entry
+ ~text:cmd
+ ~editable:true
+ ~width_chars:80
+ ~packing:vbox_print#add () in
+ let hbox_print = GPack.hbox
+ ~spacing:10
+ ~packing:vbox_print#add () in
+ let print_cancel_button = GButton.button ~stock:`CANCEL ~label:"Cancel" ~packing:hbox_print#add () in
+ let print_button = GButton.button ~stock:`PRINT ~label:"Print" ~packing:hbox_print#add () in
+ let callback_print () =
+ let cmd = print_entry#text in
+ let s,_ = run_command av#insert_message cmd in
+ !flash_info (cmd ^ if s = Unix.WEXITED 0 then " succeeded" else " failed");
+ print_window#destroy ()
+ in
+ ignore (print_cancel_button#connect#clicked ~callback:print_window#destroy) ;
+ ignore (print_button#connect#clicked ~callback:callback_print);
+ print_window#misc#show();
in
- let _ = file_factory#add_item "_Print"
+ let _ = file_factory#add_item "_Print..."
~key:GdkKeysyms._P
~callback:print_f in