Closed Bug 133787 Opened 22 years ago Closed 2 years ago

[UX][Meta] Redesign print preview and make it tab-modal instead of window-modal

Categories

(Toolkit :: Printing, task, P1)

task

Tracking

()

RESOLVED FIXED

People

(Reporter: contact2009, Unassigned)

References

(Depends on 65 open bugs, Blocks 3 open bugs)

Details

(Keywords: meta, Whiteboard: p=0)

Attachments

(1 file)

This is an offshoot of bug 133388. 

There are some user interface problems created by using the browser window for
print preview. Window close commands lose consistency with other applications
common to the platform. For example, Alt-F4 on Windows usually closes the
window, or asks the user if they want to save their work before closing the
window. In Mozilla's print preview, however, Alt-F4 appears to do nothing.
Another example is clicking the upper right-hand "X." This usually has the same
effect in Windows as Alt-F4. In Mozilla's print preview, however, it restores
browser mode, and keeps the window open.

The current implementation does not close the Window when the user clicks on the
upper right-hand "X" because the user may have typed data into a form, and that
would be lost if the browser window were closed. That problem could be avoided
by implementing print preview in a separate window.

IE 6 implements print preview in a separate window. That isn't a reason for us
to do so, of course.

For the sake of window closing behavior consistent with the platform, we should
implement print preview in a separate, non-browser window. The user can close
that window with Alt-F4 or by clicking the "X" and not have any dataloss issues.
Status: NEW → ASSIGNED
Priority: -- → P4
Target Milestone: --- → Future
Keywords: mozilla1.1
This bug conflicts with bug 110641. 
Keywords: mozilla1.1mozilla1.2
*** Bug 172769 has been marked as a duplicate of this bug. ***
Okay, so it seems to me that the solution would be a dialog-box type setup (like
what happens when you get a page load error), where the print preview comes up
in front of the original view and freezes it until you close the print preview
window.
nsbeta1-
Keywords: nsbeta1nsbeta1-
*** Bug 262574 has been marked as a duplicate of this bug. ***
mod summary
Assignee: rods → printing
Status: ASSIGNED → NEW
QA Contact: sujay
Summary: implement print preview in separate window → implement print preview in new separate non-modal (modeless) window
Blocks: 111935
Blocks: 369590
Flags: blocking1.9?
No longer blocks: 369590
Flags: blocking1.9? → blocking1.9-
Whiteboard: [wanted-1.9]
Flags: wanted1.9+
Whiteboard: [wanted-1.9]
Assignee: printing → nobody
QA Contact: printing
This would solve Bug 177491, which is VERY old -- reported back in 30 oct 2002, and still a problem in Seamonkey 1.1.16 and Firefox 2.5rc2.
Blocks: 616843
Blocks: 59314
No longer blocks: 59314
Blocks: 177491
The print preview as it is today is a remnant of the no tabbed browsing era. So I think it would be best to allow it to be showed per tab. This would fix a dozen of user interface inconsistency problems.

Something has to be done because this UI flaw is now around for OVER A DECADE(!)
Blocks: 947125
Whiteboard: [feature] p=0
Chrome has a very nice print UI, which combines the print dialog, page setup dialog and print preview into a single tab-modal sheet, see bug 650957 attachment 8373015 [details].
No longer blocks: fxdesktopbacklog
Flags: firefox-backlog+
Whiteboard: [feature] p=0 → p=0
Summary: implement print preview in new separate non-modal (modeless) window → [UX] Implement print preview in new separate non-modal (modeless) window
Summary: [UX] Implement print preview in new separate non-modal (modeless) window → [UX] Make print preview tab-modal instead of window-modal
See Also: → 122126
Summary: [UX] Make print preview tab-modal instead of window-modal → [UX] Redesign print preview and make it tab-modal instead of window-modal
See Also: → 650966
Summary: [UX] Redesign print preview and make it tab-modal instead of window-modal → [Meta][UX] Redesign print preview and make it tab-modal instead of window-modal
Blocks: 1302489
Summary: [Meta][UX] Redesign print preview and make it tab-modal instead of window-modal → [UX][Meta] Redesign print preview and make it tab-modal instead of window-modal

I dup'ed bug 650966 to this bug since there's a bunch of noise in the comments over there that at this point aren't really useful. The one comment potentially worth considering is bug 650966 comment 1:

This is vastly easier now we clone documents for printing.

I've had some ideas for this rattling around for a while.

My main idea is to get rid of the print-preview mode for layout
presentations. Introduce a new XUL <page> element that can reference a print
presentation and render a page from that presentation. Implement print
preview by creating a print presentation and constructing a list of XUL
<page> elements rendering its pages. Then with straight XUL you can do all
kinds of things we can't do today, like add per-page UI, preview N pages at
a time in any layout, visually select pages to print, direct-manipulation
changes to margins, use whatever style you want, etc. Would also simplify
layout and provide better WYSIWYG guarantees since the same presentation
would be used for print preview and printing.

Depends on: 1587459

So where are we with this issue? There seems to be three of them very similar: 219412, 347417, and 133787. These have all been open for over 15 years!

