mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-09-10 06:34:40 +08:00
fix(copy): Call split / list modes "Single Panel / Two Panel"
Fixes T5907
This commit is contained in:
parent
a47d33271b
commit
46a01de651
4 changed files with 20 additions and 7 deletions
|
@ -16,7 +16,7 @@
|
||||||
+ On Windows, the icon is no longer pixelated at many resolutions
|
+ On Windows, the icon is no longer pixelated at many resolutions
|
||||||
+ On Windows, long paths no longer cause installation to fail
|
+ On Windows, long paths no longer cause installation to fail
|
||||||
+ On Windows, N1 uses the "NylasPro" font correctly
|
+ On Windows, N1 uses the "NylasPro" font correctly
|
||||||
+ Mark as read now works when viewing messages in split-pane mode
|
+ Mark as read now works when viewing messages in two panel mode
|
||||||
+ Basic cut, copy, and paste menus are available for all inputs
|
+ Basic cut, copy, and paste menus are available for all inputs
|
||||||
+ You can now type in the middle of a search query
|
+ You can now type in the middle of a search query
|
||||||
+ Names containing "via" are no longer truncated
|
+ Names containing "via" are no longer truncated
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
+ Hover states in menus and dropdowns are more consistent
|
+ Hover states in menus and dropdowns are more consistent
|
||||||
|
|
||||||
- Performance:
|
- Performance:
|
||||||
+ In split-pane mode, moving through messages quickly no longer causes jank.
|
+ In two panel mode, moving through messages quickly no longer causes jank.
|
||||||
+ Model.fromJSON is 40% faster thanks to optimized loops and other fixes
|
+ Model.fromJSON is 40% faster thanks to optimized loops and other fixes
|
||||||
+ Models are lazily deserialized after being broadcast into other windows
|
+ Models are lazily deserialized after being broadcast into other windows
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ Section: Guides
|
||||||
Order: 1
|
Order: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
The N1 user interface is conceptually organized into Sheets. Each Sheet represents a window of content. For example, the `Threads` sheet lies at the heart of the application. When the user chooses the "Files" tab, a separate `Files` sheet is displayed in place of `Threads`. When the user clicks a thread in single-pane mode, a `Thread` sheet is pushed on to the workspace and appears after a brief transition.
|
The N1 user interface is conceptually organized into Sheets. Each Sheet represents a window of content. For example, the `Threads` sheet lies at the heart of the application. When the user chooses the "Files" tab, a separate `Files` sheet is displayed in place of `Threads`. When the user clicks a thread in single panel mode, a `Thread` sheet is pushed on to the workspace and appears after a brief transition.
|
||||||
|
|
||||||
<img src="./images/sheets.png">
|
<img src="./images/sheets.png">
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,18 @@ class AppearanceModeOption extends React.Component
|
||||||
render: =>
|
render: =>
|
||||||
classname = "appearance-mode"
|
classname = "appearance-mode"
|
||||||
classname += " active" if @props.active
|
classname += " active" if @props.active
|
||||||
|
|
||||||
|
label = {
|
||||||
|
'list': 'Single Panel'
|
||||||
|
'split': 'Two Panel'
|
||||||
|
}[@props.mode]
|
||||||
|
|
||||||
<div className={classname} onClick={@props.onClick}>
|
<div className={classname} onClick={@props.onClick}>
|
||||||
<RetinaImg name={"appearance-mode-#{@props.mode}.png"} mode={RetinaImg.Mode.ContentIsMask}/>
|
<RetinaImg name={"appearance-mode-#{@props.mode}.png"} mode={RetinaImg.Mode.ContentIsMask}/>
|
||||||
<div>{@props.mode} View</div>
|
<div>{label}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
class InitialPreferencesOptions extends React.Component
|
class InitialPreferencesOptions extends React.Component
|
||||||
@propTypes:
|
@propTypes:
|
||||||
config: React.PropTypes.object
|
config: React.PropTypes.object
|
||||||
|
@ -66,8 +73,8 @@ class InitialPreferencesOptions extends React.Component
|
||||||
<div style={display:'flex', width:600, marginBottom: 50, marginLeft:150, marginRight: 150, textAlign: 'left'}>
|
<div style={display:'flex', width:600, marginBottom: 50, marginLeft:150, marginRight: 150, textAlign: 'left'}>
|
||||||
<div style={flex:1}>
|
<div style={flex:1}>
|
||||||
<p>
|
<p>
|
||||||
Do you prefer a single-panel Gmail-style
|
Do you prefer a single panel layout (like Gmail)
|
||||||
layout or a dual panel layout?
|
or a two panel layout?
|
||||||
</p>
|
</p>
|
||||||
<Flexbox direction="row" style={alignItems: "center"}>
|
<Flexbox direction="row" style={alignItems: "center"}>
|
||||||
{['list', 'split'].map (mode) =>
|
{['list', 'split'].map (mode) =>
|
||||||
|
|
|
@ -79,9 +79,15 @@ class AppearanceModeOption extends React.Component
|
||||||
render: =>
|
render: =>
|
||||||
classname = "appearance-mode"
|
classname = "appearance-mode"
|
||||||
classname += " active" if @props.active
|
classname += " active" if @props.active
|
||||||
|
|
||||||
|
label = {
|
||||||
|
'list': 'Single Panel'
|
||||||
|
'split': 'Two Panel'
|
||||||
|
}[@props.mode]
|
||||||
|
|
||||||
<div className={classname} onClick={@props.onClick}>
|
<div className={classname} onClick={@props.onClick}>
|
||||||
<RetinaImg name={"appearance-mode-#{@props.mode}.png"} mode={RetinaImg.Mode.ContentIsMask}/>
|
<RetinaImg name={"appearance-mode-#{@props.mode}.png"} mode={RetinaImg.Mode.ContentIsMask}/>
|
||||||
<div>{@props.mode} View</div>
|
<div>{label}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
class WorkspaceSection extends React.Component
|
class WorkspaceSection extends React.Component
|
||||||
|
|
Loading…
Add table
Reference in a new issue