Beispiel #1
0
        /// <summary>Crea una instancia de la clase.</summary>
        /// <param name="parent">La ventana padre de este diálogo.</param>

        private DialogoConfiguracion(Gtk.Window parent) :
            base("", parent, Gtk.DialogFlags.DestroyWithParent)
        {
            Title        = Ventana.GetText("DialogoConfiguracion_Title");
            TransientFor = parent;
            Modal        = true;
            Resizable    = false;
            DeleteEvent += new DeleteEventHandler(Ventana.OcultarVentana);
            Resize(300, 300);
            BorderWidth  = 10;
            HasSeparator = true;
            VBox.Add(this.CrearNotebook());
            ActionArea.Add(this.CrearPanelInferior());
        }
Beispiel #2
0
        private void Build()
        {
            var hbox = new HBox();

            hbox.Spacing     = 6;
            hbox.BorderWidth = 12;

            var error_icon = new Image();

            error_icon.Pixbuf = PintaCore.Resources.GetIcon(Stock.DialogError, 32);
            error_icon.Yalign = 0;
            hbox.PackStart(error_icon, false, false, 0);

            var vbox = new VBox();

            vbox.Spacing = 6;

            description_label        = new Label();
            description_label.Wrap   = true;
            description_label.Xalign = 0;
            vbox.PackStart(description_label, false, false, 0);

            expander     = new Expander(Catalog.GetString("Details"));
            details_text = new TextView();
            var scroll = new ScrolledWindow();

            scroll.Add(details_text);
            scroll.HeightRequest = 250;
            expander.Add(scroll);
            vbox.Add(expander);

            hbox.Add(vbox);
            this.VBox.Add(hbox);

            bug_report_button          = new Button(Catalog.GetString("Report Bug...."));
            bug_report_button.CanFocus = false;
            ActionArea.Add(bug_report_button);

            var ok_button = new Button(Gtk.Stock.Ok);

            ok_button.CanDefault = true;
            AddActionWidget(ok_button, ResponseType.Ok);

            DefaultWidth  = 600;
            DefaultHeight = 142;

            ShowAll();
        }
        public TouchDialog(string msg, Window parent, string[] buttons)
            : base(string.Empty, parent, DialogFlags.DestroyWithParent)
        {
            ModifyBg(StateType.Normal, TouchColor.NewGtkColor("grey0"));

            KeepAbove = true;

#if RPI_BUILD
            Decorated = false;

            ExposeEvent += (o, args) => {
                using (Context cr = Gdk.CairoHelper.Create(GdkWindow)) {
                    cr.MoveTo(Allocation.Left, Allocation.Top);
                    cr.LineTo(Allocation.Right, Allocation.Top);
                    cr.LineTo(Allocation.Right, Allocation.Bottom);
                    cr.LineTo(Allocation.Left, Allocation.Bottom);
                    cr.ClosePath();
                    cr.LineWidth = 1.8;
                    TouchColor.SetSource(cr, "grey4");
                    cr.Stroke();
                }
            };
#endif

            foreach (var button in buttons)
            {
                try {
                    var response = (ResponseType)Enum.Parse(typeof(ResponseType), button);

                    var btn = new TouchButton();
                    btn.text                = button;
                    btn.HeightRequest       = 30;
                    btn.ButtonReleaseEvent += (o, args) => Respond(response);
                    ActionArea.Add(btn);
                } catch {
                    //
                }
            }

            var label = new Label();
            label.LineWrap = true;
            label.Text     = msg;
            label.ModifyFg(StateType.Normal, TouchColor.NewGtkColor("white"));
            label.ModifyFont(Pango.FontDescription.FromString("Sans 11"));
            VBox.Add(label);
            label.Show();
        }
    public LogViewerDialog(TextBuffer buffer) : base()
    {
        this.Title = Mono.Unix.Catalog.GetString("MonoVS Log Viewer");
        this.Icon  = new Pixbuf(Assembly.GetExecutingAssembly(), "monotools.png");
        this.SetDefaultSize(750, 350);

        view                 = new TextView(buffer);
        view.Editable        = false;
        view.CursorVisible   = true;
        view.Buffer.Changed += OnTextChanged;

        ScrolledWindow sw = new ScrolledWindow();

        sw.HscrollbarPolicy = PolicyType.Automatic;
        sw.VscrollbarPolicy = PolicyType.Automatic;
        sw.ShadowType       = ShadowType.In;
        sw.BorderWidth      = 6;
        sw.Add(view);
        VBox.PackStart(sw);

        Button button_clear = new Gtk.Button();

        button_clear.CanDefault   = true;
        button_clear.CanFocus     = true;
        button_clear.Name         = "buttonOk";
        button_clear.UseStock     = true;
        button_clear.UseUnderline = true;
        button_clear.Label        = "gtk-clear";
        button_clear.Clicked     += new System.EventHandler(OnButtonClearClicked);
        ActionArea.Add(button_clear);

        Button button_close = new Gtk.Button();

        button_close.CanDefault   = true;
        button_close.CanFocus     = true;
        button_close.Name         = "buttonOk";
        button_close.UseStock     = true;
        button_close.UseUnderline = true;
        button_close.Label        = "gtk-close";
        AddActionWidget(button_close, ResponseType.Close);

        this.ShowAll();
    }
