Commit Graph

14217 Commits

Author SHA1 Message Date
Nathan Sobo
9833e54ec3 Fix typo 2016-04-04 19:22:44 -06:00
Nathan Sobo
f638bcbb6d Don’t assume the accented character menu on every IME event 2016-04-04 18:56:08 -06:00
Nathan Sobo
a99ee14ac0 Make accented character menu detection work with left/right arrow keys 2016-04-04 17:47:36 -06:00
Isaac Salier-Hellendag
2a7344091d Avoid setting hidden input value on textInput
Atom currently sets the `value` of the input on every `textInput` event, in an effort to appropriately handle changes made via the OSX diacritic menu (for accents, umlauts, etc).

The drawback of this is approach is that updating the value of the input will trigger layout and a subsequent layer tree update.

To resolve this, here is my proposal:

  - Track a flag for `keypress` events. When the diacritic menu is used, there are two `textInput` events, with no `keypress` in between. Therefore, when no `keypress` has occurred just prior to a `textInput`, the editor model can select the previous character to be replaced by the new accented character.
  - Track a flag for `compositionstart` events. When a user is in IME mode, the diacritic menu cannot be used, so the editor can skip the backward selection.

Test Plan:

Tested in a plaintext file.

  - Type Latin characters, verify proper character insertion.
  - Press and hold <kbd>a</kbd>. Diacritic menu appears. Select an option using the keyboard or mouse. Verify that the `a` is replaced by an accented `a`, with no extra characters.
  - Type test strings in Katakana, 2-Set Korean, Telex (Vietnamese), Simplified Pinyin. Verify that characters are inserted correctly while composing, and after committing strings.