From my understanding Firefox used to have a built in print preview function on Mac's but then removed it since OSX added their own. However macOS no longer has a built in print preview (except for Apple's own apps) so wouldn't it make sense for Firefox to re-enable their own print preview function again?

I have tried tons of "print preview" add-ons for Firefox and they all seem to be built off the same framework which doesn't work all the time. Before printing I always invoke the preview to I can ensure text/page elements all fit on the page correctly and often times it's best to shrink the scaling % to fit better. For example, that one line that always seems to get put on page two, but changing to 90% and then everything fits on page just fine. Even when I get the preview looking right and hit print, I'm then presented with different options (auto shrink page width, print background images, paper orientation, etc) and these settings seem to be a gamble since they never seem to match what I just saw in the preview. One common problem I have is looking at the preview which is in portrait, but when actually printing it comes out in landscape. Or trying to match up the scaling % in both places. It's kind of like having two volume controls on a Bluetooth speaker....do you set one to 100% and then adjust as necessary with the other, or mix the two controls until you get what you want? What's worse is you'll never know until you actually print it out to see if it worked. Most of the time this leads me to printing 5 or 6 times or exporting as a PDF and THEN printing just to get it to come out right.

Rather then having this headache any longer, why not build in a print preview into Firefox so that the printing process is one step like it is in other browsers? I click print, I get a preview window, adjust if needed and then confirm the print and be done. This is lot more straightforward then having to use a 3rd party preview system that frequently does not match Firefox's print settings which results in incorrect print jobs and wasted ink and paper.

Depends on: 1631440
Depends on: 1495237
Component: Print Preview → Printing
No longer depends on: 1587459
Product: Core → Toolkit
Target Milestone: Future → ---
Version: Trunk → unspecified
Type: enhancement → task
Priority: P4 → P1
Depends on: 1648867
Depends on: 1649202
Depends on: 1649204
Depends on: 1649206
Depends on: 1652627
No longer blocks: 1648868
Depends on: 1648868
No longer blocks: 1653317
Depends on: 1653317
No longer blocks: 1653319
Depends on: 1653319
Depends on: 1652861
Depends on: 1653323
Depends on: 1653324
Depends on: 1653327
Depends on: 1653386
Depends on: 1653389
Depends on: 1653392
Depends on: 1653423
Depends on: 1653607
Depends on: 1654684
Depends on: 1654073
Depends on: 1654962
Depends on: 1656057
Depends on: 1656062
Depends on: 1656069
Depends on: 1656298
Depends on: 1656688
Depends on: 1656939
Depends on: 1656995
Depends on: 1657010
Depends on: 1657020
Depends on: 1657704
Depends on: 1657733
Depends on: 1657911
Depends on: 1657994
Depends on: 1658030
Depends on: 1658031
Depends on: 1658043
Depends on: 1658067
Depends on: 1658074
Depends on: 1658099
Depends on: 1658101
Depends on: 1658102
Depends on: 1658138
Depends on: 1658165
Depends on: 1658208
Depends on: 1658247
Depends on: 1658262
Depends on: 1658285
See Also: → 1658287
Depends on: 1657506
Depends on: 1658405
Depends on: 1658409
Depends on: 1658414
Depends on: 1658421
Depends on: 1658439
Depends on: 1658444
Depends on: 1658445
Depends on: 1658533
No longer depends on: 1658533
Depends on: 1658664
Depends on: 1658833
Depends on: 1659010
Depends on: 1659081
Depends on: 1659085
Depends on: 1659112
Depends on: 1659121
No longer depends on: 1658737
Depends on: 1659159
Depends on: 1659207
Depends on: 1659300
Depends on: 1659302
Depends on: 1659340
No longer depends on: 1657010
Depends on: 1659122
Depends on: 1659376
Depends on: 1659396
Depends on: 1659415
Depends on: 1659421
Depends on: 1659432
Depends on: 1659457
Depends on: 1659463
Depends on: 1659470
Depends on: 1659497
Depends on: 1659571
Depends on: 1659622
Depends on: 1659624
Depends on: 1659626
Depends on: 1659695
Depends on: 1659697
Depends on: 1659757
Depends on: 1659767
Depends on: 1659782
Depends on: 1659859
Depends on: 1659877
Depends on: 1660023
Depends on: 1660061
See Also: → 1660110
Depends on: 1660123
Depends on: 1660162
Depends on: 1660189
Depends on: 1660218
Depends on: 1660251
Depends on: 1660296
Depends on: 1660359
Depends on: 1660363
Depends on: 1660365
Depends on: 1660400
Depends on: 1660449
Depends on: 1660461
Depends on: 1660462
Depends on: 1660463
Depends on: 1660468
Depends on: 1660490
Depends on: 1660492
Depends on: 1660527
Depends on: 1660630
Depends on: 1660638
Depends on: 1660720
Depends on: 1660832
Depends on: 1660951
Depends on: 1660938
Depends on: 1660991
Depends on: 1661020
Depends on: 1661034
Depends on: 1661048
Depends on: 1661120
Depends on: 1661215
Depends on: 1661222
Depends on: 1661264
Depends on: 1661157
Depends on: 1661361
Depends on: 1327274
Depends on: 1661382
Depends on: 1661451
Depends on: 1661627
Depends on: 1661629
Depends on: 1661638
Depends on: 1661647
Depends on: 1661719
Depends on: 1661720
Depends on: 1661776
Blocks: 1662006
No longer blocks: 1662006
Depends on: 1662006
Depends on: 1662135
Depends on: 1662136
Depends on: 1662145
Depends on: 1662331
Depends on: 1662471
Depends on: 1662691
Depends on: 1662740
Depends on: 1662786
Depends on: 1662818
Depends on: 1662845
Depends on: 1663019
Depends on: 1662975
Depends on: 1663121
Depends on: 1663124
Depends on: 1663129
Depends on: 1663131
Depends on: 1663137
Depends on: 1663140
Depends on: 1663173
Depends on: 1663410
Depends on: 1663412
Depends on: 1663426
Depends on: 1663445
Depends on: 1663448
Depends on: 1663484
Depends on: 1663629
Depends on: 1663669
Depends on: 1663672
Depends on: 1664017
Depends on: 1664009
Depends on: 1664145
No longer depends on: 1660492
Depends on: 1664332
Depends on: 1664339
Depends on: 1664500
Depends on: 1664570
Depends on: 1664860
Depends on: 1664980
Depends on: 1664981
Depends on: 1663385
Depends on: 1666247
Depends on: 1666734
Depends on: 1667662
Depends on: 1667978
Depends on: 1668001
Depends on: 1668043
Depends on: 1668242
Depends on: 1668193
Depends on: 1668476
Depends on: 1668586

