2283 Commits

Author SHA1 Message Date
Corey Johnson & Nathan Sobo
10f405f61f Create preview list Dom elements only when needed 2013-03-19 11:30:48 -07:00
Nathan Sobo
a1882ffd1f Move "GitHub" special-case to _.capitalize. Add specs. 2013-03-14 11:35:06 -06:00
Nathan Sobo
634117ed66 Make $.fn.document always take event name / doc string args
It's simpler and we don't use the other syntax right now.
2013-03-14 11:34:28 -06:00
Nathan Sobo
25839c5cf5 Add spec coverage for $.fn.command 2013-03-14 11:25:33 -06:00
Corey Johnson
3ec74f3211 Move toExistOnDisk matcher to spec helper 2013-03-12 16:55:28 -07:00
Corey Johnson
c236325c1a Log errors (instead of crashing) when the config file cannot be parsed
Also, config won't overwrite changes to config.cson when the file can not be parsed. Closes #401
2013-03-12 16:47:26 -07:00
Corey Johnson
4755233f92 💄 2013-03-12 15:55:30 -07:00
Corey Johnson
d916962a80 Defer window close events until all modified pane items are handled
If the user presses cancel, the close event is canceled
2013-03-12 15:55:30 -07:00
Corey Johnson
06b63c24dc Merge remote-tracking branch 'origin/dev' into md-preview-redux
Conflicts:
	src/packages/markdown-preview/stylesheets/markdown-preview.css
	static/atom.css
	static/command-panel.css
2013-03-11 17:02:36 -07:00
Corey Johnson & Nathan Sobo
7e03880bd0 Add $.fn.scrollUp and .scrollDown
These scroll the element by a small amount up or down.
2013-03-11 17:32:11 -06:00
Nathan Sobo
bf7fc39434 Rename AtomPackage.packageMain to .mainModule 2013-03-11 16:04:38 -06:00
Nathan Sobo
50b61f3a00 Test requiring of package main module via deferred deserializer 2013-03-11 15:20:51 -06:00
Nathan Sobo
10d0fdf2d7 Require a deferred package early if needed when deserializing panes
The requiring of a package's main module is now decoupled from package
activation. Non-deferred packages will always be required before the
panes are deserialized. This allows the package to register any
deserializers for objects displayed in the panes.

Deferred packages can contain a 'deferredDeserializers' array in their
package.cson. If we attempt to deserialize an object with a deserializer
in the list, the package's main module will be required first so it has
a chance to register the deserializer. But the package still won't be
activated until an activation event occurs.

We may want to add an additional optional hook called 'load' which is
called at require time. We would not guarantee that the rootView
global would exist, but we could give the package a chance to register
deserializers etc. For now, registering deserializers is a side-effect
of requiring the package.
2013-03-11 15:08:19 -06:00
Corey Johnson & Nathan Sobo
478a376c97 Less files work in atom themes 2013-03-11 10:02:19 -07:00
probablycorey
9acd401b9e Use fixture files to requireStylesheet 2013-03-11 10:02:19 -07:00
Justin Palmer
050c376e87 remove old less require spec 2013-03-11 10:02:19 -07:00
Justin Palmer
0624ba6d3f rename remaining static css files to less 2013-03-11 10:02:19 -07:00
Justin Palmer
a448a79ae6 atom.css -> atom.less 2013-03-11 10:02:19 -07:00
Justin Palmer
2b66b033e0 add less parsing helper to spec helper 2013-03-11 10:02:19 -07:00
Justin Palmer
b502c811cb move less parsing to requireStylesheet 2013-03-11 10:02:18 -07:00
probablycorey
0b674978db Require will parse .less files into css 2013-03-11 10:02:18 -07:00
Kevin Sawicki
8cf32149b7 Return absolute paths from $native.traverseTree()
Previously relative paths were generated even though
things like fs.list() and fs.listTree() would just
recombine them with the root path.

