wiki:PREVIEW_MODE_R0

Version 1 (modified by mitex, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=PREVIEW_MODE_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

This mode shows the page as it will look like in Reader. This mode is most convenient for reading books. It allows the user to test his links, events, etc.

Note: Preview mode = Reader mode = Test mode.

Task requirements

The user can’t edit his book in preview mode. He can only interact with it. The user can open links.

Reader mode applies to all open books, not just the displayed book.

The user can switch back and forth from edit mode to preview mode by:

  • checking the reader mode check box in the bottom bar of every book window
  • pressing Ctrl+T
  • selecting View -> Reader Mode from the menu.

The frame borders are turned off.

All menu items related to editing, for example the Insert menu, File->Save, should be disabled.

Some tabs are hidden: Timelines, Resources, Styles

On exiting Reader Mode, all such changes are reverted.

Although editing is not allowed, comments and annotations can be created/modified/deleted.

Selecting objects and copying them to the clipboard is allowed.

Task result

The result of this task should be source code.

Implementation idea

(It is advisable to include some rough implementations ideas.) Write implementation for BookView.inReaderMode. Currently it just returns false.

How to demo

  • Run Sophie 2
  • Create a new book
  • Insert a text frame
  • Switch to Preview Mode
  • Try to move the frame or to edit its text content
  • Switch to Editing Mode
  • Try to move the frame again - this time it must be possible

Design

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

(Write comments for this or later revisions here.)