Beispiel #5
0
        // FIXME: The total parameter makes sense, but doesn't seem to ever be used?
        public ThreadProgressDialog(Thread thread, int total)
        {
            /*
             * if (parent_window)
             *      this.TransientFor = parent_window;
             *
             */
            Title       = thread.Name;
            this.thread = thread;

            HasSeparator = false;
            BorderWidth  = 6;
            SetDefaultSize(300, -1);

            message_label = new Gtk.Label(string.Empty);
            VBox.PackStart(message_label, true, true, 12);

            progress_bar = new Gtk.ProgressBar();
            VBox.PackStart(progress_bar, true, true, 6);

            retry_button          = new Gtk.Button(Catalog.GetString("Retry"));
            retry_button.Clicked += HandleRetryClicked;
            skip_button           = new Gtk.Button(Catalog.GetString("Skip"));
            skip_button.Clicked  += HandleSkipClicked;

            ActionArea.Add(retry_button);
            ActionArea.Add(skip_button);

            button_label = Gtk.Stock.Cancel;
            button       = (Gtk.Button)AddButton(button_label, (int)Gtk.ResponseType.Cancel);

            //delay = new DelayedOperation (new GLib.IdleHandler (HandleUpdate));

            Response  += HandleResponse;
            Destroyed += HandleDestroy;
        }
Beispiel #6
0
        public AlertDialog(MessageDescription message)
        {
            Init();
            this.buttons = message.buttons.ToArray();

            string primaryText;
            string secondaryText;

            if (string.IsNullOrEmpty(message.SecondaryText))
            {
                secondaryText = message.Text;
                primaryText   = null;
            }
            else
            {
                primaryText   = message.Text;
                secondaryText = message.SecondaryText;
            }

            image.Pixbuf = ImageService.GetPixbuf(message.Icon, IconSize.Dialog);

            StringBuilder markup = new StringBuilder(@"<span weight=""bold"" size=""larger"">");

            markup.Append(GLib.Markup.EscapeText(primaryText));
            markup.Append("</span>");
            if (!String.IsNullOrEmpty(secondaryText))
            {
                if (!String.IsNullOrEmpty(primaryText))
                {
                    markup.AppendLine();
                    markup.AppendLine();
                }
                markup.Append(GLib.Markup.EscapeText(secondaryText));
            }
            label.Markup     = markup.ToString();
            label.Selectable = true;

            foreach (AlertButton button in message.buttons)
            {
                Button newButton = new Button();
                newButton.Label        = button.Label;
                newButton.UseUnderline = true;
                newButton.UseStock     = button.IsStockButton;
                if (!String.IsNullOrEmpty(button.Icon))
                {
                    newButton.Image = new Image(button.Icon, IconSize.Button);
                }
                newButton.Clicked += ButtonClicked;
                ActionArea.Add(newButton);
            }

            foreach (MessageDescription.Option op in message.Options)
            {
                CheckButton check = new CheckButton(op.Text);
                check.Active = op.Value;
                labelsBox.PackStart(check, false, false, 0);
                check.Toggled += delegate {
                    message.SetOptionValue(op.Id, check.Active);
                };
            }

            if (message.AllowApplyToAll)
            {
                CheckButton check = new CheckButton(GettextCatalog.GetString("Apply to all"));
                labelsBox.PackStart(check, false, false, 0);
                check.Toggled += delegate {
                    ApplyToAll = check.Active;
                };
            }

            this.ShowAll();
        }
