Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Dashboard revisited #3693

Merged
merged 3 commits into from May 14, 2018
Merged

Conversation

RussKie
Copy link
Member

@RussKie RussKie commented May 7, 2017

Dashboard completely overhauled to provide more streamlined and simpler UX. Recent repositories and categorised repositories collections are combined. The repositories list now only contains list of recent repositories and is sync'ed with the list of repositories dropdown to provide the consistent UX.
The list is managed via the FormRecentReposSettings.

The new dashboard has:

  • two distinct themes - light and dark. A theme is selected automatically based on the current Windows theme.
  • two grouping options - by date of access and category.

Also:

  • DashboardCategory deprecated and removed
  • DashboardItem deprecated and removed

Closes #3658

Related issues/feature requests:

The following are still outstanding and may get eventually be addressed if the new dashboard is retrofitted on to 2.5x branch


Features to consider once it is merged in

  • Category management
  • Collapsible categories
  • Add more ways to group by
  • Reconsider the whloe recent/less recent implementation
  • Consider renaming categories to 'groups'
  • Consider allowing renaming repository folders from UI

Screenshots:

Windows:
image
image

Update: 7 May 2018
image

private readonly TranslationString directoryIsNotAValidRepositoryCaption = new TranslationString("Open");
private readonly TranslationString directoryIsNotAValidRepository = new TranslationString("The selected item is not a valid git repository.\n\nDo you want to abort and remove it from the recent repositories list?");
private readonly TranslationString directoryIsNotAValidRepositoryOpenIt = new TranslationString("The selected item is not a valid git repository.\n\nDo you want to open it?");
private readonly TranslationString _showCurrentBranch = new TranslationString("Show current branch");
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are no longer relevant. Do I need to remove all referenced translations myself or will it be done automatically by the translation app?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The translation app should handle that.

@vbjay
Copy link
Contributor

vbjay commented May 7, 2017 via email

@vbjay
Copy link
Contributor

vbjay commented May 8, 2017 via email

@RussKie
Copy link
Member Author

RussKie commented May 8, 2017

@vbjay my question was about removing unused strings from *.xlf files, not from *.cs
perhaps I should have worded the question a bit differently to make it clearer

@jbialobr
Copy link
Member

jbialobr commented May 8, 2017

@RussKie could you take a look at CI checks? - they are failing.


Load += Dashboard_Load;
ApplyTheme();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TranslationTest.CreateInstanceOfClass creates Dashboard which shows a modal dialog. It causes that the test never ends.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I didn't run unit tests I must admit... 🤦‍♂️
I'll look into it tomorrow

@CDAGaming
Copy link
Contributor

Copy Plugins Bug was already Fixed a few days Back, so I'd suggest getting those changes to fix your Trello build

@RussKie
Copy link
Member Author

RussKie commented May 20, 2017

Yep, planning to do that shortly.

@RussKie RussKie force-pushed the feat_start_page branch 2 times, most recently from d4af3f9 to 7e5a6f6 Compare May 20, 2017 12:41
@CDAGaming
Copy link
Contributor

Most likely I'll fork your fork, and I might hold up a diagnostics PR, to see the error eliminate it and keep it updated. If successfull, I'll send back the fork

@CDAGaming
Copy link
Contributor

CommandsDialogs\BrowseDialog\DashboardControl\RecentRepositoryItem.cs(256,17): error CS1043: { or ; expected [C:\projects\gitextensions\GitUI\GitUI.csproj]

CommandsDialogs\BrowseDialog\DashboardControl\RecentRepositoryItem.cs(256,17): error CS1513: } expected [C:\projects\gitextensions\GitUI\GitUI.csproj]

CommandsDialogs\BrowseDialog\DashboardControl\RecentRepositoryItem.cs(257,16): error CS1002: ; expected [C:\projects\gitextensions\GitUI\GitUI.csproj]

CommandsDialogs\BrowseDialog\DashboardControl\RecentRepositoryItem.cs(275,10): error CS1513: } expected [C:\projects\gitextensions\GitUI\GitUI.csproj]

Here are your Appveyor Errors

@RussKie
Copy link
Member Author

RussKie commented May 20, 2017 via email

@CDAGaming
Copy link
Contributor

Well @RussKie I did finish some adjusts to your fork, as apparently Appveyor does NOT like inline simplifications. Anyways #3715 will show the fixes i did, and both Appveyor and Travis happily building....Now i just have to do that to the other 100s of times i did it in my own project 👍

@RussKie RussKie force-pushed the feat_start_page branch 2 times, most recently from fc16321 to 82a96b2 Compare May 21, 2017 08:07
@RussKie
Copy link
Member Author

RussKie commented May 21, 2017

@CDAGaming, thanks, but it is all good now.

150% scaling, GE custom font +5
screen shot 2017-05-21 at 6 14 43 pm

@CDAGaming
Copy link
Contributor

@RussKie Conflicts xD
Mainly because of DPI Changes an hour ago

@RussKie
Copy link
Member Author

RussKie commented May 25, 2017

@RussKie Conflicts xD
Mainly because of DPI Changes an hour ago

Oh well....
At this stage I don't get any feeling there is any interest from the repo owners, so I'm not going to bother.

@CDAGaming
Copy link
Contributor

@RussKie Well, as this would be a major change, i think it's just being waited on. If they didn't feel this was neccesary, they'd close it. Personally, i like your changes and you did well on it

@l-inc
Copy link

l-inc commented May 27, 2017

@RussKie #3038 is a very useful pull request, which remains unmerged for over 1.5 years. @EbenZhang still does a very good job supporting its conflictless mergeability.

