Closed ied206 closed 3 years ago
Colors
color schemes are hard. I'm not a huge fan of black and white/grey-scale color schemes. IMHO They just don't feel polished. but it would be better then the random mismatch of colors we have now. I will say that if the UI goes grey-scale or dark, then colored icons for accent would be a plus.
Another option would be a choice between a dark/light scheme, like Visual Studio, and Office.
Icons
the current icons are pretty good. Personally I like more color and dimension, but that's me.
Placement of buttons
Top menu is fine I think. Script menu could use improvement as its pretty limited as far as space/expansion, etc. Though I have yet to figure out what would truly make it better. They could be collapsed into a hamburger or popup menu, but then you loose the speed access to Run, refresh and edit the script during development. A ribbon might work, combining the main options with script options, but would require more vertical space at the top of the window...
I think for me the thing that strikes me as being clunky is the attachments handling. I prefer the Winbuilder's file manager view with toolbar over PEbakery's tree view with its cluttered right button/field/pane/thingie.
for the interface editor, the Scale slider could be turned into a combobox to save space, and moved to a toolbar along with the save and reload buttons. And a properties pane for the controls would be nice, thought I don't think that control has been ported to WFP yet, so would need a 3rd party addon. And of course proper drag n' drop (issue #83)
Another option would be a choice between a dark/light scheme, like Visual Studio, and Office.
How about implementing customizable color theme?
EDIT Should script interface area be fixed to white? Many script interfaces are designed to fit in white background, and there is no way (and hard to add a way) to designate TextLabel's color.
New black and gray theme was applied.
I plan to add fully customizable color theme feature. Before that, a few more single-color themes will be added as a preset.
Theme support was implemented.
Total 4 presets are provided.
Red, Green and Blue theme needs some polishing. Colors are always difficult...
SettingWindow now features Theme
tab to allow customization of theme and selection of presets.
EDIT Also trying using Separator
instead of GroupBox
in SettingWindow for better visuals.
for the interface editor, the Scale slider could be turned into a combobox to save space, and moved to a toolbar along with the save and reload buttons.
For preparing this, I changed scale factor control to NumberBox
from Slider
.
Top menu is fine I think. Script menu could use improvement as its pretty limited as far as space/expansion, etc. Though I have yet to figure out what would truly make it better. They could be collapsed into a hamburger or popup menu, but then you loose the speed access to Run, refresh and edit the script during development. A ribbon might work, combining the main options with script options, but would require more vertical space at the top of the window...
I was also not able to come up with an exact answer, so it would be untouched for now.
I think for me the thing that strikes me as being clunky is the attachments handling. I prefer the Winbuilder's file manager view with toolbar over PEbakery's tree view with its cluttered right button/field/pane/thingie.
Agreed about current attachment interface's clunkiness. I will try revamping itm.
And a properties pane for the controls would be nice, thought I don't think that control has been ported to WFP yet, so would need a 3rd party addon.
Please provide me an example screenshot of properties pane you want.
Please provide me an example screenshot of properties pane you want.
Not essential, the current solution works fine. The thought was that the grid may be more organized, sizeable, and flexible.
@homes32, from the #105:
On a side note, in the future it might be nice to add an "advanced view" to the attachments viewer that includes the Author-Encoded and Interface-Encoded sections...
Script developer often tries to put two columns in ComboBox control. But ComboxBox is rendered using proportional font (Segoe UI), causing misalign of second column. Thus I propose to use monospaced font in ComboBox control.
MyPlugin\Apps\File Tasks\7-Zip_XPE.script
should work.
the 2 column thing is a coding shortcut based on a Winbuilder bug that would not expand the contents of a combobox past its set width so the '2nd column' was never intended to be viewed by end users. basically you put the user friendly name on the left then space over past the width and put whatever you want the script to process on the right, then you could do a StrRight operation and grab what the script needs (usually this was part of a lang file name or reg/ini entry. It saved you some code overhead because you didn't need to do a lookup table or huge if/else tree.
the 2 column thing is a coding shortcut based on a Winbuilder bug that would not expand the contents of a combobox past its set width so the '2nd column' was never intended to be viewed by end users.
I didn't catch this until your explanation. Now I see how it works in 7-Zip language selection.
ComboBox control will be rendered using monospaced font starting from commit 4f12df5b20f0f4b809c85e173110040c2a1f8151.
TreePanelHighlight color does not seem to be working. It's always Red.
TreePanelHighlight color does not seem to be working. It's always Red.
Fixed in commit b6034dc8b87805f1ca16eb329480fc062ba40cbb.
@APT001 @ied206 More theme tweaking/concepts in dev_themes branch 86c263f
I think for me the thing that strikes me as being clunky is the attachments handling. I prefer the Winbuilder's file manager view with toolbar over PEbakery's tree view with its cluttered right button/field/pane/thingie.
ScriptEditWindow's attachment manger was reworked.
On a side note, in the future it might be nice to add an "advanced view" to the attachments viewer that includes the Author-Encoded and Interface-Encoded sections...
Advanced view to handle [AuthorEncoded] and [InterfaceEncoded] section directly was added in attachment manager. Users will be prompted with a warning because this mode can easily corrupt a script.
ScriptEditWindow's attachment manger was reworked.
Thank you for refreshing the attachments GUI. Looks nice. a couple little comments,
We are missing multi-select extract, delete, and attach. (Winbuilder supports all 3) Inspect does not support multi-select either.
Would be nice to have the currently selected folder stay selected after an operation. currently if you delete a file it refreshes the whole view and goes back to the topmost folder. This gets very awkward in combination with missing the multi-select add/delete/extract/inspect as you have to keep bouncing back to the folder to add/delete the next file.
Do you think since we know the attached file size that it makes sense to use that to decide if inspection should be performed automatically on a per attachment basis and leave the larger ones to manual inspection? what is the threshold where the slowdown occurs?
EncodedFile.GetEncodeMode()
inspect encoded file's first footer to figure out compression algorithm, which involves these operations:
Actual calculation is done quick, but the repeated file operations are the bottleneck. I will try to implement automatic file inspection in background.
Small issue with attachments.
When you attach a file, any further actions (extract, delete,etc) for other files will always include the attached file.
EDIT:
Also, a purely cosmetic issue: at least on my 2 test machines the column resizing doesn't appear to be working effectively (no thanks to lack of support for native column resizing listview in wpf). The headers resize and fill the screen when there are no attachments (items in the listview), however when items are in the list view then the columns only resize to the text, instead of the full listview. If i remove the AutoSizedGridView
then it looks fine.
Small issue with attachments.
This commit also comes with a fix of multi-selection. The main reason was that WPF does not support multi-selection data binding directly, so I had to use a workaround.
Also, a purely cosmetic issue: at least on my 2 test machines the column resizing doesn't appear to be working effectively (no thanks to lack of support for native column resizing listview in wpf).
The only reason I can think of why AutoSizedGridView
is not working is a windows 7's classic theme. What is test machine's environment? There are two options:
CorrectMenuItem
.Also, a purely cosmetic issue: at least on my 2 test machines the column resizing doesn't appear to be working effectively (no thanks to lack of support for native column resizing listview in wpf). The headers resize and fill the screen when there are no attachments (items in the listview), however when items are in the list view then the columns only resize to the text, instead of the full listview. If i remove the AutoSizedGridView then it looks fine.
I misunderstood what you wanted to say, so Windows 7's classic theme is not a culprit. I improved raw size and encoded size column to remove AutoSizedGridView
.
Otherwise the new attachments interface looks fantastic! :)
@ied206 just wanted to make sure you saw this one outstanding missing feature. Its easy to get lost in these long threads... :)
We are still missing Multi-select attach files, which is supported by winbuilder. For the attach file dialog, if multiple files are selected we should be able to hide/disable the file name field and default to the actual filename, and use the compression option for all selected files.
@ied206 just wanted to make sure you saw this one outstanding missing feature. Its easy to get lost in these long threads... :)
Sorry, I have forgotten about this suggestion. I will begin working with this.
@homes32 It turns out I have already implemented multi-select of the attached files, but that progress was not tracked by myself. UPDATE: I misread your paragraph. Attaching multiple files at once is not implemented yet.
Attaching multiple files at once is now possible in commit d5d49fd7583fb334063a52bc38b9810ebf56ed0b.
@ied206 small bug with attachments editor:
InterfaceEncoded and AuthorEncoded folders will only show in the folder list if some other encoded folder exists.
Steps to reproduce:
PS: Advanced view could be simplified to act as a toggle for both InterfaceEncoded and AuthorEncoded, omitting the extra checkboxes.
The problem comes from EncodedFile.GetAllFilesInfo(Script sc, GetFileInfoOptions opts)
. It returns early if no encoded folders were found.
Commit 12c84adad8c4604faaac4a33567adfc1feca9f25 fixed the issue.
Closed. Continued in https://github.com/pebakery/pebakery/issues/147
Summary
PEBakery requires better UI design.
Details
Overall UI design of the PEBakery did not change much from the time I started working on PEBakery's WPF code 2 years ago. At that time making the program just run was most important, and subtle UI design was out of my scope. The overall UI design should be revised before v1.0 release.
Colors
Current light-blue/lime-green colors were inherited from the example document I used to figure out how to use WPF DockPanel. I did not have any meanings for choosing these colors, so I think PEBakery should have better colors for each area.
One idea comes across my mind now is grayscale colors, to fit with flat, black icons.
Icons
To be honest I am satisfied with current icons. PEBakery depends on MahApps.Metro.IconPacks, and mostly use Google's Material Icons. Are there any achievable improvements for icons?
Placement of buttons
I am not confident enough that how PEBakery's buttons are placed are intuitive enough. For those have experience with WinBuilder it would be easy, but how about the new user?