1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 00:32:42 +01:00

Provide user option for disabling diffusion symbol cross-references

Summary: Some people don't like these, so they should be able to turn them off.

Test Plan:
Toggled the setting on and off; loaded a page in diffusion and differential
that should have symbol cross-references, and saw that they weren't linked
when I had the setting disabled. I also checked that the symbols are still
linked when the setting hasn't been touched.

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3069
This commit is contained in:
Nick Harper 2012-07-26 20:25:27 -07:00
parent 0cfdf2f74f
commit 14e3e5ccfd
4 changed files with 36 additions and 15 deletions

View file

@ -132,9 +132,14 @@ final class DifferentialChangesetListView extends AphrontView {
$ref, $ref,
$changeset); $changeset);
$prefs = $this->user->loadPreferences();
$pref_symbols = $prefs->getPreference(
PhabricatorUserPreferences::PREFERENCE_DIFFUSION_SYMBOLS);
$detail->setChangeset($changeset); $detail->setChangeset($changeset);
$detail->addButton($view_options); $detail->addButton($view_options);
if ($pref_symbols != 'disabled') {
$detail->setSymbolIndex(idx($this->symbolIndexes, $key)); $detail->setSymbolIndex(idx($this->symbolIndexes, $key));
}
$detail->setVsChangesetID(idx($this->vsMap, $changeset->getID())); $detail->setVsChangesetID(idx($this->vsMap, $changeset->getID()));
$detail->setEditable(true); $detail->setEditable(true);

View file

@ -231,7 +231,10 @@ final class DiffusionBrowseFileController extends DiffusionController {
$lang = last(explode('.', $drequest->getPath())); $lang = last(explode('.', $drequest->getPath()));
if (isset($langs[$lang])) { $prefs = $this->getRequest()->getUser()->loadPreferences();
$pref_symbols = $prefs->getPreference(
PhabricatorUserPreferences::PREFERENCE_DIFFUSION_SYMBOLS);
if (isset($langs[$lang]) && $pref_symbols != 'disabled') {
Javelin::initBehavior( Javelin::initBehavior(
'repository-crossreference', 'repository-crossreference',
array( array(

View file

@ -28,6 +28,7 @@ final class PhabricatorUserPreferenceSettingsPanelController
$pref_monospaced = PhabricatorUserPreferences::PREFERENCE_MONOSPACED; $pref_monospaced = PhabricatorUserPreferences::PREFERENCE_MONOSPACED;
$pref_editor = PhabricatorUserPreferences::PREFERENCE_EDITOR; $pref_editor = PhabricatorUserPreferences::PREFERENCE_EDITOR;
$pref_titles = PhabricatorUserPreferences::PREFERENCE_TITLES; $pref_titles = PhabricatorUserPreferences::PREFERENCE_TITLES;
$pref_symbols = PhabricatorUserPreferences::PREFERENCE_DIFFUSION_SYMBOLS;
if ($request->isFormPost()) { if ($request->isFormPost()) {
$monospaced = $request->getStr($pref_monospaced); $monospaced = $request->getStr($pref_monospaced);
@ -37,6 +38,8 @@ final class PhabricatorUserPreferenceSettingsPanelController
$preferences->setPreference($pref_titles, $request->getStr($pref_titles)); $preferences->setPreference($pref_titles, $request->getStr($pref_titles));
$preferences->setPreference($pref_editor, $request->getStr($pref_editor)); $preferences->setPreference($pref_editor, $request->getStr($pref_editor));
$preferences->setPreference($pref_symbols,
$request->getStr($pref_symbols));
$preferences->setPreference($pref_monospaced, $monospaced); $preferences->setPreference($pref_monospaced, $monospaced);
$preferences->save(); $preferences->save();
@ -101,6 +104,15 @@ EXAMPLE;
'<pre class="PhabricatorMonospaced">'. '<pre class="PhabricatorMonospaced">'.
phutil_escape_html($example_string). phutil_escape_html($example_string).
'</pre>')) '</pre>'))
->appendChild(
id(new AphrontFormRadioButtonControl())
->setLabel('Symbol Links')
->setName($pref_symbols)
->setValue($preferences->getPreference($pref_symbols) ?: 'enabled')
->addButton('enabled', 'Enabled (default)',
'Use this setting to disable linking symbol names in Differential '.
'and Diffusion to their definitions. This is enabled by default.')
->addButton('disabled', 'Disabled', null))
->appendChild( ->appendChild(
id(new AphrontFormSubmitControl()) id(new AphrontFormSubmitControl())
->setValue('Save Preferences')); ->setValue('Save Preferences'));

View file

@ -31,6 +31,7 @@ final class PhabricatorUserPreferences extends PhabricatorUserDAO {
const PREFERENCE_SEARCH_SHORTCUT = 'search-shortcut'; const PREFERENCE_SEARCH_SHORTCUT = 'search-shortcut';
const PREFERENCE_DIFFUSION_VIEW = 'diffusion-view'; const PREFERENCE_DIFFUSION_VIEW = 'diffusion-view';
const PREFERENCE_DIFFUSION_SYMBOLS = 'diffusion-symbols';
protected $userPHID; protected $userPHID;
protected $preferences = array(); protected $preferences = array();