Beispiel #7
0
        public GtkAlertDialog(MessageDescription message)
        {
            Init();
            this.buttons = message.Buttons.ToArray();
            this.message = message;

            Modal = true;

            string primaryText;
            string secondaryText;

            if (string.IsNullOrEmpty(message.SecondaryText))
            {
                secondaryText = message.Text;
                primaryText   = null;
            }
            else
            {
                primaryText   = message.Text;
                secondaryText = message.SecondaryText;
            }

            if (!message.UseMarkup)
            {
                primaryText   = GLib.Markup.EscapeText(primaryText);
                secondaryText = GLib.Markup.EscapeText(secondaryText);
            }

            if (!string.IsNullOrEmpty(message.Icon))
            {
                image        = new ImageView();
                image.Yalign = 0.00f;
                image.Image  = ImageService.GetIcon(message.Icon, IconSize.Dialog);
                hbox.PackStart(image, false, false, 0);
                hbox.ReorderChild(image, 0);
            }

            StringBuilder markup = new StringBuilder(@"<span weight=""bold"" size=""larger"">");

            markup.Append(primaryText);
            markup.Append("</span>");
            if (!String.IsNullOrEmpty(secondaryText))
            {
                if (!String.IsNullOrEmpty(primaryText))
                {
                    markup.AppendLine();
                    markup.AppendLine();
                }
                markup.Append(secondaryText);
            }
            label.Markup     = markup.ToString();
            label.Selectable = true;
            label.CanFocus   = false;

            foreach (AlertButton button in message.Buttons)
            {
                Button newButton = new Button();
                newButton.Label        = button.Label;
                newButton.UseUnderline = true;
                newButton.UseStock     = button.IsStockButton;
                if (!String.IsNullOrEmpty(button.Icon))
                {
                    newButton.Image = new ImageView(button.Icon, IconSize.Button);
                }
                newButton.Clicked += ButtonClicked;
                ActionArea.Add(newButton);
            }

            foreach (var op in message.Options)
            {
                CheckButton check = new CheckButton(op.Text);
                check.Active = op.Value;
                labelsBox.PackStart(check, false, false, 0);
                check.Toggled += delegate {
                    message.SetOptionValue(op.Id, check.Active);
                };
            }

            if (message.AllowApplyToAll)
            {
                CheckButton check = new CheckButton(GettextCatalog.GetString("Apply to all"));
                labelsBox.PackStart(check, false, false, 0);
                check.Toggled += delegate {
                    ApplyToAll = check.Active;
                };
            }

            //don't show this yet, let the consumer decide when
            this.Child.ShowAll();
        }
