@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

In Differential, make the "Open in Editor" keystroke work with no selection, or a change or inline selected

Summary:
Ref T13515. Currently, "Open in Editor" only works with a file-level selection.

- If we have a change-level or inline-level selection, open the parent changeset.
- If we have no selection, but the banner is showing something, open the fine shown in the banner.

Test Plan: With files, inlines, changes, and no selection, pressed "\". Saw files pop open in my external editor.

Maniphest Tasks: T13515

Differential Revision: https://secure.phabricator.com/D21148

+23 -18
+7 -7
resources/celerity/map.php
··· 12 12 'core.pkg.css' => 'a4a2417c', 13 13 'core.pkg.js' => '4355a8d3', 14 14 'differential.pkg.css' => '607c84be', 15 - 'differential.pkg.js' => 'ececaeef', 15 + 'differential.pkg.js' => '1a72918e', 16 16 'diffusion.pkg.css' => '42c75c37', 17 17 'diffusion.pkg.js' => 'a98c0bf7', 18 18 'maniphest.pkg.css' => '35995d6d', ··· 378 378 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '1e413dc9', 379 379 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => '0116d3e8', 380 380 'rsrc/js/application/diff/DiffChangeset.js' => '5a4e4a3b', 381 - 'rsrc/js/application/diff/DiffChangesetList.js' => 'f813ef26', 381 + 'rsrc/js/application/diff/DiffChangesetList.js' => '139299d7', 382 382 'rsrc/js/application/diff/DiffInline.js' => '16e97ebc', 383 383 'rsrc/js/application/diff/behavior-preview-link.js' => 'f51e9c17', 384 384 'rsrc/js/application/differential/behavior-diff-radios.js' => '925fe8cd', ··· 775 775 'phabricator-darkmessage' => '26cd4b73', 776 776 'phabricator-dashboard-css' => '5a205b9d', 777 777 'phabricator-diff-changeset' => '5a4e4a3b', 778 - 'phabricator-diff-changeset-list' => 'f813ef26', 778 + 'phabricator-diff-changeset-list' => '139299d7', 779 779 'phabricator-diff-inline' => '16e97ebc', 780 780 'phabricator-drag-and-drop-file-upload' => '4370900d', 781 781 'phabricator-draggable-list' => '0169e425', ··· 1022 1022 'javelin-behavior', 1023 1023 'javelin-uri', 1024 1024 'phabricator-keyboard-shortcut', 1025 + ), 1026 + '139299d7' => array( 1027 + 'javelin-install', 1028 + 'phuix-button-view', 1025 1029 ), 1026 1030 '139ef688' => array( 1027 1031 'javelin-behavior', ··· 2165 2169 'javelin-behavior', 2166 2170 'javelin-stratcom', 2167 2171 'javelin-dom', 2168 - ), 2169 - 'f813ef26' => array( 2170 - 'javelin-install', 2171 - 'phuix-button-view', 2172 2172 ), 2173 2173 'f84bcbf4' => array( 2174 2174 'javelin-behavior',
+16 -11
webroot/rsrc/js/application/diff/DiffChangesetList.js
··· 462 462 var pht = this.getTranslations(); 463 463 var cursor = this._cursorItem; 464 464 465 + var changeset; 465 466 if (cursor) { 466 - if (cursor.type == 'file') { 467 - var changeset = cursor.changeset; 468 - var editor_uri = changeset.getEditorURI(); 467 + changeset = cursor.changeset; 468 + } 469 469 470 - if (editor_uri === null) { 471 - this._warnUser(pht('No external editor is configured.')); 472 - return; 473 - } 470 + if (!changeset) { 471 + changeset = this._getVisibleChangeset(); 472 + } 473 + 474 + if (!changeset) { 475 + this._warnUser(pht('You must select a file to edit.')); 476 + return; 477 + } 474 478 475 - JX.$U(editor_uri).go(); 479 + var editor_uri = changeset.getEditorURI(); 476 480 477 - return; 478 - } 481 + if (editor_uri === null) { 482 + this._warnUser(pht('No external editor is configured.')); 483 + return; 479 484 } 480 485 481 - this._warnUser(pht('You must select a file to edit.')); 486 + JX.$U(editor_uri).go(); 482 487 }, 483 488 484 489 _onkeycollapse: function() {