Home | History | Annotate | Download | only in app_list
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "ui/app_list/app_list_switches.h"
      6 
      7 #include "base/command_line.h"
      8 
      9 namespace app_list {
     10 namespace switches {
     11 
     12 // If set, the app info context menu item is not available in the app list UI.
     13 const char kDisableAppInfo[] = "disable-app-list-app-info";
     14 
     15 // Disables syncing of the app list independent of extensions.
     16 const char kDisableSyncAppList[] = "disable-sync-app-list";
     17 
     18 // If set, the voice search is disabled in app list UI.
     19 const char kDisableVoiceSearch[] = "disable-app-list-voice-search";
     20 
     21 // If set, the app list will be centered and wide instead of tall.
     22 const char kEnableCenteredAppList[] = "enable-centered-app-list";
     23 
     24 // If set, Drive apps of the user shows side-by-side with Chrome apps.
     25 const char kEnableDriveAppsInAppList[] = "enable-drive-apps-in-app-list";
     26 
     27 // If set, the experimental app list will be used. Implies
     28 // --enable-centered-app-list.
     29 const char kEnableExperimentalAppList[] = "enable-experimental-app-list";
     30 
     31 // Enables syncing of the app list independent of extensions.
     32 const char kEnableSyncAppList[] = "enable-sync-app-list";
     33 
     34 bool IsAppListSyncEnabled() {
     35 #if defined(TOOLKIT_VIEWS)
     36   return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableSyncAppList);
     37 #else
     38   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableSyncAppList);
     39 #endif
     40 }
     41 
     42 bool IsFolderUIEnabled() {
     43 #if !defined(TOOLKIT_VIEWS)
     44   return false;  // Folder UI not implemented for Cocoa.
     45 #endif
     46   // Folder UI is available only when AppList sync is enabled, and should
     47   // not be disabled separately.
     48   return IsAppListSyncEnabled();
     49 }
     50 
     51 bool IsVoiceSearchEnabled() {
     52   // Speech recognition in AppList is only for ChromeOS right now.
     53 #if defined(OS_CHROMEOS)
     54   return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableVoiceSearch);
     55 #else
     56   return false;
     57 #endif
     58 }
     59 
     60 bool IsAppInfoEnabled() {
     61 #if defined(TOOLKIT_VIEWS)
     62   return !CommandLine::ForCurrentProcess()->HasSwitch(kDisableAppInfo);
     63 #else
     64   return false;
     65 #endif
     66 }
     67 
     68 bool IsExperimentalAppListEnabled() {
     69   return CommandLine::ForCurrentProcess()->HasSwitch(
     70       kEnableExperimentalAppList);
     71 }
     72 
     73 bool IsCenteredAppListEnabled() {
     74   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableCenteredAppList) ||
     75          IsExperimentalAppListEnabled();
     76 }
     77 
     78 bool IsDriveAppsInAppListEnabled() {
     79   return CommandLine::ForCurrentProcess()->HasSwitch(kEnableDriveAppsInAppList);
     80 }
     81 
     82 }  // namespace switches
     83 }  // namespace app_list
     84