From: Rafael G. <rafael@G4R4Y.com> - 2004-07-29 16:02:39
|
I noticed the latest stable version of SM has the preference that determines the cursor focus when replying. I was wondering if someone could lead me in the right direction to manually edit the source code of 1.4.2 to add this feature instead of doing the full upgrade to 1.4.3. Which files will need editing? I think I can compare the old and new files and determine which code needs to be inserted to add this feature to 1.4.2, assuming its that simple. |
From: p d. t. <pdo...@an...> - 2004-07-29 20:29:55
|
> I noticed the latest stable version of SM has the preference that > determines the cursor focus when replying. I was wondering if someone > could lead me in the right direction to manually edit the source code of > 1.4.2 to add this feature instead of doing the full upgrade to 1.4.3. > Which files will need editing? I think I can compare the old and new files > and determine which code needs to be inserted to add this feature to > 1.4.2, assuming its that simple. I believe you'll need to grep src/compose.php, include/load_prefs.php, include/options/display.php and functions/page_header.php in 1.4.3a for "reply_focus" to find all the changes. You could also use the sourceforge graphical CVS diff tool (linked from the download page) to find the version where it was added. cd /path/to/sm grep -rn reply_focus * But, really, if you're going to all this trouble, why not just upgrade? There is very little difference (in terms of changes that will break things unless you've hacked up the source (now why did you go and do that? :) )) between 1.4.2 and 1.4.3a. - paul |
From: Norrin R. <dat...@ya...> - 2004-07-30 21:16:20
|
> > I noticed the latest stable version of SM has the > preference that > > determines the cursor focus when replying. I was > wondering if someone > > could lead me in the right direction to manually > edit the source code. Sorry to hijack this thread but it's related. The reply focus starts type After existing text instead of before. In Options/Display Preference we can specify before/after text. Why can't we do the same with the cursor focus. > functions/page_header.php in 1.4.3a In this area what section of the code would I change to make the cursor appear before text? Thanks, global $action, $reply_focus; if (strpos($action, 'reply') !== FALSE && $reply_focus) { if ($reply_focus == 'select') $js .= "document.forms['compose'].body.select();}\n"; else if ($reply_focus == 'focus') $js .= "document.forms['compose'].body.focus();}\n"; } else $js .= "var f = document.forms.length;\n". "var i = 0;\n". "var pos = -1;\n". "while( pos == -1 && i < f ) {\n". "var e = document.forms[i].elements.length;\n". "var j = 0;\n". "while( pos == -1 && j < e ) {\n". "if ( document.forms[i].elements[j].type == 'text' ) {\n". "pos = j;\n". "}\n". "j++;\n". "}\n". "i++;\n". "}\n". "if( pos >= 0 ) {\n". "document.forms[i-1].elements[pos].focus();\n". "}\n". "}\n"; $js .= "// -->\n". "</script>\n"; $onload = 'onload="checkForm();"'; displayHtmlHeader (_("Compose"), $js); break; __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail |
From: p d. t. <pdo...@an...> - 2004-07-30 21:32:41
|
>>>I noticed the latest stable version of SM has the >> >>preference that >> >>>determines the cursor focus when replying. I was >> >>wondering if someone >> >>>could lead me in the right direction to manually >> >>edit the source code. > > > Sorry to hijack this thread but it's related. > > The reply focus starts type After existing text > instead of before. In Options/Display Preference we > can specify before/after text. Why can't we do the > same with the cursor focus. What preference are you referring to? The only before/after pref I can think of is for the signature. Javascript is very finicky, especially across all sorts of different platforms, thus there is not one good way to gain that much control over the cursor focus, at least not without polluting the SM source with all kinds of per-browser per-browser-version dhtml-enabled junk that will only work in a few cases anyway. :) >>functions/page_header.php in 1.4.3a > > > In this area what section of the code would I change > to make the cursor appear before text? > > Thanks, > global $action, $reply_focus; > if (strpos($action, 'reply') !== FALSE && > $reply_focus) > { > if ($reply_focus == 'select') $js .= > "document.forms['compose'].body.select();}\n"; This is 100% browser-dependent, but you can change this last line (and there is another one just like it in the same file) to: if ($reply_focus == 'select') $js .= "document.forms['compose'].body.focus();}\n"; And either IE or Mozilla/Firefox will focus before the text (can't remember which) but not both. - Paul |