ide: assembly origin experiment (to be removed)

This commit is contained in:
Mirek Fidler 2024-06-27 15:02:43 +02:00
commit 455a52ea69
4 changed files with 37 additions and 4 deletions

View file

@ -237,7 +237,6 @@ void SyncRefs()
SyncRefsShowProgress = true;
return;
}
TIMESTOP("SyncRefs");
Progress pi;
pi.AlignText(ALIGN_LEFT);
Vector<String> upp = GetUppDirs();

View file

@ -175,6 +175,7 @@ SelectPackageDlg::SelectPackageDlg(const char *title, bool selectvars_, bool mai
Icon(IdeImg::MainPackage(), IdeImg::PackageLarge());
base.AutoHideSb();
base.NoGrid();
base.AddIndex();
base.AddColumn("Assembly");
base.WhenCursor = THISBACK(OnBase);
base.WhenBar = THISBACK(ToolBase);
@ -823,11 +824,14 @@ void SelectPackageDlg::SyncBase(String initvars)
{
Vector<String> varlist;
for(FindFile ff(ConfigFile("*.var")); ff; ff.Next())
if(ff.IsFile())
if(ff.IsFile()) {
varlist.Add(GetFileTitle(ff.GetName()));
}
Sort(varlist, &PackageLess);
base.Clear();
Append(base, varlist);
for(String s : varlist)
base.Add(s, s);
base.HeaderTab(0).SetText("Assembly (" + AsString(base.GetCount()) + ")");
if(!base.FindSetCursor(initvars)) {
if(base.GetCount() > 0)
@ -835,6 +839,31 @@ void SelectPackageDlg::SyncBase(String initvars)
else
OnBase();
}
load_origin = 0;
PostCallback([=] { LoadOrigins(); });
}
void SelectPackageDlg::LoadOrigins()
{
int tlim = msecs();
if(load_origin >= base.GetCount())
return;
VectorMap<String, String> var;
String n = ~base.Get(load_origin, 0);
LoadVarFile(ConfigFile(n + ".var"), var);
String d = Split(var.Get("UPP", ""), ';').At(0);
if(d.GetCount()) {
dword h = xxHash(GitCmd(d, "config --get remote.origin.url"));
int r = h & 15; h >>= 4;
int g = h & 15; h >>= 4;
int b = h & 15;
base.Set(load_origin, 1, AttrText(n).NormalPaper(IsDarkTheme() ? Color(30 + r, 30 + g, 30 + g)
: Color(240 + r, 240 + g, 240 + b)));
}
if(++load_origin < base.GetCount())
PostCallback([=] { LoadOrigins(); });
}
bool SelectPackageDlg::Pless(const SelectPackageDlg::PkInfo& a, const SelectPackageDlg::PkInfo& b)

View file

@ -154,6 +154,9 @@ struct SelectPackageDlg : public WithSelectPackageLayout<TopWindow> {
ProgressIndicator progress;
StatusBar lists_status;
TimeCallback tm;
int load_origin = 0;
Vector<String> nest_list;
bool selectvars;
@ -228,6 +231,8 @@ struct SelectPackageDlg : public WithSelectPackageLayout<TopWindow> {
void DeletePackage();
void PackageMenu(Bar& bar);
void MovePackage(bool copy);
void LoadOrigins();
enum {
MAIN = 1, NONMAIN = 2, ALL = 0x8000, UPPHUB = 0x4000, NEST_MASK = 0xfff

View file

@ -26,9 +26,9 @@ uses
file
IDE readonly separator,
ide.h options(BUILDER_OPTION) PCH,
ide.key,
version.h,
UppDlg.h,
ide.key,
BaseDlg.cpp,
SelectPkg.cpp,
UppWspc.cpp,