Thunderbird needs a "NO" option for the initial "Use Thunderbird as the Default Client for" dialog

RESOLVED FIXED in Thunderbird 19.0

Status

Thunderbird
OS Integration
--
minor
RESOLVED FIXED
8 years ago
3 years ago

People

(Reporter: IU, Assigned: aceman)

Tracking

(Depends on: 1 bug, {ux-control})

Trunk
Thunderbird 19.0
ux-control
Dependency tree / graph
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 4 obsolete attachments)

(Reporter)

Description

8 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20090201 Lightning/1.0pre

The "Default Client" nag that appears for new Shredder installations badly needs a "NO" option, as none of the options presently available on that dialog allow a user to permanently dismiss the dialog and allow a different default messaging client to exist.  Unchecking "Always perform this check when starting Shredder" and clicking cancel DOES NOT work.

The only other way to dismiss that dialog for good is to "Tools --> Options... --> General" and unchecking "Always check to see if Shredder is the default mail client on startup."  A user should not have to search around and come this far when the dialog should have taken care of it.


Reproducible: Always

Steps to Reproduce:
1. Download the .zip build of Shredder and extract to a different location
2. Create a shortcut to launch a profile with the newly extracted Shredder
3. Launch Shredder via the shortcut.  You will now get the "Default Client" nag.
4. Uncheck "Always perform this check when starting Shredder" and click Cancel
5. Close Shredder.
6. Launch Shredder via the shortcut.  Notice you still get the nag.
7. Now go to "Tools --> Options... --> General" and uncheck "Always check to see if Shredder is the default mail client on startup."  Click OK.
8. Launch Shredder via the shortcut.  Notice the nag is finally gone.
(Reporter)

Updated

8 years ago
Flags: blocking-thunderbird3?
Version: unspecified → Trunk
I've recently been thinking about this pain, and agree with the premise.

I think FF now has a checkbox on an install panel.  But I'm not sure if it kills the prompt forever.
Severity: major → normal
Component: Mail Window Front End → Installer
OS: Windows XP → All
QA Contact: front-end → installer
Hardware: x86 → All
Agreed, I've seen this several times.  You'd think checking the [x] don't bother me with this question would be enough.  Likely we should just change the dialog away from an OK/Cancel choice to action verbs buttons and then we can use the secondary button to honor the checkbox choice.
confirming. I'll let someone else decide if this is the right component. (it occurred to me non-windows systems don't have the installer)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Sounds like this is wanted, though will the work in bug 443358 mean this is not necessary? Assigning to Bryan for further comment.
Assignee: nobody → clarkbw
I think bug 443358 is a little orthogonal to this issue.  If you don't check make default during install you'll see this nag dialog.

It shouldn't be hard to change the buttons into these:
( Don't Make Default ) ( Make Default )

That removes the "Cancel" expectations from the dialog so we can use the "Don't" action to actually set the nag pref
I like it

Updated

8 years ago
Flags: wanted-thunderbird3+
Flags: blocking-thunderbird3?
Flags: blocking-thunderbird3-
Keywords: helpwanted
Whiteboard: [good first bug][easy]
resetting this so anyone can take it over.

This is mostly a matter of getting setup and then going into these files and making the right changes to the button actions and text.

http://mxr.mozilla.org/comm-central/find?text=&kind=text&string=systemIntegrationDialog
Assignee: clarkbw → nobody
(Reporter)

Comment 8

7 years ago
Any reason why this hasn't been fixed yet?  I'm using Shredder for testing, in a corporate environment standardized to Outlook, and this bug is very annoying, as every launch of Shredder is nag nag nag.
Severity: normal → major
Keywords: ue, useless-UI, ux-control
"Uncheck everything and click OK" is a workaround for now.
(Reporter)

Comment 10

7 years ago
(In reply to comment #9)
> "Uncheck everything and click OK" is a workaround for now.

Thanks.  That worked.  Still a more meaningful UI would be nice.
Severity: major → minor
Keywords: helpwanted, useless-UI
(Assignee)

Comment 11

5 years ago
Which OS is this?

But yes, I can look if the pref behind "Always perform this check when starting Shredder" is stored properly.
Assignee: nobody → acelists
(Assignee)

Comment 12

5 years ago
I tried this on Windows XP. I think the dialog technically behaves as designed. Clicking Cancel does not remember any changes you have made in it, including unchecking the "always perform check". That is the usual dialog semantics.

If you need to preserve that unchecking you must click OK but that also saves the checks alongside the Email, News, Feeds rows.
(For some reason The I have Feeds checked and can't uncheck it, the checkbox is disabled).

So this would need UI decision how to reword and restructure the dialog.
Actually the new button of "No" that the reporter requested would make sense, it could behave as "OK", just completely ignore the checks for Email, News, Feeds. It would store "always perform check" as the user set it (would also allow it being unchecked).

1. if "always perform check" is unchecked, "NO" would behave equivalent to "Cancel".
2. if "always perform check" is checked, "NO" would behave equivalent to "OK" but not setting TB as default for anything.

"Cancel" could actually be removed and the "OK" and "NO" relabeled to something better, like "Set default" and "No integration".

Bwinton?
Keywords: uiwanted
Yeah I agree, that dialog's in need of a complete overhaul.
(Assignee)

Comment 14

5 years ago
My proposal is to just change the meaning of the Cancel button and relabel it appropriately. But if there are any other enhancements proposed I can try to implement them.
(Assignee)

Updated

5 years ago
Summary: Shredder needs "NO" option for initial "Default Client" nag → Thunderbird needs a "NO" option for the initial "Use Thunderbird as the Default Client for" dialog
(Assignee)

Comment 15

5 years ago
Does this tag actually so anything?
<?xml-stylesheet href="chrome://global/skin/"?>
(Assignee)

Comment 16

5 years ago
So I have a nice patch that overhauls the dialog internally without visible changes, except the button labels :)
So suppose we have two buttons now:
1. "set as default" = stores everything checked in the dialog
2. "no integration" = stores only the state of the "always check" checkbox.

The is one open question: what to do with the "search integration" checkbox that shows up on supported systems? Should it be saved on "no integration"-click or not? Or actually forced to unchecked as we said "no integration"?
In the interests of simplification, I wonder if we need the checkboxes at all, or if we can just say "Set Thunderbird as your default mail and news application? / Yes / No", and avoid the question entirely…
(Assignee)

Comment 18

5 years ago
There are already 3 options (4 with search integration) which I don't think can be answered by 1 answer at once.

And also it seems we can't remove existing integration, that is why I see my Feeds checked and disabled so I can't remove it.

Therefore "no integration" would be a bit misleading too.
Maybe "skip integration" would be better.
(Assignee)

Comment 19

5 years ago
Created attachment 665058 [details] [diff] [review]
WIP patch

What about this? (modulo the string entities:))
Attachment #665058 - Flags: ui-review?(bwinton)
Attachment #665058 - Flags: feedback?(sagarwal)
(Assignee)

Updated

5 years ago
Status: NEW → ASSIGNED
(Assignee)

Updated

5 years ago
Duplicate of this bug: 495936
(Assignee)

Updated

5 years ago
Duplicate of this bug: 599221
Comment on attachment 665058 [details] [diff] [review]
WIP patch

Yeah, this seems better.  ui-r=me.

As a localization note, I think the buttonlabelaccept and buttonlabelcancel should be entities, like title is.

Thanks,
Blake.
Attachment #665058 - Flags: ui-review?(bwinton) → ui-review+
(Assignee)

Updated

5 years ago
Component: Installer → OS Integration
Keywords: ue, uiwanted
Whiteboard: [good first bug][easy]
(Assignee)

Comment 23

5 years ago
Created attachment 667186 [details] [diff] [review]
patch v2

Ok, this adds the entities.
Attachment #665058 - Attachment is obsolete: true
Attachment #665058 - Flags: feedback?(sagarwal)
Attachment #667186 - Flags: review?(mconley)
Attachment #667186 - Flags: feedback?(sagarwal)
Comment on attachment 667186 [details] [diff] [review]
patch v2

Review of attachment 667186 [details] [diff] [review]:
-----------------------------------------------------------------

Just a few minor points, nothing too major. On the whole, this is a big improvement to what we currently have. :)  Thanks!

::: mail/base/content/systemIntegrationDialog.js
@@ +7,4 @@
>  
> +let gSystemIntegrationDialog = {
> +  _shellSvc: Components.classes["@mozilla.org/mail/shell-service;1"]
> +                               .getService(Components.interfaces.nsIShellService),

Nit - please align the period in .getService vertically with the period in .classes

@@ +44,2 @@
>      // read the raw pref value and not shellSvc.shouldCheckDefaultMail
> +    Components.utils.import("resource://gre/modules/Services.jsm", this);

Hm - I think you should be able to just import Services.jsm into this function scope, if you remove the "this" argument.

Then you can just use Services.prefs.getBoolPref as opposed to this.Services.prefs.getBoolPref, which just looks weird.

@@ +44,3 @@
>      // read the raw pref value and not shellSvc.shouldCheckDefaultMail
> +    Components.utils.import("resource://gre/modules/Services.jsm", this);
> +    this._startupCheckbox.checked = 

Nit - trailing whitespace

@@ +48,3 @@
>  
> +    // Search integration -- check whether we should show/disable integration
> +    let showSearchUI = false;

I don't think showSearchUI or disableSearchUI are really necessary. You can just use:

if (!SearchIntegration.osVersionTooLow) {
  this._searchCheckbox.hidden = false;
  if (SearchIntegration.osComponentNotRunning) {
    // ..etc
  }
}

@@ +71,4 @@
>      }
>    },
> +
> +  onAccept: function(aSetAsDefault)