Beispiel #8
0
        public GtkAlertDialog(MessageDescription message)
        {
            Init();
            this.buttons = message.Buttons.ToArray();

            string primaryText;
            string secondaryText;

            if (string.IsNullOrEmpty(message.SecondaryText))
            {
                secondaryText = message.Text;
                primaryText   = null;
            }
            else
            {
                primaryText   = message.Text;
                secondaryText = message.SecondaryText;
            }

            image.SetFromStock(Util.ToGtkStock(message.Icon), Gtk.IconSize.Dialog);

            StringBuilder markup = new StringBuilder(@"<span weight=""bold"" size=""larger"">");

            markup.Append(GLib.Markup.EscapeText(primaryText));
            markup.Append("</span>");
            if (!String.IsNullOrEmpty(secondaryText))
            {
                if (!String.IsNullOrEmpty(primaryText))
                {
                    markup.AppendLine();
                    markup.AppendLine();
                }
                markup.Append(GLib.Markup.EscapeText(secondaryText));
            }
            label.Markup     = markup.ToString();
            label.Selectable = true;
            label.CanFocus   = false;

            foreach (Command button in message.Buttons)
            {
                Gtk.Button newButton = new Gtk.Button();
                newButton.Label        = button.Label;
                newButton.UseUnderline = true;
                newButton.UseStock     = button.IsStockButton;
                if (!String.IsNullOrEmpty(button.Icon))
                {
                    newButton.Image = new Gtk.Image(Util.ToGtkStock(button.Icon), Gtk.IconSize.Button);
                }
                newButton.Clicked += ButtonClicked;
                ActionArea.Add(newButton);
            }

            foreach (var op in message.Options)
            {
                CheckButton check = new CheckButton(op.Text);
                check.Active = op.Value;
                labelsBox.PackStart(check, false, false, 0);
                check.Toggled += delegate {
                    message.SetOptionValue(op.Id, check.Active);
                };
            }

            if (message.AllowApplyToAll)
            {
                CheckButton check = new CheckButton("Apply to all");
                labelsBox.PackStart(check, false, false, 0);
                check.Toggled += delegate {
                    ApplyToAll = check.Active;
                };
            }

            //don't show this yet, let the consumer decide when
            this.Child.ShowAll();
        }
Beispiel #9
0
        private void Build()
        {
            _type              = new ComboBox(_options);
            _type.Changed     += OnProviderChange;
            _userLabel         = new Label("Username");
            _username          = new Entry();
            _username.Changed += OnTextChange;
            _passLabel         = new Label("Password");
            _password          = new Entry()
            {
                Visibility = false
            };
            _password.Changed += OnTextChange;
            _defAnimeCheck     = new CheckButton("Use this account for managing anime")
            {
                Name = "defAnime", Sensitive = false
            };
            _defAnimeCheck.Toggled += OnToggle;
            _defMangaCheck          = new CheckButton("Use this account for managing manga")
            {
                Name = "defManga", Sensitive = false
            };
            _defMangaCheck.Toggled += OnToggle;
            _okButton = new Button("OK");
            _okButton.SetSizeRequest(70, 30);
            _okButton.CanDefault = true;
            _okButton.Clicked   += OnOkButton;
            _okButton.Sensitive  = false;
            _cancelButton        = new Button("Cancel");
            _cancelButton.SetSizeRequest(70, 30);
            _cancelButton.Clicked += delegate { Respond(ResponseType.Cancel); };

            var hb1 = new HBox();

            hb1.PackStart(_userLabel, false, false, 7);
            hb1.Add(_username);
            VBox.Add(hb1);

            var hb2 = new HBox();

            hb2.PackStart(_passLabel, false, true, 7);
            hb2.Add(_password);
            VBox.Add(hb2);

            var bb = new VButtonBox {
                _defAnimeCheck, _defMangaCheck
            };

            VBox.Add(bb);

            var hb3 = new HBox();

            hb3.PackStart(new Label("Type"), false, false, 7);
            hb3.Add(_type);
            VBox.Add(hb3);

            ActionArea.Add(_okButton);
            _okButton.GrabDefault();             // Activates when you hit enter
            ActionArea.Add(_cancelButton);
            ShowAll();
        }