Inheritance: GLib.SignalArgs
Ejemplo n.º 1
0
		static void DeviceChangeSignalCallback (IntPtr arg0, int arg1, IntPtr gch)
		{
			DeviceChangeArgs args = new DeviceChangeArgs ();
			try {
				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
				if (sig == null)
					throw new Exception("Unknown signal GC handle received " + gch);

				args.Args = new object[1];
				args.Args[0] = arg1;
				DeviceChangeHandler handler = (DeviceChangeHandler) sig.Handler;
				handler (GLib.Object.GetObject (arg0), args);
			} catch (Exception e) {
				GLib.ExceptionManager.RaiseUnhandledException (e, false);
			}
		}
Ejemplo n.º 2
0
        protected virtual void OnDeviceChange(object o, DeviceChangeArgs args)
        {
            /* device disconnected, pause capture */
            if (args.DeviceChange == -1){
                if (capturing)
                    TogglePause();

                recbutton.Sensitive = false;

                MessageDialog md = new MessageDialog((Gtk.Window)this.Toplevel, DialogFlags.Modal,
                                                     MessageType.Question, ButtonsType.Ok,
                                                     Catalog.GetString("Device disconnected. " +
                                                     	"The capture will be paused"));
                md.Icon=Stetic.IconLoader.LoadIcon(md, "longomatch", Gtk.IconSize.Dialog);
                md.Run();
                md.Destroy();
            } else {
                recbutton.Sensitive = true;
                MessageDialog md = new MessageDialog((Gtk.Window)this.Toplevel, DialogFlags.Modal,
                                                     MessageType.Question, ButtonsType.YesNo,
                                                     Catalog.GetString("Device reconnected." +
                                                     	"Do you want to restart the capture?"));
                md.Icon=Stetic.IconLoader.LoadIcon(md, "longomatch", Gtk.IconSize.Dialog);
                if (md.Run() == (int)ResponseType.Yes){
                    Console.WriteLine ("Accepted to toggle pause");
                    TogglePause();
                }
                md.Destroy();
            }
        }