537 |
~modi:[`CONTROL] ~flags:[`VISIBLE] GdkKeysyms._k; |
~modi:[`CONTROL] ~flags:[`VISIBLE] GdkKeysyms._k; |
538 |
end; |
end; |
539 |
let im = |
let im = |
540 |
GMenu.image_menu_item ~label:!M.mW_lb_im ~use_mnemonic:true |
GMenu.image_menu_item ~label:!M.mW_me_im ~use_mnemonic:true |
541 |
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_im ~size:A.SMALL ()) ()) |
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_im ~size:A.SMALL ()) ()) |
542 |
~packing:menu#add () |
~packing:menu#add () |
543 |
in |
in |
619 |
(fun _ -> GuiCom.send KillServer |
(fun _ -> GuiCom.send KillServer |
620 |
)); |
)); |
621 |
end; |
end; |
622 |
|
let restore = |
623 |
|
GMenu.image_menu_item ~label:!M.mW_me_restore ~use_mnemonic:true |
624 |
|
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_interfaces ~size:A.SMALL ()) ()) |
625 |
|
~packing:menu#add () |
626 |
|
in |
627 |
let im = |
let im = |
628 |
GMenu.image_menu_item ~label:!M.mW_lb_im ~use_mnemonic:true |
GMenu.image_menu_item ~label:!M.mW_me_im ~use_mnemonic:true |
629 |
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_im ~size:A.SMALL ()) ()) |
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_im ~size:A.SMALL ()) ()) |
630 |
~packing:menu#add () |
~packing:menu#add () |
631 |
in |
in |
639 |
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_quit ~size:A.SMALL ()) ()) |
~image:(GMisc.image ~pixbuf:(A.get_icon ~icon:M.icon_menu_quit ~size:A.SMALL ()) ()) |
640 |
~packing:menu#add () |
~packing:menu#add () |
641 |
in |
in |
642 |
|
ignore (restore#connect#activate |
643 |
|
(fun _ -> |
644 |
|
gui.window#show (); |
645 |
|
G.tray.destroy_tray (); |
646 |
|
)); |
647 |
ignore (im#connect#activate |
ignore (im#connect#activate |
648 |
(fun _ -> GuiWindow.display_im gui () |
(fun _ -> GuiWindow.display_im gui () |
649 |
)); |
)); |
813 |
|
|
814 |
ignore (w#event#connect#delete ~callback: |
ignore (w#event#connect#delete ~callback: |
815 |
(fun _ -> |
(fun _ -> |
816 |
if Autoconf.system = "windows" |
w#misc#hide (); |
817 |
then begin |
let icon = A.get_icon ~icon:M.icon_type_source_normal ~size:A.MEDIUM () in |
818 |
w#misc#hide (); |
G.tray.create_tray icon "MLDonkey"; |
819 |
let icon = A.get_icon ~icon:M.icon_type_source_normal ~size:A.LARGE () in |
true |
|
G.tray.create_tray icon "MLDonkey"; |
|
|
true |
|
|
end else begin |
|
|
quit (); |
|
|
true |
|
|
end |
|
820 |
)); |
)); |
821 |
|
|
822 |
let main_menu = core_menu gui quit in |
let main_menu = core_menu gui quit in |
836 |
!l |
!l |
837 |
); |
); |
838 |
|
|
839 |
if Autoconf.system = "windows" |
!G.set_systray_callback (fun ev -> |
840 |
then begin |
match ev with |
841 |
!G.set_systray_callback (fun ev -> |
DOUBLE_CLICKED -> |
842 |
match ev with |
begin |
843 |
DOUBLE_CLICKED -> |
(if !!verbose then lprintf' "tray double clicked\n"); |
844 |
begin |
G.tray.destroy_tray (); |
845 |
(if !!verbose then lprintf' "tray double clicked\n"); |
w#misc#show (); |
846 |
G.tray.destroy_tray (); |
w#maximize (); |
847 |
w#misc#show (); |
end |
848 |
w#maximize (); |
| RBUTTON_CLICKED -> |
849 |
end |
begin |
850 |
| RBUTTON_CLICKED -> |
(if !!verbose then lprintf' "tray right clicked\n"); |
851 |
begin |
let menu = tray_menu gui quit in |
852 |
(if !!verbose then lprintf' "tray right clicked\n"); |
let w_opt = GWindow.toplevel menu in |
853 |
let menu = tray_menu gui quit in |
match w_opt with |
854 |
let w_opt = GWindow.toplevel menu in |
None -> (if !!verbose then lprintf' "No toplevel window\n"; flush stdout) |
855 |
match w_opt with |
| Some win -> |
856 |
None -> (if !!verbose then lprintf' "No toplevel window\n"; flush stdout) |
begin |
857 |
| Some win -> |
win#set_position `MOUSE; |
858 |
begin |
win#show () |
859 |
win#set_position `MOUSE; |
end |
860 |
win#show () |
end |
861 |
end |
| _ -> () |
862 |
end |
); |
|
| _ -> () |
|
|
) |
|
|
end; |
|
863 |
|
|
864 |
CommonGlobals.do_at_exit (fun _ -> |
CommonGlobals.do_at_exit (fun _ -> |
865 |
GuiMisc.save_gui_options gui; |
GuiMisc.save_gui_options gui; |