Revision 6a7b8909
b/trunk/Pithos.Client.WPF/Preferences/PreferencesView.xaml | ||
---|---|---|
210 | 210 |
<CheckBox Content="Activate Shell Extensions" Height="16" HorizontalAlignment="Left" Margin="5" Name="ExtensionsActivated" VerticalAlignment="Top" /> |
211 | 211 |
<Button Content="Refresh Overlays" Name="RefreshOverlays" HorizontalAlignment="Left" Margin="5" Style="{StaticResource ButtonStyle}" Width="Auto" /> |
212 | 212 |
<TextBlock Text="Polling Interval (secs)" Margin="5"/> |
213 |
<extToolkit:IntegerUpDown x:Name="Settings_PollingInterval" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter seconds" Minimum="10" />
|
|
213 |
<extToolkit:IntegerUpDown x:Name="Settings_PollingInterval" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter seconds" Minimum="1" /> |
|
214 | 214 |
<TextBlock Text="Hashing Parallelism" Margin="5"/> |
215 | 215 |
<extToolkit:IntegerUpDown x:Name="Settings_HashingParallelism" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="1" /> |
216 | 216 |
<TextBlock Text="Startup Delay (minutes)" Margin="5"/> |
b/trunk/Pithos.Client.WPF/SelectiveSynch/SelectiveSynchViewModel.cs | ||
---|---|---|
148 | 148 |
DisplayName = AccountName , |
149 | 149 |
Directories = ownFolders.ToList() |
150 | 150 |
}; |
151 |
|
|
152 |
var localFolders = SelectiveExtensions.LocalFolders(AccountName, Account.RootPath,client.StorageUrl.AbsoluteUri); |
|
153 |
|
|
154 |
AppendToTree(localFolders, rootItem); |
|
155 | 151 |
|
156 | 152 |
//For each local folder that doesn't exist in the server nodes |
157 | 153 |
//find the best matching parent and add the folder below it. |
b/trunk/Pithos.Client.WPF/Shell/ShellViewModel.cs | ||
---|---|---|
316 | 316 |
PithosMonitor monitor; |
317 | 317 |
var accountName = account.AccountName; |
318 | 318 |
|
319 |
MigrateFolders(account); |
|
320 |
|
|
319 | 321 |
if (Monitors.TryGetValue(account.AccountKey, out monitor)) |
320 | 322 |
{ |
321 | 323 |
//If the account is active |
... | ... | |
365 | 367 |
}); |
366 | 368 |
} |
367 | 369 |
|
370 |
private void MigrateFolders(AccountSettings account) |
|
371 |
{ |
|
372 |
var oldOthersFolder=Path.Combine(account.RootPath, FolderConstants.OldOthersFolder); |
|
373 |
var newOthersFolder = Path.Combine(account.RootPath, FolderConstants.OthersFolder); |
|
374 |
var oldFolder = new DirectoryInfo(oldOthersFolder); |
|
375 |
var newFolder = new DirectoryInfo(newOthersFolder); |
|
376 |
|
|
377 |
if (oldFolder.Exists && !newFolder.Exists) |
|
378 |
{ |
|
379 |
oldFolder.MoveTo(newOthersFolder); |
|
380 |
} |
|
381 |
} |
|
382 |
|
|
368 | 383 |
|
369 |
protected override void OnViewLoaded(object view)
|
|
384 |
protected override void OnViewLoaded(object view)
|
|
370 | 385 |
{ |
371 | 386 |
UpdateStatus(); |
372 | 387 |
var window = (Window)view; |
b/trunk/Pithos.Core/Agents/SelectiveUris.cs | ||
---|---|---|
64 | 64 |
public bool IsSelected(ObjectInfo info) |
65 | 65 |
{ |
66 | 66 |
//Shared folders should NOT be synced if selective syncing is disabled |
67 |
var isShared = info.IsShared; |
|
67 |
var isShared = info.IsShared??false; |
|
68 |
if (info.StorageUri == null) |
|
69 |
return true; |
|
68 | 70 |
var selectiveEnabled = IsSelectiveEnabled(info.AccountKey); |
69 | 71 |
if (!selectiveEnabled) |
70 | 72 |
return !isShared; |
b/trunk/Pithos.Core/Agents/StatusAgent.cs | ||
---|---|---|
761 | 761 |
if (!Path.IsPathRooted(path)) |
762 | 762 |
throw new ArgumentException("The path must be rooted", "path"); |
763 | 763 |
Contract.EndContractBlock(); |
764 |
|
|
764 |
//TODO: May throw if the agent is cleared for some reason. Should never happen |
|
765 | 765 |
_persistenceAgent.Post(() => DeleteFolderDirect(path)); |
766 | 766 |
} |
767 | 767 |
|
b/trunk/Pithos.Interfaces/FolderConstants.cs | ||
---|---|---|
43 | 43 |
{ |
44 | 44 |
public static class FolderConstants |
45 | 45 |
{ |
46 |
public static readonly string OthersFolder="others-shared"; |
|
46 |
public static readonly string OldOthersFolder = "others-shared"; |
|
47 |
public static readonly string OthersFolder="Shared with me"; |
|
47 | 48 |
public static readonly string PithosContainer = "pithos"; |
48 | 49 |
public static readonly string TrashContainer = "trash"; |
49 | 50 |
|
b/trunk/Pithos.Interfaces/ObjectInfo.cs | ||
---|---|---|
376 | 376 |
return this; |
377 | 377 |
} |
378 | 378 |
|
379 |
public bool IsShared |
|
379 |
public bool? IsShared
|
|
380 | 380 |
{ |
381 | 381 |
get |
382 | 382 |
{ |
383 |
if (Uri == null || StorageUri == null) |
|
384 |
return null; |
|
383 | 385 |
var isShared = !Uri.ToString().StartsWith(StorageUri.ToString()); |
384 | 386 |
return isShared; |
385 | 387 |
} |
Also available in: Unified diff