Commit Graph

12448 Commits

Author SHA1 Message Date
Nathan Sobo
72fe586101 Remove the concept of focus from the model 2014-01-10 17:27:28 -07:00
Nathan Sobo
ddf7c04e66 Use -> arrows on methods moved to the model 2014-01-10 15:51:27 -07:00
Nathan Sobo
c127237cc6 Upgrade tabs to 0.17.0 so they unsubscribe when the pane is removed 2014-01-10 15:49:46 -07:00
Nathan Sobo
9694d255f0 Simplify item removal
- Move emitting of item removal event into ::removeItemAtIndex. Pass a
destroying param instead of setting state.

- Destroy the pane if ::items is empty at the in the item removal
method, rather than with a condition. This gives the item removal event
a chance to fire first.
2014-01-10 15:48:08 -07:00
Nathan Sobo
23e805fe9e Remove assertion for impossible situation
We were testing the behavior of returning the active pane by removing
the active class from its view. But "active" is a model-level concept
now, so this assertion makes no sense.
2014-01-10 15:28:55 -07:00
Nathan Sobo
c7fded0d7f Only emit 'pane:removed' events if the pane is actually destroyed
The pane may only be detached temporarily during splitting/unsplitting
2014-01-10 15:04:51 -07:00
Nathan Sobo
284d823ad5 Tighten up search for parent pane
The introduction of the .flexbox-redraw-hack required the query to be
loosened, but I went too far. We don't want to return a pane for mini
editors that happen to be nested on another view that's inside a pane.
2014-01-10 14:36:07 -07:00
Nathan Sobo
1ee783fdb9 Base PaneContainer::getActivePane on the model's active pane 2014-01-10 13:44:02 -07:00
Nathan Sobo
47870a1214 Remove views (rather than detaching) if Pane::destroyItem is called 2014-01-10 13:35:18 -07:00
Nathan Sobo
7801d8562f Upgrade archive-view to 0.19.0 for .flexbox-repaint-hack fix 2014-01-10 13:08:47 -07:00
Nathan Sobo
104271861c Upgrade markdown-preview to 0.24.0 for .flexbox-repaint-hack fix 2014-01-10 13:07:39 -07:00
Nathan Sobo
7665cd1a6a When a pane view is removed in anyway, make sure its model is destroyed 2014-01-10 12:35:12 -07:00
Nathan Sobo
4b0d22917b Trust CSS to perform layout now that we've switched to flexbox
The behavior of flexbox is actually slightly different in that it
divides space evenly among the immediate children of a row or column
rather than accounting for all splits. But it's actually not that big
a deal.
2014-01-10 12:12:44 -07:00
Nathan Sobo
720b2ad47d Upgrade to serializable 0.3.0 to handle undefined states 2014-01-10 12:11:19 -07:00
Nathan Sobo
d34327a667 Remove the EditorView when Editor is destroyed 2014-01-10 11:56:27 -07:00
Nathan Sobo
d2146f9b2e Emit 'pane:removed' event in container when last pane is removed
Doing it in the pane view is awkward because the view may have already
been detached.
2014-01-10 11:45:08 -07:00
Nathan Sobo
732d36af28 Null guard container in Pane::makeActive
Panes can exist outside of containers, albeit only briefly. If
::makeActive is called when the pane is in this state, consider it a
no-op.
2014-01-10 11:37:42 -07:00
Nathan Sobo
edfc86f153 Make PaneContainer::getActivePaneItem retrieve it from the model 2014-01-10 11:34:26 -07:00
Nathan Sobo
339e30d973 Account for pane axis class name changes in pane-container-spec 2014-01-10 11:25:02 -07:00
Nathan Sobo
5e1e092650 When the last pane is destroyed, null out the root and active pane 2014-01-10 11:22:19 -07:00
Nathan Sobo
c69febd44d Preserve the active pane across serialization 2014-01-10 11:22:02 -07:00
Nathan Sobo
a9d7564f3e Account for the .flexbox-repaint-hack in WorkspaceView::getEditorViews 2014-01-10 11:21:10 -07:00
Nathan Sobo
a0b733b53d Skip the flexbox-repaint-hack when seeking editor pane with ::parents 2014-01-10 11:20:12 -07:00
Nathan Sobo
1c7eef89c3 Merge branch 'master' into ns-pane-splits-with-models 2014-01-10 10:40:52 -07:00
Nathan Sobo
6eacfa7077 Call Range::toString, not ::inspect in DisplayBufferMarker::inspect 2014-01-09 19:04:52 -07:00
Nathan Sobo
9aefafb831 Use PaneContainerModel::$activePaneItem for 'active-item-changed' events
Yay behaviors
2014-01-09 18:58:01 -07:00
Nathan Sobo
5a3353ec28 Add PaneContainer view to deserializers 2014-01-09 18:35:16 -07:00
Nathan Sobo
e87b8dc463 Remove focusNext/PreviousPane methods from PaneContainer view 2014-01-09 18:35:01 -07:00
Nathan Sobo
60daa483e6 Include orientation when serializing PaneAxisModel 2014-01-09 18:34:09 -07:00
Nathan Sobo
cd699d8b9b Transfer focus to the root view when the last focused pane is destroyed 2014-01-09 18:17:08 -07:00
Ben Ogle
d33a962848 Upgrade to find-and-replace@0.70.0 2014-01-09 17:12:33 -08:00
Ben Ogle
0d2067e1a4 Merge pull request #1400 from atom/bo-fuck-rejection
Dont use reject in project::scan cancel
2014-01-09 17:09:58 -08:00
Nathan Sobo
8647137952 Remove active status management from Pane view; rely on model instead 2014-01-09 18:00:54 -07:00
Ben Ogle
fbcfad28c3 Reject is broken. Ugh. Just resolve it 2014-01-09 17:00:34 -08:00
Nathan Sobo
5e1b2e2696 Manage the active pane at the model level 2014-01-09 18:00:19 -07:00
Kevin Sawicki
a0346e95cf Upgrade to markdow-preview@0.23.0 2014-01-09 15:37:08 -08:00
Kevin Sawicki
20ee7b432c Wrap item in array since it is a trigger call 2014-01-09 15:18:44 -08:00
Nathan Sobo
4026e6ca5c Properly serialize pane focus state 2014-01-09 16:09:22 -07:00
Corey Johnson
378901e0d2 Merge pull request #1375 from atom/ns-fix-crash-exit
Properly exit when render process crashes if exitWhenDone option is true
2014-01-09 15:08:56 -08:00
Nathan Sobo
964abd3141 Suppress blur when replacing a pane axis with its last child
If the pane axis contains a child pane, its temporary removal from the
DOM causes a blur event that we don't want to screw up our focused
state.
2014-01-09 16:08:52 -07:00
Nathan Sobo
5ca7ad3bce Add spec for destroyed pane items getting removed at the model layer 2014-01-09 16:07:57 -07:00
Nathan Sobo
4dcba4bb27 Destroy remaining items when a pane is destroyed 2014-01-09 16:06:02 -07:00
Nathan Sobo
073ea84d69 Handle consequences of item removal in the model 2014-01-09 16:05:00 -07:00
Nathan Sobo
2965d2e974 Bind Pane view's focus to focus state on the model
It's a bit tricky… we don't want to blur the model when focusing the
pane's active view causes a focusout event on the pane, so we use
::suppressBlur on the model to prevent it from blurring as the focus
is transferred.
2014-01-09 16:01:52 -07:00
Nathan Sobo
a67f0d4d57 Make PaneModel::items an observable sequence 2014-01-09 15:53:52 -07:00
Nathan Sobo
5309d5f24d Add ability to suppress blur on all focusable objects in a focus context
When a view receives a 'focusout' event, we relay that to the model by
calling ::blur. This is great for when users initiate the change in
focus, but 'focusout' events can *also* be caused by elements being
temporarily detached from the DOM.

The ::suppressBlur method gives the ability to ignore blur calls during
a certain operation. This is helpful, for example, when we want to
detach a model and reattach it somewhere else without changing its focus
state.
2014-01-09 15:46:32 -07:00
Nathan Sobo
af3ca57094 Make focus state distinct until changed on Focusable objects 2014-01-09 15:43:05 -07:00
Corey Johnson
db375cd190 Merge pull request #1398 from atom/cj-show-free-disk-space
Show low disk space errors when running CI
2014-01-09 14:40:01 -08:00
Kevin Sawicki
d96b63d791 Move enable/disable to parent Package class
This was previously unimplemented in TextMatePackage causing exceptions
when trying to enable/disable a package of that type.
2014-01-09 14:13:49 -08:00
probablycorey
e435b48750 Display warning if disk space is kind of full 2014-01-09 13:58:24 -08:00