sgrottel / checkouts-overview Goto Github PK
View Code? Open in Web Editor NEWOverview dashboard app for source code repository checkouts.
Home Page: https://go.grottel.net/checkouts-overview-blog
License: Apache License 2.0
Overview dashboard app for source code repository checkouts.
Home Page: https://go.grottel.net/checkouts-overview-blog
License: Apache License 2.0
If “untracked”, check if other, tracked branches exist in the checkout. If yes, this means, it is a new branch, which is not (yet) tracked. Mark this as new state: “untracked-ahead”. (Untracked Icon in Orange)
Automatically build, test, and create the setup zip via CI on every commit.
Automatically inject build number into version info.
Make non-tag-versions pre-release.
Follow-up by #5
Implement Unit Tests for:
Should be a per-repo option with a settings default.
Add a settings to set the size of the state icons.
Sometimes bigger is better.
Two sets of lists:
Tasks:
Combine searching via file system functions and Everything.
Optionally, check if Everything is available and only conditionally enable the button.
Integrate search progress with search dialog.
Integrate search result with search dialog.
Persist include list and exclude list via settings (no need to make them editable in the settings dialog, but maybe link)
Minor version bump.
I guess many people keep check-outs organized in few folders, like a "source" one, a "websites" one, a "papers" one etc. If you could register these folders with the tool, finding the regular repos would be much quicker than scanning the whole machine. Maybe you also have weird/read-only checkouts somewhere that you do not want the tool to show to make it less messy.
Per entry, make default branch names configurable
Default branch names are also configured application wide --> settings dialog
Minor version bump
In the settings dialog, when using the default git client (empty config textbox), show the path to the detected git client.
Switch to a more standard publish process by using the Publish to Folder feature of Dotnet.
dotnet publish
System might have several git versions installed. User should select which one to use. System default should remain default.
Should be a generalization from the git fetch --all
currently done by default. Maybe via PS1-Script, or execution of just an external command with specific arguments and then pattern detection in the results...
Scenario:
I have a git clone, A, with two remotes.
One, B, is a crawler which produces new entries, and from which I regularly pull.
The other, C, is a long-term backup storage, onto which I push the final states of A.
So, I want to know if there is incoming stuff (from B) AND stuff which needs to be pushed out (to C) at the same time.
This was supposed to be fixed, but still happens.
Repro:
Introduce a bool option to prohibit starting second (etc.) instances of the app. Instead, bring the first (and only) instance to front.
The tool should also be able to run without everything.
Create a dialog to select either Everything or some FS roots (hard discs preselected, but editable).
For the slow scan, use dialog to report progress and possibility to abort.
all entries
selection
The Everything SDK (Dlls) seem a better, more direct option, than parsing the output of the CLI.
Sort entries in list by:
As a follow-up a fav-system could work nicely.
I can see that scanning the whole machine is super convenient, but if you are in a hurry and just want to add a single new check-out, drag-dropping a folder on top of the tool would be nice.
When changing setup the app should warn when closing without saving.
Follow-up of #41
DWMWA allows for further Window Decoration Design adaptions on modern Windows 11:
private const int DWMWA_BORDER_COLOR = 34;
private const int DWMWA_CAPTION_COLOR = 35;
private const int DWMWA_TEXT_COLOR = 36;
internal static void SetCaptionColor(IntPtr hWnd, bool focussed)
{
if (hWnd == IntPtr.Zero) return;
int color = ColorTranslator.ToWin32(Color.FromArgb(0x22, 0x22, 0x22));
DwmSetWindowAttribute(hWnd, DWMWA_BORDER_COLOR, ref color, sizeof(int));
DwmSetWindowAttribute(hWnd, DWMWA_CAPTION_COLOR, ref color, sizeof(int));
color = ColorTranslator.ToWin32(focussed ? Color.WhiteSmoke : Color.Gray);
DwmSetWindowAttribute(hWnd, DWMWA_TEXT_COLOR, ref color, sizeof(int));
}
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
IntPtr hWnd = (PresentationSource.FromVisual(this) as HwndSource)?.Handle ?? IntPtr.Zero;
Utility.DwmHelper.UseImmersiveDarkMode(hWnd, true);
Activated += (object? _, EventArgs __) => Utility.DwmHelper.SetCaptionColor(hWnd, true);
Deactivated += (object? _, EventArgs __) => Utility.DwmHelper.SetCaptionColor(hWnd, false);
}
Should be a global (default) setting with the option to adjust per repository:
Have a system setup where only one new entry will be found.
Search (with Everything).
The result list shows the only found item.
The Apply button remains disabled (Bug)
git branch -a
main
nor master
-> change shape of lower range, but stay white, when without local changesSwitch to Dark Window Title Bars for MainWindow and Dialog Windows (Settings, Search, About)
Context:
The Checkouts-Overview App follows a medium-dark design color schema. I did not overwrite the windows title bars, because I did not want to end up with non-OS look and maintenance effort.
I recently learned that there is an DWM-Switch, related to Dark Mode, which could work easily enough to adopt here:
https://www.meziantou.net/detecting-dark-and-light-themes-in-a-wpf-application.htm#updating-the-title-b-2cbb0b
Double-Clicking an entry should open the configured client.
and fix all warnings
Use slight color gradients instead of flat colors.
Add "About" Dialog, with
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.