Merge remote-tracking branch 'upstream/master' into windows
This commit is contained in:
commit
0862fa2a72
5
NEWS
5
NEWS
|
@ -3,8 +3,9 @@
|
|||
Hylke: Reimplement notes to be less buggy and backend independent. Polish
|
||||
about dialog and event log html. Fix a bug where large collections of files
|
||||
weren't being synced when adding them at the same time. The event log now
|
||||
collapses huge change sets. Add a controller per UI component to make the
|
||||
Windows verion easier to implement.
|
||||
collapses huge change sets and squashes events together by day when they
|
||||
are on the same day and in the same folder. Add a controller per UI component
|
||||
to make the Windows verion easier to implement.
|
||||
|
||||
|
||||
0.2.4 for Linux and Mac (Wed Jun 29, 2011):
|
||||
|
|
|
@ -28,6 +28,7 @@ namespace SparkleLib {
|
|||
public string Folder;
|
||||
public string Revision;
|
||||
public DateTime Timestamp;
|
||||
public DateTime FirstTimestamp;
|
||||
public bool IsMerge = false;
|
||||
|
||||
public List<string> Added = new List<string> ();
|
||||
|
|
|
@ -210,7 +210,7 @@ namespace SparkleShare {
|
|||
if (match.Success) {
|
||||
string folder_name = match.Groups [1].Value;
|
||||
string revision = match.Groups [2].Value;
|
||||
string note = match.Groups [3].Value.Replace ("%20", " ");
|
||||
string note = match.Groups [3].Value;
|
||||
|
||||
Thread thread = new Thread (new ThreadStart (delegate {
|
||||
SparkleShare.Controller.AddNoteToFolder (folder_name, revision, note);
|
||||
|
|
|
@ -297,7 +297,39 @@ namespace SparkleShare {
|
|||
stored_activity_day.DateTime.Month == change_set.Timestamp.Month &&
|
||||
stored_activity_day.DateTime.Day == change_set.Timestamp.Day) {
|
||||
|
||||
stored_activity_day.Add (change_set);
|
||||
bool squash = false;
|
||||
foreach (SparkleChangeSet existing_set in stored_activity_day) {
|
||||
if (change_set.UserName.Equals (existing_set.UserName) &&
|
||||
change_set.UserEmail.Equals (existing_set.UserEmail) &&
|
||||
change_set.Folder.Equals (existing_set.Folder)) {
|
||||
|
||||
existing_set.Added.AddRange (change_set.Added);
|
||||
existing_set.Edited.AddRange (change_set.Edited);
|
||||
existing_set.Deleted.AddRange (change_set.Deleted);
|
||||
existing_set.MovedFrom.AddRange (change_set.MovedFrom);
|
||||
existing_set.MovedTo.AddRange (change_set.MovedTo);
|
||||
existing_set.Notes.AddRange (change_set.Notes);
|
||||
|
||||
existing_set.Added = existing_set.Added.Distinct ().ToList ();
|
||||
existing_set.Edited = existing_set.Edited.Distinct ().ToList ();
|
||||
existing_set.Deleted = existing_set.Deleted.Distinct ().ToList ();
|
||||
|
||||
if (DateTime.Compare (existing_set.Timestamp, change_set.Timestamp) < 1) {
|
||||
existing_set.FirstTimestamp = existing_set.Timestamp;
|
||||
existing_set.Timestamp = change_set.Timestamp;
|
||||
existing_set.Revision = change_set.Revision;
|
||||
|
||||
} else {
|
||||
existing_set.FirstTimestamp = change_set.Timestamp;
|
||||
}
|
||||
|
||||
squash = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!squash)
|
||||
stored_activity_day.Add (change_set);
|
||||
|
||||
change_set_inserted = true;
|
||||
break;
|
||||
}
|
||||
|
@ -412,10 +444,17 @@ namespace SparkleShare {
|
|||
avatar_email = change_set.UserEmail;
|
||||
|
||||
event_entry += "</dl>";
|
||||
|
||||
string timestamp = change_set.Timestamp.ToString ("H:mm");
|
||||
|
||||
if (!change_set.FirstTimestamp.Equals (new DateTime ()))
|
||||
timestamp = change_set.FirstTimestamp.ToString ("H:mm") +
|
||||
" – " + timestamp;
|
||||
|
||||
event_entries += event_entry_html.Replace ("<!-- $event-entry-content -->", event_entry)
|
||||
.Replace ("<!-- $event-user-name -->", change_set.UserName)
|
||||
.Replace ("<!-- $event-avatar-url -->", "file://" + GetAvatar (avatar_email, 48))
|
||||
.Replace ("<!-- $event-time -->", change_set.Timestamp.ToString ("H:mm"))
|
||||
.Replace ("<!-- $event-time -->", timestamp)
|
||||
.Replace ("<!-- $event-folder -->", change_set.Folder)
|
||||
.Replace ("<!-- $event-revision -->", change_set.Revision)
|
||||
.Replace ("<!-- $event-folder-color -->", AssignColor (change_set.Folder))
|
||||
|
@ -688,7 +727,7 @@ namespace SparkleShare {
|
|||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
} // TODO: move to bubbles controller
|
||||
|
||||
|
||||
// Recursively gets a folder's size in bytes
|
||||
|
@ -1055,6 +1094,9 @@ namespace SparkleShare {
|
|||
|
||||
public void AddNoteToFolder (string folder_name, string revision, string note)
|
||||
{
|
||||
folder_name = folder_name.Replace ("%20", " ");
|
||||
note = note.Replace ("%20", " ");
|
||||
|
||||
foreach (SparkleRepoBase repo in Repositories) {
|
||||
if (repo.Name.Equals (folder_name))
|
||||
repo.AddNote (revision, note);
|
||||
|
|
Loading…
Reference in a new issue