Settings and other UI improvement proposal

Discussion of development and patch submission.
Post Reply
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Settings and other UI improvement proposal

Post by Battler » Sat 02 Jul, 2016 6:27 pm

I am thinking of how the settings UI could be improved. I am thinking of something like this: screenshoft of the Windows Virtual Settings dialog. This is the Windows Virtual PC UI and that could be used an inspiration. This would reduce the size of the settings dialog, and also allow the Hard Disk configuration to be merged into it.

In addition, I also propose the following changes to the general UI:
- In the Settings menu, an area for Storage, which would have the CD-ROM, Floppy drive A, and Floppy drive B menus, so all emulated removable media would have their insert/eject functions in the same place;
- Move the disable CD-ROM setting to the Hard Disk / CD-ROM configuration menu (and eventually to the Settings menu if/when the main improvement is done);
- Add a second composite mode setting to per-card config options to the CGA, while renaming the main one to "PCjr/Tandy Composite Mode";
- Right now, if I recall correctly, mainline PCem uses CTRL+END to release the cursor, but I propose making it <redefinable key>+END, that same redefinable key can also then be used for key combinations to take screenshots (when I end up porting that functionality to the mainline), quickly send CTRL+ALT+DEL to the guest only, or quickly hard reset the guest.

If the proposals are accepted, I am even willing to do the entire work myself and submit it as a patch here on the forum. :p However, I would love a discussion on the subject before anything is implemented. So what does everyone think?
Last edited by Battler on Sat 02 Jul, 2016 6:30 pm, edited 1 time in total.

SA1988
Posts: 253
Joined: Wed 30 Apr, 2014 9:38 am

Re: Settings and other UI improvement proposal

Post by SA1988 » Sat 02 Jul, 2016 6:28 pm

Well, in the code, there should be something that makes the CD-ROM not being IDE specific/hardcoded and then multiple CD-ROM drives. (For example: QEMU Manager had an option for hard disks if they were SCSI or not, this case would be the same for CD-ROMs on PCem).
Last edited by SA1988 on Sat 02 Jul, 2016 6:34 pm, edited 1 time in total.

Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Settings and other UI improvement proposal

Post by Battler » Sat 02 Jul, 2016 6:32 pm

- SA1988: Of course, in the event of the addition of SCSI emulation, it should be trivial to add a setting for whether the CD-ROM should be IDE/ATAPI or SCSI. Multiple CD-ROM drives, however, would require a complete recode of the CD-ROM emulation as right now it's completely hardcoded to one drive.

User avatar
SarahWalker
Site Admin
Posts: 1779
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Settings and other UI improvement proposal

Post by SarahWalker » Sat 02 Jul, 2016 7:29 pm

Battler wrote:I am thinking of how the settings UI could be improved. I am thinking of something like this: screenshoft of the Windows Virtual Settings dialog. This is the Windows Virtual PC UI and that could be used an inspiration. This would reduce the size of the settings dialog, and also allow the Hard Disk configuration to be merged into it.
In principle I'm okay with this. I seem to recall a while ago asking you to come up with a mockup for a new design?
In addition, I also propose the following changes to the general UI:
- In the Settings menu, an area for Storage, which would have the CD-ROM, Floppy drive A, and Floppy drive B menus, so all emulated removable media would have their insert/eject functions in the same place;
I'd prefer to leave the floppy insert/eject options where they are - when installing something big off floppies, it would be best to be able to change discs without having to dive off into submenus and the like.
- Move the disable CD-ROM setting to the Hard Disk / CD-ROM configuration menu (and eventually to the Settings menu if/when the main improvement is done);
Fine with me. You can implicitly disable the CD-ROM drive from this menu already though, by setting all channels to hard disc.
- Add a second composite mode setting to per-card config options to the CGA, while renaming the main one to "PCjr/Tandy Composite Mode";
Ideally I'd like to see composite mode settings in the CGA config, and also in per-machine configs for PCjr and Tandy, removing the global setting altogether.
- Right now, if I recall correctly, mainline PCem uses CTRL+END to release the cursor, but I propose making it <redefinable key>+END, that same redefinable key can also then be used for key combinations to take screenshots (when I end up porting that functionality to the mainline), quickly send CTRL+ALT+DEL to the guest only, or quickly hard reset the guest.
Fine with me, though I'm not sure of the need for a key combo for hard resetting.
If the proposals are accepted, I am even willing to do the entire work myself and submit it as a patch here on the forum. :p
Fine with me, since I hate UI work.

I'm assuming you have no intention of doing anything with the Linux GUI?

I'd suggest though, that you might want to finish getting some of your other changes finished and submitted first, before you start tearing the UI apart. I'd also suggest that when you do start, that you work from a separate checkout of trunk, rather than the same checkout you're doing all your other changes in - I'd suggest actually that you do this in general for all of your changes, as it reduces the pain of extracting individual changes for the purposes of patch generation.

Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Settings and other UI improvement proposal

Post by Battler » Sat 02 Jul, 2016 10:00 pm

