Jump to content


P4VS issues: Untested Windows Version, keyboard shortcuts, checkout dialog


  • Please log in to reply
8 replies to this topic

#1 ac242

ac242

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 30 November 2017 - 04:18 AM

While using P4VS (in VS2017), I've come across many issues.

I just installed the latest P4V (2017.3/1592764) and P4VS (2017.2.159.319) hoping I had a bad install or that some of these would be fixed in a new version.

Untested version window
When using Time Lapse View or Revision Graph, a windows command window is opened with the text "Qt: Untested Windows version 10.0 detected!" and the path is to C:\program files\perforce\p4vc.exe. The date on p4vc.exe is 20 Nov 2017 which matches the 2017.3 version, so everything is up to date. Windows 10 was released 2.5 years ago and is officially supported, so the text is strange.

Ok, so the issues:
  • The "Untested version" window ends up covering the code I am working on.
  • The "Untested version" window doesn't go away once Time Lapse view is loaded.
  • The "Untested version" window still doesn't go away once Time Lapse view is closed!!
Checkout Dialog
Modifying a file results in a dialog asking the user to checkout the file. But this dialog has several issues. The main problem: it makes the user take their hands off the keyboard and context switch, slowing them down.
  • This dialog cannot be canceled by pressing ESC like any normal dialog could be.
  • The default focus is on the "select pending changelist" field, BUT there is no visual indication that this dropdown is focused.
  • There is no default button to take on ENTER. This should be "Checkout the file". (but it should also look like a default button)
  • There are no keyboard accelerator shortcuts for the three options on the bottom (ie, Alt+Underlined letter)
  • Finally, the tab order is incorrect (the two checkboxes are backwards)
File History Dialog
The File History (Right Click File/Tab->Revisions->Show History) dialog has several issues that makes it a pain to use.
  • The list of revisions is collapsed by default. If I am viewing revision history for a single file (ie, from right click) why is this collapsed? I have to expand it every time, just auto-expand this by default. Or make the window a single-file
    • Suggestion 1: When there is a single file in the file history window, auto-expand revisions
    • Suggestion 2: When this window is opened for a single file (ie, via right click) auto-expand revisions
    • Question: I'm not sure why this dialog supports multiple files in the first place.
  • The interface to diff versions is different than other perforce apps.
    • You cannot select two revisions and press CTRL+D to diff
    • You cannot select two revisions and right click "Diff Selected"
    • I have had to explain to several people that you have to drag one revision on top of another to diff. Not intuitive.
    • Double clicking a revision doesn't view the revision
  • The keyboard can't be used to navigate revisions properly. Pressing up/down in this list results in the keyboard focus switching to the Filetype field(?).
  • Viewing a revision (right click -> View Revision) displays the code with the built-in viewer and a variable width font. Code should be shown in a fixed width font.
When you add all of these up, it makes for a grief-inducing experience. What can be done to improve the user experience?

#2 ac242

ac242

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 22 January 2018 - 09:31 PM

Any chance some of these issues can be addressed in the next update?

#3 p4bill

p4bill

    Advanced Member

  • Members
  • PipPipPip
  • 154 posts

Posted 25 January 2018 - 11:40 PM

Thank you for the feedback and details. Bugs and enhancement requests have been logged for the items you mentioned, and will at least be reviewed for the next release. Some notes:

Untested version window. This is a P4V/P4VC bug that is actually due to the Qt libraries that P4V is built with. When those libraries are updated to a newer version, this will be fixed. That may happen with the next release.

Checkout Dialog 2: Are you not seeing the dotted rectangle on the dropdown? (see attached screenshots).
focused.PNG unfocused.PNG

Checkout Dialog 3: ENTER did previously trigger the "Checkout the file" button. That button previously had focus on dialog load. This was intentionally changed in 2017.2 to avoid the possibility of a user checking out a file to the default changelist:

1551926 (Bug 85668) *
The focus has changed from Ok button to changelist dropdown
when opening the changelist prompt on edit of a file. Now,
enter or space will not trigger a checkout of the file to the
default pending changelist if the user continues typing during
the edit.

File History Dialog 1.3: I believe the original intent was to show history for multiple files that may exist under a directory that is selected in the Solution Explorer, or an object like the solution, project, or an unexpanded WinForm file that essentially has items under it.

#4 ac242

ac242

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 26 January 2018 - 02:51 AM

View Postp4bill, on 25 January 2018 - 11:40 PM, said:

Thank you for the feedback and details. Bugs and enhancement requests have been logged for the items you mentioned, and will at least be reviewed for the next release.
Great news, thanks!

View Postp4bill, on 25 January 2018 - 11:40 PM, said:

Checkout Dialog 2: Are you not seeing the dotted rectangle on the dropdown?

When I wrote this up I don't remember seeing it, but I just re-tried and I see the rectangle.

View Postp4bill, on 25 January 2018 - 11:40 PM, said:

