[TASK] Replace icon by the Icon-API: search and filter 43/43143/2
authorBenjamin Kott <benjamin.kott@outlook.com>
Tue, 8 Sep 2015 21:53:35 +0000 (23:53 +0200)
committerBenjamin Kott <info@bk2k.info>
Wed, 9 Sep 2015 09:09:12 +0000 (11:09 +0200)
Resolves: #69621
Releases: master
Change-Id: I7dcc1dc5e07d15506a44d247dace49af26e7316b
Reviewed-on: http://review.typo3.org/43143
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Benjamin Kott <info@bk2k.info>
Tested-by: Benjamin Kott <info@bk2k.info>
18 files changed:
Build/Gruntfile.js
Build/Resources/Private/Icons/Action/actions-filter.svg [new file with mode: 0644]
Build/Resources/Private/Icons/Action/actions-search.svg [new file with mode: 0644]
Build/Resources/Private/Icons/Action/actions-system-tree-search-open.svg [new file with mode: 0644]
Build/Resources/Private/Icons/App/apps-toolbar-menu-search.svg [new file with mode: 0644]
typo3/sysext/backend/Classes/Controller/PageLayoutController.php
typo3/sysext/backend/Classes/Form/Wizard/SuggestWizard.php
typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php
typo3/sysext/backend/Resources/Public/Icons/Action/actions-filter.svg [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/Icons/Action/actions-search.svg [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/Icons/Action/actions-system-tree-search-open.svg [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/Icons/App/apps-toolbar-menu-search.svg [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/toppanel.js
typo3/sysext/core/Classes/Imaging/IconRegistry.php
typo3/sysext/recordlist/Classes/RecordList.php
typo3/sysext/recordlist/Classes/RecordList/AbstractDatabaseRecordList.php
typo3/sysext/recycler/Resources/Private/Templates/RecyclerModule/Index.html
typo3/sysext/t3skin/Classes/Slot/IconStyleModifier.php

index cd5d709..b10c48b 100644 (file)
@@ -140,19 +140,23 @@ module.exports = function(grunt) {
                                        '<%= paths.backend %>Public/Icons/Action/actions-document-save-translation.svg': '<%= paths.icons %>Action/actions-document-save-translation.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-document-save-view.svg': '<%= paths.icons %>Action/actions-document-save-view.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-document-save.svg': '<%= paths.icons %>Action/actions-document-save.svg',
+                                       '<%= paths.backend %>Public/Icons/Action/actions-filter.svg': '<%= paths.icons %>Action/actions-filter.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-page-new.svg': '<%= paths.icons %>Action/actions-page-new.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-page-move.svg': '<%= paths.icons %>Action/actions-page-move.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-page-open.svg': '<%= paths.icons %>Action/actions-page-open.svg',
+                                       '<%= paths.backend %>Public/Icons/Action/actions-search.svg': '<%= paths.icons %>Action/actions-search.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-system-cache-clear-impact-high.svg': '<%= paths.icons %>Action/actions-system-cache-clear-impact-high.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-system-cache-clear-impact-low.svg': '<%= paths.icons %>Action/actions-system-cache-clear-impact-low.svg',
                                        '<%= paths.backend %>Public/Icons/Action/actions-system-cache-clear-impact-medium.svg': '<%= paths.icons %>Action/actions-system-cache-clear-impact-medium.svg',
-                                       '<%= paths.backend %>Public/Icons/Action/actions-system-help-open.svg': '<%= paths.icons %>Action/actions-system-help-open.svg'
+                                       '<%= paths.backend %>Public/Icons/Action/actions-system-help-open.svg': '<%= paths.icons %>Action/actions-system-help-open.svg',
+                                       '<%= paths.backend %>Public/Icons/Action/actions-system-tree-search-open.svg': '<%= paths.icons %>Action/actions-system-tree-search-open.svg'
                                }
                        },
                        // Action Icons
                        icons_apps: {
                                files: {
                                        '<%= paths.backend %>Public/Icons/App/apps-pagetree-root.svg': '<%= paths.icons %>App/apps-pagetree-root.svg',
+                                       '<%= paths.backend %>Public/Icons/App/apps-toolbar-menu-search.svg': '<%= paths.icons %>App/apps-toolbar-menu-search.svg'
                                }
                        },
                        // Avatar Icons
diff --git a/Build/Resources/Private/Icons/Action/actions-filter.svg b/Build/Resources/Private/Icons/Action/actions-filter.svg
new file mode 100644 (file)
index 0000000..1aff707
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<path d="M13.46,2c0.22,0,0.42,0.14,0.5,0.33c0.09,0.2,0.04,0.44-0.12,0.6l-4.2,4.2v6.32c0,0.22-0.14,0.42-0.33,0.5
+       C9.23,13.98,9.16,14,9.09,14c-0.14,0-0.28-0.05-0.38-0.16l-2.18-2.18c-0.1-0.1-0.16-0.24-0.16-0.38V7.13l-4.2-4.2
+       C2,2.78,1.95,2.54,2.04,2.33C2.13,2.14,2.32,2,2.54,2H13.46 M13.46,1H2.54C1.93,1,1.37,1.37,1.12,1.93
+       c-0.25,0.6-0.11,1.29,0.35,1.72l3.89,3.89v3.73c0,0.41,0.16,0.8,0.46,1.09L8,14.55C8.26,14.83,8.66,15,9.09,15
+       c0.19,0,0.38-0.04,0.57-0.11c0.61-0.26,0.98-0.82,0.98-1.44V7.55l3.91-3.91c0.44-0.42,0.58-1.1,0.33-1.69
+       C14.63,1.37,14.07,1,13.46,1L13.46,1z"/>
+</svg>
diff --git a/Build/Resources/Private/Icons/Action/actions-search.svg b/Build/Resources/Private/Icons/Action/actions-search.svg
new file mode 100644 (file)
index 0000000..3ba18ab
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<path id="actions-search" d="M13.92,15c-0.29,0-0.56-0.12-0.76-0.32l-2.89-2.88c-0.98,0.68-2.16,1.04-3.36,1.04
+       C3.65,12.85,1,10.2,1,6.92C1,3.65,3.65,1,6.92,1c3.27,0,5.92,2.65,5.92,5.92c0,1.19-0.36,2.37-1.04,3.36l2.89,2.89
+       c0.19,0.19,0.31,0.47,0.31,0.76C15,14.51,14.51,15,13.92,15z M6.92,2.42c-2.48,0-4.5,2.02-4.5,4.5s2.02,4.5,4.5,4.5
+       c2.48,0,4.5-2.02,4.5-4.5S9.4,2.42,6.92,2.42z"/>
+</svg>
diff --git a/Build/Resources/Private/Icons/Action/actions-system-tree-search-open.svg b/Build/Resources/Private/Icons/Action/actions-system-tree-search-open.svg
new file mode 100644 (file)
index 0000000..1aff707
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<path d="M13.46,2c0.22,0,0.42,0.14,0.5,0.33c0.09,0.2,0.04,0.44-0.12,0.6l-4.2,4.2v6.32c0,0.22-0.14,0.42-0.33,0.5
+       C9.23,13.98,9.16,14,9.09,14c-0.14,0-0.28-0.05-0.38-0.16l-2.18-2.18c-0.1-0.1-0.16-0.24-0.16-0.38V7.13l-4.2-4.2
+       C2,2.78,1.95,2.54,2.04,2.33C2.13,2.14,2.32,2,2.54,2H13.46 M13.46,1H2.54C1.93,1,1.37,1.37,1.12,1.93
+       c-0.25,0.6-0.11,1.29,0.35,1.72l3.89,3.89v3.73c0,0.41,0.16,0.8,0.46,1.09L8,14.55C8.26,14.83,8.66,15,9.09,15
+       c0.19,0,0.38-0.04,0.57-0.11c0.61-0.26,0.98-0.82,0.98-1.44V7.55l3.91-3.91c0.44-0.42,0.58-1.1,0.33-1.69
+       C14.63,1.37,14.07,1,13.46,1L13.46,1z"/>
+</svg>
diff --git a/Build/Resources/Private/Icons/App/apps-toolbar-menu-search.svg b/Build/Resources/Private/Icons/App/apps-toolbar-menu-search.svg
new file mode 100644 (file)
index 0000000..2b0e314
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<path id="apps-toolbar-menu-search" d="M13.92,15c-0.29,0-0.56-0.12-0.76-0.32l-2.89-2.88c-0.98,0.68-2.16,1.04-3.36,1.04
+       C3.65,12.85,1,10.2,1,6.92C1,3.65,3.65,1,6.92,1c3.27,0,5.92,2.65,5.92,5.92c0,1.19-0.36,2.37-1.04,3.36l2.89,2.89
+       c0.19,0.19,0.31,0.47,0.31,0.76C15,14.51,14.51,15,13.92,15z M6.92,2.42c-2.48,0-4.5,2.02-4.5,4.5s2.02,4.5,4.5,4.5
+       c2.48,0,4.5-2.02,4.5-4.5S9.4,2.42,6.92,2.42z"/>
+</svg>
index abee3ce..ed3c6ac 100755 (executable)
@@ -1114,7 +1114,7 @@ class PageLayoutController {
                // Making search form:
                if (!$this->modTSconfig['properties']['disableSearchBox'] && !empty($tableOutput)) {
                        $this->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Backend/ToggleSearchToolbox');
-                       $this->markers['BUTTONLIST_ADDITIONAL'] = '<a href="#" class="t3js-toggle-search-toolbox" title="' . $this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.title.searchIcon', TRUE) . '">'.IconUtility::getSpriteIcon('apps-toolbar-menu-search') . '</a>';
+                       $this->markers['BUTTONLIST_ADDITIONAL'] = '<a href="#" class="t3js-toggle-search-toolbox" title="' . $this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.title.searchIcon', TRUE) . '">' . $this->iconFactory->getIcon('actions-search', Icon::SIZE_SMALL) . '</a>';
                        $this->markers['SEARCHBOX'] = $dbList->getSearchBox(0);
                }
                // Additional footer content
index 6c5daf6..76060fd 100644 (file)
@@ -15,6 +15,8 @@ namespace TYPO3\CMS\Backend\Form\Wizard;
  */
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Imaging\Icon;
+use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
@@ -36,6 +38,8 @@ class SuggestWizard {
         * @return string The HTML code for the selector
         */
        public function renderSuggestSelector($fieldname, $table, $field, array $row, array $config) {
+               /** @var $iconFactory IconFactory */
+               $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
                $languageService = $this->getLanguageService();
                $isFlexFormField = $GLOBALS['TCA'][$table]['columns'][$field]['config']['type'] === 'flex';
                if ($isFlexFormField) {
@@ -73,7 +77,7 @@ class SuggestWizard {
                $selector = '
                <div class="autocomplete t3-form-suggest-container">
                        <div class="input-group">
-                               <span class="input-group-addon"><i class="fa fa-search"></i></span>
+                               <span class="input-group-addon">' . $iconFactory->getIcon('actions-search', Icon::SIZE_SMALL) . '</span>
                                <input type="search" class="t3-form-suggest form-control"
                                        placeholder="' . $languageService->sL('LLL:EXT:lang/locallang_core.xlf:labels.findRecord') . '"
                                        data-fieldname="' . $fieldname . '"
index a3c087f..ced9b2d 100644 (file)
@@ -195,7 +195,6 @@ class ExtdirectTreeDataProvider extends \TYPO3\CMS\Backend\Tree\AbstractExtJsTre
                                'temporaryMountPoint' => Commands::getMountPointPath()
                        ),
                        'Sprites' => array(
-                               'Filter' => IconUtility::getSpriteIconClasses('actions-system-tree-search-open'),
                                'Refresh' => IconUtility::getSpriteIconClasses('actions-system-refresh'),
                                'InputClear' => IconUtility::getSpriteIconClasses('actions-input-clear'),
                                'TrashCan' => IconUtility::getSpriteIconClasses('actions-edit-delete'),
@@ -203,7 +202,8 @@ class ExtdirectTreeDataProvider extends \TYPO3\CMS\Backend\Tree\AbstractExtJsTre
                                'Info' => IconUtility::getSpriteIconClasses('actions-document-info')
                        ),
                        'Icons' => array(
-                               'NewNode' => (string)$this->iconFactory->getIcon('actions-page-new', Icon::SIZE_SMALL)
+                               'NewNode' => (string)$this->iconFactory->getIcon('actions-page-new', Icon::SIZE_SMALL),
+                               'Filter' => (string)$this->iconFactory->getIcon('actions-filter', Icon::SIZE_SMALL),
                        )
                );
                return $configuration;
diff --git a/typo3/sysext/backend/Resources/Public/Icons/Action/actions-filter.svg b/typo3/sysext/backend/Resources/Public/Icons/Action/actions-filter.svg
new file mode 100644 (file)
index 0000000..6304964
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.46 2c.22 0 .42.14.5.33.09.2.04.44-.12.6l-4.2 4.2v6.32c0 .22-.14.42-.33.5-.08.03-.15.05-.22.05-.14 0-.28-.05-.38-.16l-2.18-2.18c-.1-.1-.16-.24-.16-.38V7.13l-4.2-4.2c-.17-.15-.22-.39-.13-.6.09-.19.28-.33.5-.33h10.92m0-1H2.54c-.61 0-1.17.37-1.42.93-.25.6-.11 1.29.35 1.72l3.89 3.89v3.73c0 .41.16.8.46 1.09L8 14.55c.26.28.66.45 1.09.45.19 0 .38-.04.57-.11.61-.26.98-.82.98-1.44v-5.9l3.91-3.91c.44-.42.58-1.1.33-1.69-.25-.58-.81-.95-1.42-.95z"/></svg>
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/Icons/Action/actions-search.svg b/typo3/sysext/backend/Resources/Public/Icons/Action/actions-search.svg
new file mode 100644 (file)
index 0000000..33affce
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.92 15c-.29 0-.56-.12-.76-.32l-2.89-2.88c-.98.68-2.16 1.04-3.36 1.04C3.65 12.85 1 10.2 1 6.92 1 3.65 3.65 1 6.92 1s5.92 2.65 5.92 5.92c0 1.19-.36 2.37-1.04 3.36l2.89 2.89c.19.19.31.47.31.76 0 .58-.49 1.07-1.08 1.07zm-7-12.58c-2.48 0-4.5 2.02-4.5 4.5s2.02 4.5 4.5 4.5 4.5-2.02 4.5-4.5-2.02-4.5-4.5-4.5z"/></svg>
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/Icons/Action/actions-system-tree-search-open.svg b/typo3/sysext/backend/Resources/Public/Icons/Action/actions-system-tree-search-open.svg
new file mode 100644 (file)
index 0000000..6304964
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.46 2c.22 0 .42.14.5.33.09.2.04.44-.12.6l-4.2 4.2v6.32c0 .22-.14.42-.33.5-.08.03-.15.05-.22.05-.14 0-.28-.05-.38-.16l-2.18-2.18c-.1-.1-.16-.24-.16-.38V7.13l-4.2-4.2c-.17-.15-.22-.39-.13-.6.09-.19.28-.33.5-.33h10.92m0-1H2.54c-.61 0-1.17.37-1.42.93-.25.6-.11 1.29.35 1.72l3.89 3.89v3.73c0 .41.16.8.46 1.09L8 14.55c.26.28.66.45 1.09.45.19 0 .38-.04.57-.11.61-.26.98-.82.98-1.44v-5.9l3.91-3.91c.44-.42.58-1.1.33-1.69-.25-.58-.81-.95-1.42-.95z"/></svg>
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/Icons/App/apps-toolbar-menu-search.svg b/typo3/sysext/backend/Resources/Public/Icons/App/apps-toolbar-menu-search.svg
new file mode 100644 (file)
index 0000000..33affce
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.92 15c-.29 0-.56-.12-.76-.32l-2.89-2.88c-.98.68-2.16 1.04-3.36 1.04C3.65 12.85 1 10.2 1 6.92 1 3.65 3.65 1 6.92 1s5.92 2.65 5.92 5.92c0 1.19-.36 2.37-1.04 3.36l2.89 2.89c.19.19.31.47.31.76 0 .58-.49 1.07-1.08 1.07zm-7-12.58c-2.48 0-4.5 2.02-4.5 4.5s2.02 4.5 4.5 4.5 4.5-2.02 4.5-4.5-2.02-4.5-4.5-4.5z"/></svg>
\ No newline at end of file
index 92cbd5b..4c6d0cf 100644 (file)
@@ -286,7 +286,7 @@ TYPO3.Components.PageTree.TopPanel = Ext.extend(Ext.Panel, {
                var topPanelButton = new Ext.Button({
                        id: this.id + '-button-filter',
                        cls: this.id + '-button',
-                       iconCls: TYPO3.Components.PageTree.Sprites.Filter,
+                       text: TYPO3.Components.PageTree.Icons.Filter,
                        tooltip: TYPO3.Components.PageTree.LLL.buttonFilter
                });
 
index 047ecc2..986993f 100644 (file)
@@ -64,6 +64,12 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                                'source' => 'EXT:backend/Resources/Public/Icons/App/apps-pagetree-root.svg',
                        )
                ),
+               'apps-toolbar-menu-search' => array(
+                       'provider' => SvgIconProvider::class,
+                       'options' => array(
+                               'source' => 'EXT:backend/Resources/Public/Icons/App/apps-toolbar-menu-search.svg',
+                       )
+               ),
                'actions-document-close' => array(
                        'provider' => FontawesomeIconProvider::class,
                        'options' => array(
@@ -316,6 +322,12 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                                'name' => 'upload',
                        )
                ),
+               'actions-filter' => array(
+                       'provider' => SvgIconProvider::class,
+                       'options' => array(
+                               'source' => 'EXT:backend/Resources/Public/Icons/Action/actions-filter.svg',
+                       )
+               ),
                'actions-insert-record' => array(
                        'provider' => BitmapIconProvider::class,
                        'options' => array(
@@ -424,6 +436,12 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                                'name' => 'trash',
                        )
                ),
+               'actions-search' => array(
+                       'provider' => SvgIconProvider::class,
+                       'options' => array(
+                               'source' => 'EXT:backend/Resources/Public/Icons/Action/actions-search.svg',
+                       )
+               ),
                'actions-system-cache-clear-impact-low' => array(
                        'provider' => SvgIconProvider::class,
                        'options' => array(
@@ -508,6 +526,12 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                                'source' => 'EXT:t3skin/images/icons/actions/system-shortcut-new.png',
                        )
                ),
+               'actions-system-tree-search-open' => array(
+                       'provider' => SvgIconProvider::class,
+                       'options' => array(
+                               'source' => 'EXT:backend/Resources/Public/Icons/Action/actions-system-tree-search-open.svg',
+                       )
+               ),
                'actions-system-refresh' => array(
                        'provider' => FontawesomeIconProvider::class,
                        'options' => array(
index bf4b8ee..baaa678 100644 (file)
@@ -17,9 +17,10 @@ namespace TYPO3\CMS\Recordlist;
 use TYPO3\CMS\Backend\Clipboard\Clipboard;
 use TYPO3\CMS\Backend\Template\DocumentTemplate;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
-use TYPO3\CMS\Backend\Utility\IconUtility;
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
 use TYPO3\CMS\Core\DataHandling\DataHandler;
+use TYPO3\CMS\Core\Imaging\Icon;
+use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Page\PageRenderer;
 use TYPO3\CMS\Core\Type\Bitmask\Permission;
@@ -186,6 +187,11 @@ class RecordList {
        protected $pageRenderer = NULL;
 
        /**
+        * @var IconFactory
+        */
+       protected $iconFactory;
+
+       /**
         * Constructor
         */
        public function __construct() {
@@ -202,6 +208,7 @@ class RecordList {
         * @return void
         */
        public function init() {
+               $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
                $backendUser = $this->getBackendUserAuthentication();
                $this->perms_clause = $backendUser->getPagePermsClause(1);
                // Get session data
@@ -542,7 +549,7 @@ class RecordList {
                if (!$this->modTSconfig['properties']['disableSearchBox'] && ($dblist->HTMLcode || !empty($dblist->searchString))) {
                        $markers['SEARCHBOX'] = $dblist->getSearchBox();
                        $this->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Backend/ToggleSearchToolbox');
-                       $markers['BUTTONLIST_ADDITIONAL'] = '<a href="#" class="t3js-toggle-search-toolbox" title="' . $lang->sL('LLL:EXT:lang/locallang_core.xlf:labels.title.searchIcon', TRUE) . '">' . IconUtility::getSpriteIcon('apps-toolbar-menu-search') . '</a>';
+                       $markers['BUTTONLIST_ADDITIONAL'] = '<a href="#" class="t3js-toggle-search-toolbox" title="' . $lang->sL('LLL:EXT:lang/locallang_core.xlf:labels.title.searchIcon', TRUE) . '">' . $this->iconFactory->getIcon('actions-search', Icon::SIZE_SMALL) . '</a>';
                }
                // Build the <body> for the module
                $this->content = $this->doc->moduleBody($this->pageinfo, $docHeaderButtons, $markers);
index c5448c2..b014ffb 100644 (file)
@@ -19,6 +19,8 @@ use TYPO3\CMS\Backend\Tree\View\PageTreeView;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
 use TYPO3\CMS\Core\Database\DatabaseConnection;
+use TYPO3\CMS\Core\Imaging\Icon;
+use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Service\DependencyOrderingService;
 use TYPO3\CMS\Core\Type\Bitmask\Permission;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
@@ -531,6 +533,8 @@ class AbstractDatabaseRecordList extends AbstractRecordList {
         * @return string HTML for the search box
         */
        public function getSearchBox($formFields = TRUE) {
+               /** @var $iconFactory IconFactory */
+               $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
                $lang = $this->getLanguageService();
                // Setting form-elements, if applicable:
                $formElements = array('', '');
@@ -564,7 +568,7 @@ class AbstractDatabaseRecordList extends AbstractRecordList {
                                                                </div>
                                                                <div class="form-group">
                                                                        <button type="submit" class="btn btn-default" name="search" title="' . $lang->sL('LLL:EXT:lang/locallang_core.xlf:labels.title.search', TRUE) . '">
-                                                                               <i class="fa fa-search"></i> ' . $lang->sL('LLL:EXT:lang/locallang_core.xlf:labels.search', TRUE) . '
+                                                                               ' . $iconFactory->getIcon('actions-search', Icon::SIZE_SMALL) . ' ' . $lang->sL('LLL:EXT:lang/locallang_core.xlf:labels.search', TRUE) . '
                                                                        </button>
                                                                </div>
                                                        </div>
index ba1bcb4..4563f87 100644 (file)
@@ -11,7 +11,7 @@
                        <div class="input-group">
                                <input type="text" name="search-text" class="form-control">
                                <span class="input-group-btn">
-                                       <button type="submit" class="btn btn-default disabled"><span class="t3-icon fa fa-search"></span></button>
+                                       <button type="submit" class="btn btn-default disabled"><core:icon identifier="actions-search" /></button>
                                </span>
                        </div>
                        <select name="depth" class="form-control">
index 377449b..cb4e0ae 100644 (file)
@@ -80,7 +80,6 @@ class IconStyleModifier {
                't3-icon t3-icon-actions t3-icon-actions-system t3-icon-system-list-open' => 'fa-list-alt',
                't3-icon t3-icon-actions t3-icon-actions-system t3-icon-system-refresh' => 'fa-refresh',
                't3-icon t3-icon-actions t3-icon-actions-system t3-icon-system-shortcut-new' => 'fa-star',
-               't3-icon t3-icon-actions t3-icon-actions-system t3-icon-system-tree-search-open' => 'fa-search',
                't3-icon t3-icon-actions t3-icon-actions-template t3-icon-template-new' => 'fa-plus',
                't3-icon t3-icon-actions t3-icon-actions-view t3-icon-view-go-back' => 'fa-angle-double-left',
                't3-icon t3-icon-actions t3-icon-actions-view t3-icon-view-go-forward' => 'fa-angle-double-right',
@@ -98,7 +97,6 @@ class IconStyleModifier {
                't3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-actions' => 'fa-cog',
                't3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-cache' => 'fa-bolt',
                't3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-opendocs' => 'fa-file',
-               't3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-search' => 'fa-search',
                't3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-shortcut' => 'fa-star',
                't3-icon t3-icon-apps t3-icon-apps-toolbar t3-icon-toolbar-menu-workspace' => 'fa-th-large',
                't3-icon t3-icon-extensions t3-icon-extensions-extensionmanager t3-icon-extensionmanager-update-script' => 'fa-refresh',