示例#1
0
		/// <summary>
		/// Remove the task from the line specified by the TextIter.  This
		/// will remove the TextTag and also the "todo:" portion of the line
		/// so it will no longer be a task.  The task summary text will be
		/// left on the line.
		/// <param name="iter">The TextIter specifying the line where the
		/// task should be removed.</param>
		/// <returns>True if a task was removed, otherwise False.</returns>
		/// </summary>
		bool RemoveTaskFromLine (ref Gtk.TextIter iter)
		{
			if (RemoveTaskTagFromLine (iter) == false)
				return false;

			while (iter.StartsLine () == false) {
				iter.BackwardChar ();
			}

			Gtk.TextIter line_end = iter;
			while (line_end.EndsLine () == false) {
				line_end.ForwardChar ();
			}
//   line_end.ForwardToLineEnd ();

			string text = iter.GetText (line_end);

			Buffer.Delete (ref iter, ref line_end);

			text = GetTaskSummaryFromLine (text);
			if (text.Length > 0)
				Buffer.Insert (ref iter, text);
			return true;
		}
示例#2
0
		TaskTag GetTaskTagFromLineIter (ref Gtk.TextIter line_iter)
		{
			TaskTag task_tag = null;

			while (line_iter.StartsLine () == false) {
				line_iter.BackwardChar ();
			}

			task_tag = (TaskTag) Buffer.GetDynamicTag ("task", line_iter);

			return task_tag;
		}