Checkout Dialog 3: ENTER did previously trigger the "Checkout the file" button. That button previously had focus on dialog load. This was intentionally changed in 2017.2 to avoid the possibility of a user checking out a file to the default changelist

This change is a very unwelcome one. The Visual Studio dialog for checking out a file has historically asked if if you want to check out the file and pressing enter does the checkout. P4SCC continued in this same tradition, as did P4VS until now. This is learned muscle memory from over 15 years of using Visual Studio! Now it takes more steps to checkout a file, and 99% of the time I want to checkout to the default changelist anyways (I'll simply change it later if necessary within P4V).

Usually when I begin to edit a file I press enter to add a new line, then I get the popup and I simply press enter again to checkout the file. If I don't want to checkout the file I press ESC (although with P4VS you cannot press escape as the shortcut doesn't work). So pressing ENTER ENTER is a quick way to checkout the file. Now, I have to press ENTER TAB TAB TAB TAB ENTER, or take one hand off the keyboard and grab the mouse and press the checkout button and move my hand back to the keyboard. Now think about editing 50+ files.

Please restore the previous, and IMO correct functionality to the checkout dialog. This is probably my #1 annoyance due to how often it occurs.

View Postp4bill, on 25 January 2018 - 11:40 PM, said:

File History Dialog 1.3: I believe the original intent was to show history for multiple files that may exist under a directory that is selected in the Solution Explorer, or an object like the solution, project, or an unexpanded WinForm file that essentially has items under it.

Thanks for taking the time to respond and give some insight into the file history dialog. Maybe it could be made more user friendly when the user is only looking at a single file, as this is the only way I have ever use the dialog. And we have been using Perforce since 2004.

#5 p4bill

p4bill

    Advanced Member

  • Members
  • PipPipPip
  • 154 posts

Posted 02 February 2018 - 04:21 PM

View Postac242, on 26 January 2018 - 02:51 AM, said:

This change is a very unwelcome one. The Visual Studio dialog for checking out a file has historically asked if if you want to check out the file and pressing enter does the checkout. P4SCC continued in this same tradition, as did P4VS until now. This is learned muscle memory from over 15 years of using Visual Studio! Now it takes more steps to checkout a file, and 99% of the time I want to checkout to the default changelist anyways (I'll simply change it later if necessary within P4V).

Usually when I begin to edit a file I press enter to add a new line, then I get the popup and I simply press enter again to checkout the file. If I don't want to checkout the file I press ESC (although with P4VS you cannot press escape as the shortcut doesn't work). So pressing ENTER ENTER is a quick way to checkout the file. Now, I have to press ENTER TAB TAB TAB TAB ENTER, or take one hand off the keyboard and grab the mouse and press the checkout button and move my hand back to the keyboard. Now think about editing 50+ files.

Please restore the previous, and IMO correct functionality to the checkout dialog. This is probably my #1 annoyance due to how often it occurs.

I'm trying to think of a way that it can accommodate both user preferences.

Do you want to be prompted for checkout? Like you, I checkout files to the default changelist the majority of times. I also disable the prompt, so files are checked out to the default pending changelist on edit automatically. (That can be done in Tools->Options)

prefs.PNG

When you do change what changelist a file is in (within P4V), any reason why you do not do that via P4VS?

Thanks again for the feedback.

#6 ac242

ac242

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 03 February 2018 - 12:52 AM

View Postp4bill, on 02 February 2018 - 04:21 PM, said:

Do you want to be prompted for checkout? Like you, I checkout files to the default changelist the majority of times. I also disable the prompt, so files are checked out to the default pending changelist on edit automatically. (That can be done in Tools->Options)

Yes, I want to be prompted. One reason is I want to know explicitly when files are checked out. A second reason is that I want to know the checkout actually worked. P4VS sometimes for whatever reason doesn't have a good login/ticket or connection to the perforce server, and in these cases when you checkout a file it doesn't actually get checked out, but I can start editing the file. The way I know this happens is I don't get a prompt. If I disabled prompts, then I wouldn't know this happened. Btw, when this happens, I have to go to File -> Open Connection to a Perforce Depot... and then just click Ok. This happens pretty regularly, so my guess is the login ticket times out. A third reason is that P4VS has in the past decided to add or modify hundreds/thousands of files to the changelist, but when prompting is enabled you can see this happen and intervene.

View Postp4bill, on 02 February 2018 - 04:21 PM, said:

When you do change what changelist a file is in (within P4V), any reason why you do not do that via P4VS?

I am usually working on one thing at a time, so the default changelist is fine. Then when I go to checkin, I checkin from the default changelist and enter the description text and associate a job at that time (from P4V). We include the ticket number in the checkin text, plus we associate the changelist with the job from our ticketing system before checking in. It seems more efficient to do this all at the same time, so I do it in P4V.

I may need to edit many files in the course of development that aren't actually needed for the final fix, but I don't know this at the time so I wouldn't know which changelist to put them in until later when I am finishing up and checking in. At that time I would need to go through each file, diff it to make sure the changes are needed or should be reverted, etc. If I was working on multiple issues simultaneously, I would move each file into the proper changelist at this time.

I'll ask around and see if anyone else uses this to select another changelist at checkout time,.

#7 ac242

ac242

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 13 February 2018 - 12:17 AM

View Postac242, on 03 February 2018 - 12:52 AM, said:

I'll ask around and see if anyone else uses this to select another changelist at checkout time.

Ok after asking around, I have some data.  After asking nearly dozen people, no one has ever used the dialog to select any changelist other than "default". Most people have migrated away from using the dialog entirely and now have it set to checkout automatically without prompting. Of those still using the dialog, the reason given was that they preferred to know that the checkout was actually happening. Of note, another person had the same problem I mentioned here:

View Postac242, on 03 February 2018 - 12:52 AM, said:

P4VS sometimes for whatever reason doesn't have a good login/ticket or connection to the perforce server, and in these cases when you checkout a file it doesn't actually get checked out, but I can start editing the file. The way I know this happens is I don't get a prompt. If I disabled prompts, then I wouldn't know this happened. Btw, when this happens, I have to go to File -> Open Connection to a Perforce Depot... and then just click Ok. This happens pretty regularly, so my guess is the login ticket times out.


#8 ac242

ac242

    Newbie

  • Members
  • Pip
  • 6 posts

Posted 22 February 2018 - 11:10 PM

View Postp4bill, on 02 February 2018 - 04:21 PM, said:

I'm trying to think of a way that it can accommodate both user preferences.

After some more time with the dialog I have hit a similar issue as the original user and I think I have come up with a way to accommodate both.

The issue I encountered was typing in a line of code, the dialog pops up and the change list changes to "New" because I typed an "n" in the line of code.

My suggestion:

1. Change the default focus to the changelist description field. Leave the default selected changelist as "Default".
2. Make "Checkout the file" the default button in the dialog so that ENTER accepts the dialog and checks out the file.
3. Make ESC cancel the dialog.

Now when the user is typing a long line of code and doesn't realize the dialog popped up, their continued typing does nothing. The text goes into the changelist description field, but this field doesn't actually accept text because the changelist is set to Default. Typing a space won't checkout the file, and typing keys matching changelist names or "New" won't accidentally change the selected changelist. Pressing enter will checkout the file as expected.

The only concession is that pressing enter would accept the dialog and checkout the file. However, I think this is OK for several reasons. First, pressing enter accepts a dialog, this is normal and expected behavior for a dialog. Second, pressing enter has checked out the file for at least a decade, probably close to two decades so there is precedence. Third, when typing in a line of code, it is extremely unlikely the user will press enter before the dialog is displayed. Usually the line of code is the name of a function or parameter etc. Enter is more methodical and generally wouldn't be typed blindly. I think the benefits of this concession outweighs the negatives.

For reference, expected dialog box behavior from Microsoft.
  • Enter is the access key for the default button
  • Pressing the Esc key always closes an active dialog box


#9 p4bill

p4bill

    Advanced Member

  • Members
  • PipPipPip
  • 154 posts

Posted 26 March 2018 - 08:52 PM

Thanks for the additional feedback. Unfortunately I did not get a notification that this thread had been updated since the start of February. Some changes were implemented for 2018.1 in this area. That release should be out in the near future. Meanwhile, here are some notes:

Quote

Checkout Dialog
Modifying a file results in a dialog asking the user to checkout the file. But this dialog has several issues. The main problem: it makes the user take their hands off the keyboard and context switch, slowing them down.
  • This dialog cannot be canceled by pressing ESC like any normal dialog could be.
  • The default focus is on the "select pending changelist" field, BUT there is no visual indication that this dropdown is focused.
  • There is no default button to take on ENTER. This should be "Checkout the file". (but it should also look like a default button)
  • There are no keyboard accelerator shortcuts for the three options on the bottom (ie, Alt+Underlined letter)
  • Finally, the tab order is incorrect (the two checkboxes are backwards)

1. Dialog can now be dismissed with ESC
2. We discussed this further back in the thread, there is a dotted box around the dropdown.
3. This is the challenging one. The fact that a dialog can be raised without a user actively bringing it up has caused other problems for some users. Some (could be a small amount, but enough to raise a support call here) want to select what pending changelist the file will go into. Some want to be able to enter descriptions with carriage returns using ENTER. And some do not want to have the possibility of the file being checked out without them knowing if their edits include an ENTER after the initial keypress. So, this dialog still has no default button, the default control in focus remains the changelist dropdown. Accelerator keys have been added for "Checkout the file" and "Edit the file in memory" buttons.
4. See above. Accelerator keys have been added for 2/3 "Cancel" uses ESC.
5. The tab order for these checkboxes has been corrected.

Thanks again for your feedback here. I'm going to see if I can get this whole dialog and workflow reviewed by our UX here, but cannot promise anything.

Also, the File History Tool Window is being looked into in the next release (currently in development).




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users