Why is "cancel" on the left side of the choices in New Document?

• Aug 14, 2018 - 19:08
Reported version
S4 - Minor

In general in most programs including MS, the cancel button is on the right.

However if one opens a new document, the cancel button is on the left.

I believe it should follow the general format.

First posted here: https://musescore.org/en/node/275271


In reply to by Jojo-Schmitz

Yes, this is a consistency/UX issue. If you go by platform guidelines, as listed here, it seems that it differs based on platforms.
It can be reduced to:

  • Windows: Cancel comes last
  • Apple: Cancel comes first

MuseScore seems to stick to Windows guidelines:

  • Instruments dialog: cancel last
  • Transpose: cancel last
  • Page settings: cancel last
  • Are you sure you want to close: cancel last (contrary to the forum post :/)
  • Preferences: cancel after OK (but before apply, as per windows guidelines)

It seems that MuseScore uses Windows guidelines for its dialogues (on Linux at least). I can't test Apple unfortunately, but I would expect button order to remain the same.

Status (old) fixed needs info
Status fixed needs info


One of the small advantages of the decision to drop MuseScore's own theme in favor of Qt's built-in one is that it automatically orders the buttons according to the individual platform guidelines. So this is not that simple. I gather this is not what you see on Windows.
Screen Shot 2018-08-15 at 10.00.10 AM.png Screen Shot 2018-08-15 at 10.00.15 AM.png

In reply to by Isaac Weiss

Ah. You're right, that's not what happens on Windows/Linux. Although I'm now wondering why there was, before the fix, an override for the default button ordering, to put the cancel button on the left of the others :/

Status (old) needs info patch (code needs review)
Status needs info  

Issac Weiss, can you test one small thing for me if you have a moment please? Comment out line 456 of mscore/newwizard.cpp. Compile, install and run, and can you tell me how the cancel button is positioned in the new document window? Thanks.

I'm currently unable to compile—running into all kinds of errors with the webview of the Start Center. Something about my build environment is clearly off, but I can't diagnose it.

On Mac, removing the line has the same effect as setting the option to "false", which is to put the "Cancel" button to the right of "Finish". What is the current problem that requires a solution? Obviously, we can do

#ifdef Q_OS_MAC
      setOption(QWizard::CancelButtonOnLeft, true);

which will move the "Cancel" button to the left of "Back" on Mac only, overriding the system default. What exactly are we trying to accomplish?


I had to set 3 environment variables and then run make -f Makefile.osx xcode. The 3 environment variables are:


Obviously, the paths will be different on your system.

Indeed, that PR is the right way to go. As mattmcclinch reported, not having that line on macOS means the button comes out on the right.