2016-04-04 13:33:43 -07:00
Michelle Tilley
8575b38c7b Pending pane items shouldn't be made permanent before being replaced
Previously, when a Pane would replace a pending item with
another pending item, it would emit
`onItemDidTerminatePendingState` for that item, which was
not true because the item was actually being destroyed.
2016-04-02 17:48:24 -07:00
Antonio Scandurra
793f5f9692 Disable zoom every time a display gets added or removed 2016-04-01 16:04:01 +02:00
Antonio Scandurra
158d019371 Use application-level events to control updates in the browser process 2016-04-01 10:56:30 +02:00
Antonio Scandurra
c735b3fe74 Merge pull request #11314 from atom/as-handle-update-error
Handle auto-updater errors
2016-04-01 09:09:37 +02:00
Antonio Scandurra
51d71b4b55 Merge pull request #11325 from atom/as-fix-emojis
Fix emoji rendering on OSX
2016-03-31 17:45:58 +02:00
Antonio Scandurra
3fb2749583 Merge pull request #11324 from atom/as-jordanbtucker-config-save-state
Add restorePreviousWindowsOnStart setting
2016-03-31 11:56:43 +02:00
Antonio Scandurra
d568c76b0b 🍎 Fix emoji rendering 2016-03-31 11:44:32 +02:00
Antonio Scandurra
296c016bf8 🐎 Don't load state when restorePreviousState is false 2016-03-31 10:41:23 +02:00
Antonio Scandurra
4d4ee6bf3b Add applicationDelegate.getAutoUpdateManagerErrorMessage()
Sometimes, the error event gets emitted before the renderer process has
the chance to subscribe. Therefore, we expose an
`autoUpdateManager.getErrorMessage()` in the browser process, so that we
don’t lose that information.
2016-03-31 10:16:11 +02:00
Machisté N. Quintana
36be446060 Merge pull request #6631 from atom/mq-move-selected-columns
Add commands to move selections left and right by one column
2016-03-30 22:30:19 -07:00
Machisté N. Quintana
3068631d19 Don't open a transaction if there's a selection at the start / end of line 2016-03-30 12:48:11 -07:00
joshaber
f59a86b2b9 Note that we're not using this yet. 2016-03-30 11:51:49 -04:00
joshaber
dea119ef3e Less repo-centric naming. 2016-03-30 11:50:05 -04:00
joshaber
e701fcc292 Rename work queue to resource pool. 2016-03-30 11:47:05 -04:00
joshaber
f028c779b1 Treat it more like a pool. 2016-03-30 11:44:24 -04:00
joshaber
6ba2f6d4b8 Pull refresh outside the work function.
Otherwise we deadlock lolololol
2016-03-30 11:23:54 -04:00
joshaber
c0e9fde590 Re-organize to prevent recursive work queueing. 2016-03-30 11:17:58 -04:00
Antonio Scandurra
e8e2370ed1 Log an error message to console as well 2016-03-30 15:06:26 +02:00
Antonio Scandurra
2d5e697016 Add AutoUpdateManager.prototype.onUpdateError 2016-03-30 15:05:57 +02:00
joshaber
f1516f7de4 First pass at using the work queue. 2016-03-29 23:54:39 -04:00
joshaber
36121e3bf8 First pass at the git work queue. 2016-03-29 22:59:24 -04:00
Josh Abernathy
614eb818c8 Merge pull request #11295 from atom/fix-submodule-line-diffs
Take the submodule into account in more instances.
2016-03-29 11:57:41 -04:00
Jordan Tucker
f4b94fef30 always save state on close, check config on open 2016-03-29 08:30:18 -07:00
joshaber
4b3ca21e29 Cache the workdir per-repo. 2016-03-29 11:26:39 -04:00
Antonio Scandurra
ea01981a85 Merge pull request #11286 from atom/as-fix-pane-axis-element-subscriptions
Correctly (un)subscribe to model events on PaneAxisElement attach/detach
2016-03-29 09:46:10 +02:00
Machiste Quintana
3b222dbee8 Don't merge selections if at start or end of line 2016-03-28 23:26:28 -07:00
Machiste Quintana
e932e3db05 Merge branch 'master' into mq-move-selected-columns 2016-03-28 22:16:31 -07:00
joshaber
55172c66e9 Merge branch 'master' into fix-submodule-line-diffs 2016-03-28 17:28:22 -04:00
joshaber
08513e2f6e Merge branch 'master' into less-disk-io 2016-03-28 14:54:06 -04:00
joshaber
51831b332d Take the submodule into account in more instances.
Fixes https://github.com/atom/git-diff/issues/97.
2016-03-28 14:50:04 -04:00
Antonio Scandurra
584cf41901 Merge pull request #11251 from atom/as-fallback-to-storage-folder
Fallback to ~/.atom/storage when no state is found in IndexedDb
2016-03-28 20:29:34 +02:00
joshaber
414a424ae8 Merge branch 'master' into remove-old-git-status 2016-03-28 10:44:28 -04:00
Antonio Scandurra
8adf47b1c2 Allow element to work without attaching it to DOM 2016-03-28 16:40:39 +02:00
Antonio Scandurra
ae277c685f Merge branch 'master' into as-fallback-to-storage-folder 2016-03-28 15:50:14 +02:00
Antonio Scandurra
3d4611ce4c Remove conditional assignment
HTML nodes are guaranteed to be detached before being re-attached, so we
are always sure that `subscriptions` is null on attach and non-null on
detach.
2016-03-28 14:52:40 +02:00
Antonio Scandurra
b5f866b6fc Correctly (un)subscribe to model events on PaneAxisElement attach/detach 2016-03-28 14:49:26 +02:00
Lee Dohm
5fc111a104 📝 Add standard global notation 2016-03-26 15:50:07 -07:00
joshaber
fdebbf12ac If we're been destroyed then we won't have an async anymore. 2016-03-25 17:14:09 -04:00
joshaber
8ee1c3274b Always update the cached status path. 2016-03-25 17:13:06 -04:00
joshaber
fff1e8f3d1 Cache the results of calling getPathStatus so we're consistent across calls. 2016-03-25 15:36:44 -04:00
joshaber
f001c83263 Bring back some synchronous event emitting.
Preserve the previous behavior of emitting synchronously with observed
change.
2016-03-25 15:26:18 -04:00
joshaber
380df72808 All emissions will propagate out from the async layer. 2016-03-25 15:15:24 -04:00
joshaber
c9ff5db064 Don't update status anymore in the sync layer. 2016-03-25 15:15:10 -04:00
joshaber
4ecc6aac90 Grab the branch from the async layer. 2016-03-25 15:14:32 -04:00
joshaber
3aae2054f7 Grab status from the underlying async layer. 2016-03-25 15:14:12 -04:00
joshaber
2f58c40472 Pass subscriptions through to the async layer. 2016-03-25 15:12:06 -04:00