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

Add installed package UI in Preferences TAB #11750

Merged
merged 41 commits into from
Jun 28, 2021
Merged

Conversation

pinzart90
Copy link
Contributor

@pinzart90 pinzart90 commented Jun 14, 2021

Purpose

This pull request does:

  • add a new Installed Packages Control to the new preferences dialog.

A follow up pull request for removing the old Installed Packages View is here #11791 (currently WIP).

There will probably be a third PR for restoring the UI tests that existed for the old UI.

image

Declarations

Check these if you believe they are true

  • The codebase is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning and are documented in the API Changes document.
  • This PR modifies some build requirements and the readme is updated

@pinzart90 pinzart90 added the WIP label Jun 14, 2021
@pinzart90 pinzart90 requested a review from mjkkirschner June 23, 2021 16:51
@pinzart90 pinzart90 changed the title {WIP] Add installed package UI in Preferences TAB Add installed package UI in Preferences TAB Jun 23, 2021
Height="16"
Margin="0,0,10,0"
Style="{StaticResource FlatButtonStyle}">
<Image Source="/DynamoCoreWpf;component/UI/Images/menu_16_16.png"/>
Copy link
Member

Choose a reason for hiding this comment

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

this icon is stored differently from the others?

Copy link
Contributor

Choose a reason for hiding this comment

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

It is only icons in DynamoModern.xaml that uses pack. Dynamo would not start without it. I don't know why.

<Grid>
<Border BorderThickness="0,0,0,0"
BorderBrush="#111"
Background="#3c3c3c"
Copy link
Member

Choose a reason for hiding this comment

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

this is a very similar color to:

maybe we can just use that?

Copy link
Contributor

Choose a reason for hiding this comment

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

The caret expander has different colors. I pulled out the colors from the style in DynamoModern.xaml so we can reuse them here.

<RowDefinition Height="Auto"/>
<RowDefinition Name="ContentRow" Height="0"/>
</Grid.RowDefinitions>
<Border Name="Border" Grid.Row="0" Background="{x:Null}" BorderBrush="{x:Null}" BorderThickness="1" CornerRadius="0,0,0,0">
Copy link
Member

Choose a reason for hiding this comment

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

whats up with null color, is this an invisible border?

Copy link
Contributor

Choose a reason for hiding this comment

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

We stole this pattern from one of the other expanders. There is a subtle difference between setting a Brush to null or to Transparent and I just assume this is needed here.

Copy link
Contributor

Choose a reason for hiding this comment

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

<Style TargetType="Expander" x:Key="InstalledPackagesExpanderStyle">
<Setter Property="Template">
<Setter.Value>
<!-- Control template for expander -->
Copy link
Member

@mjkkirschner mjkkirschner Jun 24, 2021

Choose a reason for hiding this comment

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

I notice you're not using the header template:
https://github.com/DynamoDS/Dynamo/blob/master/src/DynamoCoreWpf/UI/Themes/Modern/DynamoModern.xaml#L2483

that I added to the other two expander styles, that means the fontsize (and eventually font) of the header will not be easily changed for all expanders - can we use it or does it interfere with some other requirement?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure if there'll be an issue.
If I just add the template specifier in the style definition, then the control gets messed up
Maybe I just don't know how to use it...

Copy link
Contributor

Choose a reason for hiding this comment

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

It does not work because we have a Grid in our header, not a TextBlock?

Copy link
Member

Choose a reason for hiding this comment

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

Apologies - I didn't realize this expander was actually embedded into the installed packages view - I don't think we would want to use this template anyway. Forget the above comment.

@mjkkirschner
Copy link
Member

Are there any changes in behavior here that require tests?

@sm6srw
Copy link
Contributor

sm6srw commented Jun 25, 2021

Are there any changes in behavior here that require tests?

There are two old UI tests that we need to restore. Will be in the follow up PR that currently is WIP or in a third PR.

@sm6srw
Copy link
Contributor

sm6srw commented Jun 25, 2021

@mjkkirschner PTAL when you have a moment...

@@ -142,6 +144,11 @@ public bool PreferencesDebugMode
}
}