Some documentation to describe what aSetAsDefault does would be good.

::: mail/base/content/systemIntegrationDialog.xul
@@ +38,2 @@
>          onload="gSystemIntegrationDialog.onLoad();"
> +        ondialogaccept="return gSystemIntegrationDialog.onAccept(true);"

Hm - I think onAccept is no longer the correct name for this function.

How about onDialogClosed instead?

::: mail/locales/en-US/chrome/messenger/systemIntegrationDialog.dtd
@@ +2,5 @@
>     - License, v. 2.0. If a copy of the MPL was not distributed with this
>     - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
>  
>  <!ENTITY systemIntegration.title  "System Integration">
> +<!ENTITY acceptIntegration.label  "Set as Default">

Are we sure on the capitalization here?  How about Default is capitalized, but integration is not?
Attachment #667186 - Flags: review?(mconley) → review-
(Assignee)

Comment 25

5 years ago
Created attachment 667647 [details] [diff] [review]
patch v3
Attachment #667186 - Attachment is obsolete: true
Attachment #667186 - Flags: feedback?(sagarwal)
Attachment #667647 - Flags: review?(mconley)
Comment on attachment 667647 [details] [diff] [review]
patch v3

Review of attachment 667647 [details] [diff] [review]:
-----------------------------------------------------------------

This looks good - r=me with these last two nits fixed.

::: mail/base/content/systemIntegrationDialog.js
@@ +44,2 @@
>      // read the raw pref value and not shellSvc.shouldCheckDefaultMail
> +    Components.utils.import("resource://gre/modules/Services.jsm");

I'd rather this import occur at the top of the function.

@@ +50,1 @@
>      Components.utils.import("resource:///modules/SearchIntegration.js");

I'd rather this import occur at the top of the function.
Attachment #667647 - Flags: review?(mconley) → review+
(Assignee)

Comment 27

5 years ago
Created attachment 670072 [details] [diff] [review]
patch v4

This corrects a problem introduced in bug 595723. If called from Preferences dialog, the user probably just wants to check what the current state is, so do not preset the "Mail" check box. Please try both ways and also on a system where SearchIntegration is available (Win7 maybe and Mac???) to see if it works as I changed the imports a bit. Thanks.
Attachment #667647 - Attachment is obsolete: true
Attachment #670072 - Flags: ui-review?(bwinton)
Attachment #670072 - Flags: review?(mconley)
Comment on attachment 670072 [details] [diff] [review]
patch v4

ui-r=me!

Thanks,
Blake.
Attachment #670072 - Flags: ui-review?(bwinton) → ui-review+
Comment on attachment 670072 [details] [diff] [review]
patch v4

Review of attachment 670072 [details] [diff] [review]:
-----------------------------------------------------------------

I like the look of this. Thanks aceman!

::: mail/base/content/systemIntegrationDialog.js
@@ +23,3 @@
>    {
> +    Components.utils.import("resource://gre/modules/Services.jsm", this);
> +    // This imports a this.Searchintegration object.

I think the comment should read:

Makes Services and SearchIntegration accessible via this.Services and this.SearchIntegration.
Attachment #670072 - Flags: review?(mconley) → review+
(Assignee)

Comment 30

5 years ago
Created attachment 672017 [details] [diff] [review]
patch v5

Thanks.
Attachment #670072 - Attachment is obsolete: true
Attachment #672017 - Flags: review+
(Assignee)

Updated

5 years ago
Keywords: checkin-needed
https://hg.mozilla.org/comm-central/rev/4dae5d540baf
Flags: wanted-thunderbird3+
Flags: in-testsuite-
Flags: blocking-thunderbird3-
Keywords: checkin-needed
Target Milestone: --- → Thunderbird 19.0
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED

Updated

4 years ago
Depends on: 841533
(Assignee)

Updated

3 years ago
Depends on: 1036592
You need to log in before you can comment on or make changes to this bug.