Commit Graph

5634 Commits

Author SHA1 Message Date
Justin Palmer
4502ec04d3 only check for duplicates when dragging to a different panel 2013-02-11 16:49:34 -08:00
Kevin Sawicki
fff049e8a6 Use Buffer.getPath() 2013-02-11 14:09:37 -08:00
Justin Palmer
96e2044e18 💄 2013-02-11 13:31:07 -08:00
Justin Palmer
d448db41d1 don't allow duplicate tabs in the same edit session 2013-02-11 13:26:23 -08:00
Justin Palmer
94cec69e31 little strong visual indication of drop location 2013-02-11 13:10:59 -08:00
Justin Palmer
ac39dd963f 💄 2013-02-11 13:01:03 -08:00
Justin Palmer
b9101b3310 this is how we write this on .com 2013-02-11 12:58:03 -08:00
Kevin Sawicki
6a504fc290 Remove unused index variable 2013-02-11 11:20:50 -08:00
Kevin Sawicki
94ba8c1191 Do nothing when dragged tab is dropped onto itself 2013-02-11 11:16:54 -08:00
Kevin Sawicki
07ff931082 Remove unneeded rootView parameter 2013-02-11 10:51:12 -08:00
Kevin Sawicki
b5451ce5b3 Remove unneeded rootView variable 2013-02-11 10:48:54 -08:00
Kevin Sawicki
785d91e4f4 Use relative require 2013-02-11 10:48:23 -08:00
Justin Palmer
52afa8983a remove pane if it has no tabs left 2013-02-11 09:12:06 -08:00
Justin Palmer
45d6a30a80 determine if dragged tab was perviously active before reactivating in new pane 2013-02-11 08:26:18 -08:00
Justin Palmer
ae841c2bf7 pass event to shouldAllow* methods 2013-02-11 08:17:32 -08:00
Justin Palmer
ffbc0ab45c only activate another tab if the pane's active tab wasn't dragged away 2013-02-10 11:20:47 -08:00
Justin Palmer
4474f2bc2d rename Tabs -> TabView 2013-02-10 11:12:14 -08:00
Justin Palmer
b7d4689cfe fix logic error in shouldAllowDrag 2013-02-10 10:53:19 -08:00
Justin Palmer
9c99369c10 add methods to determine if we should allow dragging and dropping 2013-02-10 10:46:02 -08:00
Justin Palmer
ccb8688a43 update require paths 2013-02-10 09:50:44 -08:00
Justin Palmer
b2ce4ca6d5 merge dev, fix conflicts from package rewrite 2013-02-09 20:17:29 -08:00
Justin Palmer
d45aac57dd :after is better 2013-02-09 19:38:55 -08:00
Justin Palmer
a124f5aeee update tabs to use new way to find pane index 2013-02-09 19:38:55 -08:00
Justin Palmer
a1a663cd30 implement indexOfPane in RootView to get array index
We need something like this because jquery's el.index() doesn't work
when multiple panes are spread out among different rows and columns.
2013-02-09 19:38:55 -08:00
Justin Palmer
83631935ff working implementation of drag and drop across multiple panels 2013-02-09 19:38:55 -08:00
Justin Palmer
c7c9656c46 remove drop dom manipulation from sortable-list
Not sure how we should handle generic drag and drop.  Tabs are more
complex because of multiple panels
2013-02-09 19:38:55 -08:00
Justin Palmer
be49f047e1 index -> sortable-index 2013-02-09 19:38:55 -08:00
Justin Palmer
b00df1aae0 sortableElement -> getSortableElement 2013-02-09 19:38:55 -08:00
Justin Palmer
e92d9ea998 sorting works on a single editor
Needs updating to support dragging between panels
2013-02-09 19:38:55 -08:00
Justin Palmer
8a50581430 rename sortable view to sortable list 2013-02-09 19:38:54 -08:00
Justin Palmer
9100367c12 very basic tab sorting 2013-02-09 19:38:54 -08:00
Justin Palmer
ff4e374d44 basics of drag and drop support 2013-02-09 19:38:54 -08:00
Nathan Sobo
d8111797ba RootView can no longer be focused.
Allowing root view to be focused was stealing focus away from the
editor whenever a click event made it to the root view. This unnecessary
switching of focus was interfering with the ability to drag tabs.

But if RootView can't be focused, focus ends up being returned to the
document body when there are no focusable elements. This would be fine,
except for the fact that we frequently bind global events on root view,
and so they aren't triggered when events are triggered on the body. We
could just bind all global events on the body, but this would require
us to always attach elements to the DOM during specs, which is a serious
performance killer in specs.

The workaround is in the keymap. When the keymap handles a key event
that was triggered on the body, it triggers the corresponding semantic
event on the root view anyway, so from the event perspective, it's as
if the root view actually had focus. The only place this might fall
down is if someone wants to capture raw key events. But that's the
keymap's job anyway, and we maybe add a hook on the keymap if such a
need ever arises.
2013-02-09 19:38:54 -08:00
Kevin Sawicki
5e81d5ceb8 Support bold and italic wrapped in underscores 2013-02-09 16:51:41 -08:00
Kevin Sawicki
e4da35d841 Support lists with hyphens and pluses 2013-02-09 16:48:12 -08:00
Kevin Sawicki
653979afc0 Capture begin and end triple ticks as support scope 2013-02-09 16:36:38 -08:00
Kevin Sawicki
659b7e05a0 Require non-asterix in bold and italic matches 2013-02-09 16:32:59 -08:00
Kevin Sawicki
20d68a380f Only tokenize list if whitespace after asterix 2013-02-09 16:30:04 -08:00
Kevin Sawicki
d406c95df9 💄 2013-02-09 15:36:30 -08:00
Kevin Sawicki
1dffcb73a7 Add rule for list element 2013-02-09 15:35:35 -08:00
Kevin Sawicki
d81a6f6aa5 Add initial GitHub Flavored Markdown package 2013-02-09 13:28:24 -08:00
Kevin Sawicki
fbd9f3b174 Remove unused variable 2013-02-09 12:51:52 -08:00
Kevin Sawicki
75a9bce848 Support packages with CSON grammars 2013-02-09 12:41:51 -08:00
Corey Johnson & Kevin Sawicki
4619e1847f Manage package lifecycle in Atom instead of in RootView 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
bb5778b659 Move package related data to Atom from RootView 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
c27489f608 Remove name parameter from RootView.activatePackage 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
ed0ced205b Store packages in array instead of a hash by name 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
8434bdfe91 Load package's configDefaults in AtomPackage
This was previously loaded in RootView.
2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
b93f404fa1 Store packages instead of package modules in RootView 2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
0fddc08fe3 💄 2013-02-08 17:28:07 -08:00