Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F14028813
D9297.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
37 KB
Referenced Files
None
Subscribers
None
D9297.diff
View Options
diff --git a/src/applications/audit/application/PhabricatorApplicationAudit.php b/src/applications/audit/application/PhabricatorApplicationAudit.php
--- a/src/applications/audit/application/PhabricatorApplicationAudit.php
+++ b/src/applications/audit/application/PhabricatorApplicationAudit.php
@@ -2,10 +2,6 @@
final class PhabricatorApplicationAudit extends PhabricatorApplication {
- public function getShortDescription() {
- return pht('Audit Code');
- }
-
public function getBaseURI() {
return '/audit/';
}
@@ -14,6 +10,10 @@
return 'audit';
}
+ public function getShortDescription() {
+ return pht('Browse and Audit Commits');
+ }
+
public function getHelpURI() {
return PhabricatorEnv::getDoclink('Audit User Guide');
}
diff --git a/src/applications/auth/application/PhabricatorApplicationAuth.php b/src/applications/auth/application/PhabricatorApplicationAuth.php
--- a/src/applications/auth/application/PhabricatorApplicationAuth.php
+++ b/src/applications/auth/application/PhabricatorApplicationAuth.php
@@ -14,6 +14,10 @@
return 'authentication';
}
+ public function getShortDescription() {
+ return pht('Configure Login and Registration');
+ }
+
public function getHelpURI() {
// NOTE: Although reasonable help exists for this in "Configuring Accounts
// and Registration", specifying a help URI here means we get the menu
diff --git a/src/applications/base/PhabricatorApplication.php b/src/applications/base/PhabricatorApplication.php
--- a/src/applications/base/PhabricatorApplication.php
+++ b/src/applications/base/PhabricatorApplication.php
@@ -155,12 +155,10 @@
}
public function getHelpURI() {
- // TODO: When these applications get created, link to their docs:
- //
- // - Drydock
- // - OAuth Server
-
+ return null;
+ }
+ public function getOverview() {
return null;
}
diff --git a/src/applications/calendar/application/PhabricatorApplicationCalendar.php b/src/applications/calendar/application/PhabricatorApplicationCalendar.php
--- a/src/applications/calendar/application/PhabricatorApplicationCalendar.php
+++ b/src/applications/calendar/application/PhabricatorApplicationCalendar.php
@@ -3,7 +3,7 @@
final class PhabricatorApplicationCalendar extends PhabricatorApplication {
public function getShortDescription() {
- return pht('Dates and Stuff');
+ return pht('Upcoming Events');
}
public function getFlavorText() {
diff --git a/src/applications/chatlog/applications/PhabricatorApplicationChatLog.php b/src/applications/chatlog/applications/PhabricatorApplicationChatLog.php
--- a/src/applications/chatlog/applications/PhabricatorApplicationChatLog.php
+++ b/src/applications/chatlog/applications/PhabricatorApplicationChatLog.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Chat Log');
+ return pht('IRC Logs');
}
public function getIconName() {
diff --git a/src/applications/conduit/application/PhabricatorApplicationConduit.php b/src/applications/conduit/application/PhabricatorApplicationConduit.php
--- a/src/applications/conduit/application/PhabricatorApplicationConduit.php
+++ b/src/applications/conduit/application/PhabricatorApplicationConduit.php
@@ -19,7 +19,7 @@
}
public function getShortDescription() {
- return 'Conduit API Console';
+ return pht('Phabricator Developer API Console');
}
public function getTitleGlyph() {
diff --git a/src/applications/config/application/PhabricatorApplicationConfig.php b/src/applications/config/application/PhabricatorApplicationConfig.php
--- a/src/applications/config/application/PhabricatorApplicationConfig.php
+++ b/src/applications/config/application/PhabricatorApplicationConfig.php
@@ -22,6 +22,10 @@
return false;
}
+ public function getShortDescription() {
+ return pht('Configure Phabricator');
+ }
+
public function getRoutes() {
return array(
'/config/' => array(
diff --git a/src/applications/conpherence/application/PhabricatorApplicationConpherence.php b/src/applications/conpherence/application/PhabricatorApplicationConpherence.php
--- a/src/applications/conpherence/application/PhabricatorApplicationConpherence.php
+++ b/src/applications/conpherence/application/PhabricatorApplicationConpherence.php
@@ -10,7 +10,7 @@
}
public function getShortDescription() {
- return pht('Messaging');
+ return pht('Send Messages');
}
public function getIconName() {
diff --git a/src/applications/countdown/application/PhabricatorApplicationCountdown.php b/src/applications/countdown/application/PhabricatorApplicationCountdown.php
--- a/src/applications/countdown/application/PhabricatorApplicationCountdown.php
+++ b/src/applications/countdown/application/PhabricatorApplicationCountdown.php
@@ -11,7 +11,7 @@
}
public function getShortDescription() {
- return pht('Countdown Timers');
+ return pht('Countdown to Events');
}
public function getTitleGlyph() {
diff --git a/src/applications/daemon/application/PhabricatorApplicationDaemons.php b/src/applications/daemon/application/PhabricatorApplicationDaemons.php
--- a/src/applications/daemon/application/PhabricatorApplicationDaemons.php
+++ b/src/applications/daemon/application/PhabricatorApplicationDaemons.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Manage Daemons');
+ return pht('Manage Phabricator Daemons');
}
public function getBaseURI() {
diff --git a/src/applications/dashboard/application/PhabricatorApplicationDashboard.php b/src/applications/dashboard/application/PhabricatorApplicationDashboard.php
--- a/src/applications/dashboard/application/PhabricatorApplicationDashboard.php
+++ b/src/applications/dashboard/application/PhabricatorApplicationDashboard.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Such Data');
+ return pht('Create Custom Pages');
}
public function getIconName() {
diff --git a/src/applications/differential/application/PhabricatorApplicationDifferential.php b/src/applications/differential/application/PhabricatorApplicationDifferential.php
--- a/src/applications/differential/application/PhabricatorApplicationDifferential.php
+++ b/src/applications/differential/application/PhabricatorApplicationDifferential.php
@@ -36,6 +36,14 @@
);
}
+ public function getOverview() {
+ return pht(<<<EOTEXT
+Differential is a **code review application** which allows engineers to review,
+discuss and approve changes to software.
+EOTEXT
+);
+ }
+
public function getRoutes() {
return array(
'/D(?P<id>[1-9]\d*)' => 'DifferentialRevisionViewController',
diff --git a/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php b/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php
--- a/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php
+++ b/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php
@@ -3,7 +3,7 @@
final class PhabricatorApplicationDiffusion extends PhabricatorApplication {
public function getShortDescription() {
- return pht('Repository Browser');
+ return pht('Host and Browse Repositories');
}
public function getBaseURI() {
diff --git a/src/applications/diviner/application/PhabricatorApplicationDiviner.php b/src/applications/diviner/application/PhabricatorApplicationDiviner.php
--- a/src/applications/diviner/application/PhabricatorApplicationDiviner.php
+++ b/src/applications/diviner/application/PhabricatorApplicationDiviner.php
@@ -36,7 +36,7 @@
}
public function getApplicationGroup() {
- return self::GROUP_COMMUNICATION;
+ return self::GROUP_UTILITIES;
}
public function getRemarkupRules() {
diff --git a/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php b/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php
--- a/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php
+++ b/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php
@@ -6,14 +6,14 @@
return false;
}
- public function getBaseURI() {
- return '/doorkeeper/';
- }
-
public function shouldAppearInLaunchView() {
return false;
}
+ public function getShortDescription() {
+ return pht('Connect to Other Software');
+ }
+
public function getRemarkupRules() {
return array(
new DoorkeeperRemarkupRuleAsana(),
diff --git a/src/applications/drydock/application/PhabricatorApplicationDrydock.php b/src/applications/drydock/application/PhabricatorApplicationDrydock.php
--- a/src/applications/drydock/application/PhabricatorApplicationDrydock.php
+++ b/src/applications/drydock/application/PhabricatorApplicationDrydock.php
@@ -30,6 +30,10 @@
return true;
}
+ public function getHelpURI() {
+ return PhabricatorEnv::getDoclink('Drydock User Guide');
+ }
+
public function getRoutes() {
return array(
'/drydock/' => array(
diff --git a/src/applications/fact/application/PhabricatorApplicationFact.php b/src/applications/fact/application/PhabricatorApplicationFact.php
--- a/src/applications/fact/application/PhabricatorApplicationFact.php
+++ b/src/applications/fact/application/PhabricatorApplicationFact.php
@@ -3,7 +3,7 @@
final class PhabricatorApplicationFact extends PhabricatorApplication {
public function getShortDescription() {
- return 'Analyze Data';
+ return pht('Chart and Analyze Data');
}
public function getName() {
diff --git a/src/applications/feed/application/PhabricatorApplicationFeed.php b/src/applications/feed/application/PhabricatorApplicationFeed.php
--- a/src/applications/feed/application/PhabricatorApplicationFeed.php
+++ b/src/applications/feed/application/PhabricatorApplicationFeed.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Review Activity');
+ return pht('Review Recent Activity');
}
public function getIconName() {
diff --git a/src/applications/flag/application/PhabricatorApplicationFlags.php b/src/applications/flag/application/PhabricatorApplicationFlags.php
--- a/src/applications/flag/application/PhabricatorApplicationFlags.php
+++ b/src/applications/flag/application/PhabricatorApplicationFlags.php
@@ -3,7 +3,7 @@
final class PhabricatorApplicationFlags extends PhabricatorApplication {
public function getShortDescription() {
- return pht('Reminders');
+ return pht('Personal Bookmarks and Reminders');
}
public function getBaseURI() {
@@ -25,7 +25,7 @@
}
public function getApplicationGroup() {
- return self::GROUP_ORGANIZATION;
+ return self::GROUP_UTILITIES;
}
public function loadStatus(PhabricatorUser $user) {
diff --git a/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php b/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php
--- a/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php
+++ b/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Continuous Build');
+ return pht('Builds and Continuous Integration');
}
public function getIconName() {
diff --git a/src/applications/legalpad/application/PhabricatorApplicationLegalpad.php b/src/applications/legalpad/application/PhabricatorApplicationLegalpad.php
--- a/src/applications/legalpad/application/PhabricatorApplicationLegalpad.php
+++ b/src/applications/legalpad/application/PhabricatorApplicationLegalpad.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Legal Documents');
+ return pht('Agreements and Signatures');
}
public function getIconName() {
diff --git a/src/applications/meta/application/PhabricatorApplicationApplications.php b/src/applications/meta/application/PhabricatorApplicationApplications.php
--- a/src/applications/meta/application/PhabricatorApplicationApplications.php
+++ b/src/applications/meta/application/PhabricatorApplicationApplications.php
@@ -11,7 +11,7 @@
}
public function getShortDescription() {
- return 'Installed Applications';
+ return pht('Explore More Applications');
}
public function getIconName() {
@@ -26,7 +26,7 @@
return self::GROUP_ADMIN;
}
- public function getRoutes() {
+ public function getRoutes() {
return array(
'/applications/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?' =>
@@ -38,7 +38,6 @@
'(?P<application>\w+)/(?P<action>install|uninstall)/' =>
'PhabricatorApplicationUninstallController',
),
-
);
}
diff --git a/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php b/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
--- a/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
+++ b/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
@@ -1,10 +1,14 @@
<?php
final class PhabricatorApplicationDetailViewController
- extends PhabricatorApplicationsController{
+ extends PhabricatorApplicationsController {
private $application;
+ public function shouldAllowPublic() {
+ return true;
+ }
+
public function willProcessRequest(array $data) {
$this->application = $data['application'];
}
@@ -61,16 +65,37 @@
$viewer = $this->getRequest()->getUser();
- $properties = id(new PHUIPropertyListView())
- ->addProperty(pht('Description'), $application->getShortDescription());
+ $properties = id(new PHUIPropertyListView());
$properties->setActionList($actions);
+ $properties->addProperty(
+ pht('Description'),
+ $application->getShortDescription());
+
+ if ($application->getFlavorText()) {
+ $properties->addProperty(
+ null,
+ phutil_tag('em', array(), $application->getFlavorText()));
+ }
+
if ($application->isBeta()) {
$properties->addProperty(
pht('Release'),
pht('Beta'));
}
+ $overview = $application->getOverview();
+ if ($overview) {
+ $properties->addSectionHeader(
+ pht('Overview'),
+ PHUIPropertyListView::ICON_SUMMARY);
+ $properties->addTextContent(
+ PhabricatorMarkupEngine::renderOneObject(
+ id(new PhabricatorMarkupOneOff())->setContent($overview),
+ 'default',
+ $viewer));
+ }
+
$descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions(
$viewer,
$application);
@@ -94,6 +119,14 @@
->setUser($user)
->setObjectURI($this->getRequest()->getRequestURI());
+ if ($selected->getHelpURI()) {
+ $view->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Help / Documentation'))
+ ->setIcon('fa-life-ring')
+ ->setHref($selected->getHelpURI()));
+ }
+
$can_edit = PhabricatorPolicyFilter::hasCapability(
$user,
$selected,
diff --git a/src/applications/meta/controller/PhabricatorApplicationEditController.php b/src/applications/meta/controller/PhabricatorApplicationEditController.php
--- a/src/applications/meta/controller/PhabricatorApplicationEditController.php
+++ b/src/applications/meta/controller/PhabricatorApplicationEditController.php
@@ -1,10 +1,14 @@
<?php
final class PhabricatorApplicationEditController
- extends PhabricatorApplicationsController{
+ extends PhabricatorApplicationsController {
private $application;
+ public function shouldRequireAdmin() {
+ return true;
+ }
+
public function willProcessRequest(array $data) {
$this->application = $data['application'];
}
diff --git a/src/applications/meta/controller/PhabricatorApplicationUninstallController.php b/src/applications/meta/controller/PhabricatorApplicationUninstallController.php
--- a/src/applications/meta/controller/PhabricatorApplicationUninstallController.php
+++ b/src/applications/meta/controller/PhabricatorApplicationUninstallController.php
@@ -6,6 +6,10 @@
private $application;
private $action;
+ public function shouldRequireAdmin() {
+ return true;
+ }
+
public function willProcessRequest(array $data) {
$this->application = $data['application'];
$this->action = $data['action'];
diff --git a/src/applications/meta/controller/PhabricatorApplicationsController.php b/src/applications/meta/controller/PhabricatorApplicationsController.php
--- a/src/applications/meta/controller/PhabricatorApplicationsController.php
+++ b/src/applications/meta/controller/PhabricatorApplicationsController.php
@@ -2,10 +2,6 @@
abstract class PhabricatorApplicationsController extends PhabricatorController {
- public function shouldRequireAdmin() {
- return true;
- }
-
public function buildSideNavView($for_app = false) {
$user = $this->getRequest()->getUser();
diff --git a/src/applications/meta/controller/PhabricatorApplicationsListController.php b/src/applications/meta/controller/PhabricatorApplicationsListController.php
--- a/src/applications/meta/controller/PhabricatorApplicationsListController.php
+++ b/src/applications/meta/controller/PhabricatorApplicationsListController.php
@@ -5,6 +5,10 @@
private $queryKey;
+ public function shouldAllowPublic() {
+ return true;
+ }
+
public function willProcessRequest(array $data) {
$this->queryKey = idx($data, 'queryKey');
}
diff --git a/src/applications/meta/query/PhabricatorAppSearchEngine.php b/src/applications/meta/query/PhabricatorAppSearchEngine.php
--- a/src/applications/meta/query/PhabricatorAppSearchEngine.php
+++ b/src/applications/meta/query/PhabricatorAppSearchEngine.php
@@ -25,6 +25,9 @@
$saved->setParameter(
'firstParty',
$this->readBoolFromRequest($request, 'firstParty'));
+ $saved->setParameter(
+ 'launchable',
+ $this->readBoolFromRequest($request, 'launchable'));
return $saved;
}
@@ -54,6 +57,11 @@
$query->withFirstParty($first_party);
}
+ $launchable = $saved->getParameter('launchable');
+ if ($launchable !== null) {
+ $query->withLaunchable($launchable);
+ }
+
return $query;
}
@@ -99,6 +107,17 @@
'' => pht('Show All Applications'),
'true' => pht('Show First-Party Applications'),
'false' => pht('Show Third-Party Applications'),
+ )))
+ ->appendChild(
+ id(new AphrontFormSelectControl())
+ ->setLabel(pht('Launchable'))
+ ->setName('launchable')
+ ->setValue($this->getBoolFromQuery($saved, 'launchable'))
+ ->setOptions(
+ array(
+ '' => pht('Show All Applications'),
+ 'true' => pht('Show Launchable Applications'),
+ 'false' => pht('Show Non-Launchable Applications'),
)));
}
@@ -109,6 +128,7 @@
public function getBuiltinQueryNames() {
$names = array(
+ 'launcher' => pht('Launcher'),
'all' => pht('All Applications'),
);
@@ -121,6 +141,10 @@
$query->setQueryKey($query_key);
switch ($query_key) {
+ case 'launcher':
+ return $query
+ ->setParameter('installed', true)
+ ->setParameter('launchable', true);
case 'all':
return $query;
}
@@ -129,33 +153,93 @@
}
protected function renderResultList(
- array $applications,
+ array $all_applications,
PhabricatorSavedQuery $query,
array $handle) {
- assert_instances_of($applications, 'PhabricatorApplication');
+ assert_instances_of($all_applications, 'PhabricatorApplication');
- $list = new PHUIObjectItemListView();
+ $all_applications = msort($all_applications, 'getName');
- $applications = msort($applications, 'getName');
-
- foreach ($applications as $application) {
- $item = id(new PHUIObjectItemView())
- ->setHeader($application->getName())
- ->setHref('/applications/view/'.get_class($application).'/')
- ->addAttribute($application->getShortDescription());
+ if ($query->getQueryKey() == 'launcher') {
+ $groups = mgroup($all_applications, 'getApplicationGroup');
+ } else {
+ $groups = array($all_applications);
+ }
- if (!$application->isInstalled()) {
- $item->addIcon('delete', pht('Uninstalled'));
+ $group_names = PhabricatorApplication::getApplicationGroups();
+ $groups = array_select_keys($groups, array_keys($group_names)) + $groups;
+
+ $results = array();
+ foreach ($groups as $group => $applications) {
+ if (count($groups) > 1) {
+ $results[] = phutil_tag(
+ 'h1',
+ array(
+ 'class' => 'launcher-header',
+ ),
+ idx($group_names, $group, $group));
}
- if ($application->isBeta()) {
- $item->addIcon('lint-warning', pht('Beta'));
+ $list = new PHUIObjectItemListView();
+ $list->addClass('phui-object-item-launcher-list');
+
+ foreach ($applications as $application) {
+ $icon = $application->getIconName();
+ if (!$icon) {
+ $icon = 'application';
+ }
+
+ // TODO: This sheet doesn't work the same way other sheets do so it
+ // ends up with the wrong classes if we try to use PHUIIconView. This
+ // is probably all changing in the redesign anyway.
+
+ $icon_view = javelin_tag(
+ 'span',
+ array(
+ 'class' => 'phui-icon-view '.
+ 'sprite-apps-large apps-'.$icon.'-dark-large',
+ 'aural' => false,
+ ),
+ '');
+
+ $description = phutil_tag(
+ 'div',
+ array(
+ 'style' => 'white-space: nowrap; '.
+ 'overflow: hidden; '.
+ 'text-overflow: ellipsis;',
+ ),
+ $application->getShortDescription());
+
+ $item = id(new PHUIObjectItemView())
+ ->setHeader($application->getName())
+ ->setImageIcon($icon_view)
+ ->addAttribute($description)
+ ->addAction(
+ id(new PHUIListItemView())
+ ->setName(pht('Help/Options'))
+ ->setIcon('fa-cog')
+ ->setHref('/applications/view/'.get_class($application).'/'));
+
+ if ($application->getBaseURI()) {
+ $item->setHref($application->getBaseURI());
+ }
+
+ if (!$application->isInstalled()) {
+ $item->addIcon('delete', pht('Uninstalled'));
+ }
+
+ if ($application->isBeta()) {
+ $item->addIcon('fa-star-half-o grey', pht('Beta'));
+ }
+
+ $list->addItem($item);
}
- $list->addItem($item);
+ $results[] = $list;
}
- return $list;
+ return $results;
}
}
diff --git a/src/applications/meta/query/PhabricatorApplicationQuery.php b/src/applications/meta/query/PhabricatorApplicationQuery.php
--- a/src/applications/meta/query/PhabricatorApplicationQuery.php
+++ b/src/applications/meta/query/PhabricatorApplicationQuery.php
@@ -9,6 +9,7 @@
private $nameContains;
private $unlisted;
private $classes;
+ private $launchable;
private $phids;
const ORDER_APPLICATION = 'order:application';
@@ -41,6 +42,11 @@
return $this;
}
+ public function withLaunchable($launchable) {
+ $this->launchable = $launchable;
+ return $this;
+ }
+
public function withClasses(array $classes) {
$this->classes = $classes;
return $this;
@@ -117,6 +123,15 @@
}
}
+ if ($this->launchable !== null) {
+ foreach ($apps as $key => $app) {
+ if ($app->shouldAppearInLaunchView() != $this->launchable) {
+ unset($apps[$key]);
+ }
+ }
+ }
+
+
switch ($this->order) {
case self::ORDER_NAME:
$apps = msort($apps, 'getName');
diff --git a/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php b/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php
--- a/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php
+++ b/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php
@@ -2,14 +2,14 @@
final class PhabricatorApplicationMetaMTA extends PhabricatorApplication {
- public function getBaseURI() {
- return '/mail/';
- }
-
public function getIconName() {
return 'metamta';
}
+ public function getShortDescription() {
+ return pht('Delivers Mail');
+ }
+
public function getFlavorText() {
return pht('Yo dawg, we heard you like MTAs.');
}
diff --git a/src/applications/notification/application/PhabricatorApplicationNotifications.php b/src/applications/notification/application/PhabricatorApplicationNotifications.php
--- a/src/applications/notification/application/PhabricatorApplicationNotifications.php
+++ b/src/applications/notification/application/PhabricatorApplicationNotifications.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Beep Beep Bloop');
+ return pht('Real-Time Updates and Alerts');
}
public function getRoutes() {
diff --git a/src/applications/nuance/application/PhabricatorApplicationNuance.php b/src/applications/nuance/application/PhabricatorApplicationNuance.php
--- a/src/applications/nuance/application/PhabricatorApplicationNuance.php
+++ b/src/applications/nuance/application/PhabricatorApplicationNuance.php
@@ -27,6 +27,10 @@
return '/nuance/';
}
+ public function getShortDescription() {
+ return pht('High-Volume Task Queues');
+ }
+
public function getRoutes() {
return array(
'/nuance/' => array(
diff --git a/src/applications/oauthserver/application/PhabricatorApplicationOAuthServer.php b/src/applications/oauthserver/application/PhabricatorApplicationOAuthServer.php
--- a/src/applications/oauthserver/application/PhabricatorApplicationOAuthServer.php
+++ b/src/applications/oauthserver/application/PhabricatorApplicationOAuthServer.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('OAuth Provider');
+ return pht('OAuth Login Provider');
}
public function getIconName() {
@@ -23,13 +23,17 @@
}
public function getApplicationGroup() {
- return self::GROUP_UTILITIES;
+ return self::GROUP_ADMIN;
}
public function isBeta() {
return true;
}
+ public function getHelpURI() {
+ return PhabricatorEnv::getDoclink('Using the Phabricator OAuth Server');
+ }
+
public function getRoutes() {
return array(
'/oauthserver/' => array(
diff --git a/src/applications/owners/application/PhabricatorApplicationOwners.php b/src/applications/owners/application/PhabricatorApplicationOwners.php
--- a/src/applications/owners/application/PhabricatorApplicationOwners.php
+++ b/src/applications/owners/application/PhabricatorApplicationOwners.php
@@ -11,7 +11,7 @@
}
public function getShortDescription() {
- return pht('Group Source Code');
+ return pht('Track Ownership of Source Code');
}
public function getTitleGlyph() {
@@ -27,7 +27,7 @@
}
public function getApplicationGroup() {
- return self::GROUP_ORGANIZATION;
+ return self::GROUP_UTILITIES;
}
public function getRoutes() {
diff --git a/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php b/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php
--- a/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php
+++ b/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Credential Management');
+ return pht('Store Passwords and Credentials');
}
public function getIconName() {
diff --git a/src/applications/paste/application/PhabricatorApplicationPaste.php b/src/applications/paste/application/PhabricatorApplicationPaste.php
--- a/src/applications/paste/application/PhabricatorApplicationPaste.php
+++ b/src/applications/paste/application/PhabricatorApplicationPaste.php
@@ -18,6 +18,10 @@
return self::GROUP_UTILITIES;
}
+ public function getShortDescription() {
+ return pht('Share Text Snippets');
+ }
+
public function getRemarkupRules() {
return array(
new PhabricatorPasteRemarkupRule(),
diff --git a/src/applications/people/application/PhabricatorApplicationPeople.php b/src/applications/people/application/PhabricatorApplicationPeople.php
--- a/src/applications/people/application/PhabricatorApplicationPeople.php
+++ b/src/applications/people/application/PhabricatorApplicationPeople.php
@@ -3,7 +3,7 @@
final class PhabricatorApplicationPeople extends PhabricatorApplication {
public function getShortDescription() {
- return pht('User Accounts');
+ return pht('User Accounts and Profiles');
}
public function getBaseURI() {
diff --git a/src/applications/phlux/application/PhabricatorApplicationPhlux.php b/src/applications/phlux/application/PhabricatorApplicationPhlux.php
--- a/src/applications/phlux/application/PhabricatorApplicationPhlux.php
+++ b/src/applications/phlux/application/PhabricatorApplicationPhlux.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Configuration Store');
+ return pht('Key/Value Configuration Store');
}
public function getIconName() {
diff --git a/src/applications/pholio/application/PhabricatorApplicationPholio.php b/src/applications/pholio/application/PhabricatorApplicationPholio.php
--- a/src/applications/pholio/application/PhabricatorApplicationPholio.php
+++ b/src/applications/pholio/application/PhabricatorApplicationPholio.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Design Review');
+ return pht('Review Mocks and Design');
}
public function getIconName() {
diff --git a/src/applications/phortune/application/PhabricatorApplicationPhortune.php b/src/applications/phortune/application/PhabricatorApplicationPhortune.php
--- a/src/applications/phortune/application/PhabricatorApplicationPhortune.php
+++ b/src/applications/phortune/application/PhabricatorApplicationPhortune.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Account and Billing');
+ return pht('Accounts and Billing');
}
public function getIconName() {
diff --git a/src/applications/phrequent/application/PhabricatorApplicationPhrequent.php b/src/applications/phrequent/application/PhabricatorApplicationPhrequent.php
--- a/src/applications/phrequent/application/PhabricatorApplicationPhrequent.php
+++ b/src/applications/phrequent/application/PhabricatorApplicationPhrequent.php
@@ -3,7 +3,7 @@
final class PhabricatorApplicationPhrequent extends PhabricatorApplication {
public function getShortDescription() {
- return pht('Track Time');
+ return pht('Track Time Spent');
}
public function getBaseURI() {
@@ -19,7 +19,7 @@
}
public function getApplicationGroup() {
- return self::GROUP_ORGANIZATION;
+ return self::GROUP_UTILITIES;
}
public function getApplicationOrder() {
diff --git a/src/applications/ponder/application/PhabricatorApplicationPonder.php b/src/applications/ponder/application/PhabricatorApplicationPonder.php
--- a/src/applications/ponder/application/PhabricatorApplicationPonder.php
+++ b/src/applications/ponder/application/PhabricatorApplicationPonder.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Find Answers');
+ return pht('Questions and Answers');
}
public function getIconName() {
diff --git a/src/applications/project/application/PhabricatorApplicationProject.php b/src/applications/project/application/PhabricatorApplicationProject.php
--- a/src/applications/project/application/PhabricatorApplicationProject.php
+++ b/src/applications/project/application/PhabricatorApplicationProject.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Organize Work');
+ return pht('Create Groups, Tags, and Projects');
}
public function getBaseURI() {
diff --git a/src/applications/releeph/application/PhabricatorApplicationReleeph.php b/src/applications/releeph/application/PhabricatorApplicationReleeph.php
--- a/src/applications/releeph/application/PhabricatorApplicationReleeph.php
+++ b/src/applications/releeph/application/PhabricatorApplicationReleeph.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return pht('Release Branches');
+ return pht('Pull Requests');
}
public function getBaseURI() {
diff --git a/src/applications/repository/application/PhabricatorApplicationRepositories.php b/src/applications/repository/application/PhabricatorApplicationRepositories.php
--- a/src/applications/repository/application/PhabricatorApplicationRepositories.php
+++ b/src/applications/repository/application/PhabricatorApplicationRepositories.php
@@ -14,7 +14,7 @@
}
public function getShortDescription() {
- return 'Track Repositories';
+ return pht('(Deprecated)');
}
public function getTitleGlyph() {
diff --git a/src/applications/search/application/PhabricatorApplicationSearch.php b/src/applications/search/application/PhabricatorApplicationSearch.php
--- a/src/applications/search/application/PhabricatorApplicationSearch.php
+++ b/src/applications/search/application/PhabricatorApplicationSearch.php
@@ -11,7 +11,7 @@
}
public function getShortDescription() {
- return pht('Search & Find');
+ return pht('Full-Text Search');
}
public function getFlavorText() {
diff --git a/src/applications/settings/application/PhabricatorApplicationSettings.php b/src/applications/settings/application/PhabricatorApplicationSettings.php
--- a/src/applications/settings/application/PhabricatorApplicationSettings.php
+++ b/src/applications/settings/application/PhabricatorApplicationSettings.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return 'User Preferences';
+ return pht('User Preferences');
}
public function getIconName() {
@@ -18,6 +18,10 @@
return false;
}
+ public function shouldAppearInLaunchView() {
+ return false;
+ }
+
public function getRoutes() {
return array(
'/settings/' => array(
diff --git a/src/applications/tokens/application/PhabricatorApplicationTokens.php b/src/applications/tokens/application/PhabricatorApplicationTokens.php
--- a/src/applications/tokens/application/PhabricatorApplicationTokens.php
+++ b/src/applications/tokens/application/PhabricatorApplicationTokens.php
@@ -19,7 +19,7 @@
}
public function getShortDescription() {
- return pht('Acquire Trinkets');
+ return pht('Award and Acquire Trinkets');
}
public function getApplicationGroup() {
diff --git a/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php b/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php
--- a/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php
+++ b/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php
@@ -7,7 +7,7 @@
}
public function getShortDescription() {
- return 'Developer UI Examples';
+ return pht('Phabricator Developer UI Examples');
}
public function getIconName() {
diff --git a/src/view/phui/PHUIObjectItemView.php b/src/view/phui/PHUIObjectItemView.php
--- a/src/view/phui/PHUIObjectItemView.php
+++ b/src/view/phui/PHUIObjectItemView.php
@@ -21,6 +21,7 @@
private $imageURI;
private $state;
private $fontIcon;
+ private $imageIcon;
const AGE_FRESH = 'fresh';
const AGE_STALE = 'stale';
@@ -115,6 +116,15 @@
return $this->imageURI;
}
+ public function setImageIcon($image_icon) {
+ $this->imageIcon = $image_icon;
+ return $this;
+ }
+
+ public function getImageIcon() {
+ return $this->imageIcon;
+ }
+
public function setState($state) {
$this->state = $state;
switch ($state) {
@@ -288,6 +298,10 @@
$item_classes[] = 'phui-object-item-with-image';
}
+ if ($this->getImageIcon()) {
+ $item_classes[] = 'phui-object-item-with-image-icon';
+ }
+
if ($this->fontIcon) {
$item_classes[] = 'phui-object-item-with-ficon';
}
@@ -520,6 +534,22 @@
'style' => 'background-image: url('.$this->getImageURI().')',
),
'');
+ } else if ($this->getImageIcon()) {
+ $image = phutil_tag(
+ 'div',
+ array(
+ 'class' => 'phui-object-item-image-icon',
+ ),
+ $this->getImageIcon());
+ }
+
+ if ($image && $this->href) {
+ $image = phutil_tag(
+ 'a',
+ array(
+ 'href' => $this->href,
+ ),
+ $image);
}
$ficon = null;
diff --git a/webroot/rsrc/css/phui/phui-object-item-list-view.css b/webroot/rsrc/css/phui/phui-object-item-list-view.css
--- a/webroot/rsrc/css/phui/phui-object-item-list-view.css
+++ b/webroot/rsrc/css/phui/phui-object-item-list-view.css
@@ -671,3 +671,54 @@
border: none;
border-bottom: 1px solid {$thinblueborder};
}
+
+
+/* - Launcher List ---------------------------------------------------------- */
+
+.launcher-header {
+ margin: 8px 16px -4px;
+ clear: both;
+ color: {$darkbluetext};
+}
+
+.launcher-header:nth-of-type(1) {
+ margin-top: 24px;
+}
+
+.phui-object-item-launcher-list {
+ overflow: hidden;
+}
+
+.device-desktop .phui-object-item-launcher-list .phui-object-item {
+ width: 32.333%;
+ float: left;
+ margin-right: 1%;
+ box-sizing: border-box;
+}
+
+.phui-object-item-image-icon {
+ background: none;
+}
+
+.phui-object-item-image-icon {
+ width: 30px;
+ height: 30px;
+ margin: 4px 4px 4px 4px;
+ position: absolute;
+}
+
+.phui-object-item-image-icon .phui-icon-view {
+ position: absolute;
+ width: 28px;
+ height: 28px;
+ left: 6px;
+ top: 6px;
+}
+
+.phui-object-item-with-image-icon .phui-object-item-frame {
+ min-height: 48px;
+}
+
+.phui-object-item-with-image-icon .phui-object-item-content-box {
+ margin-left: 44px;
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 9, 4:10 PM (3 d, 10 h ago)
Storage Engine
amazon-s3
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
phabricator/secure/fn/uu/meujvovsbv2bg3wt
Default Alt Text
D9297.diff (37 KB)
Attached To
Mode
D9297: Make default view of "Applications" app a full-page launcher
Attached
Detach File
Event Timeline
Log In to Comment