/// <summary>
/// Returns all installed packages
Copy link
Member

Choose a reason for hiding this comment

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

just curious, do you think we'll be updating this to display all packages soon, or adding new properties to show packages which are downloaded but not loaded? And what does installed mean anyway 😉 ?

Copy link
Contributor

Choose a reason for hiding this comment

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

I didn't think that much about the comment when I wrote it. Maybe Returns all known packages or just Returns all packages is better? But I do assume that this property will contain all packages but with more states in the future.

@mjkkirschner
Copy link
Member

It looks good.

@mjkkirschner
Copy link
Member

@sm6srw one thing! I noticed in @pinzart90 's image above that the binding failures indicate 16 binding failures in the preferences window - in my local build before this pr there are 0 binding failures in the preferences window with the packages view open - can you look at those failures?

Screen Shot 2021-06-25 at 4 32 25 PM

@sm6srw
Copy link
Contributor

sm6srw commented Jun 25, 2021

@sm6srw one thing! I noticed in @pinzart90 's image above that the binding failures indicate 16 binding failures in the preferences window - in my local build before this pr there are 0 binding failures in the preferences window with the packages view open - can you look at those failures?

Screen Shot 2021-06-25 at 4 32 25 PM

Thanks, I will take a look!

@mjkkirschner
Copy link
Member

Thanks, I will take a look!

actually, never mind - those binding failures are from other controls, I must have been attached to an existing sandbox.exe where it could not detect binding failures correctly.
Screen Shot 2021-06-25 at 4 36 04 PM

@sm6srw sm6srw merged commit 2fbc0da into master Jun 28, 2021
@sm6srw sm6srw deleted the new_installed_packages_view branch June 28, 2021 14:43
QilongTang pushed a commit that referenced this pull request Jul 7, 2021
* DYN-3767 PopupWindow

The changes are basically the creation of the PopupWindow UI, also I included some classes that will be needed later for supporting the Step hierarchy in which the child classes are Survey, Tooltip, Welcome and ExitTour.

One of the functionalities included is that when you press the close button the popup is closed (as expected).

Three buttons were added in the PopupWindow but for Welcome screen just the "Start Tour" button is shown, the popup pointer is hidden. For Tooltips the navigation controls and the pointer are shown.
Also the CustomRichTextBox class was added to enable adding a TextBox in a Tooltip/Welcome screen with functionalities like showing hyperlinks, text in bold, bullet point and images.

* DYN-3767 PopupWindow

Moving colors to DynamoModern.xaml and replacing some hardcoded values and colors.

* Squashed commit of the following:

commit 7b74464
Author: Jorgen Dahl <[email protected]>
Date:   Thu Jul 1 09:56:05 2021 -0400

    Remove old installed packages view (#11791)

    * update

    * update

    * update

    * update

    * Update InstalledPackagesControl.xaml

    * Update icons and icon sizes.

    * More tweaking..

    * More tweaking.
    Remove delete button.
    Restore delete button in context menu.

    * More tweaking

    * MergeFixes

    * Some more tweaks

    * Add contest menu style

    * update colors

    * More context menu tweaking.

    * One small tweak.

    * add mark for uninstall label

    * simplify control

    * Update DynamoModern.xaml

    * Change ListBox to ItemsControl

    * More tweaks

    * More tweaks

    * Restore Scollbar

    * Remove unused icon

    * align content with header and remove border

    * update

    * update menu icon

    * Remove old Installed packages view.

    * Update InstalledPackagesControl.xaml.cs

    * Fix Colors

    * Move style

    * Use FlatIconButtonStyle

    * Update comment and use nameof()

    * Fix merge error.

    * Update comment.

    * Fix tests

    * Keep ManagePackage tracking

    * Fix project file

    * Fix command

    * Update track implementation

    * More command tweaks

    Co-authored-by: pinzart <[email protected]>
    Co-authored-by: pinzart90 <[email protected]>

commit ce29111
Author: Michael Kirschner <[email protected]>
Date:   Wed Jun 30 15:07:57 2021 -0400

    Dyn 3598 (#11800)

    * small adjustment

    * align titles

    * add names to buttons for ui automation tests

    * missing button name

    * disable program data in ui
    add some todos to try to eliminate properties that are redudant
    some name changes I hope help

    * add some todos for reducing use of package loader defaultpackagesdir
    spelling
    use pathmanager instead of package loder at package man extension startup
    test that both defautldirectories are the same

    * create failing test...

    * remove todo

    * fix package tests - this check is already done in tech debt test

    Co-authored-by: michael kirschner <[email protected]>

commit 3c700d9
Author: Aaron (Qilong) <[email protected]>
Date:   Tue Jun 29 09:05:52 2021 -0700

    CopyFile Improvement (#11798)

    * CopyFile Improvement

    * Use resource string

    * Update validation condition

commit 0a18bfa
Author: Sylvester Knudsen <[email protected]>
Date:   Tue Jun 29 14:24:26 2021 +0100

    Dynamo UI visual status of issues (#11776)

    * initial commit

    * Update DynamoViewModelDelegates.cs

    * Update Dynamo.All.sln

    * update test

    * event updates

    * test update

    * initial commit

    * Update DynamoViewModel.cs

    * add open linter view to issue count

    * Update Resources.en-US.resx

    * initial commit

    * initial commit

    * Update DynamoViewModelDelegates.cs

    * Update Dynamo.All.sln

    * test update

    * add open linter view to issue count

    * remove duplicated OnRequestOpenLinterView

    * revert assembly info changes

    * LinterManager null checks

    * comment updates

    * move linter count converter

    * Update NotificationsControl.xaml.cs

    * Update NotificationsControl.xaml.cs

commit 04da16e
Author: Michael Kirschner <[email protected]>
Date:   Mon Jun 28 14:56:43 2021 -0400

    py migration test for imaginary change type (#11795)

    * small adjustment

    * align titles

    * add names to buttons for ui automation tests

    * missing button name

    * add test for imaginary diff change type

    Co-authored-by: michael kirschner <[email protected]>

commit 2fbc0da
Author: pinzart90 <[email protected]>
Date:   Mon Jun 28 10:43:35 2021 -0400

    Add installed package UI in Preferences TAB (#11750)

    * update

    * update

    * update

    * update

    * Update InstalledPackagesControl.xaml

    * Update icons and icon sizes.

    * More tweaking..

    * More tweaking.
    Remove delete button.
    Restore delete button in context menu.

    * More tweaking

    * MergeFixes

    * Some more tweaks

    * Add contest menu style

    * update colors

    * More context menu tweaking.

    * One small tweak.

    * add mark for uninstall label

    * simplify control

    * Update DynamoModern.xaml

    * Change ListBox to ItemsControl

    * More tweaks

    * More tweaks

    * Restore Scollbar

    * Remove unused icon

    * align content with header and remove border

    * update

    * update menu icon

    * Update InstalledPackagesControl.xaml.cs

    * Fix Colors

    * Move style

    * Use FlatIconButtonStyle

    * Update comment and use nameof()

    * Update comment.

    Co-authored-by: pinzart <[email protected]>
    Co-authored-by: Jorgen Dahl <[email protected]>

commit 66818b7
Author: Michael Kirschner <[email protected]>
Date:   Mon Jun 28 10:41:59 2021 -0400

    don't do anything if line is imaginary (#11794)

commit beb408e
Author: Sylvester Knudsen <[email protected]>
Date:   Mon Jun 28 14:23:16 2021 +0100

    [DYN-3774] selected graph type in properties view (#11777)

    * initial commit

    * Update DynamoViewModelDelegates.cs

    * Update Dynamo.All.sln

    * update test

    * event updates

    * test update

    * Update DynamoViewModel.cs

    * Update Resources.en-US.resx

    * comment updates

    * Fix the crash when opening Preferences dialog. (#11749)

    * DYN-3780 : fix modified flag for default home workspace (#11761)

    * fix modified flag for default home workspace

    * add reg test

    * handle modified flag for graph type change (#11754)

    * initial commit

    * updates

    * implement OpenLinterView

    * open OnRequestOpenLinterView switches tab if it exists

    * Update LintingViewExtension.cs

    * Remove dependency on DynamoWindow DataContext

    * Update GraphMetadataView.xaml

    * comment updates

    * make converters internal

    Co-authored-by: reddyashish <[email protected]>
    Co-authored-by: Bogdan Zavu <[email protected]>
    Co-authored-by: Craig Long <[email protected]>

commit 1d85e29
Author: Ashish Aggarwal <[email protected]>
Date:   Mon Jun 28 02:33:44 2021 -0400

    Fix Publish Locally button in publish package dialog box (#11783)

    * DYN-3753 Adjust btn width

    * Update margin instead

commit 56b9e57
Author: Michael Kirschner <[email protected]>
Date:   Fri Jun 25 16:10:11 2021 -0400

    Packagepaths issues (#11793)

    * small adjustment

    * align titles

    * add names to buttons for ui automation tests

    * missing button name

    * add dispose to packagepathview
    remove unused constructor
    raise can execute change when paths are shifted to update icons
    give pathview a name
    dispose package paths on prefs window close

    Co-authored-by: michael kirschner <[email protected]>

commit 56fc0bd
Author: aparajit-pratap <[email protected]>
Date:   Fri Jun 25 15:20:43 2021 -0400

    fix setting preferences view owner (#11792)

commit ab8b5a1
Author: aparajit-pratap <[email protected]>
Date:   Fri Jun 25 12:16:07 2021 -0400

    Fix for crash in host due to Preferences dialog (#11790)

    * fix for crash due to Preferences dialog

    * cleanup

    * removed unused usings

commit 4125985
Author: Aaron (Qilong) <[email protected]>
Date:   Thu Jun 24 21:08:13 2021 -0700

    Enable NTML Authenticator (#11385)

    * Initial Commit

    * Revert "Initial Commit"

    This reverts commit eb9e271.

    * Update Greg reference

commit 4ad5255
Author: Ashish Aggarwal <[email protected]>
Date:   Fri Jun 25 00:06:45 2021 -0400

    Properly align nodes placed after using autocomplete on output ports (#11782)

    * Update PortModel.cs

    * Add unit test

    * add out nodes to selection

commit fc7f47f
Author: Ashish Aggarwal <[email protected]>
Date:   Thu Jun 24 17:14:55 2021 -0400

    Fix node autocomplete documentation alignment issues (#11781)

    DYN-3754

commit 0130703
Author: aparajit-pratap <[email protected]>
Date:   Thu Jun 24 16:10:11 2021 -0400

    add name to UI control for UI automation tests (#11789)

commit 843e4bd
Author: Michael Kirschner <[email protected]>
Date:   Thu Jun 24 11:24:53 2021 -0400

    Add button names to package path item template. (#11787)

    * small adjustment

    * align titles

    * add names to buttons for ui automation tests

    * missing button name

    Co-authored-by: michael kirschner <[email protected]>

commit 04faeaf
Author: Craig Long <[email protected]>
Date:   Thu Jun 24 09:46:47 2021 -0400

    Add Modified to the LinterExtensionBase notification infrastructure (#11774)

    Co-authored-by: Craig Long <[email protected]>

commit bac165b
Author: aparajit-pratap <[email protected]>
Date:   Thu Jun 24 02:37:13 2021 -0400

    fix duplicate protogeom reference in dynamocorewpf.csproj (#11785)

commit da3628b
Author: Michael Kirschner <[email protected]>
Date:   Thu Jun 24 00:03:07 2021 -0400

    small adjustment to package paths ui (#11784)

    * small adjustment

    * align titles

    Co-authored-by: michael kirschner <[email protected]>

* DYN-3657 - Code Review 1

- Deleted the CustomRichTextBox constructor because is not needed (by default .net will create a public one).
- Renamed the HostInfo property to HostControlInfo-
- Also moving several styles from the PopupWindow.xaml to the DynamoModern.xaml

* DYN-3657 - Code Review 1

Forgot to rename the filename from HostInfo to HostControlInfo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PTAL Please Take A Look 👀
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants