public DeviceChooserDialog ()
		{
			this.Build ();
			
			/*
			var banner = new HeaderBanner () {
				Text = GettextCatalog.GetString ("Select Device"),
				Image = Gdk.Pixbuf.LoadFromResource ("banner.png"),
			};
			bannerPlaceholder.Add (banner);
			bannerPlaceholder.ShowAll ();*/
			
			deviceListTreeView.Model = store;
			var txtRenderer = new CellRendererText ();
			deviceListTreeView.AppendColumn ("Devices", txtRenderer, DeviceDataFunc);
			
			createEmulatorButton.Clicked += delegate {
				MonoDroidFramework.Toolbox.StartAvdManager ();
			};
			
			startEmulatorButton.Clicked += delegate {
				TreeIter iter;
				if (deviceListTreeView.Selection.GetSelected (out iter)) {
					var dd = (DisplayDevice) store.GetValue (iter, 0) ;
					//status.StartOperation (GettextCatalog.GetString ("Starting virtual device '{0}'...", avd.Name));
					if (dd.VirtualDevice != null) {
						MonoDroidFramework.VirtualDeviceManager.StartEmulator (dd.VirtualDevice);
					}
				}
			};
			
			deviceListTreeView.Selection.Changed += UpdatedSelection;
			
			deviceListTreeView.RowActivated += delegate(object o, RowActivatedArgs args) {
				TreeIter iter;
				if (store.GetIter (out iter, args.Path)) {
					var dd = (DisplayDevice) store.GetValue (iter, 0);
					if (dd.Device != null) {
						Device = dd.Device;
						Respond (ResponseType.Ok);
					}
				}
			};
			
			buttonOk.Sensitive = false;
			startEmulatorButton.Sensitive = false;
			
			MonoDroidFramework.DeviceManager.DevicesUpdated += OnDevicesUpdated;
			MonoDroidFramework.VirtualDeviceManager.Changed += OnVirtualDevicesUpdated;
			OnDevicesUpdated (null, EventArgs.Empty);
			
			restartAdbButton.Clicked += delegate {
				store.Clear ();
				restartAdbButton.Sensitive = false;
				MonoDroidFramework.DeviceManager.RestartAdbServer (() => {
					Gtk.Application.Invoke (delegate {
						if (!destroyed)
							restartAdbButton.Sensitive = true;
					});
				});
			};
			
			isTrial = MonoDroidFramework.IsTrial;
			
			if (isTrial) {
				var ib = new MonoDevelop.Components.InfoBar ();
				var img = new Image (typeof (DeviceChooserDialog).Assembly, "information.png");
				img.SetAlignment (0.5f, 0.5f);
				ib.PackEnd (img, false, false, 0);
				var msg = GettextCatalog.GetString ("Trial version only supports the emulator");
				ib.MessageArea.Add (new Gtk.Label (msg) {
					Yalign = 0.5f,
					Xalign = 0f,
					Style = ib.Style,
				});
				string buyMessage;
				if (PropertyService.IsMac) { 
					buyMessage = GettextCatalog.GetString ("Buy Full Version");
				} else {
					buyMessage = GettextCatalog.GetString ("Activate");
				}
				var buyButton = new Button (buyMessage);
				buyButton.Clicked += delegate {
					if (MonoDroidFramework.Activate ())
						UnTrialify ();
					};
				ib.ActionArea.Add (buyButton);
				ib.ShowAll ();
				bannerPlaceholder.Add (ib);
			}
		}
Example #2
0
        public DeviceChooserDialog()
        {
            this.Build();

            /*
             * var banner = new HeaderBanner () {
             *      Text = GettextCatalog.GetString ("Select Device"),
             *      Image = Gdk.Pixbuf.LoadFromResource ("banner.png"),
             * };
             * bannerPlaceholder.Add (banner);
             * bannerPlaceholder.ShowAll ();*/

            deviceListTreeView.Model = store;
            var txtRenderer = new CellRendererText();

            deviceListTreeView.AppendColumn("Devices", txtRenderer, DeviceDataFunc);

            createEmulatorButton.Clicked += delegate {
                MonoDroidFramework.Toolbox.StartAvdManager();
            };

            startEmulatorButton.Clicked += delegate {
                TreeIter iter;
                if (deviceListTreeView.Selection.GetSelected(out iter))
                {
                    var dd = (DisplayDevice)store.GetValue(iter, 0);
                    //status.StartOperation (GettextCatalog.GetString ("Starting virtual device '{0}'...", avd.Name));
                    if (dd.VirtualDevice != null)
                    {
                        MonoDroidFramework.VirtualDeviceManager.StartEmulator(dd.VirtualDevice);
                    }
                }
            };

            deviceListTreeView.Selection.Changed += UpdatedSelection;

            deviceListTreeView.RowActivated += delegate(object o, RowActivatedArgs args) {
                TreeIter iter;
                if (store.GetIter(out iter, args.Path))
                {
                    var dd = (DisplayDevice)store.GetValue(iter, 0);
                    if (dd.Device != null)
                    {
                        Device = dd.Device;
                        Respond(ResponseType.Ok);
                    }
                }
            };

            buttonOk.Sensitive            = false;
            startEmulatorButton.Sensitive = false;

            MonoDroidFramework.DeviceManager.DevicesUpdated += OnDevicesUpdated;
            MonoDroidFramework.VirtualDeviceManager.Changed += OnVirtualDevicesUpdated;
            OnDevicesUpdated(null, EventArgs.Empty);

            restartAdbButton.Clicked += delegate {
                store.Clear();
                restartAdbButton.Sensitive = false;
                MonoDroidFramework.DeviceManager.RestartAdbServer(() => {
                    Gtk.Application.Invoke(delegate {
                        if (!destroyed)
                        {
                            restartAdbButton.Sensitive = true;
                        }
                    });
                });
            };

            isTrial = MonoDroidFramework.IsTrial;

            if (isTrial)
            {
                var ib  = new MonoDevelop.Components.InfoBar();
                var img = new Image(typeof(DeviceChooserDialog).Assembly, "information.png");
                img.SetAlignment(0.5f, 0.5f);
                ib.PackEnd(img, false, false, 0);
                var msg = GettextCatalog.GetString("Trial version only supports the emulator");
                ib.MessageArea.Add(new Gtk.Label(msg)
                {
                    Yalign = 0.5f,
                    Xalign = 0f,
                    Style  = ib.Style,
                });
                string buyMessage;
                if (PropertyService.IsMac)
                {
                    buyMessage = GettextCatalog.GetString("Buy Full Version");
                }
                else
                {
                    buyMessage = GettextCatalog.GetString("Activate");
                }
                var buyButton = new Button(buyMessage);
                buyButton.Clicked += delegate {
                    if (MonoDroidFramework.Activate())
                    {
                        UnTrialify();
                    }
                };
                ib.ActionArea.Add(buyButton);
                ib.ShowAll();
                bannerPlaceholder.Add(ib);
            }
        }