[Adium-commits] xtras/mathuaerknedam 13:d0dc818e010f: Converting yMous to use th...

adium-commits at adiumx.com adium-commits at adiumx.com
Wed Apr 29 13:44:26 UTC 2009


details:	http://hg.adiumx.com/xtras/mathuaerknedam/rev/d0dc818e010f
revision:	13:d0dc818e010f
author:		mathuaerknedam
date:		Wed Apr 29 08:43:58 2009 -0500

Converting yMous to use the all-by-sender javascript in footer.html that David wrote for SO3. Unfortunately, now it activates on hover over the whole message rahter than only over sender. I can't figure out how to fix this.

diffstat:

 yMous.AdiumMessageStyle/Contents/Resources/Footer.html           |  36 +++++++++++-
 yMous.AdiumMessageStyle/Contents/Resources/Incoming/Content.html |   2 +-
 yMous.AdiumMessageStyle/Contents/Resources/Status.html           |   2 +-
 3 files changed, 37 insertions(+), 3 deletions(-)

diffs (62 lines):

diff -r 49790d8eb14a -r d0dc818e010f yMous.AdiumMessageStyle/Contents/Resources/Footer.html
--- a/yMous.AdiumMessageStyle/Contents/Resources/Footer.html	Thu Apr 23 13:08:04 2009 -0700
+++ b/yMous.AdiumMessageStyle/Contents/Resources/Footer.html	Wed Apr 29 08:43:58 2009 -0500
@@ -1,1 +1,35 @@
-<script src="./alignchat-.js" type="text/javascript" charset="utf-8"></script>
+<script type="text/javascript">
+var highlightActive = false;
+function selectSender() {
+	highlightActive = true;
+	var node = event.target;
+	var senderName = null;
+	while (!senderName) {
+		var nodeClass = node.className;
+		if (nodeClass.indexOf("message") >= 0 && nodeClass.indexOf("xxxmessage") == -1) {
+			var parts = nodeClass.split(" ");
+			senderName = parts[parts.length - 1];
+		}
+		node = node.parentElement;
+	}
+	var elms = document.getElementsByClassName(senderName);
+	var len = elms.length;
+	for(var i = 0; i < len; i++) { 
+		elms[i].className += ' xxxhover';
+	} 
+}
+function deselectAll() {
+	if (!highlightActive)
+		return;
+	var elms = document.querySelectorAll(".xxxhover");
+	var len = elms.length;
+	var elm = null;
+	for(var i = 0; i < len; i++) { 
+		elm = elms[i];
+		elm.className = elm.className.replace(' xxxhover', ''); 
+	}
+	highlightActive = false;
+}
+document.body.addEventListener("mouseover", selectSender, false);
+document.body.addEventListener("mouseout", deselectAll, false);
+</script>
diff -r 49790d8eb14a -r d0dc818e010f yMous.AdiumMessageStyle/Contents/Resources/Incoming/Content.html
--- a/yMous.AdiumMessageStyle/Contents/Resources/Incoming/Content.html	Thu Apr 23 13:08:04 2009 -0700
+++ b/yMous.AdiumMessageStyle/Contents/Resources/Incoming/Content.html	Wed Apr 29 08:43:58 2009 -0500
@@ -1,6 +1,6 @@
 <div class="xxxwrapper %messageClasses% %senderScreenName%">
 	<span class="xxxicon"><img class="xxxiconsmall" onMouseDown="this.className='xxxiconlarge'" onMouseUp="this.className='xxxiconsmall'" src="%userIconPath%" /></span>
-	<span class="xxxsender" OnMouseOver="var elms = document.getElementsByClassName('%senderScreenName%'); for(var i = 0; i < elms.length; i++) { elms[i].className += ' xxxhover'; }" OnMouseOut="var elms = document.getElementsByClassName('%senderScreenName%'); for(var i = 0; i < elms.length; i++) { elms[i].className = elms[i].className.replace(' xxxhover', ''); }">%sender%</span>
+	<span class="xxxsender">%sender%</span>
 	<span class="xxxmark" style="background-color: %senderColor%; color: %senderColor%">‣</span>
 	<span class="xxxmessage" title="%service% · %senderScreenName% · %time%">%message%</span>
 	<span class="xxxtime">%time%</span>
diff -r 49790d8eb14a -r d0dc818e010f yMous.AdiumMessageStyle/Contents/Resources/Status.html
--- a/yMous.AdiumMessageStyle/Contents/Resources/Status.html	Thu Apr 23 13:08:04 2009 -0700
+++ b/yMous.AdiumMessageStyle/Contents/Resources/Status.html	Wed Apr 29 08:43:58 2009 -0500
@@ -1,6 +1,6 @@
 <div class="xxxwrapper %messageClasses%">
 	<span class="xxxicon"><img class="xxxiconsmall" onMouseDown="this.className='xxxiconlarge'" onMouseUp="this.className='xxxiconsmall'" src="%userIconPath%" /></span>
-	<span class="xxxsender" OnMouseOver="this.className += ' xxxhover'" OnMouseOut="this.className = this.className.replace(' xxxhover', '')"><!></span>
+	<span class="xxxsender"><!></span>
 	<span class="xxxmark">‣</span>
 	<span class="xxxmessage" title="%status% · %time%">%message%</span>
 	<span class="xxxtime">%time%</span>




More information about the commits mailing list