Monday, November 08, 2010 at 12:05 AM.

system.verbs.builtins.radio.outliner.boldenBuddy

on boldenBuddy (url) {
	<<Changes
		<<8/29/02; 8:25:23 PM by JES
			<<Call the subscriptionChanged callbacks here instead of in radio.outliner.poll, which isn't used anymore.
		<<3/25/02; 10:59:13 PM by JES
			<<If the pref is set, beep the speaker when boldening the buddy.
	local (adrdata = radio.outliner.init ()); //set up user.radio.outliner
	local (adrsub = @adrdata^.subscriptions.[url]);
	bundle { //call callbacks
		local (adr);
		for adr in @adrdata^.callbacks.subscriptionChanged {
			try {
				while typeOf (adr^) == addressType {
					adr = adr^};
				adr^ (adrsub)}}};
	local (adroutline = @adrdata^.buddies);
	local (oldtarget = target.set (adroutline));
	local (origcursor = op.getcursor (), origdisplay = op.getdisplay ());
	op.setdisplay (false);
	op.firstsummit ();
	loop {
		op.attributes.getall (@atts);
		if defined (atts.type) {
			if atts.type == radio.outliner.data.myNodeTypeName {
				if atts.url == url { //found the user
					if not atts.bold {
						op.setlinetext ("<b>" + adrsub^.author + "</b>");
						atts.bold = true;
						op.attributes.addgroup (@atts);
						if adrdata^.prefs.flPlaySounds { //3/25/02 by JES: beep
							speaker.beep ()}};
					break}}};
		if not op.go (down, 1) {
			break}};
	op.setcursor (origcursor);
	op.setdisplay (origdisplay);
	target.set (oldtarget)};
bundle { //test code
	boldenBuddy ("http://radio.weblogs.com/0001015/instantOutliner/daveWiner.opml")}



This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.