Btw., your dashboard has a few problems on top of mono (5.0.1.1, Cinnamon, Fedora 25):
newdashboard-bugs
The icons overlap the link text, and "Recent Repositories" always remains empty until the scaling algorithm is triggered on increasing the window height. Additionally, the scaling algorithm completely ignores attempts to make the window's height smaller, which means that in case of a maximized window "Recent Repositories" can only be made visible after first reducing the window's height, then restarting GitExtensions, then making the window larger again.

This also means that the "Contribute" area goes outside of the window area when making the window smaller:
newdashboard-bugs_2

@vbjay
Copy link
Contributor

vbjay commented May 9, 2018

Also, clone github repository would be good to still have.

@RussKie
Copy link
Member Author

RussKie commented May 9, 2018

I might change the order of the two sections.
Reason: Favourite repos are the most used repos, so I need them on the first place.
Recent repos contains (should contain) only those repos, which are not added into Favourite repos .

I do quite the opposite - I primarily use recents (as do all our engineers who use GE). In event when a user has a lot of categories recents may be scrolled off the view, I am not sure that would be a good UX...
Anyhow I plan to add functionality to re-order categories later on.

Just a thought. Make both scrollable and provide the same collapsible
functionality as a grouped listview. That way we can show note of the one
we are focused on at the moment.

The listview is scrollable and categories (groups) are collapsible. Feel free to download the build I provided earlier and test it.

Or (for the favourites) a multilevel treeview (like folders an files) with the ability to create subfolders and drag and drop to dinamically configure its structures

Sorry, but this is not going to happen anytime soon.

@gerhardol
Copy link
Member

Looks good to me.

I would prefer if submodules did not appear on the recents list, just the top super projects so the recent list is manageable in size (I use a lot of submodules in many levels at work). But I am sure that some will dislike that too. A completely different issue.

@RussKie
Copy link
Member Author

RussKie commented May 9, 2018 via email

@RussKie
Copy link
Member Author

RussKie commented May 10, 2018

Also, clone github repository would be good to still have.

It is still here, my build used for the demonstration didn't have any plugins, that's why the GH link is missing

@RussKie
Copy link
Member Author

RussKie commented May 10, 2018

@gerhardol it seems that my commit button count "sticks" and doesn't always seem to update in this PR.
do you think you could have a look when you have a spare moment?

@gerhardol
Copy link
Member

@RussKie

it seems that my commit button count "sticks" and doesn't always seem to update in this PR.

Works for me in this branch

FYI:
However, I do not see the Diff tab

Menu item "Open in GitExtensions" still do not work

--
Still offtopic:
Submodules appear in the Recent repos both when opening from the submodules button (should not happen) and for "Open in GitExtensions" (I prefer not to). The relevant repos get shifted out quickly in submodule centric repos.

@RussKie
Copy link
Member Author

RussKie commented May 13, 2018

FYI: However, I do not see the Diff tab
Menu item "Open in GitExtensions" still do not work

Could you please elaborate how it is related to this PR?

@gerhardol
Copy link
Member

Could you please elaborate how it is related to this PR?

Diff tab missing is new - can of course be something else

For "Menu item "Open in GitExtensions" still do not work" I interpreted your comment on #4860 to be related to this issue:
#4860 (comment)

@RussKie
Copy link
Member Author

RussKie commented May 13, 2018

For "Menu item "Open in GitExtensions" still do not work" I interpreted your comment on #4860 to be related to this issue: #4860 (comment)

My comment was purely about the dashboard rendering now working - I have removed a large chunk of code from Dashboard.cs at that point.

@RussKie
Copy link
Member Author

RussKie commented May 13, 2018

Diff tab missing is new - can of course be something else

I am afraid I am not observing this issue in either this branch or the master... I can't see anything in this PR that may have caused this.

Dashboard completely overhauled to provide more streamlined
and simpler UX. Recent repositories and categorised
repositories collections are combined. The repositories
list now only contains list of recent repositories
and is sync'ed with the list of repositories dropdown
to provide the consistent UX.
The list is managed via the FormRecentReposSettings.

The new dashboard has:
* two distinct themes - light and dark. A theme is
selected automatically based on the current Windows theme.

Closes gitextensions#3658

Related issues/feature requests:
* Closes gitextensions#633 as obsolete
* Closes gitextensions#1062 as obsolete
* Fixes gitextensions#1382
* Closes gitextensions#1970 as obsolete
* Fixes gitextensions#2228
* Fixes gitextensions#2328
* Fixes gitextensions#3624
* Closes gitextensions#3648 as obsolete
* Fixes gitextensions#3932
@RussKie RussKie merged commit b3f168d into gitextensions:master May 14, 2018
@RussKie RussKie deleted the feat_start_page branch May 14, 2018 22:04
@RussKie RussKie mentioned this pull request May 14, 2018
@francoas
Copy link

francoas commented Jun 15, 2018

Just a few notes about the new dashboard

  1. In the picture below (from a real case) I noticed that some catgories are collapsable (red arrows) while other can't (purple arrows)

  2. When hovering with the mouse, if I quickly move the mouse from a focused repo (blu beckground) to the left bar, the repo doesn't lose the focus and it continues to show the blue background, even if I hover onto another. In the image I managed to make blue-backgrounded the repos pointed by the orange arrow.

  3. Each repo in a category has a third line with a gray label (green light arrow) repeating the category name (green thick arrow). One "clear" example in the last category (gt). This is redudant, it doesn't add information and it is space consuming.

image

@drewnoakes
Copy link
Member

@francoas could you open a new issue please so this comment doesn't get lost?

@francoas francoas mentioned this pull request Jun 15, 2018
@francoas
Copy link

@drewnoakes

Done: #5084

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: dashboard Issues related to the Dashboard
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet