void OnRenameConfiguration(object sender, EventArgs args)
        {
            Gtk.TreeModel foo;
            Gtk.TreeIter  iter;
            if (!configsList.Selection.GetSelected(out foo, out iter))
            {
                return;
            }

            ItemConfiguration  cc  = (ItemConfiguration)store.GetValue(iter, 0);
            RenameConfigDialog dlg = new RenameConfigDialog(configData.Configurations);

            dlg.ConfigName = cc.Id;

            try {
                bool done = false;
                do
                {
                    if (MessageService.RunCustomDialog(dlg, Toplevel as Gtk.Window) == (int)Gtk.ResponseType.Ok)
                    {
                        var newConf = configData.RenameConfiguration(cc.Id, dlg.ConfigName, dlg.RenameChildren);
                        store.SetValue(iter, 0, newConf);
                        store.SetValue(iter, 1, newConf.Id);
                        done = true;
                    }
                    else
                    {
                        done = true;
                    }
                } while (!done);
            } finally {
                dlg.Destroy();
                dlg.Dispose();
            }
        }
        void OnRenameConfiguration(object sender, EventArgs args)
        {
            Gtk.TreeModel foo;
            Gtk.TreeIter iter;
            if (!configsList.Selection.GetSelected (out foo, out iter))
                return;

            ItemConfiguration cc = (ItemConfiguration) store.GetValue (iter, 0);
            RenameConfigDialog dlg = new RenameConfigDialog (configData.Configurations);
            dlg.ConfigName = cc.Id;

            try {
                bool done = false;
                do {
                    if (MessageService.RunCustomDialog (dlg, Toplevel as Window) == (int) Gtk.ResponseType.Ok) {
                        configData.RenameConfiguration (cc.Id, dlg.ConfigName, dlg.RenameChildren);
                        store.SetValue (iter, 1, cc.Id);
                        done = true;
                    } else
                        done = true;
                } while (!done);
            } finally {
                dlg.Destroy ();
            }
        }