Tomboy.Note.HandleLinkRename C# (CSharp) Method

HandleLinkRename() private method

private HandleLinkRename ( string old_title, Note renamed, bool rename_links ) : void
old_title string
renamed Note
rename_links bool
return void
		private void HandleLinkRename (string old_title, Note renamed, bool rename_links)
		{
			// Check again, things may have changed
			if (!ContainsText (old_title))
				return;

			string old_title_lower = old_title.ToLower ();

			NoteTag link_tag = TagTable.LinkTag;

			// Replace existing links with the new title.
			TextTagEnumerator enumerator = new TextTagEnumerator (Buffer, link_tag);
			foreach (TextRange range in enumerator) {
				if (range.Text.ToLower () != old_title_lower)
					continue;

				if (!rename_links) {
					Logger.Debug ("Removing link tag from text '{0}'",
					              range.Text);
					Buffer.RemoveTag (link_tag, range.Start, range.End);
				} else {
					Logger.Debug ("Replacing '{0}' with '{1}'",
					              range.Text,
					              renamed.Title);
					Gtk.TextIter start_iter = range.Start;
					Gtk.TextIter end_iter = range.End;
					Buffer.Delete (ref start_iter, ref end_iter);
					start_iter = range.Start;
					Buffer.InsertWithTags (ref start_iter, renamed.Title, link_tag);
				}
			}
		}