diff --git a/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php b/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php index 2075582386..cd97e2fd7f 100644 --- a/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php +++ b/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php @@ -19,6 +19,10 @@ final class PhabricatorConduitTokensSettingsPanel return pht('Conduit API Tokens'); } + public function getPanelMenuIcon() { + return id(new PhabricatorConduitApplication())->getIcon(); + } + public function getPanelGroupKey() { return PhabricatorSettingsLogsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php b/src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php index 1899302223..789adfbf57 100644 --- a/src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php +++ b/src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php @@ -18,6 +18,10 @@ final class DiffusionSetPasswordSettingsPanel extends PhabricatorSettingsPanel { return pht('VCS Password'); } + public function getPanelMenuIcon() { + return 'fa-code'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAuthenticationPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php b/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php index 37e85ab53b..89a1cc0281 100644 --- a/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php +++ b/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php @@ -11,6 +11,10 @@ final class PhabricatorOAuthServerAuthorizationsSettingsPanel return pht('OAuth Authorizations'); } + public function getPanelMenuIcon() { + return 'fa-exchange'; + } + public function getPanelGroupKey() { return PhabricatorSettingsLogsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/controller/PhabricatorSettingsMainController.php b/src/applications/settings/controller/PhabricatorSettingsMainController.php index 46246c3ce5..ded20a8e96 100644 --- a/src/applications/settings/controller/PhabricatorSettingsMainController.php +++ b/src/applications/settings/controller/PhabricatorSettingsMainController.php @@ -209,7 +209,11 @@ final class PhabricatorSettingsMainController } } - $nav->addFilter($panel->getPanelKey(), $panel->getPanelName()); + $nav->addFilter( + $panel->getPanelKey(), + $panel->getPanelName(), + null, + $panel->getPanelMenuIcon()); } return $nav; diff --git a/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php b/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php index 2759f3a26c..a3654a4388 100644 --- a/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php @@ -10,6 +10,10 @@ final class PhabricatorActivitySettingsPanel extends PhabricatorSettingsPanel { return pht('Activity Logs'); } + public function getPanelMenuIcon() { + return 'fa-list'; + } + public function getPanelGroupKey() { return PhabricatorSettingsLogsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorConpherencePreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorConpherencePreferencesSettingsPanel.php index 6ed6325d67..3ce72af2f8 100644 --- a/src/applications/settings/panel/PhabricatorConpherencePreferencesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorConpherencePreferencesSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorConpherencePreferencesSettingsPanel return pht('Conpherence'); } + public function getPanelMenuIcon() { + return 'fa-comment-o'; + } + public function getPanelGroupKey() { return PhabricatorSettingsApplicationsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorContactNumbersSettingsPanel.php b/src/applications/settings/panel/PhabricatorContactNumbersSettingsPanel.php index 0bfe747ec3..7834bff593 100644 --- a/src/applications/settings/panel/PhabricatorContactNumbersSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorContactNumbersSettingsPanel.php @@ -11,6 +11,10 @@ final class PhabricatorContactNumbersSettingsPanel return pht('Contact Numbers'); } + public function getPanelMenuIcon() { + return 'fa-mobile'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAuthenticationPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorDateTimeSettingsPanel.php b/src/applications/settings/panel/PhabricatorDateTimeSettingsPanel.php index e5ca46510e..285bc6989f 100644 --- a/src/applications/settings/panel/PhabricatorDateTimeSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorDateTimeSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorDateTimeSettingsPanel return pht('Date and Time'); } + public function getPanelMenuIcon() { + return 'fa-calendar'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAccountPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorDeveloperPreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorDeveloperPreferencesSettingsPanel.php index 384f7e3be9..e6ed8e7564 100644 --- a/src/applications/settings/panel/PhabricatorDeveloperPreferencesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorDeveloperPreferencesSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorDeveloperPreferencesSettingsPanel return pht('Developer Settings'); } + public function getPanelMenuIcon() { + return 'fa-magic'; + } + public function getPanelGroupKey() { return PhabricatorSettingsDeveloperPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorDiffPreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorDiffPreferencesSettingsPanel.php index 2e055c3408..acb7f50541 100644 --- a/src/applications/settings/panel/PhabricatorDiffPreferencesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorDiffPreferencesSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorDiffPreferencesSettingsPanel return pht('Diff Preferences'); } + public function getPanelMenuIcon() { + return 'fa-cog'; + } + public function getPanelGroupKey() { return PhabricatorSettingsApplicationsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorDisplayPreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorDisplayPreferencesSettingsPanel.php index 6033ef79e9..7c17a9fea5 100644 --- a/src/applications/settings/panel/PhabricatorDisplayPreferencesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorDisplayPreferencesSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorDisplayPreferencesSettingsPanel return pht('Display Preferences'); } + public function getPanelMenuIcon() { + return 'fa-desktop'; + } + public function getPanelGroupKey() { return PhabricatorSettingsApplicationsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php b/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php index cd1bfba540..1b69adcd62 100644 --- a/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php @@ -11,6 +11,10 @@ final class PhabricatorEmailAddressesSettingsPanel return pht('Email Addresses'); } + public function getPanelMenuIcon() { + return 'fa-at'; + } + public function getPanelGroupKey() { return PhabricatorSettingsEmailPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorEmailDeliverySettingsPanel.php b/src/applications/settings/panel/PhabricatorEmailDeliverySettingsPanel.php index 86260c1b5a..55932aa49b 100644 --- a/src/applications/settings/panel/PhabricatorEmailDeliverySettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorEmailDeliverySettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorEmailDeliverySettingsPanel return pht('Email Delivery'); } + public function getPanelMenuIcon() { + return 'fa-envelope-o'; + } + public function getPanelGroupKey() { return PhabricatorSettingsEmailPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorEmailFormatSettingsPanel.php b/src/applications/settings/panel/PhabricatorEmailFormatSettingsPanel.php index 51ff40ed9d..5a4a707a05 100644 --- a/src/applications/settings/panel/PhabricatorEmailFormatSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorEmailFormatSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorEmailFormatSettingsPanel return pht('Email Format'); } + public function getPanelMenuIcon() { + return 'fa-font'; + } + public function getPanelGroupKey() { return PhabricatorSettingsEmailPanelGroup::PANELGROUPKEY; } @@ -19,17 +23,6 @@ final class PhabricatorEmailFormatSettingsPanel public function isManagementPanel() { return false; -/* - if (!$this->isUserPanel()) { - return false; - } - - if ($this->getUser()->getIsMailingList()) { - return true; - } - - return false; -*/ } public function isTemplatePanel() { diff --git a/src/applications/settings/panel/PhabricatorEmailPreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorEmailPreferencesSettingsPanel.php index faa79889ed..defee73393 100644 --- a/src/applications/settings/panel/PhabricatorEmailPreferencesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorEmailPreferencesSettingsPanel.php @@ -11,6 +11,10 @@ final class PhabricatorEmailPreferencesSettingsPanel return pht('Email Preferences'); } + public function getPanelMenuIcon() { + return 'fa-envelope-open-o'; + } + public function getPanelGroupKey() { return PhabricatorSettingsEmailPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php b/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php index e380248a83..1215487208 100644 --- a/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php @@ -11,6 +11,10 @@ final class PhabricatorExternalAccountsSettingsPanel return pht('External Accounts'); } + public function getPanelMenuIcon() { + return 'fa-users'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAuthenticationPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorLanguageSettingsPanel.php b/src/applications/settings/panel/PhabricatorLanguageSettingsPanel.php index 9b846bd4b6..65a0be4e79 100644 --- a/src/applications/settings/panel/PhabricatorLanguageSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorLanguageSettingsPanel.php @@ -9,6 +9,10 @@ final class PhabricatorLanguageSettingsPanel return pht('Language'); } + public function getPanelMenuIcon() { + return 'fa-globe'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAccountPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php b/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php index 06f1547afa..93a95254a9 100644 --- a/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php @@ -11,6 +11,10 @@ final class PhabricatorMultiFactorSettingsPanel return pht('Multi-Factor Auth'); } + public function getPanelMenuIcon() { + return 'fa-lock'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAuthenticationPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php b/src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php index 797bcafcb3..d0165dc3f1 100644 --- a/src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php @@ -21,6 +21,10 @@ final class PhabricatorNotificationsSettingsPanel return pht('Notifications'); } + public function getPanelMenuIcon() { + return 'fa-bell-o'; + } + public function getPanelGroupKey() { return PhabricatorSettingsApplicationsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorPasswordSettingsPanel.php b/src/applications/settings/panel/PhabricatorPasswordSettingsPanel.php index 79d7610f2f..37393d5d4f 100644 --- a/src/applications/settings/panel/PhabricatorPasswordSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorPasswordSettingsPanel.php @@ -10,6 +10,10 @@ final class PhabricatorPasswordSettingsPanel extends PhabricatorSettingsPanel { return pht('Password'); } + public function getPanelMenuIcon() { + return 'fa-key'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAuthenticationPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php b/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php index 13944411ed..131f602974 100644 --- a/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php @@ -18,6 +18,10 @@ final class PhabricatorSSHKeysSettingsPanel extends PhabricatorSettingsPanel { return pht('SSH Public Keys'); } + public function getPanelMenuIcon() { + return 'fa-file-text-o'; + } + public function getPanelGroupKey() { return PhabricatorSettingsAuthenticationPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php b/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php index 314d68f69d..fb10572e11 100644 --- a/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php @@ -10,6 +10,10 @@ final class PhabricatorSessionsSettingsPanel extends PhabricatorSettingsPanel { return pht('Sessions'); } + public function getPanelMenuIcon() { + return 'fa-user'; + } + public function getPanelGroupKey() { return PhabricatorSettingsLogsPanelGroup::PANELGROUPKEY; } diff --git a/src/applications/settings/panel/PhabricatorSettingsPanel.php b/src/applications/settings/panel/PhabricatorSettingsPanel.php index 19ac6fec62..8250418812 100644 --- a/src/applications/settings/panel/PhabricatorSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorSettingsPanel.php @@ -131,6 +131,16 @@ abstract class PhabricatorSettingsPanel extends Phobject { abstract public function getPanelName(); + /** + * Return an icon for the panel in the menu. + * + * @return string Icon identifier. + * @task config + */ + public function getPanelMenuIcon() { + return 'fa-wrench'; + } + /** * Return a panel group key constant for this panel. * diff --git a/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php b/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php index f2021bafa5..91064a432f 100644 --- a/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php @@ -10,6 +10,10 @@ final class PhabricatorTokensSettingsPanel extends PhabricatorSettingsPanel { return pht('Temporary Tokens'); } + public function getPanelMenuIcon() { + return 'fa-ticket'; + } + public function getPanelGroupKey() { return PhabricatorSettingsLogsPanelGroup::PANELGROUPKEY; }