diff --git a/uppsrc/ide/MainConfig.cpp b/uppsrc/ide/MainConfig.cpp index 67a4ec000..e3f7433d6 100644 --- a/uppsrc/ide/MainConfig.cpp +++ b/uppsrc/ide/MainConfig.cpp @@ -24,6 +24,7 @@ struct FlagsDlg : WithConfLayout { void Set(ArrayCtrl& a) { a.Set(0, ~flags); a.Set(1, ~name); Flags(); } FlagsDlg(); + ~FlagsDlg(); }; void FlagsDlg::Options() @@ -60,11 +61,20 @@ void FlagsDlg::Flags() accepts.Set(i, CC_SET, flg.Find(~~accepts.Get(i, CC_FLAG)) >= 0); } +FlagsDlg::~FlagsDlg() +{ + StoreToGlobal([&](Stream& s) { SerializePlacement(s); }, "FlagsDlgPlacement"); +} + FlagsDlg::FlagsDlg() { VectorMap>> code_flags; CtrlLayoutOKCancel(*this, "Configuration flags"); + + Sizeable().Zoomable(); + + LoadFromGlobal([&](Stream& s) { SerializePlacement(s); }, "FlagsDlgPlacement"); PPInfo pp; pp.SetIncludes(TheIde()->GetCurrentIncludePath() + ";" + GetClangInternalIncludes()); @@ -209,7 +219,7 @@ MainConfigDlg::MainConfigDlg(const Workspace& wspc_) : wspc(wspc_) { remove.SetImage(IdeImg::remove()) << [=] { int q = list.GetCursor(); - if(q >= 0) { + if(q >= 0 && PromptYesNo("Remove configuration?")) { list.Remove(q); if(q >= list.GetCount()) q--; diff --git a/uppsrc/ide/ide.lay b/uppsrc/ide/ide.lay index 60bc209ae..83a0f7333 100644 --- a/uppsrc/ide/ide.lay +++ b/uppsrc/ide/ide.lay @@ -25,7 +25,7 @@ LAYOUT(ConfigLayout, 724, 216) ITEM(Upp::Button, remove, SetLabel(t_("Remove")).LeftPosZ(300, 68).BottomPosZ(5, 23)) END_LAYOUT -LAYOUT(ConfLayout, 764, 784) +LAYOUT(ConfLayout, 764, 576) ITEM(Upp::Option, gui, SetLabel(t_("GUI application")).LeftPosZ(8, 112).TopPosZ(8, 16)) ITEM(Upp::Option, debugcode, SetLabel(t_("Allow debuging code in release mode")).LeftPosZ(124, 240).TopPosZ(8, 16)) ITEM(Upp::ArrayCtrl, accepts, AutoHideSb(true).HSizePosZ(8, 8).VSizePosZ(32, 88))