Project

General

Profile

Feature #19543 » 9703v2-with-cursor-move.diff.txt

Administrator Admin, 2008-10-31 16:48

 
??Index: t3lib/js/adminpanelDnD.js
===================================================================
--- t3lib/js/adminpanelDnD.js (revision 0)
+++ t3lib/js/adminpanelDnD.js (revision 0)
@@ -0,0 +1,103 @@
+/***************************************************************
+*
+* Admin Panel drag and drop
+*
+* $Id$
+*
+* Copyright notice
+*
+* (c) 2008 Ingo Renner
+* All rights reserved
+*
+* This script is part of the TYPO3 t3lib/ library provided by
+* Ingo Renner <ingo@typo3.org> together with TYPO3
+*
+* Released under GNU/GPL (see license file in typo3/sysext/cms/tslib/)
+*
+* This script is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*
+* This copyright notice MUST APPEAR in all copies of this script
+***************************************************************/
+
+var restoreOnce = 0;
+
+function saveposition(panel) {
+ var admPanelPosX = panel.offsetLeft;
+ var admPanelPosY = panel.offsetTop;
+ setCookie("admPanelPosX", admPanelPosX);
+ setCookie("admPanelPosY", admPanelPosY);
+}
+
+function restorePosition() {
+ if (restoreOnce == 0) {
+ var admPanelPosX = getCookie("admPanelPosX");
+ if (admPanelPosX > 0) {
+ document.getElementById("admPanel").style.left = admPanelPosX
+ + "px";
+ }
+ var admPanelPosY = getCookie("admPanelPosY");
+ if (admPanelPosY > 0) {
+ document.getElementById("admPanel").style.top = admPanelPosY + "px";
+ }
+ restoreOnce = 1;
+ }
+}
+
+function setCookie(name, value, expires, path, domain, secure) {
+ document.cookie = name + "=" + escape(value)
+ + ((expires) ? "; expires=" + expires.toGMTString() : "")
+ + ((path) ? "; path=" + path : "")
+ + ((domain) ? "; domain=" + domain : "")
+ + ((secure) ? "; secure" : "");
+}
+
+function getCookie(name) {
+ var dc = document.cookie;
+ var prefix = name + "=";
+ var begin = dc.indexOf("; " + prefix);
+ if (begin == -1) {
+ begin = dc.indexOf(prefix);
+ if (begin != 0)
+ return null;
+ } else {
+ begin += 2;
+ }
+ var end = document.cookie.indexOf(";", begin);
+ if (end == -1) {
+ end = dc.length;
+ }
+ return unescape(dc.substring(begin + prefix.length, end));
+};
+
+var dragobjekt = null;
+var dragx = 0;
+var dragy = 0;
+var posx = 0;
+var posy = 0;
+
+function draginit() {
+ document.onmousemove = drag;
+ document.onmouseup = dragstop;
+};
+
+function dragstart(element) {
+ dragobjekt = element;
+ dragx = posx - dragobjekt.offsetLeft;
+ dragy = posy - dragobjekt.offsetTop;
+};
+
+function dragstop() {
+ dragobjekt = null;
+};
+
+function drag(ereignis) {
+ posx = document.all ? window.event.clientX : ereignis.pageX;
+ posy = document.all ? window.event.clientY : ereignis.pageY;
+ if (dragobjekt != null) {
+ dragobjekt.style.left = (posx - dragx) + "px";
+ dragobjekt.style.top = (posy - dragy) + "px";
+ }
+}
+
Index: t3lib/class.t3lib_tsfebeuserauth.php
===================================================================
--- t3lib/class.t3lib_tsfebeuserauth.php (revision 4382)
+++ t3lib/class.t3lib_tsfebeuserauth.php (working copy)
@@ -152,7 +152,8 @@
* @see index_ts.php
*/
function extPrintFeAdminDialog() {
- $out='';
+ $out = '<script type="text/javascript" src="t3lib/js/adminpanelDnD.js"></script>';
+
if ($this->uc['TSFE_adminConfig']['display_top']) {
if ($this->extAdmModuleEnabled('preview')) $out.= $this->extGetCategory_preview();
if ($this->extAdmModuleEnabled('cache')) $out.= $this->extGetCategory_cache();
@@ -233,7 +234,17 @@
</script>
<script language="javascript" type="text/javascript">'.$this->extJSCODE.'</script>';
}
- return "\n\n\n\n".$out.'<br />';
+
+ $out = '
+<div onmousedown="dragstart(this)" onmouseup="saveposition(this)" id="admPanel" style="position:absolute;left:10px;top:100px;width:30px;z-index:5;cursor:move;">
+ ' . $out . '
+<br /></div>
+<script type="text/javascript">
+draginit();
+restorePosition();
+</script>';
+
+ return $out;
}
/**
@@ -624,9 +635,7 @@
$out = '
<tr class="typo3-adminPanel-itemRow">
<td><img src="clear.gif" width="50" height="1" alt="" /></td>
- <td style="text-align:left; white-space:nowrap;">'.($pre ? $this->extFw($this->extGetLL($pre)) : '&nbsp;').'</td>
- <td><img src="clear.gif" width="30" height="1" alt="" /></td>
- <td style="text-align:left; white-space:nowrap;">'.$element.'</td>
+ <td colspan="3">'.$element.' '.($pre ? $this->extFw($this->extGetLL($pre)) : '&nbsp;').'</td>
</tr>';
return $out;
Index: typo3/sysext/lang/locallang_tsfe.xml
===================================================================
--- typo3/sysext/lang/locallang_tsfe.xml (revision 4382)
+++ typo3/sysext/lang/locallang_tsfe.xml (working copy)
@@ -35,13 +35,13 @@
<label index="edit_editPageOverlay">Edit properties of translated page</label>
<label index="edit_db_list">Web&gt;List module</label>
<label index="tsdebug">TypoScript</label>
- <label index="tsdebug_tree">Tree display:</label>
- <label index="tsdebug_LR">Track content rendering:</label>
- <label index="tsdebug_forceTemplateParsing">Force TS Rendering:</label>
- <label index="tsdebug_displayTimes">Display all times:</label>
- <label index="tsdebug_displayMessages">Display messages:</label>
- <label index="tsdebug_displayContent">Display content:</label>
- <label index="tsdebug_displayQueries">Explain SELECT queries:</label>
+ <label index="tsdebug_tree">Show as Tree</label>
+ <label index="tsdebug_LR">Track content rendering</label>
+ <label index="tsdebug_forceTemplateParsing">Force TS Rendering</label>
+ <label index="tsdebug_displayTimes">Show all times</label>
+ <label index="tsdebug_displayMessages">Show messages</label>
+ <label index="tsdebug_displayContent">Show content</label>
+ <label index="tsdebug_displayQueries">Explain SELECT queries</label>
<label index="info">Info</label>
<label index="div_Levels_0">This page</label>
<label index="div_Levels_1">+ 1 sublevel</label>
(3-3/8)