コード例 #1
0
ファイル: WorkspaceTree.cs プロジェクト: anthrax3/ide-1
        public void SetSelectedFile(string filename)
        {
            TreeIter iter = new TreeIter();

            store.Foreach((model, path, iterr) =>
            {
                string myPath = store.GetValue(iterr, PATH_ROW).ToString();

                if ((myPath == filename))
                {
                    //iter = iterr;
                    iter = filter.ConvertChildIterToIter(iterr);
                    if (!iter.Equals(TreeIter.Zero))
                    {
                        TreePath tp = filter.GetPath(iter);
                        treeView.ExpandToPath(tp);
                        treeView.ScrollToCell(tp, null, true, 0.9f, 0);
                        //treeView.Selection.UnselectAll();
                        treeView.Selection.SelectIter(iter);
                    }
                    return(true);
                }
                return(false);
            });
        }
コード例 #2
0
        async void SaveAndQuit(object o, EventArgs e)
        {
            Sensitive = false;

            List <Task> saveTasks = new List <Task> ();

            tsFiles.Foreach(delegate(TreeModel model, TreePath path, TreeIter iter) {
                var window = tsFiles.GetValue(iter, 2) as SdiWorkspaceWindow;
                if (window == null)
                {
                    return(false);
                }
                if ((bool)tsFiles.GetValue(iter, 1))
                {
                    saveTasks.Add(window.ViewContent.Save(window.ViewContent.ContentName));
                }
                else
                {
                    window.ViewContent.DiscardChanges();
                }
                return(false);
            });

            try {
                await Task.WhenAll(saveTasks);
            } finally {
                Sensitive = true;
            }

            Respond(Gtk.ResponseType.Ok);
            Hide();
        }
コード例 #3
0
        private void ExpandPath(string path)
        {
            if (string.IsNullOrEmpty(path))
            {
                return;
            }
            TreeIter iter = TreeIter.Zero;

            _treeStore.Foreach((m, p, i) =>
            {
                var item = ((BaseItem)m.GetValue(i, 0));
                if (string.Equals(item.ServerPath, path, StringComparison.OrdinalIgnoreCase))
                {
                    iter = i;
                    return(true);
                }
                return(false);
            });

            if (iter.Equals(TreeIter.Zero))
            {
                return;
            }
            _treeView.CollapseAll();
            _treeView.ExpandToPath(_treeStore.GetPath(iter));
            _treeView.Selection.SelectIter(iter);
        }
コード例 #4
0
        public void GetSelectedComponents(ref List <ComponentFactoryInformation> components, ref List <Component> instances)
        {
            components.Clear();
            instances.Clear();

            // cannot operate on "instances" or "components" directly due to the lambda expression below (won't compile)
            List <ComponentFactoryInformation> components_ = new List <ComponentFactoryInformation>();
            List <Component> instances_ = new List <Component>();

            m_TreeStore.Foreach((TreeModel model, TreePath path, TreeIter iter) =>
            {
                UIComponentDescriptor item = model.GetValue(iter, 0) as UIComponentDescriptor;
                if (item != null)
                {
                    if (item.Selected)
                    {
                        if (item.Instance == null)
                        {
                            components_.Add(item.ComponentFactoryInformation);
                        }
                        else
                        {
                            instances_.Add(item.Instance);
                        }
                    }
                }
                return(false);
            });

            // cannot operate on "instances" or "components" directly due to the lambda expression below (won't compile)
            components = components_;
            instances  = instances_;
        }
コード例 #5
0
        async void SaveAndQuit(object o, EventArgs e)
        {
            Sensitive = false;

            List <Task> saveTasks = new List <Task> ();

            tsFiles.Foreach(delegate(TreeModel model, TreePath path, TreeIter iter) {
                var doc = tsFiles.GetValue(iter, 2) as Document;
                if (doc == null)
                {
                    return(false);
                }
                if ((bool)tsFiles.GetValue(iter, 1))
                {
                    saveTasks.Add(doc.Save());
                }
                return(false);
            });

            try {
                await Task.WhenAll(saveTasks);
            } finally {
                Sensitive = true;
            }

            Respond(Gtk.ResponseType.Ok);
            Hide();
        }
