Commit Graph

92 Commits

Author SHA1 Message Date
Ben Ogle
af052c79a7 nof 2014-11-10 13:32:58 -08:00
Ben Ogle
6159209d49 moveItemTo* -> moveItem* 2014-11-10 13:28:15 -08:00
Ardeshir Javaherchi
5e3b88f42d Add another test for moveItemToLeft 2014-11-10 11:25:17 -08:00
Ardeshir Javaherchi
a0e4d8b582 Add test for reordering tabs in linux 2014-11-10 11:25:17 -08:00
Nathan Sobo
efd3329c50 Prompt to save modified items when closing a pane via pane:close
Fixes #4094
2014-11-10 07:55:37 -07:00
Nathan Sobo
33a5ca30dc Use DeserializerManager::add disposable instead of ::remove in specs 2014-09-30 12:58:10 -06:00
Nathan Sobo
55cce48af1 Throw an exception if the same pane item is added twice in the workspace 2014-09-19 16:24:13 -06:00
Ben Ogle
a81393320c Support a copyActiveItem param in Pane::split* methods 2014-09-04 16:41:20 -07:00
Nathan Sobo
b60b9f3e3a Add Pane::observeItems 2014-08-28 16:40:54 -06:00
Nathan Sobo
44d70aaa5b Add Pane::onDidChangeActive() 2014-08-28 11:43:07 -06:00
Nathan Sobo
2b63f8a4ee Add PaneContainer::onDidChangeActivePane 2014-08-28 11:43:07 -06:00
Nathan Sobo
8225f759bf Add Pane::onWillDestroyItem() 2014-08-28 11:43:07 -06:00
Nathan Sobo
2d58d9c8b5 Add Pane::onDidActivate 2014-08-28 11:43:07 -06:00
Nathan Sobo
548018e9b2 Add spec for onDidRemoveItem observers when moving items to other panes 2014-08-28 11:43:07 -06:00
Nathan Sobo
9bd2eec4bc Add Pane::onDidMoveItem() 2014-08-28 11:43:07 -06:00
Nathan Sobo
b8fcbe9451 Start adding event subscription methods to pane
This branch uses EventKit, an ultra-simple library for implementing
events. The object implementing the methods maintains its own emitter
object rather than doing a mixin like Emissary encourages. This will
make it easier for us to deprecate ::on on the object itself. Unlike
emissary, the EventKit Emitter implements a super minimalistic API that
only allows one value to be emitted and always returns a Disposable
from subscriptions.
2014-08-28 11:43:06 -06:00
Nathan Sobo
ebb02bcd37 Use public getters instead of properties in pane-spec 2014-08-28 11:42:42 -06:00
Nathan Sobo
8521114c08 Fix failures associated with not passing focused: true on pane splits 2014-06-09 17:09:02 +09:00
Kevin Sawicki
864ab0c095 Use file path in save as dialog
Previously the dirname of the file path was used which caused the
save dialog to not be filled in with the current file name

Closes #1748
2014-03-12 18:41:50 -07:00
Brandon Tilley
8bba4d8add Intelligently activate new items when the active item is closed
If the active item was the pane's first item, the second item (which is
the new first item) is activated. Otherwise, the item to the left of the
closed item is activated.
2014-01-20 14:34:02 -08:00
Kevin Sawicki
e0cf20cda9 Don't throw error when saving empty pane
Closes #1440
2014-01-17 15:24:55 -08:00
Nathan Sobo
926493f05c Emit 'item-added' before setting the ::activeItem when adding first item
Fixes atom/tabs#11
2014-01-17 11:10:17 -07:00
Nathan Sobo
9af4b14716 Never allow PaneContainer::root to be null 2014-01-15 16:07:47 -07:00
Nathan Sobo
aed9f18457 Accivate the first added pane item 2014-01-15 16:07:47 -07:00
Nathan Sobo
012363a785 Null guard item in ::destroyActiveItem 2014-01-15 16:07:47 -07:00
Nathan Sobo
44331d0ba6 Fix issues splitting panes with DOM events
* ::copyActiveItem guards against not having an active item
* The Pane constructor removes undefined items from params.items
2014-01-15 16:07:47 -07:00
Nathan Sobo
fe7c5b4bc1 Only destroy an empty panes if 'core.destroyEmptyPanes' is true 2014-01-15 16:07:47 -07:00
Nathan Sobo
1c6564f7a5 Move non-focus serialization specs from pane-view-spec to pane-spec 2014-01-14 21:39:47 -07:00
Nathan Sobo
d9d28b5236 Move ::itemForUri specs from pane-view-spec to pane-spec 2014-01-14 20:39:13 -07:00
Nathan Sobo
8734eab8cb 💄 Give dummy pane items ::getUri and ::getPath methods 2014-01-14 20:38:07 -07:00
Nathan Sobo
9841a3588f Move specs on PaneView::remove to Pane::destroy in pane-spec 2014-01-14 20:10:01 -07:00
Nathan Sobo
d8ddd52df8 Move ::activateItemAtIndex specs from pane-view-spec to pane-spec 2014-01-14 19:49:15 -07:00
Nathan Sobo
83696bb9c7 Move ::activateNext/PreviousItem specs from pane-view-spec to pane-spec 2014-01-14 19:46:12 -07:00
Nathan Sobo
243c4efe20 Move ::saveActiveItemAs specs from pane-view-spec to pane-spec 2014-01-14 19:43:09 -07:00
Nathan Sobo
22c65f2407 Move ::saveActiveItem specs from pane-view-spec to pane-spec 2014-01-14 19:41:00 -07:00
Nathan Sobo
e553fefc25 Add spec for Pane::destroyInactiveItems to pane-spec 2014-01-14 19:32:39 -07:00
Nathan Sobo
cf6fc22c87 Add spec for Pane::destroyItems to pane-spec 2014-01-14 19:31:13 -07:00
Nathan Sobo
a6d8f588c3 💄 2014-01-14 19:29:01 -07:00
Nathan Sobo
2ef74de0f8 Move ::moveItemToPane specs from pane-view-spec to pane-spec 2014-01-14 19:26:47 -07:00
Nathan Sobo
2ee6469b17 Move ::moveItem specs from pane-view-spec to pane-spec 2014-01-14 19:15:11 -07:00
Nathan Sobo
9977884a2c Move ::destroyItem specs from pane-view-spec to pane-spec 2014-01-14 19:12:27 -07:00
Nathan Sobo
c331723c55 Move ::activateItem specs from pane-view-spec to pane-spec 2014-01-14 19:12:26 -07:00
Nathan Sobo
6ef6fb77f9 Rename pane-*-model specs 2014-01-13 17:22:02 -07:00
Nathan Sobo
4f604ced3c Rename Pane to PaneView 2014-01-13 13:46:22 -07:00
Nathan Sobo
b438b311f3 Rename showItem methods to activateItem
These methods set the *active* item, so the verb activate provides a
clearer correspondence. We could change the noun to "shown" item, but
that's awkward and having both active panes and active items is a nice
correspondence in terminology.
2014-01-12 17:40:57 -07:00
Nathan Sobo
561e31c0c5 Remove ::removeItemAtIndex and make ::removeItem private
Call ::destroyItem or just destroy the item directly (it should emit the
'destroyed' event)
2014-01-12 17:25:51 -07:00
Nathan Sobo
28b085be1c Rename ::makeActive to ::activate and focus panes when they're activated 2014-01-11 20:48:01 -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
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
probablycorey
99a67ca1ab Remove focused spec 2014-01-08 16:37:57 -08:00