SarahWalker wrote:In principle I'm okay with this. I seem to recall a while ago asking you to come up with a mockup for a new design?
Yeah, and I'm going to get around to make one. :p
I'd prefer to leave the floppy insert/eject options where they are - when installing something big off floppies, it would be best to be able to change discs without having to dive off into submenus and the like.
Then maybe a separate menu for removable storage? Or well, extending the current menu, the CD-ROM mounting menu can be moved there.
Ideally I'd like to see composite mode settings in the CGA config, and also in per-machine configs for PCjr and Tandy, removing the global setting altogether.
Yeah, but then per-machine configuration would need to be implemented. Though that could be done more easily by moving the currently global setting to the category with machine settings, and make it disabled for all machines other than PCjr and Tandy, and make it stored in separate variables for both.
Fine with me, though I'm not sure of the need for a key combo for hard resetting.
It could be useful if the cursor is grabbed and you still need to hard reset.
I'm assuming you have no intention of doing anything with the Linux GUI?
Yeah, I won't do anything with the Linux GUI because I'm not familiar at all with Allegro (or any other Linux GUI API for that matter). So that's going to have to wait for someone else.
I'd suggest though, that you might want to finish getting some of your other changes finished and submitted first, before you start tearing the UI apart. I'd also suggest that when you do start, that you work from a separate checkout of trunk, rather than the same checkout you're doing all your other changes in - I'd suggest actually that you do this in general for all of your changes, as it reduces the pain of extracting individual changes for the purposes of patch generation.
Yeah, that's a good point. Though right now, the only changes which I'll have difficult separating will be the video ones as some of them have overlapping parts.

User avatar
omarsis81
Posts: 752
Joined: Thu 17 Dec, 2015 6:20 pm

Re: Settings and other UI improvement proposal

Post by omarsis81 » Sun 03 Jul, 2016 2:48 am

I would like to propose a small request: can we have the option to write protect the floppy disks?
Having the option to check and uncheck the protection in real time, from the configuration menu, like in WinUAE (by the way, they have a nice looking and functional UI)

Image

Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Settings and other UI improvement proposal

Post by Battler » Sun 03 Jul, 2016 3:24 am

I agree that should be added, and it could be added to the menu where floppy insertion and ejection is.

Edit: Virtual PC 2007 also has its floppy and CD insertion and ejection separately and not in the Settings dialog. I guess we could mimic Virtual PC's way of doing it by having separate Floppy and CD-ROM menus, that way people would find where this is done more easily.

User avatar
ender
Posts: 51
Joined: Tue 14 Oct, 2014 12:51 pm

Re: Settings and other UI improvement proposal

Post by ender » Sun 03 Jul, 2016 7:51 am

Regarding floppies and CD-ROMs: how about having them in the settings dialog and in menus for quick access? VMWare does something like that, except that the quick access there is through the statusbar icons (which I wouldn't mind either - VMWare uses them both to show the status and activity).

Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Settings and other UI improvement proposal

Post by Battler » Mon 04 Jul, 2016 4:02 am

I'm going to look in making a status bar as that would indeed be nice.

Another I'm going to do is make the Windows version of PCem compilable and working with -DUNICODE -D_UNICODE and move any string visible to the user to the resource file (going to add a string table there) in order to make it easier to translate the UI to other languages. Depending on the workload of everything else, I might even translate it to some languages myself and add a language configuration option.

User avatar
FredPJ
Posts: 31
Joined: Tue 15 Sep, 2015 1:55 pm

Re: Settings and other UI improvement proposal

Post by FredPJ » Mon 04 Jul, 2016 10:10 pm

Man, a status bar wouldn't be just nice, it would be awesome. It would definitely end the problem with the window resize corner area in high resolution displays.
The emulation speed percentage and/or hardware info could be moved to the status bar. And maybe later even a disk access indicator could be put at the bottom left corner.

The left menu style settings is an excellent and very welcome idea.

Just please try to avoid making windows too tall. Here is what my hard disk configuration window looks as it is now:
Image

Since I would be repeating myself, I ask you to please take another look at these general layout and renaming propositions that we discussed before:
viewtopic.php?f=2&t=422

It's time to make PCem look more professional. Maybe start with having an official icon? ;)

Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Settings and other UI improvement proposal

Post by Battler » Tue 05 Jul, 2016 2:35 pm

- FredPJ: PCem-Unofficial currently uses a free to use icon I found on DeviantArt, though for mainline PCem it depends on whether Sarah would like that or she'd prefer a completely new icon, in which case I can try to make something.

And yes, of course, when I get around to doing the UI work, I'm going to make sure to not make the windows too tall. For the hard disk configuration that's actually not that difficult - make the window slightly wider, and then you can reduce the 5 lines per IDE channel to 3, reducing the window's height considerably.

Edit: It might even be possible WITHOUT increasing the width. Though of course when I get around to doing the UI remake, it's going to be easier because I'll then have full freedom to redesign it in whatever way is going to work best.

Also, the menu disalignment seems to happen only when Windows scaling is not 100%, though I recommend you try PCem-Unofficial because it uses a manifest to give it a more modern look, and maybe that affects the scaling too, as it does affect the rendering of the menu. When I get around to doing my UI work for mainline PCem, I'm going to make it use my manifest too.

Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Settings and other UI improvement proposal

Post by Battler » Tue 05 Jul, 2016 3:30 pm

Seems my supposition was right. Had a friend test PCem-Unofficial (he actually used an outdated build still named PCem-Experimental, but eh, the manifest hasn't changed since then) which has the manifest in and this is the result at scaling bigger than 100%: Image . Basically, the problem is gone. So there's even more reason to use the manifest then.

Edit: Here's another one: Image

Post Reply