Closes #391
2013-03-08 13:44:28 -08:00
Corey Johnson & Nathan Sobo
06c9a3ac86 Remove empty panes when PaneContainer deserializes 2013-03-08 11:45:20 -08:00
Corey Johnson & Nathan Sobo
7e33bd17e0 Make markdown preview views fit into panes and work w/ a single buffer 2013-03-07 15:49:33 -08:00
Corey Johnson & Nathan Sobo
d84614866a Add Pane.getNextPane 2013-03-07 14:32:10 -08:00
Corey Johnson & Nathan Sobo
ff50bc2e6f Add toBeInstanceOf and toHaveLength jasmine matchers 2013-03-07 14:32:10 -08:00
Corey Johnson & Nathan Sobo
98c9012bdb 💩 2013-03-07 14:31:04 -08:00
Corey Johnson & Nathan Sobo
17f4d6f064 EditSession reloads its grammar on the 'grammars-loaded' event 2013-03-07 14:25:14 -08:00
Corey Johnson & Nathan Sobo
39fabaa344 Update RootView.deserialize specs so they break on a version mismatch 2013-03-07 11:09:39 -08:00
Corey Johnson & Nathan Sobo
8333f14ef8 Throw away serialized state if its version doesn't match deserializer 2013-03-07 09:30:30 -08:00
Corey Johnson & Nathan Sobo
4f0bf9020b Fix pane focus and active item serialization
Also: Un-x root view serialization specs
2013-03-07 09:30:29 -08:00
Corey Johnson & Nathan Sobo
d4fc718e8e Update window title when a pane item's title changes 2013-03-07 09:30:29 -08:00
Corey Johnson & Nathan Sobo
c1d19c4c5c Rename restoreItem to reopenItem on pane container 2013-03-07 09:30:29 -08:00
Corey Johnson & Nathan Sobo
5ad53bb32c Add restoreItem to Pane container 2013-03-07 09:30:29 -08:00
Nathan Sobo
96fefe94f0 Fix broken specs after rebase 2013-03-07 09:30:29 -08:00
Nathan Sobo
f2e5fcc902 Move autosave from editor into panes 2013-03-07 09:30:29 -08:00
Nathan Sobo
d97e91bdcb Make meta-# bindings work with new panes 2013-03-07 09:30:29 -08:00
Nathan Sobo
f23d9091f2 Add pane:close-other-items 2013-03-07 09:30:29 -08:00
Nathan Sobo
4b8d786d2a 💄 2013-03-07 09:30:29 -08:00
Nathan Sobo
7ebce683c6 Move saveAll and specs to PaneContainer
And simplify the specs… we don't *really* need to save. We can just
ensure that save is called on everything.
2013-03-07 09:30:29 -08:00
Nathan Sobo
e4bf73b41c Give the view a chance to update before presenting next dialog 2013-03-07 09:30:28 -08:00
Nathan Sobo
f0398f2331 Ensure modal dialogs are presented in a coherent order
Modal dialogs can be presented while other modal dialogs are already
being displayed. Previously, dialogs were always displayed in the order
they were requested. But say you have two untitled buffers in a
pane and you close all items… You'll display prompt dialogs for both
buffers asking the user if they want to save. If the user answers yes
to the first dialog, they should see the path selection dialog before
they see the save prompt for the second buffer.

This commit uses a stack of queues to store deferred dialogs and allow
dialogs presented by the dismissal of another dialog to take precedence
over other pending dialogs.
2013-03-07 09:30:28 -08:00
Nathan Sobo
48c693d756 Add 'pane:close' event, which destroys all pane items.
Still have some issues with the presentation order of dialogs with
multiple unsaved buffers and no paths. But for the 99% case this works
as is.
2013-03-07 09:30:28 -08:00
Nathan Sobo
da986b6a6c Fix RootView.saveAll() 2013-03-07 09:30:28 -08:00
Nathan Sobo
685df18a3a Fix breakages due to save method moving to Pane (except saveAll specs) 2013-03-07 09:30:28 -08:00
Nathan Sobo
3f9ee08e76 Handle save-as on pane. Replace 'editor:save-as' w/ 'core:save-as'
Pane will only show the saveAs dialog if the item has a `saveAs` method.
2013-03-07 09:30:28 -08:00
Nathan Sobo
59a06acc0b Fire 'modified-status-changed' events on changes after save/reload
Buffer keeps state about the value with which it fired the last
modified-status-changed event so that it doesn't fire it twice with the
same boolean value. Every piece of code that triggers the event also
needs to set this state, so now everything goes through the
`triggerModifiedStatusChanged` method.
2013-03-07 09:30:28 -08:00
Nathan Sobo
699e780e99 Handle save in panes with new 'core:save' event 2013-03-07 09:30:28 -08:00
Nathan Sobo
6ae684d609 Kill commented specs that were used as a reminder 2013-03-07 09:30:28 -08:00
Nathan Sobo
54fc9efdcb Eliminate fixturesProject global. Use project global instead. 2013-03-07 09:30:27 -08:00