[tasque/transition: 185/213] [RTM] Formatting only
- From: Antonius Riha <antoniusri src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tasque/transition: 185/213] [RTM] Formatting only
- Date: Wed, 29 Aug 2012 18:49:34 +0000 (UTC)
commit 95903ef76373b0d528782b70c1249e49de0d5ec7
Author: Antonius Riha <antoniusriha gmail com>
Date: Sun Aug 19 00:42:29 2012 +0200
[RTM] Formatting only
src/Addins/RtmBackend/Gtk/RtmPreferencesWidget.cs | 75 ++--
src/Addins/RtmBackend/RtmBackend.cs | 540 +++++++++++----------
src/Addins/RtmBackend/RtmCategory.cs | 35 +-
src/Addins/RtmBackend/RtmNote.cs | 13 +-
src/Addins/RtmBackend/RtmTask.cs | 166 +++----
5 files changed, 412 insertions(+), 417 deletions(-)
---
diff --git a/src/Addins/RtmBackend/Gtk/RtmPreferencesWidget.cs b/src/Addins/RtmBackend/Gtk/RtmPreferencesWidget.cs
index 60063a7..d2c1507 100644
--- a/src/Addins/RtmBackend/Gtk/RtmPreferencesWidget.cs
+++ b/src/Addins/RtmBackend/Gtk/RtmPreferencesWidget.cs
@@ -1,6 +1,5 @@
// RtmPreferencesWidget.cs created with MonoDevelop
-// User: boyd at 11:29 PMÂ2/18/2008
-
+// User: boyd at 11:29 PM 2/18/2008
using System;
using System.Diagnostics;
using Mono.Unix;
@@ -10,13 +9,11 @@ namespace Tasque.Backends.RtmBackend.Gtk
{
public class RtmPreferencesWidget : EventBox
{
- private LinkButton authButton;
-
+ private LinkButton authButton;
private Label statusLabel;
private Image image;
private bool authRequested;
private bool isAuthorized;
-
private static Gdk.Pixbuf normalPixbuf;
static RtmPreferencesWidget ()
@@ -33,33 +30,33 @@ namespace Tasque.Backends.RtmBackend.Gtk
// We're using an event box so we can paint the background white
EventBox imageEb = new EventBox ();
imageEb.BorderWidth = 0;
- imageEb.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));
- imageEb.ModifyBase(StateType.Normal, new Gdk.Color(255,255,255));
+ imageEb.ModifyBg (StateType.Normal, new Gdk.Color (255, 255, 255));
+ imageEb.ModifyBase (StateType.Normal, new Gdk.Color (255, 255, 255));
imageEb.Show ();
- VBox mainVBox = new VBox(false, 0);
+ VBox mainVBox = new VBox (false, 0);
mainVBox.BorderWidth = 10;
- mainVBox.Show();
- Add(mainVBox);
+ mainVBox.Show ();
+ Add (mainVBox);
// Add the rtm logo
image = new Image (normalPixbuf);
- image.Show();
+ image.Show ();
//make the dialog box look pretty without hard coding total size and
//therefore clipping displays with large fonts.
- Alignment spacer = new Alignment((float)0.5, 0, 0, 0);
- spacer.SetPadding(0, 0, 125, 125);
- spacer.Add(image);
- spacer.Show();
+ Alignment spacer = new Alignment ((float)0.5, 0, 0, 0);
+ spacer.SetPadding (0, 0, 125, 125);
+ spacer.Add (image);
+ spacer.Show ();
imageEb.Add (spacer);
- mainVBox.PackStart(imageEb, true, true, 0);
+ mainVBox.PackStart (imageEb, true, true, 0);
// Status message label
- statusLabel = new Label();
+ statusLabel = new Label ();
statusLabel.Justify = Justification.Center;
statusLabel.Wrap = true;
statusLabel.LineWrap = true;
- statusLabel.Show();
+ statusLabel.Show ();
statusLabel.UseMarkup = true;
statusLabel.UseUnderline = false;
@@ -67,35 +64,35 @@ namespace Tasque.Backends.RtmBackend.Gtk
authButton.Clicked += OnAuthButtonClicked;
- if ( isAuthorized ) {
+ if (isAuthorized) {
statusLabel.Text = "\n\n" +
Catalog.GetString ("You are currently connected");
string userName = Application.Preferences.Get (Preferences.UserNameKey);
if (userName != null && userName.Trim () != string.Empty)
statusLabel.Text = "\n\n" +
Catalog.GetString ("You are currently connected as") +
- "\n" + userName.Trim();
+ "\n" + userName.Trim ();
} else {
statusLabel.Text = "\n\n" +
Catalog.GetString ("You are not connected");
- authButton.Show();
+ authButton.Show ();
}
- mainVBox.PackStart(statusLabel, false, false, 0);
- mainVBox.PackStart(authButton, false, false, 0);
+ mainVBox.PackStart (statusLabel, false, false, 0);
+ mainVBox.PackStart (authButton, false, false, 0);
- Label blankLabel = new Label("\n");
- blankLabel.Show();
- mainVBox.PackStart(blankLabel, false, false, 0);
+ Label blankLabel = new Label ("\n");
+ blankLabel.Show ();
+ mainVBox.PackStart (blankLabel, false, false, 0);
}
private void LoadPreferences ()
{
- string authToken = Tasque.Application.Preferences.Get(Preferences.AuthTokenKey);
- if (authToken == null || authToken.Trim() == "") {
- Debug.WriteLine("Rtm: Not authorized");
+ string authToken = Tasque.Application.Preferences.Get (Preferences.AuthTokenKey);
+ if (authToken == null || authToken.Trim () == "") {
+ Debug.WriteLine ("Rtm: Not authorized");
isAuthorized = false;
} else {
- Debug.WriteLine("Rtm: Authorized");
+ Debug.WriteLine ("Rtm: Authorized");
isAuthorized = true;
}
}
@@ -107,30 +104,30 @@ namespace Tasque.Backends.RtmBackend.Gtk
if (!isAuthorized && !authRequested) {
string url = string.Empty;
try {
- url = rtmBackend.GetAuthUrl();
+ url = rtmBackend.GetAuthUrl ();
} catch (Exception) {
Debug.WriteLine ("Failed to get auth URL from Remember the Milk. Try again later.");
authButton.Label = Catalog.GetString ("Remember the Milk not responding. Try again later.");
return;
}
- Debug.WriteLine("Launching browser to authorize with Remember the Milk");
+ Debug.WriteLine ("Launching browser to authorize with Remember the Milk");
try {
Application.Instance.OpenUrlInBrowser (url);
authRequested = true;
authButton.Label = Catalog.GetString ("Click Here After Authorizing");
} catch (Exception ex) {
- Trace.TraceError ("Exception opening URL: {0}",ex.Message);
+ Trace.TraceError ("Exception opening URL: {0}", ex.Message);
authButton.Label = Catalog.GetString ("Set the default browser and try again");
}
} else if (!isAuthorized && authRequested) {
authButton.Label = Catalog.GetString ("Processing...");
try {
- rtmBackend.FinishedAuth();
- Debug.WriteLine("Successfully authorized with Remember the Milk");
+ rtmBackend.FinishedAuth ();
+ Debug.WriteLine ("Successfully authorized with Remember the Milk");
isAuthorized = true;
authRequested = false;
} catch (RtmNet.RtmApiException) {
- Debug.WriteLine("Failed to authorize with Remember the Milk");
+ Debug.WriteLine ("Failed to authorize with Remember the Milk");
isAuthorized = false;
authRequested = true;
authButton.Label = Catalog.GetString ("Failed, Try Again");
@@ -142,11 +139,11 @@ namespace Tasque.Backends.RtmBackend.Gtk
statusLabel.Text = "\n\n" +
Catalog.GetString ("You are currently connected");
string userName =
- Application.Preferences.Get(Preferences.UserNameKey);
- if (userName != null && userName.Trim() != string.Empty)
+ Application.Preferences.Get (Preferences.UserNameKey);
+ if (userName != null && userName.Trim () != string.Empty)
statusLabel.Text = "\n\n" +
Catalog.GetString ("You are currently connected as") +
- "\n" + userName.Trim();
+ "\n" + userName.Trim ();
}
}
}
diff --git a/src/Addins/RtmBackend/RtmBackend.cs b/src/Addins/RtmBackend/RtmBackend.cs
index ff644f2..ca14e45 100644
--- a/src/Addins/RtmBackend/RtmBackend.cs
+++ b/src/Addins/RtmBackend/RtmBackend.cs
@@ -1,9 +1,8 @@
// RtmBackend.cs created with MonoDevelop
-// User: boyd at 7:10 AMÂ2/11/2008
+// User: boyd at 7:10 AM 2/11/2008
//
// To change standard headers go to Edit->Preferences->Coding->Standard Headers
//
-
using System;
using Mono.Unix;
using RtmNet;
@@ -19,27 +18,23 @@ namespace Tasque.Backends.RtmBackend
{
private const string apiKey = "b29f7517b6584035d07df3170b80c430";
private const string sharedSecret = "93eb5f83628b2066";
-
private Thread refreshThread;
private bool runningRefreshThread;
private AutoResetEvent runRefreshEvent;
-
private Rtm rtm;
private string frob;
private Auth rtmAuth;
private string timeline;
-
private object taskLock;
-
private Dictionary<string, RtmCategory> categories;
private object catLock;
public RtmBackend () : base ("Remember the Milk")
{
- taskLock = new Object();
+ taskLock = new Object ();
categories = new Dictionary<string, RtmCategory> ();
- catLock = new Object();
+ catLock = new Object ();
// *************************************
// Data Model Set up
@@ -48,13 +43,12 @@ namespace Tasque.Backends.RtmBackend
runRefreshEvent = new AutoResetEvent (false);
runningRefreshThread = false;
- refreshThread = new Thread(RefreshThreadLoop);
+ refreshThread = new Thread (RefreshThreadLoop);
}
- public string RtmUserName
- {
+ public string RtmUserName {
get {
- if( (rtmAuth != null) && (rtmAuth.User != null) ) {
+ if ((rtmAuth != null) && (rtmAuth.User != null)) {
return rtmAuth.User.Username;
} else
return null;
@@ -67,84 +61,87 @@ namespace Tasque.Backends.RtmBackend
string categoryID;
RtmTask rtmTask = null;
- if(category is Tasque.AllCategory)
+ if (category is Tasque.AllCategory)
categoryID = null;
else
categoryID = (category as RtmCategory).ID;
- if(rtm != null) {
+ if (rtm != null) {
try {
List list;
- if(categoryID == null)
- list = rtm.TasksAdd(timeline, taskName);
+ if (categoryID == null)
+ list = rtm.TasksAdd (timeline, taskName);
else
- list = rtm.TasksAdd(timeline, taskName, categoryID);
+ list = rtm.TasksAdd (timeline, taskName, categoryID);
- rtmTask = UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set create task: " + taskName);
- Debug.WriteLine(e.ToString());
+ rtmTask = UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set create task: " + taskName);
+ Debug.WriteLine (e.ToString ());
}
- }
- else
- throw new Exception("Unable to communicate with Remember The Milk");
+ } else
+ throw new Exception ("Unable to communicate with Remember The Milk");
return rtmTask;
}
- public void DeleteTask(Task task)
+ public void DeleteTask (Task task)
{
RtmTask rtmTask = task as RtmTask;
- if(rtm != null) {
+ if (rtm != null) {
try {
- rtm.TasksDelete(timeline, rtmTask.ListID, rtmTask.SeriesTaskID, rtmTask.TaskTaskID);
-
- lock(taskLock)
- {
- Gtk.Application.Invoke ( delegate {
- if(taskIters.ContainsKey(rtmTask.ID)) {
- Gtk.TreeIter iter = taskIters[rtmTask.ID];
- Tasks.Remove(ref iter);
- taskIters.Remove(rtmTask.ID);
+ rtm.TasksDelete (
+ timeline,
+ rtmTask.ListID,
+ rtmTask.SeriesTaskID,
+ rtmTask.TaskTaskID
+ );
+
+ lock (taskLock) {
+ Gtk.Application.Invoke (delegate {
+ if (taskIters.ContainsKey (rtmTask.ID)) {
+ Gtk.TreeIter iter = taskIters [rtmTask.ID];
+ Tasks.Remove (ref iter);
+ taskIters.Remove (rtmTask.ID);
}
- });
+ }
+ );
}
- } catch(Exception e) {
- Debug.WriteLine("Unable to delete task: " + task.Name);
- Debug.WriteLine(e.ToString());
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to delete task: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
- }
- else
- throw new Exception("Unable to communicate with Remember The Milk");
+ } else
+ throw new Exception ("Unable to communicate with Remember The Milk");
}
- public void Refresh()
+ public void Refresh ()
{
- Debug.WriteLine("Refreshing data...");
+ Debug.WriteLine ("Refreshing data...");
if (!runningRefreshThread)
- StartThread();
+ StartThread ();
- runRefreshEvent.Set();
+ runRefreshEvent.Set ();
- Debug.WriteLine("Done refreshing data!");
+ Debug.WriteLine ("Done refreshing data!");
}
- public void Initialize()
+ public void Initialize ()
{
// *************************************
// AUTHENTICATION to Remember The Milk
// *************************************
string authToken = Application.Preferences.Get (Tasque.Preferences.AuthTokenKey);
- if (authToken != null ) {
- Debug.WriteLine("Found AuthToken, checking credentials...");
+ if (authToken != null) {
+ Debug.WriteLine ("Found AuthToken, checking credentials...");
try {
- rtm = new Rtm(apiKey, sharedSecret, authToken);
- rtmAuth = rtm.AuthCheckToken(authToken);
- timeline = rtm.TimelineCreate();
- Debug.WriteLine("RTM Auth Token is valid!");
- Debug.WriteLine("Setting configured status to true");
+ rtm = new Rtm (apiKey, sharedSecret, authToken);
+ rtmAuth = rtm.AuthCheckToken (authToken);
+ timeline = rtm.TimelineCreate ();
+ Debug.WriteLine ("RTM Auth Token is valid!");
+ Debug.WriteLine ("Setting configured status to true");
configured = true;
} catch (RtmNet.RtmApiException e) {
@@ -153,49 +150,47 @@ namespace Tasque.Backends.RtmBackend
Application.Preferences.Set (Preferences.UserNameKey, null);
rtm = null;
rtmAuth = null;
- Trace.TraceError("Exception authenticating, reverting" + e.Message);
- }
- catch (RtmNet.RtmWebException e) {
+ Trace.TraceError ("Exception authenticating, reverting" + e.Message);
+ } catch (RtmNet.RtmWebException e) {
rtm = null;
rtmAuth = null;
- Trace.TraceError("Not connected to RTM, maybe proxy: #{0}", e.Message);
- }
- catch (System.Net.WebException e) {
+ Trace.TraceError ("Not connected to RTM, maybe proxy: #{0}", e.Message);
+ } catch (System.Net.WebException e) {
rtm = null;
rtmAuth = null;
- Trace.TraceError("Problem connecting to internet: #{0}", e.Message);
+ Trace.TraceError ("Problem connecting to internet: #{0}", e.Message);
}
}
- if(rtm == null)
- rtm = new Rtm(apiKey, sharedSecret);
+ if (rtm == null)
+ rtm = new Rtm (apiKey, sharedSecret);
- StartThread();
+ StartThread ();
}
- public void StartThread()
+ public void StartThread ()
{
if (!configured) {
- Debug.WriteLine("Backend not configured, not starting thread");
+ Debug.WriteLine ("Backend not configured, not starting thread");
return;
}
runningRefreshThread = true;
- Debug.WriteLine("ThreadState: " + refreshThread.ThreadState);
+ Debug.WriteLine ("ThreadState: " + refreshThread.ThreadState);
if (refreshThread.ThreadState == ThreadState.Running) {
Debug.WriteLine ("RtmBackend refreshThread already running");
} else {
if (!refreshThread.IsAlive) {
- refreshThread = new Thread(RefreshThreadLoop);
+ refreshThread = new Thread (RefreshThreadLoop);
}
- refreshThread.Start();
+ refreshThread.Start ();
}
- runRefreshEvent.Set();
+ runRefreshEvent.Set ();
}
- public void Cleanup()
+ public void Cleanup ()
{
runningRefreshThread = false;
- runRefreshEvent.Set();
+ runRefreshEvent.Set ();
refreshThread.Abort ();
}
@@ -204,16 +199,16 @@ namespace Tasque.Backends.RtmBackend
return new RtmPreferencesWidget ();
}
- public string GetAuthUrl()
+ public string GetAuthUrl ()
{
- frob = rtm.AuthGetFrob();
- string url = rtm.AuthCalcUrl(frob, AuthLevel.Delete);
+ frob = rtm.AuthGetFrob ();
+ string url = rtm.AuthCalcUrl (frob, AuthLevel.Delete);
return url;
}
- public void FinishedAuth()
+ public void FinishedAuth ()
{
- rtmAuth = rtm.AuthGetToken(frob);
+ rtmAuth = rtm.AuthGetToken (frob);
if (rtmAuth != null) {
Preferences prefs = Application.Preferences;
prefs.Set (Preferences.AuthTokenKey, rtmAuth.Token);
@@ -225,170 +220,205 @@ namespace Tasque.Backends.RtmBackend
string authToken =
Application.Preferences.Get (Preferences.AuthTokenKey);
- if (authToken != null ) {
- Debug.WriteLine("Found AuthToken, checking credentials...");
+ if (authToken != null) {
+ Debug.WriteLine ("Found AuthToken, checking credentials...");
try {
- rtm = new Rtm(apiKey, sharedSecret, authToken);
- rtmAuth = rtm.AuthCheckToken(authToken);
- timeline = rtm.TimelineCreate();
- Debug.WriteLine("RTM Auth Token is valid!");
- Debug.WriteLine("Setting configured status to true");
+ rtm = new Rtm (apiKey, sharedSecret, authToken);
+ rtmAuth = rtm.AuthCheckToken (authToken);
+ timeline = rtm.TimelineCreate ();
+ Debug.WriteLine ("RTM Auth Token is valid!");
+ Debug.WriteLine ("Setting configured status to true");
configured = true;
- Refresh();
+ Refresh ();
} catch (Exception e) {
rtm = null;
rtmAuth = null;
- Trace.TraceError("Exception authenticating, reverting" + e.Message);
+ Trace.TraceError ("Exception authenticating, reverting" + e.Message);
}
}
}
- public void UpdateTaskName(RtmTask task)
+ public void UpdateTaskName (RtmTask task)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
- List list = rtm.TasksSetName(timeline, task.ListID, task.SeriesTaskID, task.TaskTaskID, task.Name);
- UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set name on task: " + task.Name);
- Debug.WriteLine(e.ToString());
+ List list = rtm.TasksSetName (
+ timeline,
+ task.ListID,
+ task.SeriesTaskID,
+ task.TaskTaskID,
+ task.Name
+ );
+ UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set name on task: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
}
}
- public void UpdateTaskDueDate(RtmTask task)
+ public void UpdateTaskDueDate (RtmTask task)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
List list;
- if(task.DueDate == DateTime.MinValue)
- list = rtm.TasksSetDueDate(timeline, task.ListID, task.SeriesTaskID, task.TaskTaskID);
+ if (task.DueDate == DateTime.MinValue)
+ list = rtm.TasksSetDueDate (
+ timeline,
+ task.ListID,
+ task.SeriesTaskID,
+ task.TaskTaskID
+ );
else
- list = rtm.TasksSetDueDate(timeline, task.ListID, task.SeriesTaskID, task.TaskTaskID, task.DueDateString);
- UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set due date on task: " + task.Name);
- Debug.WriteLine(e.ToString());
+ list = rtm.TasksSetDueDate (
+ timeline,
+ task.ListID,
+ task.SeriesTaskID,
+ task.TaskTaskID,
+ task.DueDateString
+ );
+ UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set due date on task: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
}
}
- public void UpdateTaskCompleteDate(RtmTask task)
+ public void UpdateTaskCompleteDate (RtmTask task)
{
- UpdateTask(task);
+ UpdateTask (task);
}
- public void UpdateTaskPriority(RtmTask task)
+ public void UpdateTaskPriority (RtmTask task)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
- List list = rtm.TasksSetPriority(timeline, task.ListID, task.SeriesTaskID, task.TaskTaskID, task.PriorityString);
- UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set priority on task: " + task.Name);
- Debug.WriteLine(e.ToString());
+ List list = rtm.TasksSetPriority (
+ timeline,
+ task.ListID,
+ task.SeriesTaskID,
+ task.TaskTaskID,
+ task.PriorityString
+ );
+ UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set priority on task: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
}
}
- public void UpdateTaskActive(RtmTask task)
+ public void UpdateTaskActive (RtmTask task)
{
- if(task.State == TaskState.Completed)
- {
- if(rtm != null) {
+ if (task.State == TaskState.Completed) {
+ if (rtm != null) {
try {
- List list = rtm.TasksUncomplete(timeline, task.ListID, task.SeriesTaskID, task.TaskTaskID);
- UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set Task as completed: " + task.Name);
- Debug.WriteLine(e.ToString());
+ List list = rtm.TasksUncomplete (
+ timeline,
+ task.ListID,
+ task.SeriesTaskID,
+ task.TaskTaskID
+ );
+ UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set Task as completed: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
}
- }
- else
- UpdateTask(task);
+ } else
+ UpdateTask (task);
}
- public void UpdateTaskInactive(RtmTask task)
+ public void UpdateTaskInactive (RtmTask task)
{
- UpdateTask(task);
- }
+ UpdateTask (task);
+ }
- public void UpdateTaskCompleted(RtmTask task)
+ public void UpdateTaskCompleted (RtmTask task)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
- List list = rtm.TasksComplete(timeline, task.ListID, task.SeriesTaskID, task.TaskTaskID);
- UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set Task as completed: " + task.Name);
- Debug.WriteLine(e.ToString());
+ List list = rtm.TasksComplete (
+ timeline,
+ task.ListID,
+ task.SeriesTaskID,
+ task.TaskTaskID
+ );
+ UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set Task as completed: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
}
- }
+ }
- public void UpdateTaskDeleted(RtmTask task)
+ public void UpdateTaskDeleted (RtmTask task)
{
- UpdateTask(task);
+ UpdateTask (task);
}
-
- public void MoveTaskCategory(RtmTask task, string id)
+ public void MoveTaskCategory (RtmTask task, string id)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
- List list = rtm.TasksMoveTo(timeline, task.ListID, id, task.SeriesTaskID, task.TaskTaskID);
- UpdateTaskFromResult(list);
- } catch(Exception e) {
- Debug.WriteLine("Unable to set Task as completed: " + task.Name);
- Debug.WriteLine(e.ToString());
+ List list = rtm.TasksMoveTo (
+ timeline,
+ task.ListID,
+ id,
+ task.SeriesTaskID,
+ task.TaskTaskID
+ );
+ UpdateTaskFromResult (list);
+ } catch (Exception e) {
+ Debug.WriteLine ("Unable to set Task as completed: " + task.Name);
+ Debug.WriteLine (e.ToString ());
}
}
}
-
- public void UpdateTask(RtmTask task)
+ public void UpdateTask (RtmTask task)
{
- lock(taskLock)
- {
+ lock (taskLock) {
Gtk.TreeIter iter;
- Gtk.Application.Invoke ( delegate {
- if(taskIters.ContainsKey(task.ID)) {
- iter = taskIters[task.ID];
+ Gtk.Application.Invoke (delegate {
+ if (taskIters.ContainsKey (task.ID)) {
+ iter = taskIters [task.ID];
Tasks.SetValue (iter, 0, task);
}
- });
+ }
+ );
}
}
- public RtmTask UpdateTaskFromResult(List list)
+ public RtmTask UpdateTaskFromResult (List list)
{
- TaskSeries ts = list.TaskSeriesCollection[0];
- if(ts != null) {
- RtmTask rtmTask = new RtmTask(ts, this, list.ID);
- lock(taskLock)
- {
- Gtk.Application.Invoke ( delegate {
- if(taskIters.ContainsKey(rtmTask.ID)) {
- Gtk.TreeIter iter = taskIters[rtmTask.ID];
+ TaskSeries ts = list.TaskSeriesCollection [0];
+ if (ts != null) {
+ RtmTask rtmTask = new RtmTask (ts, this, list.ID);
+ lock (taskLock) {
+ Gtk.Application.Invoke (delegate {
+ if (taskIters.ContainsKey (rtmTask.ID)) {
+ Gtk.TreeIter iter = taskIters [rtmTask.ID];
Tasks.SetValue (iter, 0, rtmTask);
} else {
- Gtk.TreeIter iter = Tasks.AppendNode();
- taskIters.Add(rtmTask.ID, iter);
+ Gtk.TreeIter iter = Tasks.AppendNode ();
+ taskIters.Add (rtmTask.ID, iter);
Tasks.SetValue (iter, 0, rtmTask);
}
- });
+ }
+ );
}
return rtmTask;
}
return null;
}
- public RtmCategory GetCategory(string id)
+ public RtmCategory GetCategory (string id)
{
- if(categories.ContainsKey(id))
- return categories[id];
+ if (categories.ContainsKey (id))
+ return categories [id];
else
return null;
}
@@ -398,48 +428,51 @@ namespace Tasque.Backends.RtmBackend
RtmNet.Note note = null;
RtmNote rtmNote = null;
- if(rtm != null) {
+ if (rtm != null) {
try {
- note = rtm.NotesAdd(timeline, rtmTask.ListID, rtmTask.SeriesTaskID, rtmTask.TaskTaskID, String.Empty, text);
- rtmNote = new RtmNote(note);
- } catch(Exception e) {
- Debug.WriteLine("RtmBackend.CreateNote: Unable to create a new note");
- Debug.WriteLine(e.ToString());
+ note = rtm.NotesAdd (
+ timeline,
+ rtmTask.ListID,
+ rtmTask.SeriesTaskID,
+ rtmTask.TaskTaskID,
+ String.Empty,
+ text
+ );
+ rtmNote = new RtmNote (note);
+ } catch (Exception e) {
+ Debug.WriteLine ("RtmBackend.CreateNote: Unable to create a new note");
+ Debug.WriteLine (e.ToString ());
}
- }
- else
- throw new Exception("Unable to communicate with Remember The Milk");
+ } else
+ throw new Exception ("Unable to communicate with Remember The Milk");
return rtmNote;
}
-
public void DeleteNote (RtmTask rtmTask, RtmNote note)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
- rtm.NotesDelete(timeline, note.ID);
- } catch(Exception e) {
- Debug.WriteLine("RtmBackend.DeleteNote: Unable to delete note");
- Debug.WriteLine(e.ToString());
+ rtm.NotesDelete (timeline, note.ID);
+ } catch (Exception e) {
+ Debug.WriteLine ("RtmBackend.DeleteNote: Unable to delete note");
+ Debug.WriteLine (e.ToString ());
}
- }
- else
- throw new Exception("Unable to communicate with Remember The Milk");
+ } else
+ throw new Exception ("Unable to communicate with Remember The Milk");
}
public void SaveNote (RtmTask rtmTask, RtmNote note)
{
- if(rtm != null) {
+ if (rtm != null) {
try {
- rtm.NotesEdit(timeline, note.ID, String.Empty, note.Text);
- } catch(Exception e) {
- Debug.WriteLine("RtmBackend.SaveNote: Unable to save note");
- Debug.WriteLine(e.ToString());
+ rtm.NotesEdit (timeline, note.ID, String.Empty, note.Text);
+ } catch (Exception e) {
+ Debug.WriteLine ("RtmBackend.SaveNote: Unable to save note");
+ Debug.WriteLine (e.ToString ());
}
- }
- else
- throw new Exception("Unable to communicate with Remember The Milk");
+ } else
+ throw new Exception ("Unable to communicate with Remember The Milk");
}
#endregion // Public Methods
@@ -450,131 +483,128 @@ namespace Tasque.Backends.RtmBackend
/// Update the model to match what is in RTM
/// FIXME: This is a lame implementation and needs to be optimized
/// </summary>
- private void UpdateCategories(Lists lists)
+ private void UpdateCategories (Lists lists)
{
- Debug.WriteLine("RtmBackend.UpdateCategories was called");
+ Debug.WriteLine ("RtmBackend.UpdateCategories was called");
try {
- foreach(List list in lists.listCollection)
- {
- RtmCategory rtmCategory = new RtmCategory(list);
+ foreach (List list in lists.listCollection) {
+ RtmCategory rtmCategory = new RtmCategory (list);
- lock(catLock)
- {
+ lock (catLock) {
Gtk.TreeIter iter;
- Gtk.Application.Invoke ( delegate {
+ Gtk.Application.Invoke (delegate {
- if(categories.ContainsKey(rtmCategory.ID)) {
- iter = categories[rtmCategory.ID].Iter;
+ if (categories.ContainsKey (rtmCategory.ID)) {
+ iter = categories [rtmCategory.ID].Iter;
categoryListStore.SetValue (iter, 0, rtmCategory);
} else {
- iter = categoryListStore.Append();
+ iter = categoryListStore.Append ();
categoryListStore.SetValue (iter, 0, rtmCategory);
rtmCategory.Iter = iter;
- categories.Add(rtmCategory.ID, rtmCategory);
+ categories.Add (rtmCategory.ID, rtmCategory);
}
- });
+ }
+ );
}
}
} catch (Exception e) {
- Debug.WriteLine("Exception in fetch " + e.Message);
+ Debug.WriteLine ("Exception in fetch " + e.Message);
}
- Debug.WriteLine("RtmBackend.UpdateCategories is done");
+ Debug.WriteLine ("RtmBackend.UpdateCategories is done");
}
/// <summary>
/// Update the model to match what is in RTM
/// FIXME: This is a lame implementation and needs to be optimized
/// </summary>
- private void UpdateTasks(Lists lists)
+ private void UpdateTasks (Lists lists)
{
- Debug.WriteLine("RtmBackend.UpdateTasks was called");
+ Debug.WriteLine ("RtmBackend.UpdateTasks was called");
try {
- foreach(List list in lists.listCollection)
- {
+ foreach (List list in lists.listCollection) {
Tasks tasks = null;
try {
- tasks = rtm.TasksGetList(list.ID);
+ tasks = rtm.TasksGetList (list.ID);
} catch (Exception tglex) {
- Debug.WriteLine("Exception calling TasksGetList(list.ListID) " + tglex.Message);
+ Debug.WriteLine ("Exception calling TasksGetList(list.ListID) " + tglex.Message);
}
- if(tasks != null) {
- foreach(List tList in tasks.ListCollection)
- {
+ if (tasks != null) {
+ foreach (List tList in tasks.ListCollection) {
if (tList.TaskSeriesCollection == null)
continue;
- foreach(TaskSeries ts in tList.TaskSeriesCollection)
- {
- RtmTask rtmTask = new RtmTask(ts, this, list.ID);
+ foreach (TaskSeries ts in tList.TaskSeriesCollection) {
+ RtmTask rtmTask = new RtmTask (ts, this, list.ID);
- lock(taskLock)
- {
+ lock (taskLock) {
Gtk.TreeIter iter;
- Gtk.Application.Invoke ( delegate {
+ Gtk.Application.Invoke (delegate {
- if(taskIters.ContainsKey(rtmTask.ID)) {
- iter = taskIters[rtmTask.ID];
+ if (taskIters.ContainsKey (rtmTask.ID)) {
+ iter = taskIters [rtmTask.ID];
} else {
iter = Tasks.AppendNode ();
- taskIters.Add(rtmTask.ID, iter);
+ taskIters.Add (rtmTask.ID, iter);
}
Tasks.SetValue (iter, 0, rtmTask);
- });
+ }
+ );
}
}
}
}
}
} catch (Exception e) {
- Debug.WriteLine("Exception in fetch " + e.Message);
- Debug.WriteLine(e.ToString());
+ Debug.WriteLine ("Exception in fetch " + e.Message);
+ Debug.WriteLine (e.ToString ());
}
- Debug.WriteLine("RtmBackend.UpdateTasks is done");
+ Debug.WriteLine ("RtmBackend.UpdateTasks is done");
}
-
-
- private void RefreshThreadLoop()
+ private void RefreshThreadLoop ()
{
- while(runningRefreshThread) {
- runRefreshEvent.WaitOne();
+ while (runningRefreshThread) {
+ runRefreshEvent.WaitOne ();
- if(!runningRefreshThread)
+ if (!runningRefreshThread)
return;
// Fire the event on the main thread
- Gtk.Application.Invoke ( delegate {
- if(BackendSyncStarted != null)
- BackendSyncStarted();
- });
+ Gtk.Application.Invoke (delegate {
+ if (BackendSyncStarted != null)
+ BackendSyncStarted ();
+ }
+ );
- runRefreshEvent.Reset();
+ runRefreshEvent.Reset ();
- if(rtmAuth != null) {
- Lists lists = rtm.ListsGetList();
- UpdateCategories(lists);
- UpdateTasks(lists);
+ if (rtmAuth != null) {
+ Lists lists = rtm.ListsGetList ();
+ UpdateCategories (lists);
+ UpdateTasks (lists);
}
- if(!initialized) {
+ if (!initialized) {
initialized = true;
// Fire the event on the main thread
- Gtk.Application.Invoke ( delegate {
- if(BackendInitialized != null)
- BackendInitialized();
- });
+ Gtk.Application.Invoke (delegate {
+ if (BackendInitialized != null)
+ BackendInitialized ();
+ }
+ );
}
// Fire the event on the main thread
- Gtk.Application.Invoke ( delegate {
- if(BackendSyncFinished != null)
- BackendSyncFinished();
- });
+ Gtk.Application.Invoke (delegate {
+ if (BackendSyncFinished != null)
+ BackendSyncFinished ();
+ }
+ );
}
}
diff --git a/src/Addins/RtmBackend/RtmCategory.cs b/src/Addins/RtmBackend/RtmCategory.cs
index 5d1ce81..eef5f67 100644
--- a/src/Addins/RtmBackend/RtmCategory.cs
+++ b/src/Addins/RtmBackend/RtmCategory.cs
@@ -1,9 +1,8 @@
// RtmCategory.cs created with MonoDevelop
-// User: boyd at 9:06 AMÂ2/11/2008
+// User: boyd at 9:06 AM 2/11/2008
//
// To change standard headers go to Edit->Preferences->Coding->Standard Headers
//
-
using System;
using Tasque;
using RtmNet;
@@ -15,56 +14,48 @@ namespace Tasque.Backends.RtmBackend
private List list;
private Gtk.TreeIter iter;
- public RtmCategory(List list)
+ public RtmCategory (List list)
{
this.list = list;
}
- public string Name
- {
+ public string Name {
get { return list.Name; }
}
- public string ID
- {
+ public string ID {
get { return list.ID; }
}
- public int Deleted
- {
+ public int Deleted {
get { return list.Deleted; }
}
- public int Locked
- {
+ public int Locked {
get { return list.Locked; }
}
- public int Archived
- {
+ public int Archived {
get { return list.Archived; }
}
- public int Position
- {
+ public int Position {
get { return list.Position; }
}
- public int Smart
- {
+ public int Smart {
get { return list.Smart; }
}
- public Gtk.TreeIter Iter
- {
+ public Gtk.TreeIter Iter {
get { return iter; }
set { iter = value; }
}
- public bool ContainsTask(Task task)
+ public bool ContainsTask (Task task)
{
- if(task.Category is RtmCategory)
- return ((task.Category as RtmCategory).ID.CompareTo(ID) == 0);
+ if (task.Category is RtmCategory)
+ return ((task.Category as RtmCategory).ID.CompareTo (ID) == 0);
else
return false;
}
diff --git a/src/Addins/RtmBackend/RtmNote.cs b/src/Addins/RtmBackend/RtmNote.cs
index c058bae..30af63d 100644
--- a/src/Addins/RtmBackend/RtmNote.cs
+++ b/src/Addins/RtmBackend/RtmNote.cs
@@ -1,9 +1,8 @@
// RtmNote.cs created with MonoDevelop
-// User: calvin at 11:05 AMÂ2/12/2008
+// User: calvin at 11:05 AM 2/12/2008
//
// To change standard headers go to Edit->Preferences->Coding->Standard Headers
//
-
using System;
using Tasque;
using RtmNet;
@@ -14,22 +13,20 @@ namespace Tasque.Backends.RtmBackend
{
Note note;
- public RtmNote(Note note)
+ public RtmNote (Note note)
{
this.note = note;
- if( (note.Title != null) && (note.Title.Length > 0) ) {
+ if ((note.Title != null) && (note.Title.Length > 0)) {
note.Text = note.Title + note.Text;
}
note.Title = String.Empty;
}
- public string ID
- {
+ public string ID {
get { return note.ID; }
}
- public string Text
- {
+ public string Text {
get { return note.Text; }
set { note.Text = value; }
}
diff --git a/src/Addins/RtmBackend/RtmTask.cs b/src/Addins/RtmBackend/RtmTask.cs
index d092ce1..b6b5748 100644
--- a/src/Addins/RtmBackend/RtmTask.cs
+++ b/src/Addins/RtmBackend/RtmTask.cs
@@ -1,6 +1,5 @@
// Task.cs created with MonoDevelop
-// User: boyd at 8:50 PMÂ2/10/2008
-
+// User: boyd at 8:50 PM 2/10/2008
using System;
using RtmNet;
using System.Collections.Generic;
@@ -12,8 +11,7 @@ namespace Tasque.Backends.RtmBackend
private RtmBackend rtmBackend;
private TaskState state;
private RtmCategory category;
- private List<TaskNote> notes;
-
+ private List<TaskNote> notes;
TaskSeries taskSeries;
/// <summary>
@@ -22,22 +20,22 @@ namespace Tasque.Backends.RtmBackend
/// <param name="taskSeries">
/// A <see cref="TaskSeries"/>
/// </param>
- public RtmTask(TaskSeries taskSeries, RtmBackend be, string listID)
+ public RtmTask (TaskSeries taskSeries, RtmBackend be, string listID)
{
this.taskSeries = taskSeries;
this.rtmBackend = be;
- this.category = be.GetCategory(listID);
+ this.category = be.GetCategory (listID);
- if(CompletionDate == DateTime.MinValue )
+ if (CompletionDate == DateTime.MinValue)
state = TaskState.Active;
else
state = TaskState.Completed;
- notes = new List<TaskNote>();
+ notes = new List<TaskNote> ();
if (taskSeries.Notes.NoteCollection != null) {
- foreach(Note note in taskSeries.Notes.NoteCollection) {
- RtmNote rtmNote = new RtmNote(note);
- notes.Add(rtmNote);
+ foreach (Note note in taskSeries.Notes.NoteCollection) {
+ RtmNote rtmNote = new RtmNote (note);
+ notes.Add (rtmNote);
}
}
}
@@ -46,21 +44,19 @@ namespace Tasque.Backends.RtmBackend
/// <value>
/// Gets the id of the task
/// </value>
- public override string Id
- {
+ public override string Id {
get { return taskSeries.Task.TaskID; }
}
/// <value>
/// Holds the name of the task
/// </value>
- public override string Name
- {
+ public override string Name {
get { return taskSeries.Name; }
set {
if (value != null) {
taskSeries.Name = value.Trim ();
- rtmBackend.UpdateTaskName(this);
+ rtmBackend.UpdateTaskName (this);
}
}
}
@@ -68,12 +64,11 @@ namespace Tasque.Backends.RtmBackend
/// <value>
/// Due Date for the task
/// </value>
- public override DateTime DueDate
- {
+ public override DateTime DueDate {
get { return taskSeries.Task.Due; }
set {
taskSeries.Task.Due = value;
- rtmBackend.UpdateTaskDueDate(this);
+ rtmBackend.UpdateTaskDueDate (this);
}
}
@@ -81,8 +76,7 @@ namespace Tasque.Backends.RtmBackend
/// <value>
/// Due Date for the task
/// </value>
- public string DueDateString
- {
+ public string DueDateString {
get {
// Return the due date in UTC format
string format = "yyyy-MM-ddTHH:mm:ssZ";
@@ -95,63 +89,59 @@ namespace Tasque.Backends.RtmBackend
/// <value>
/// Completion Date for the task
/// </value>
- public override DateTime CompletionDate
- {
+ public override DateTime CompletionDate {
get { return taskSeries.Task.Completed; }
set {
taskSeries.Task.Completed = value;
- rtmBackend.UpdateTaskCompleteDate(this);
+ rtmBackend.UpdateTaskCompleteDate (this);
}
}
/// <value>
/// Returns if the task is complete
/// </value>
- public override bool IsComplete
- {
+ public override bool IsComplete {
get { return state == TaskState.Completed; }
}
/// <value>
/// Holds the priority of the task
/// </value>
- public override TaskPriority Priority
- {
+ public override TaskPriority Priority {
get {
switch (taskSeries.Task.Priority) {
- default:
- case "N":
- return TaskPriority.None;
- case "1":
- return TaskPriority.High;
- case "2":
- return TaskPriority.Medium;
- case "3":
- return TaskPriority.Low;
+ default:
+ case "N":
+ return TaskPriority.None;
+ case "1":
+ return TaskPriority.High;
+ case "2":
+ return TaskPriority.Medium;
+ case "3":
+ return TaskPriority.Low;
}
}
set {
switch (value) {
- default:
- case TaskPriority.None:
- taskSeries.Task.Priority = "N";
- break;
- case TaskPriority.High:
- taskSeries.Task.Priority = "1";
- break;
- case TaskPriority.Medium:
- taskSeries.Task.Priority = "2";
- break;
- case TaskPriority.Low:
- taskSeries.Task.Priority = "3";
- break;
+ default:
+ case TaskPriority.None:
+ taskSeries.Task.Priority = "N";
+ break;
+ case TaskPriority.High:
+ taskSeries.Task.Priority = "1";
+ break;
+ case TaskPriority.Medium:
+ taskSeries.Task.Priority = "2";
+ break;
+ case TaskPriority.Low:
+ taskSeries.Task.Priority = "3";
+ break;
}
- rtmBackend.UpdateTaskPriority(this);
+ rtmBackend.UpdateTaskPriority (this);
}
}
- public string PriorityString
- {
+ public string PriorityString {
get { return taskSeries.Task.Priority; }
}
@@ -159,72 +149,62 @@ namespace Tasque.Backends.RtmBackend
/// <value>
/// Returns if the task has any notes
/// </value>
- public override bool HasNotes
- {
+ public override bool HasNotes {
get { return (notes.Count > 0); }
}
/// <value>
/// Returns if the task supports multiple notes
/// </value>
- public override bool SupportsMultipleNotes
- {
+ public override bool SupportsMultipleNotes {
get { return true; }
}
/// <value>
/// Holds the current state of the task
/// </value>
- public override TaskState State
- {
+ public override TaskState State {
get { return state; }
}
/// <value>
/// Returns the category object for this task
/// </value>
- public override Category Category
- {
+ public override Category Category {
get { return category; }
set {
RtmCategory rtmCategory = value as RtmCategory;
- rtmBackend.MoveTaskCategory(this, rtmCategory.ID);
+ rtmBackend.MoveTaskCategory (this, rtmCategory.ID);
}
}
/// <value>
/// Returns the notes associates with this task
/// </value>
- public override List<TaskNote> Notes
- {
+ public override List<TaskNote> Notes {
get { return notes; }
}
/// <value>
/// Holds the current RtmBackend for this task
/// </value>
- public RtmBackend RtmBackend
- {
+ public RtmBackend RtmBackend {
get { return this.rtmBackend; }
}
- public string ID
- {
- get {return taskSeries.TaskID; }
+ public string ID {
+ get { return taskSeries.TaskID; }
}
- public string SeriesTaskID
- {
+ public string SeriesTaskID {
get { return taskSeries.TaskID; }
}
- public string TaskTaskID
- {
+ public string TaskTaskID {
get { return taskSeries.Task.TaskID; }
}
- public string ListID
- {
+ public string ListID {
get { return category.ID; }
}
#endregion // Public Properties
@@ -235,10 +215,10 @@ namespace Tasque.Backends.RtmBackend
/// </summary>
public override void Activate ()
{
- Debug.WriteLine("Activating Task: " + Name);
+ Debug.WriteLine ("Activating Task: " + Name);
state = TaskState.Active;
taskSeries.Task.Completed = DateTime.MinValue;
- rtmBackend.UpdateTaskActive(this);
+ rtmBackend.UpdateTaskActive (this);
}
/// <summary>
@@ -246,10 +226,10 @@ namespace Tasque.Backends.RtmBackend
/// </summary>
public override void Inactivate ()
{
- Debug.WriteLine("Inactivating Task: " + Name);
+ Debug.WriteLine ("Inactivating Task: " + Name);
state = TaskState.Inactive;
taskSeries.Task.Completed = DateTime.Now;
- rtmBackend.UpdateTaskInactive(this);
+ rtmBackend.UpdateTaskInactive (this);
}
/// <summary>
@@ -257,11 +237,11 @@ namespace Tasque.Backends.RtmBackend
/// </summary>
public override void Complete ()
{
- Debug.WriteLine("Completing Task: " + Name);
+ Debug.WriteLine ("Completing Task: " + Name);
state = TaskState.Completed;
- if(taskSeries.Task.Completed == DateTime.MinValue)
+ if (taskSeries.Task.Completed == DateTime.MinValue)
taskSeries.Task.Completed = DateTime.Now;
- rtmBackend.UpdateTaskCompleted(this);
+ rtmBackend.UpdateTaskCompleted (this);
}
/// <summary>
@@ -270,7 +250,7 @@ namespace Tasque.Backends.RtmBackend
public override void Delete ()
{
state = TaskState.Deleted;
- rtmBackend.UpdateTaskDeleted(this);
+ rtmBackend.UpdateTaskDeleted (this);
}
/// <summary>
@@ -279,12 +259,12 @@ namespace Tasque.Backends.RtmBackend
/// <param name="note">
/// A <see cref="INote"/>
/// </param>
- public override TaskNote CreateNote(string text)
+ public override TaskNote CreateNote (string text)
{
RtmNote rtmNote;
- rtmNote = rtmBackend.CreateNote(this, text);
- notes.Add(rtmNote);
+ rtmNote = rtmBackend.CreateNote (this, text);
+ notes.Add (rtmNote);
return rtmNote;
}
@@ -295,17 +275,17 @@ namespace Tasque.Backends.RtmBackend
/// <param name="note">
/// A <see cref="INote"/>
/// </param>
- public override void DeleteNote(TaskNote note)
+ public override void DeleteNote (TaskNote note)
{
RtmNote rtmNote = (note as RtmNote);
- foreach(RtmNote lRtmNote in notes) {
- if(lRtmNote.ID == rtmNote.ID) {
- notes.Remove(lRtmNote);
+ foreach (RtmNote lRtmNote in notes) {
+ if (lRtmNote.ID == rtmNote.ID) {
+ notes.Remove (lRtmNote);
break;
}
}
- rtmBackend.DeleteNote(this, rtmNote);
+ rtmBackend.DeleteNote (this, rtmNote);
}
/// <summary>
@@ -314,9 +294,9 @@ namespace Tasque.Backends.RtmBackend
/// <param name="note">
/// A <see cref="INote"/>
/// </param>
- public override void SaveNote(TaskNote note)
+ public override void SaveNote (TaskNote note)
{
- rtmBackend.SaveNote(this, (note as RtmNote));
+ rtmBackend.SaveNote (this, (note as RtmNote));
}
#endregion // Public Methods
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]