[Tracking Requested - why for this release]:

Depends on: 1668769
Depends on: 1668794
Depends on: 1668807
Depends on: 1668813
No longer depends on: 1661264
Depends on: 1669182
Depends on: 1669191
Depends on: 1669469
Depends on: 1669647

Can you clarify the intent of the tracking request for 82?
Tracking meta bugs tends not to be very actionable as it's hard to know the status, with many dependencies of different severities.

Flags: needinfo?(rtestard)
Depends on: 1669696
Depends on: 1669699
Depends on: 1669708
Depends on: 1669725
Depends on: 1669753

(In reply to Julien Cristau [:jcristau] from comment #28)

Can you clarify the intent of the tracking request for 82?
Tracking meta bugs tends not to be very actionable as it's hard to know the status, with many dependencies of different severities.

This is part of the experimenter signoff process per https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#PrefFlipandAddOnExperiments-Bugzillaupdated

Flags: needinfo?(rtestard)

Ah, I believe that's talking about the experimenter bug not this one.

Depends on: 1669922
Depends on: 1669990
Depends on: 1670008
Depends on: 1670027
Depends on: 1670638
Depends on: 1670643
Depends on: 1670645
Depends on: 1670871
Depends on: 1670876
Depends on: 1670887
Depends on: 1671702
Whiteboard: p=0 → p=0, [feature-testing-meta]
Depends on: 1673388
Depends on: 1673908
Depends on: 1674081
Depends on: 1674106
Depends on: 1674135
Depends on: 1674772
Depends on: 1675031
Whiteboard: p=0, [feature-testing-meta] → p=0
Depends on: 1675455
Depends on: 1675462
Depends on: 1675483
Depends on: 1676188
Depends on: 1676199
Depends on: 1676388
Depends on: 1676870
Depends on: 1678293
Depends on: 1678319
Depends on: 1678358
Depends on: 1678368
Depends on: 1678586
Depends on: 1678983
Depends on: 1679020
Depends on: 1679133
Depends on: 1679143
Depends on: 1679154
Depends on: 1679156
Depends on: 1679397
Depends on: 1679514
Depends on: 1679535
Depends on: 1680728
Depends on: 1681051
Depends on: 1681079
Depends on: 1681110
Depends on: 1681284
No longer depends on: 1681079
Depends on: 1681535
Depends on: 1681891
Depends on: 1681908
Depends on: 1681941
Depends on: 1682290
Depends on: 1682316
Depends on: 1682329
Depends on: 1682910
Depends on: 1683318
Depends on: 1683330
Depends on: 1683658
Depends on: 1685032
Depends on: 1685264
Depends on: 1685476
Depends on: 1686192
Depends on: 1686201
Depends on: 1686211
Depends on: 1686245
Depends on: 1686450
Depends on: 1686459
Depends on: 1686494
Depends on: 1686737
Depends on: 1686739
Depends on: 1688597
Depends on: 1690503
Depends on: 1690525
Depends on: 1691381
Depends on: 1692232
Depends on: 1694532
Depends on: 1702501
Depends on: 1704178
See Also: → 1746943
Depends on: 1666937
No longer depends on: 1686739

This project (tab-modal print preview dialog) has shipped a year or so ago, so let's close this meta-bug.

(There are still some open dependencies which we can track individually, and still group under this umbrella, but having this metabug open doesn't serve much purpose at this point.)

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: