ide: UppHub improvements

git-svn-id: svn://ultimatepp.org/upp/trunk@15778 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2021-02-19 09:45:33 +00:00
parent b0098fdec1
commit caafcf2e8d
2 changed files with 48 additions and 12 deletions

View file

@ -20,6 +20,10 @@ struct UppHubDlg : WithUppHubLayout<TopWindow> {
bool loading_stopped;
String last_package;
WithUppHubSettingsLayout<TopWindow> settings;
virtual bool Key(dword key, int count);
void Readme();
Value LoadJson(const String& url);
void Load(int tier, const String& url);
@ -30,6 +34,7 @@ struct UppHubDlg : WithUppHubLayout<TopWindow> {
void Install(const Index<String>& ii);
void Update();
void SyncList();
void Settings();
UppHubNest *Get(const String& name) { return upv.FindPtr(name); }
UppHubNest *Current() { return Get(list.GetKey()); }
@ -40,6 +45,9 @@ struct UppHubDlg : WithUppHubLayout<TopWindow> {
UppHubDlg::UppHubDlg()
{
CtrlLayoutCancel(*this, "UppHub");
CtrlLayoutOKCancel(settings, "Settings");
FileSelectOpen(settings.url, settings.selfile);
list.EvenRowColor();
@ -80,17 +88,37 @@ UppHubDlg::UppHubDlg()
readme << [=] { Readme(); };
reinstall << [=] { Reinstall(); };
settings.Show(IsVerbose());
settings << [=] {
String s = LoadFile(ConfigFile("upphub_root"));
EditText(s, "UppHub root", "Root url");
SaveFile(ConfigFile("upphub_root"), s);
Load();
setup.Show(IsVerbose());
setup << [=] {
Settings();
};
update << [=] { Update(); };
help << [=] { LaunchWebBrowser("https://www.ultimatepp.org/app$ide$UppHub_en-us.html"); };
LoadFromGlobal(settings, "UppHubDlgSettings");
}
INITBLOCK {
RegisterGlobalConfig("UppHubDlgSettings");
}
bool UppHubDlg::Key(dword key, int count)
{
if(key == K_F12) {
Settings();
return true;
}
return TopWindow::Key(key, count);
}
void UppHubDlg::Settings()
{
if(settings.Execute() == IDOK) {
StoreToGlobal(settings, "UppHubDlgSettings");
Load();
}
}
void UppHubDlg::Readme()
@ -137,7 +165,6 @@ Value UppHubDlg::LoadJson(const String& url)
if(begin >= 0 && end >= 0)
s = s.Mid(begin, end - begin);
Value v = ParseJSON(s);
if(v.IsError()) {
@ -211,9 +238,10 @@ void UppHubDlg::Load()
loading_stopped = false;
loaded.Clear();
upv.Clear();
Load(0, Nvl(LoadFile(ConfigFile("upphub_root")),
"https://raw.githubusercontent.com/ultimatepp/UppHub/main/nests.json"));
Load(0, Nvl(~~settings.url,
LoadFile(ConfigFile("upphub_root")),
(String)"https://raw.githubusercontent.com/ultimatepp/UppHub/main/nests.json"));
SyncList();
@ -246,7 +274,7 @@ void UppHubDlg::Install(const Index<String>& ii_)
if(!DirectoryExists(dir)) {
String cmd = "git clone ";
if(n->branch.GetCount())
cmd << "-b " + n->branch << " ";
cmd << "-b " + n->branch << ' ';
cmd << n->repo;
cmd << ' ' << dir;
console.System(cmd);

View file

@ -921,7 +921,7 @@ END_LAYOUT
LAYOUT(UppHubLayout, 992, 656)
ITEM(Upp::ArrayCtrl, list, LeftPosZ(4, 984).TopPosZ(4, 616))
ITEM(Upp::Button, settings, SetLabel(t_("Settings..")).LeftPosZ(4, 64).TopPosZ(628, 24))
ITEM(Upp::Button, setup, SetLabel(t_("Settings..")).LeftPosZ(4, 64).TopPosZ(628, 24))
ITEM(Upp::Button, help, SetLabel(t_("?")).Tip(t_("Learn more about UppHub..")).RightPosZ(344, 20).BottomPosZ(4, 24))
ITEM(Upp::Button, update, SetLabel(t_("Update all")).RightPosZ(276, 64).BottomPosZ(4, 24))
ITEM(Upp::Button, readme, SetLabel(t_("README..")).RightPosZ(208, 64).BottomPosZ(4, 24))
@ -930,3 +930,11 @@ LAYOUT(UppHubLayout, 992, 656)
ITEM(Upp::Button, cancel, SetLabel(t_("Exit")).RightPosZ(4, 64).BottomPosZ(4, 24))
END_LAYOUT
LAYOUT(UppHubSettingsLayout, 512, 64)
ITEM(Upp::Option, override, SetLabel(t_("Override UppHub url with")).LeftPosZ(8, 152).TopPosZ(8, 16))
ITEM(Upp::EditString, url, LeftPosZ(152, 328).TopPosZ(7, 19))
ITEM(Upp::Button, selfile, LeftPosZ(484, 20).TopPosZ(7, 19))
ITEM(Upp::Button, ok, SetLabel(t_("OK")).LeftPosZ(372, 64).TopPosZ(32, 24))
ITEM(Upp::Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(440, 64).TopPosZ(32, 24))
END_LAYOUT