[TASK] Replace sprite icon "actions-document-move" with the new IconFactory 46/42346/3
authorMarkus Guenther <mail@markus-guenther.de>
Fri, 7 Aug 2015 08:35:29 +0000 (10:35 +0200)
committerFrank Nägler <frank.naegler@typo3.org>
Fri, 7 Aug 2015 10:01:41 +0000 (12:01 +0200)
Replaces all IconUtility::getSpriteIcon calls for the icon
actions-document-move with the new IconFactory.

Change-Id: I52ae5ce611c138ff73fc009780b5ebc382eb41eb
Resolves: #68817
Releases: master
Reviewed-on: http://review.typo3.org/42346
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Frank Nägler <frank.naegler@typo3.org>
Tested-by: Frank Nägler <frank.naegler@typo3.org>
typo3/sysext/core/Classes/Imaging/IconRegistry.php
typo3/sysext/frontend/Classes/View/AdminPanelView.php
typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php

index c6b3ac1..a7598b0 100644 (file)
@@ -62,6 +62,12 @@ class IconRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                                'name' => 'upload',
                        )
                ),
+               'actions-document-move' => array(
+                       'provider' => FontawesomeIconProvider::class,
+                       'options' => array(
+                               'name' => 'arrows',
+                       )
+               ),
                'actions-document-open' => array(
                        'provider' => FontawesomeIconProvider::class,
                        'options' => array(
index 1748664..a5cb5f0 100755 (executable)
@@ -16,6 +16,8 @@ namespace TYPO3\CMS\Frontend\View;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Backend\Utility\IconUtility;
+use TYPO3\CMS\Core\Imaging\Icon;
+use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Type\Bitmask\Permission;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -598,6 +600,9 @@ class AdminPanelView {
         * @return string A string containing images wrapped in <a>-tags linking them to proper functions.
         */
        public function ext_makeToolBar() {
+               /** @var IconFactory $iconFactory */
+               $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
+
                //  If mod.web_list.newContentWiz.overrideWithExtension is set, use that extension's create new content wizard instead:
                $tsConfig = BackendUtility::getModTSconfig($this->pageinfo['uid'], 'mod.web_list');
                $tsConfig = $tsConfig['properties']['newContentWiz.']['overrideWithExtension'];
@@ -618,8 +623,10 @@ class AdminPanelView {
                        $toolBar .= '<a class="t3-icon btn btn-default" href="' . htmlspecialchars($newContentWizScriptPath . 'id=' . $id . $params . '&returnUrl=' . rawurlencode($returnUrl)) . '">' . $icon . '</a>';
                }
                if ($perms & Permission::PAGE_EDIT) {
-                       $icon = IconUtility::getSpriteIcon('actions-document-move', array('title' => $this->extGetLL('edit_move_page', FALSE)));
-                       $toolBar .= '<a class="t3-icon btn btn-default" href="' . htmlspecialchars(BackendUtility::getModuleUrl('move_element', ['table' => 'pages', 'uid' => $id, 'returnUrl' => $returnUrl])) . '">' . $icon . '</a>';
+                       $icon = $iconFactory->getIcon('actions-document-move', Icon::SIZE_SMALL);
+                       $link = BackendUtility::getModuleUrl('move_element', ['table' => 'pages', 'uid' => $id, 'returnUrl' => $returnUrl]);
+                       $toolBar .= '<a class="t3-icon btn btn-default" href="' . htmlspecialchars($link) .
+                       $toolBar .= '" title="' . $this->extGetLL('edit_move_page', FALSE) . '">' . $icon . '</a>';
                }
                if ($perms & Permission::PAGE_NEW) {
                        $icon = IconUtility::getSpriteIcon('actions-page-new', array('title' => $this->extGetLL('edit_newPage', FALSE)));
index b4b7439..0732e4f 100644 (file)
@@ -18,6 +18,8 @@ use TYPO3\CMS\Backend\Module\BaseScriptClass;
 use TYPO3\CMS\Backend\RecordList\RecordListGetTableHookInterface;
 use TYPO3\CMS\Backend\Template\DocumentTemplate;
 use TYPO3\CMS\Core\Database\DatabaseConnection;
+use TYPO3\CMS\Core\Imaging\Icon;
+use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Messaging\FlashMessageService;
 use TYPO3\CMS\Core\Type\Bitmask\Permission;
@@ -192,6 +194,18 @@ class DatabaseRecordList extends AbstractDatabaseRecordList {
        protected $editable = TRUE;
 
        /**
+        * @var IconFactory
+        */
+       protected $iconFactory;
+
+       /**
+        * Constructor
+        */
+       public function __construct() {
+               $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
+       }
+
+       /**
         * Create the panel of buttons for submitting the form or otherwise perform
         * operations.
         *
@@ -1242,8 +1256,8 @@ class DatabaseRecordList extends AbstractDatabaseRecordList {
                if ($permsEdit && ($table === 'tt_content' || $table === 'pages')) {
                        $onClick = 'return jumpExt(\'' . BackendUtility::getModuleUrl('move_element') . '&table=' . $table . '&uid=' . $row['uid'] . '\');';
                        $linkTitleLL = $this->getLanguageService()->getLL('move_' . ($table === 'tt_content' ? 'record' : 'page'), TRUE);
-                       $spriteIcon = $table === 'tt_content' ? 'actions-document-move' : 'actions-page-move';
-                       $moveAction = '<a class="btn btn-default" href="#" onclick="' . htmlspecialchars($onClick) . '" title="' . $linkTitleLL . '">' . IconUtility::getSpriteIcon($spriteIcon) . '</a>';
+                       $icon = ($table == 'pages' ? IconUtility::getSpriteIcon('actions-page-move') : $this->iconFactory->getIcon('actions-document-move', Icon::SIZE_SMALL));
+                       $moveAction = '<a class="btn btn-default" href="#" onclick="' . htmlspecialchars($onClick) . '" title="' . $linkTitleLL . '">' . $icon . '</a>';
                        $this->addActionToCellGroup($cells, $moveAction, 'move');
                }
                // If the table is NOT a read-only table, then show these links: