afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
afuna ([personal profile] afuna) wrote in [site community profile] changelog2009-07-05 02:48 pm

[dw-free] Keep S2 layer editor window cursor in same place when compiling

[commit: http://hg.dwscoalition.org/dw-free/rev/49b1b53b9bea]

http://bugs.dwscoalition.org/show_bug.cgi?id=401

Codemerge.

Patch by [staff profile] denise.

Files modified:
  • bin/upgrading/en.dat
  • cgi-bin/LJ/S2.pm
  • htdocs/customize/advanced/layeredit.bml
  • htdocs/js/s2edit/s2edit.js
  • htdocs/js/s2edit/s2gui.js
  • htdocs/js/s2edit/xlib.js
  • htdocs/talkread.bml
--------------------------------------------------------------------------------
diff -r 2158dc707267 -r 49b1b53b9bea bin/upgrading/en.dat
--- a/bin/upgrading/en.dat	Sun Jul 05 14:16:27 2009 +0000
+++ b/bin/upgrading/en.dat	Sun Jul 05 14:46:47 2009 +0000
@@ -3493,6 +3493,8 @@ talk.readsimilar=Read similar journal en
 
 talk.replytothis=Reply to this
 
+talk.screened=Comment screened
+
 talk.somebodywrote=[[realname]] ([[userlink]]) wrote,
 
 talk.somebodywrote_comm=[[realname]] ([[userlink]]) wrote in [[commlink]],
diff -r 2158dc707267 -r 49b1b53b9bea cgi-bin/LJ/S2.pm
--- a/cgi-bin/LJ/S2.pm	Sun Jul 05 14:16:27 2009 +0000
+++ b/cgi-bin/LJ/S2.pm	Sun Jul 05 14:46:47 2009 +0000
@@ -3127,7 +3127,7 @@ sub _print_quickreply_link
     }
 
     $onclick = "" unless $page->{'_type'} eq 'EntryPage';
-    $onclick = "" unless LJ::is_enabled('s2quickreply');
+    $onclick = "" if $page->{'_u'}->{'opt_whocanreply'} eq 'friends' and $remote and not LJ::is_friend($page->{'_u'}, $remote);
 
     # See if we want to force them to change their password
     my $bp = LJ::bad_password_redirect({ 'returl' => 1 });
diff -r 2158dc707267 -r 49b1b53b9bea htdocs/customize/advanced/layeredit.bml
--- a/htdocs/customize/advanced/layeredit.bml	Sun Jul 05 14:16:27 2009 +0000
+++ b/htdocs/customize/advanced/layeredit.bml	Sun Jul 05 14:46:47 2009 +0000
@@ -146,18 +146,14 @@
 // -->
 </script>
 
+$includes
+
 <!--[if IE]>
 <style type="text/css">
     html {
         overflow: hidden;
     }
-</style>
-<![endif]-->
 
-$includes
-
-<!--[if IE]>
-<style type="text/css">
     div.reference {
         height: expression(xGetElementById('statusbar').offsetTop - (42 + 9 + 10) + "px");
     }
@@ -199,9 +195,9 @@
 
 </head>
 <body onMouseMove="s2processDrag(event)" onMouseUp="s2endDrag(event)">
-        <form method="post">
-        $formauth
-        <input type="hidden" name="action" value="compile" />
+    <form method="post" name="s2" action="" onsubmit="return s2submit()">
+    $formauth
+    <input type="hidden" name="action" value="compile" />
 
     <div class="header">
         <h1>$title</h1>
@@ -278,14 +274,9 @@
         <div class="gutter"> </div>
         <div id="status">Ready.</div>
     </div>
+    
+    </form>
 
-<script type="text/javascript">
-    if (navigator.userAgent.indexOf('Safari') > -1) {
-        xGetElementById('main').style.width = '100%';
-    }
-
-        s2init();
-</script>
 
 </body>
 </html>
diff -r 2158dc707267 -r 49b1b53b9bea htdocs/js/s2edit/s2edit.js
--- a/htdocs/js/s2edit/s2edit.js	Sun Jul 05 14:16:27 2009 +0000
+++ b/htdocs/js/s2edit/s2edit.js	Sun Jul 05 14:46:47 2009 +0000
@@ -28,3 +28,7 @@ function s2initIndex()
 {
 	s2index = new Object();
 }
+
+LiveJournal.register_hook('page_load', function () {
+  s2init();
+});
diff -r 2158dc707267 -r 49b1b53b9bea htdocs/js/s2edit/s2gui.js
--- a/htdocs/js/s2edit/s2gui.js	Sun Jul 05 14:16:27 2009 +0000
+++ b/htdocs/js/s2edit/s2gui.js	Sun Jul 05 14:46:47 2009 +0000
@@ -261,6 +261,16 @@ function s2buildReference()
 	s2buildClasses();
 	s2buildFunctions();
 	s2buildProperties();
+	
+	if (window.name)
+	{
+		setTimeout(function() {
+			var pos = window.name.split(':'), textarea = s2getCodeArea();
+			textarea.scrollTop = +pos[0] || 0;
+			nxpositionCursor(textarea, pos[1] || 0)
+			window.name = '';
+		}, 1)
+	}
 }
 
 // ---------------------------------------------------------------------------
@@ -449,3 +459,10 @@ function s2initDrag()
 		
 	return true;
 }
+
+function s2submit()
+{
+	// save position textarea, where reload page
+	var textarea = s2getCodeArea();
+	window.name = textarea.scrollTop + ':' + nxgetPositionCursor(textarea);
+}
diff -r 2158dc707267 -r 49b1b53b9bea htdocs/js/s2edit/xlib.js
--- a/htdocs/js/s2edit/xlib.js	Sun Jul 05 14:16:27 2009 +0000
+++ b/htdocs/js/s2edit/xlib.js	Sun Jul 05 14:46:47 2009 +0000
@@ -85,12 +85,28 @@ function nxpositionCursor(obj, pos)
 {
 	if (nxIE) {
 		var range = obj.createTextRange();
-		range.move('character', from);
+		range.collapse(true);
+		range.moveEnd('character', pos);
+		range.moveStart('character', pos);
 		range.select();		// TODO: test this
 	} else {
 		obj.selectionStart = obj.selectionEnd = pos;
 		obj.focus();
 	}
+}
+
+function nxgetPositionCursor(obj)
+{
+	if ('selectionStart' in obj) {
+		return obj.selectionStart;
+	}
+	if (document.selection && document.selection.createRange) {
+		obj.focus();
+		var range = document.selection.createRange();
+		return 0 - range.duplicate().moveStart('character', -100000);
+	}
+
+	return 0;
 }
 
 // Scrolls the object to the given line out of the given total number of lines.
diff -r 2158dc707267 -r 49b1b53b9bea htdocs/talkread.bml
--- a/htdocs/talkread.bml	Sun Jul 05 14:16:27 2009 +0000
+++ b/htdocs/talkread.bml	Sun Jul 05 14:46:47 2009 +0000
@@ -51,6 +51,7 @@ body<=
                expand          talk.expandlink
                replythis       talk.replytothis
                unscreentoreply talk.unscreentoreply
+               screened        talk.screened
                frozen          talk.frozen
                link            talk.commentpermlink
                deleted         .subjectdeleted
@@ -685,8 +686,12 @@ body<=
                         $ret .= "(<a href='$bp'>$T{'replythis'}</a>) ";
                     } else {
                        if ($post->{state} eq 'S') {
-                           # show unscreen to reply link id comment screened
-                           $ret .= "(<a href='$LJ::SITEROOT/talkscreen.bml?mode=unscreen&amp;${jargent}talkid=$dtid'>$T{'unscreentoreply'}</a>) ";
+                           if ( LJ::can_manage( $remote, $u ) ) {
+                               # show unscreen to reply link id comment screened
+                               $ret .= "(<a href='$LJ::SITEROOT/talkscreen.bml?mode=unscreen&amp;${jargent}talkid=$dtid'>$T{'unscreentoreply'}</a>) ";
+                           } else {
+                               $ret .= "($T{ 'screened' })";
+                           }
                        } else {
                            $ret .= "(" . LJ::make_qr_link($dtid, $post->{'subject'}, $T{'replythis'}, $replyurl) .  ") ";
                        }
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org