コード例 #6
0
        void UpdateOutlineSelection(object sender, Mono.TextEditor.DocumentLocationEventArgs e)
        {
            if (clickedOnOutlineItem || SyntaxTree == null || TreeStore == null)
            {
                return;
            }

            IStatement stmt           = null;
            var        caretLocation  = Document.Editor.Caret.Location;
            var        caretLocationD = new CodeLocation(caretLocation.Column, caretLocation.Line);

            var currentblock = DResolver.SearchBlockAt(SyntaxTree, caretLocationD, out stmt);

            INode selectedASTNode = null;

            if (currentblock == null)
            {
                return;
            }

            foreach (var n in currentblock)
            {
                if (caretLocationD >= n.Location && caretLocationD <= n.EndLocation)
                {
                    selectedASTNode = n;
                    break;
                }
            }

            if (selectedASTNode == null)
            {
                selectedASTNode = stmt != null ? stmt.ParentNode : currentblock;
            }

            if (selectedASTNode == null)
            {
                return;
            }

            TreeStore.Foreach((TreeModel model, TreePath path, TreeIter iter) =>
            {
                var n = model.GetValue(iter, 0);
                if (n == selectedASTNode)
                {
                    dontJumpToDeclaration = true;
                    TreeView.Selection.SelectIter(iter);
                    TreeView.ScrollToCell(path, TreeView.GetColumn(0), true, 0, 0);
                    dontJumpToDeclaration = false;

                    return(true);
                }

                return(false);
            });
        }
コード例 #7
0
        void SaveAndQuit(object o, EventArgs e)
        {
            tsFiles.Foreach(new TreeModelForeachFunc(CollectWorkbenches));
            foreach (SdiWorkspaceWindow window in arrSaveWorkbenches)
            {
                window.ViewContent.Save(window.ViewContent.ContentName);
            }

            Respond(Gtk.ResponseType.Ok);
            Hide();
        }
コード例 #8
0
        void SaveAndQuit(object o, EventArgs e)
        {
            tsFiles.Foreach(delegate(TreeModel model, TreePath path, TreeIter iter) {
                var window = tsFiles.GetValue(iter, 2) as SdiWorkspaceWindow;
                if (window == null)
                {
                    return(false);
                }
                if ((bool)tsFiles.GetValue(iter, 1))
                {
                    window.ViewContent.Save(window.ViewContent.ContentName);
                }
                else
                {
                    window.ViewContent.DiscardChanges();
                }
                return(false);
            });

            Respond(Gtk.ResponseType.Ok);
            Hide();
        }
コード例 #9
0
        void AddColumns()
        {
            CellRendererImage iconRender = new CellRendererImage();

            Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle();
            toggleRender.Toggled += new ToggledHandler(ItemToggled);

            TreeViewColumn col;

            col = view.AppendColumn("!", iconRender, "image", DataColumns.Type);

            col = view.AppendColumn("", toggleRender);
            col.SetCellDataFunc(toggleRender, new Gtk.TreeCellDataFunc(ToggleDataFunc));

            col = view.AppendColumn(GettextCatalog.GetString("Line"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(LineDataFunc));

            var descriptionCellRenderer = new CellRendererText();

            view.RegisterRenderForFontChanges(descriptionCellRenderer);
            var descriptionCol = view.AppendColumn(GettextCatalog.GetString("Description"), descriptionCellRenderer);

            descriptionCol.SetCellDataFunc(descriptionCellRenderer, new Gtk.TreeCellDataFunc(DescriptionDataFunc));
            descriptionCol.Resizable         = true;
            descriptionCellRenderer.WrapMode = Pango.WrapMode.Word;
            descriptionCol.AddNotification("width", delegate
            {
                descriptionCellRenderer.WrapWidth = descriptionCol.Width;
                store.Foreach((model, path, iter) =>
                {
                    model.EmitRowChanged(path, iter);
                    return(false);
                });
            });

            col = view.AppendColumn(GettextCatalog.GetString("File"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(FileDataFunc));
            col.Resizable = true;

            col = view.AppendColumn(GettextCatalog.GetString("Project"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(ProjectDataFunc));
            col.Resizable = true;

            col = view.AppendColumn(GettextCatalog.GetString("Path"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(PathDataFunc));
            col.Resizable = true;

            col = view.AppendColumn(GettextCatalog.GetString("Category"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(CategoryDataFunc));
            col.Resizable = true;
        }
コード例 #10
0
ファイル: BookmarkView.cs プロジェクト: alvinc-git/pdfmod
        public static TreeIter IterFor <T> (this TreeStore model, T item)
        {
            var iter = TreeIter.Zero;

            model.Foreach((m, path, i) => {
                if (model.Get <T> (i).Equals(item))
                {
                    iter = i;
                    return(true);
                }
                return(false);
            });
            return(iter);
        }
コード例 #11
0
ファイル: ChatTreeView.cs プロジェクト: RAOF/smuxi
 Gtk.TreeIter FindChatIter(ChatView view)
 {
     Gtk.TreeIter chatIter = Gtk.TreeIter.Zero;
     TreeStore.Foreach((model, path, iter) => {
         var candidate = (ChatView)model.GetValue(iter, 0);
         if (candidate == view)
         {
             chatIter = iter;
             return(true);
         }
         return(false);
     });
     return(chatIter);
 }
コード例 #12
0
 protected bool treeSearch(TreeStore t, string fp)
 {
     if (t == null)
     {
         return(false);
     }
     t.Foreach(new TreeModelForeachFunc(delegate(TreeModel m, TreePath p, TreeIter i) {
         t.GetIter(out i, p);
         if ((string)m.GetValue(i, 1) == fp)
         {
             return(true);
         }
         return(false);
     }));
     return(false);
 }
コード例 #13
0
ファイル: MainWindow.cs プロジェクト: yunatoomi/DGLE
        private TreeIter FindInPack(Packer.Item item)
        {
            // find iter in tree store of current pack
            TreeIter foundIter = TreeIter.Zero;

            packStore.Foreach((model, path, iter) =>
            {
                Packer.Item foundItem = packStore.GetValue(iter, 0) as Packer.Item;
                if (item.FullName.CompareTo(foundItem.FullName) == 0)
                {
                    foundIter = iter;
                    return(true);
                }
                return(false);
            });
            return(foundIter);
        }
コード例 #14
0
ファイル: ChatTreeView.cs プロジェクト: isabella232/smuxi
        bool TryFindChatIter(ChatView view, out Gtk.TreeIter chatIter)
        {
            var found     = false;
            var foundIter = Gtk.TreeIter.Zero;

            TreeStore.Foreach((model, path, iter) => {
                var candidate = (ChatView)model.GetValue(iter, 0);
                if (candidate == view)
                {
                    foundIter = iter;
                    found     = true;
                    return(true);
                }
                return(false);
            });
            chatIter = foundIter;
            return(found);
        }
コード例 #15
0
ファイル: GtkTypeDisplayer.cs プロジェクト: retahc/old-code
 private void SetFormatterView(string newLanguage)
 {
     formatterStore.Foreach(new TreeModelForeachFunc(
                                new FormatterToggler(newLanguage).Foreach));
 }
コード例 #16
0
        void UpdateOutlineSelection(object sender, Mono.TextEditor.DocumentLocationEventArgs e)
        {
            if (clickedOnOutlineItem || SyntaxTree == null || TreeStore == null)
            {
                return;
            }

            var caretLocation  = Document.Editor.Caret.Location;
            var caretLocationD = new CodeLocation(caretLocation.Column, caretLocation.Line);

            var currentblock = DResolver.SearchBlockAt(SyntaxTree, caretLocationD);

            INode selectedASTNode = null;

            if (currentblock == null)
            {
                return;
            }

            foreach (var n in currentblock)
            {
                if (caretLocationD >= n.Location && caretLocationD <= n.EndLocation)
                {
                    selectedASTNode = n;
                    break;
                }
            }

            // Select parameter node if needed
            if (selectedASTNode == null && currentblock is DMethod)
            {
                foreach (var n in (currentblock as DMethod).Parameters)
                {
                    if (caretLocationD >= n.Location && caretLocationD <= n.EndLocation)
                    {
                        selectedASTNode = n;
                        break;
                    }
                }
            }

            if (selectedASTNode == null)
            {
                selectedASTNode = currentblock;
            }

            if (selectedASTNode == null)
            {
                return;
            }

            TreeStore.Foreach((TreeModel model, TreePath path, TreeIter iter) =>
            {
                var n = model.GetValue(iter, 0);
                if (n == selectedASTNode)
                {
                    dontJumpToDeclaration = true;
                    //var parentPath = path.Copy().Up();

                    TreeView.ExpandToPath(path);
                    TreeView.Selection.SelectIter(iter);
                    dontJumpToDeclaration = false;

                    return(true);
                }

                return(false);
            });
        }
コード例 #17
0
ファイル: GtkToolbox.cs プロジェクト: SirHall/toves-simulator
        private void UpdateStore(object sourceObj, ToolboxChangedArgs args)
        {
            ToolboxChangedArgs.ChangeTypes changeType = args.ChangeType;
            ToolboxItem changedItem = args.ChangedItem;
            TreeStore   store       = this.Model as TreeStore;

            if (changeType == ToolboxChangedArgs.ChangeTypes.ItemUnselected)
            {
                foreach (TreePath path in this.Selection.GetSelectedRows())
                {
                    TreeIter iter;
                    if (store.GetIter(out iter, path))
                    {
                        ToolboxItem val = GetItem(iter);
                        if (val == changedItem)
                        {
                            this.Selection.UnselectIter(iter);
                        }
                    }
                }
            }
            else if (changeType == ToolboxChangedArgs.ChangeTypes.ItemAdded)
            {
                ToolboxDrawer containingDrawer = null;
                ToolboxItem   itemBefore       = null;
                foreach (ToolboxDrawer drawer in source.Drawers)
                {
                    ToolboxItem prev = null;
                    foreach (ToolboxItem item in drawer.GetContents())
                    {
                        if (item == changedItem)
                        {
                            containingDrawer = drawer;
                            itemBefore       = prev;
                        }
                        prev = item;
                    }
                }
                store.Foreach((model, path, iter) => {
                    if (itemBefore == null)
                    {
                        if (GetItem(iter) == containingDrawer)
                        {
                            TreeIter node = store.PrependNode(iter);
                            store.SetValue(node, 0, changedItem);
                            return(true);
                        }
                    }
                    else
                    {
                        if (GetItem(iter) == itemBefore)
                        {
                            TreeIter parent;
                            store.IterParent(out parent, iter);
                            TreeIter node = store.InsertNodeAfter(parent, iter);
                            store.SetValue(node, 0, changedItem);
                            return(true);
                        }
                    }
                    return(false);
                });
            }
            else
            {
                store.Foreach((model, path, iter) => {
                    if (GetItem(iter) == changedItem)
                    {
                        if (changeType == ToolboxChangedArgs.ChangeTypes.ItemRemoved)
                        {
                            store.Remove(ref iter);
                        }
                        else if (changeType == ToolboxChangedArgs.ChangeTypes.ItemRenamed)
                        {
                            store.EmitRowChanged(path, iter);
                        }
                        return(true);
                    }
                    return(false);
                });
            }
        }
コード例 #18
0
        public AddinView()
        {
            var hbox = new HBox()
            {
                Spacing = 6
            };

            var filter_label = new Label(Catalog.GetString("Show:"));
            var filter_combo = new ComboBoxText();

            filter_combo.AppendText(Catalog.GetString("All"));
            filter_combo.AppendText(Catalog.GetString("Enabled"));
            filter_combo.AppendText(Catalog.GetString("Not Enabled"));
            filter_combo.Active = 0;

            var search_label = new Label(Catalog.GetString("Search:"));
            var search_entry = new Banshee.Widgets.SearchEntry()
            {
                WidthRequest = 160,
                Visible      = true,
                Ready        = true
            };

            hbox.PackStart(filter_label, false, false, 0);
            hbox.PackStart(filter_combo, false, false, 0);
            hbox.PackEnd(search_entry, false, false, 0);
            hbox.PackEnd(search_label, false, false, 0);

            var model = new TreeStore(typeof(bool), typeof(bool), typeof(string), typeof(Addin));

            var addins = AddinManager.Registry.GetAddins().Where(a => { return
                                                                        (a.Name != a.Id && a.Description != null &&
                                                                         !String.IsNullOrEmpty(a.Description.Category) && !a.Description.Category.StartsWith("required:") &&
                                                                         (!a.Description.Category.Contains("Debug") || ApplicationContext.Debugging)); });

            var categorized_addins = addins.GroupBy <Addin, string> (a => a.Description.Category)
                                     .Select(c => new {
                Addins        = c.OrderBy(a => Catalog.GetString(a.Name)).ToList(),
                Name          = c.Key,
                NameLocalized = Catalog.GetString(c.Key)
            })
                                     .OrderBy(c => c.NameLocalized)
                                     .ToList();

            tree_view = new TreeView()
            {
                FixedHeightMode = false,
                HeadersVisible  = false,
                SearchColumn    = 1,
                RulesHint       = true,
                Model           = model
            };

            var update_model = new System.Action(() => {
                string search = search_entry.Query;
                bool?enabled  = filter_combo.Active > 0 ? (bool?)(filter_combo.Active == 1 ? true : false) : null;
                model.Clear();
                foreach (var cat in categorized_addins)
                {
                    var cat_iter = model.AppendValues(false, false, String.Format("<b>{0}</b>", GLib.Markup.EscapeText(cat.NameLocalized)), null);
                    bool any     = false;
                    foreach (var a in cat.Addins.Matching(search))
                    {
                        if (enabled == null || (a.Enabled == enabled.Value))
                        {
                            model.AppendValues(cat_iter, true,
                                               a.Enabled,
                                               String.Format(
                                                   "<b>{0}</b>\n<small>{1}</small>",
                                                   GLib.Markup.EscapeText(Catalog.GetString(a.Name)),
                                                   GLib.Markup.EscapeText(Catalog.GetString(a.Description.Description))),
                                               a
                                               );
                            any = true;
                        }
                    }

                    if (!any)
                    {
                        model.Remove(ref cat_iter);
                    }
                }
                tree_view.ExpandAll();
            });

            var txt_cell = new CellRendererText()
            {
                WrapMode = Pango.WrapMode.Word
            };

            tree_view.AppendColumn("Name", txt_cell, "markup", Columns.Name);

            var check_cell = new CellRendererToggle()
            {
                Activatable = true
            };

            tree_view.AppendColumn("Enable", check_cell, "visible", Columns.IsAddin, "active", Columns.IsEnabled);
            check_cell.Toggled += (o, a) => {
                TreeIter iter;
                if (model.GetIter(out iter, new TreePath(a.Path)))
                {
                    var  addin   = model.GetValue(iter, 3) as Addin;
                    bool enabled = (bool)model.GetValue(iter, 1);
                    addin.Enabled = !enabled;
                    model.SetValue(iter, 1, addin.Enabled);
                    model.Foreach(delegate(ITreeModel current_model, TreePath path, TreeIter current_iter) {
                        var an = current_model.GetValue(current_iter, 3) as Addin;
                        if (an != null)
                        {
                            current_model.SetValue(current_iter, 1, an.Enabled);
                        }
                        return(false);
                    });
                }
            };

            update_model();
            search_entry.Changed += (o, a) => update_model();
            filter_combo.Changed += (o, a) => update_model();

            var tree_scroll = new Hyena.Widgets.ScrolledWindow()
            {
                HscrollbarPolicy = PolicyType.Never
            };

            tree_scroll.AddWithFrame(tree_view);

            Spacing = 6;
            PackStart(hbox, false, false, 0);
            PackStart(tree_scroll, true, true, 0);
            ShowAll();
            search_entry.GrabFocus();

            txt_cell.WrapWidth = 300;
        }
コード例 #19
0
        public NoteRenameDialog(IList <Note> notes, string oldTitle, Note renamedNote) :
            base(Catalog.GetString("Rename Note Links?"), renamedNote.Window, DialogFlags.NoSeparator)
        {
            this.DefaultResponse = ResponseType.Cancel;
            this.BorderWidth     = 10;

            var renameButton = (Button)
                               AddButton(Catalog.GetString("_Rename Links"),
                                         ResponseType.Yes);
            var dontRenameButton = (Button)
                                   AddButton(Catalog.GetString("_Don't Rename Links"),
                                             ResponseType.No);

            this.notes = notes;
            notesModel = new Gtk.TreeStore(typeof(bool), typeof(string), typeof(Note));
            foreach (var note in notes)
            {
                notesModel.AppendValues(true, note.Title, note);
            }

            var labelText = Catalog.GetString("Rename links in other notes from \"<span underline=\"single\">{0}</span>\" " +
                                              "to \"<span underline=\"single\">{1}</span>\"?\n\n" +
                                              "If you do not rename the links, " +
                                              "they will no longer link to anything.");
            var label = new Label();

            label.UseMarkup = true;
            label.Markup    = String.Format(labelText,
                                            GLib.Markup.EscapeText(oldTitle),
                                            GLib.Markup.EscapeText(renamedNote.Title));
            label.LineWrap = true;
            VBox.PackStart(label, false, true, 5);

            var notesView = new TreeView(notesModel);

            notesView.SetSizeRequest(-1, 200);
            var toggleCell = new CellRendererToggle();

            toggleCell.Activatable = true;
            var column = new TreeViewColumn(Catalog.GetString("Rename Links"),
                                            toggleCell, "active", 0);

            column.SortColumnId = 0;
            column.Resizable    = true;
            notesView.AppendColumn(column);
            toggleCell.Toggled += (o, args) => {
                TreeIter iter;
                if (!notesModel.GetIterFromString(out iter, args.Path))
                {
                    return;
                }
                bool val = (bool)notesModel.GetValue(iter, 0);
                notesModel.SetValue(iter, 0, !val);
            };
            column = new TreeViewColumn(Catalog.GetString("Note Title"),
                                        new CellRendererText(), "text", 1);
            column.SortColumnId = 1;
            column.Resizable    = true;
            notesView.AppendColumn(column);

            notesView.RowActivated += (o, args) => {
                TreeIter iter;
                if (!notesModel.GetIter(out iter, args.Path))
                {
                    return;
                }
                Note note = (Note)notesModel.GetValue(iter, 2);
                if (note != null)
                {
                    note.Window.Present();
                    NoteFindBar find = note.Window.Find;
                    find.ShowAll();
                    find.Visible    = true;
                    find.SearchText = "\"" + oldTitle + "\"";
                }
            };

            var notesBox        = new VBox(false, 5);
            var selectAllButton = new Button();

            // Translators: This button causes all notes in the list to be selected
            selectAllButton.Label    = Catalog.GetString("Select All");
            selectAllButton.Clicked += (o, e) => {
                notesModel.Foreach((model, path, iter) => {
                    notesModel.SetValue(iter, 0, true);
                    return(false);
                });
            };
            var selectNoneButton = new Button();

            // Translators: This button causes all notes in the list to be unselected
            selectNoneButton.Label    = Catalog.GetString("Select None");
            selectNoneButton.Clicked += (o, e) => {
                notesModel.Foreach((model, path, iter) => {
                    notesModel.SetValue(iter, 0, false);
                    return(false);
                });
            };
            var notesButtonBox = new HButtonBox();

            notesButtonBox.Add(selectNoneButton);
            notesButtonBox.Add(selectAllButton);
            notesButtonBox.Spacing     = 5;
            notesButtonBox.LayoutStyle = ButtonBoxStyle.End;
            var notesScroll = new ScrolledWindow();

            notesScroll.Add(notesView);
            notesBox.PackStart(notesScroll);
            notesBox.PackStart(notesButtonBox, false, true, 0);

            var advancedExpander = new Expander(Catalog.GetString("Ad_vanced"));
            var expandBox        = new VBox();

            expandBox.PackStart(notesBox);
            alwaysShowDlgRadio          = new RadioButton(Catalog.GetString("Always show this _window"));
            alwaysShowDlgRadio.Clicked += (o, e) => {
                selectAllButton.Click();
                notesBox.Sensitive         = true;
                renameButton.Sensitive     = true;
                dontRenameButton.Sensitive = true;
            };
            neverRenameRadio = new RadioButton(alwaysShowDlgRadio,
                                               Catalog.GetString("Never rename _links"));
            neverRenameRadio.Clicked += (o, e) => {
                selectNoneButton.Click();
                notesBox.Sensitive         = false;
                renameButton.Sensitive     = false;
                dontRenameButton.Sensitive = true;
            };
            alwaysRenameRadio = new RadioButton(alwaysShowDlgRadio,
                                                Catalog.GetString("Alwa_ys rename links"));
            alwaysRenameRadio.Clicked += (o, e) => {
                selectAllButton.Click();
                notesBox.Sensitive         = false;
                renameButton.Sensitive     = true;
                dontRenameButton.Sensitive = false;
            };
            expandBox.PackStart(alwaysShowDlgRadio, false, true, 0);
            expandBox.PackStart(neverRenameRadio, false, true, 0);
            expandBox.PackStart(alwaysRenameRadio, false, true, 0);
            advancedExpander.Add(expandBox);
            VBox.PackStart(advancedExpander, true, true, 5);

            advancedExpander.Activated += (o, e) =>
                                          this.Resizable = advancedExpander.Expanded;

            this.Focus = dontRenameButton;
            VBox.ShowAll();
        }