Revision badcef63
b/trunk/NetSparkle/NetSparkleForm.cs | ||
---|---|---|
1 | 1 |
using System; |
2 | 2 |
using System.Diagnostics; |
3 | 3 |
using System.Drawing; |
4 |
using System.Net; |
|
4 | 5 |
using System.Windows.Forms; |
5 | 6 |
|
6 | 7 |
namespace AppLimit.NetSparkle |
... | ... | |
35 | 36 |
else |
36 | 37 |
{ |
37 | 38 |
if (item.ReleaseNotesLink != null && item.ReleaseNotesLink.Length > 0) |
38 |
NetSparkleBrowser.Navigate(item.ReleaseNotesLink); |
|
39 |
{ |
|
40 |
using (var client = new WebClient()) |
|
41 |
{ |
|
42 |
//Download the content instead of navigating to it, to bypass |
|
43 |
//the Content-Disposition header |
|
44 |
NetSparkleBrowser.DocumentText = client.DownloadString(item.ReleaseNotesLink); |
|
45 |
} |
|
46 |
} |
|
39 | 47 |
else |
40 | 48 |
RemoveReleaseNotesControls(); |
41 | 49 |
} |
b/trunk/Pithos.Client.WPF/Pithos.Client.WPF.csproj | ||
---|---|---|
307 | 307 |
<DependentUpon>GroupsView.xaml</DependentUpon> |
308 | 308 |
</Compile> |
309 | 309 |
<Compile Include="Preferences\GroupsViewModel.cs" /> |
310 |
<Compile Include="Preferences\LoginView.xaml.cs"> |
|
311 |
<DependentUpon>LoginView.xaml</DependentUpon> |
|
312 |
</Compile> |
|
310 | 313 |
<Compile Include="Preferences\ProxyAccountView.xaml.cs"> |
311 | 314 |
<DependentUpon>ProxyAccountView.xaml</DependentUpon> |
312 | 315 |
</Compile> |
... | ... | |
380 | 383 |
<Generator>MSBuild:Compile</Generator> |
381 | 384 |
<SubType>Designer</SubType> |
382 | 385 |
</Page> |
386 |
<Page Include="Preferences\LoginView.xaml"> |
|
387 |
<SubType>Designer</SubType> |
|
388 |
<Generator>MSBuild:Compile</Generator> |
|
389 |
</Page> |
|
383 | 390 |
<Page Include="Preferences\ProxyAccountView.xaml"> |
384 | 391 |
<SubType>Designer</SubType> |
385 | 392 |
<Generator>MSBuild:Compile</Generator> |
b/trunk/Pithos.Client.WPF/PithosAccount.cs | ||
---|---|---|
45 | 45 |
|
46 | 46 |
using System.IO; |
47 | 47 |
using System.Reflection; |
48 |
using Pithos.Client.WPF.Preferences; |
|
48 | 49 |
using Pithos.Network; |
49 | 50 |
using log4net; |
50 | 51 |
|
... | ... | |
75 | 76 |
/// </summary> |
76 | 77 |
/// <param name="loginUrl">URL to retrieve the account info from PITHOS. Must end with =</param> |
77 | 78 |
/// <returns>The credentials wrapped in a Task</returns> |
78 |
public static Task<NetworkCredential> RetrieveCredentials(string loginUrl)
|
|
79 |
public static NetworkCredential RetrieveCredentials(string loginUrl,string accountName=null)
|
|
79 | 80 |
{ |
80 | 81 |
Contract.Requires(Uri.IsWellFormedUriString(loginUrl, UriKind.Absolute)); |
81 | 82 |
|
82 | 83 |
if (!Uri.IsWellFormedUriString(loginUrl, UriKind.Absolute)) |
83 | 84 |
throw new ArgumentException("The pithosSite parameter must be a valid absolute URL", "loginUrl"); |
84 | 85 |
|
85 |
int port = GetFreePort(); |
|
86 |
//int port = GetFreePort();
|
|
86 | 87 |
|
87 | 88 |
//TODO:Force logout here to take care of existing cookies |
88 | 89 |
|
89 | 90 |
|
90 |
var listenerUrl = String.Format("http://127.0.0.1:{0}", port); |
|
91 |
//var listenerUrl = String.Format("http://127.0.0.1:{0}", port); |
|
92 |
var listenerUrl = "pithos://127.0.0.1"; |
|
91 | 93 |
|
92 | 94 |
|
93 | 95 |
|
94 |
var receiveCredentials = ListenForRedirectAsync(port); |
|
96 |
//var receiveCredentials = ListenForRedirectAsync(port);
|
|
95 | 97 |
|
96 |
var logoutUrl = loginUrl.Replace("login", "im/logout"); |
|
97 |
var logoutProcess=Process.Start(logoutUrl); |
|
98 |
TaskEx.Delay(2000).Wait(); |
|
99 |
var uriBuilder=new UriBuilder(loginUrl); |
|
100 |
uriBuilder.Query=String.Format("next={0}&force=", listenerUrl); |
|
98 |
//var logoutUrl = loginUrl.Replace("login", "im/logout"); |
|
99 |
//var logoutProcess=Process.Start(logoutUrl); |
|
100 |
//TaskEx.Delay(2000).Wait(); |
|
101 |
var uriBuilder = new UriBuilder(loginUrl) |
|
102 |
{ |
|
103 |
Query = String.Format("next={0}&force=", listenerUrl) |
|
104 |
}; |
|
101 | 105 |
|
102 | 106 |
var retrieveUri = uriBuilder.Uri; |
107 |
|
|
108 |
|
|
109 |
var browser = new LoginView(retrieveUri,accountName); |
|
110 |
if (true == browser.ShowDialog()) |
|
111 |
{ |
|
112 |
return new NetworkCredential(browser.Account, browser.Token); |
|
113 |
} |
|
114 |
return null; |
|
115 |
|
|
116 |
/* |
|
117 |
|
|
103 | 118 |
Log.InfoFormat("[RETRIEVE] Open Browser at {0}", retrieveUri); |
104 | 119 |
Process.Start(retrieveUri.ToString()); |
105 | 120 |
|
106 | 121 |
return receiveCredentials; |
122 |
*/ |
|
107 | 123 |
} |
108 | 124 |
|
109 | 125 |
/* |
b/trunk/Pithos.Client.WPF/Preferences/AddAccountViewModel.cs | ||
---|---|---|
199 | 199 |
} |
200 | 200 |
|
201 | 201 |
|
202 |
public async void RetrieveCredentials()
|
|
202 |
public void RetrieveCredentials() |
|
203 | 203 |
{ |
204 | 204 |
SetBusy("Waiting for credentials.", "Please enter your credentials in the Pithos logon page"); |
205 | 205 |
IsConfirmed = false; |
206 | 206 |
|
207 | 207 |
try |
208 | 208 |
{ |
209 |
var credentials = await PithosAccount.RetrieveCredentials(Settings.Default.PithosLoginUrl); |
|
209 |
var credentials = PithosAccount.RetrieveCredentials(Settings.Default.PithosLoginUrl); |
|
210 |
if (credentials == null) |
|
211 |
return; |
|
210 | 212 |
AccountName = credentials.UserName; |
211 | 213 |
Token = credentials.Password; |
212 | 214 |
|
b/trunk/Pithos.Client.WPF/Preferences/LoginView.xaml | ||
---|---|---|
1 |
<Window x:Class="Pithos.Client.WPF.Preferences.LoginView" |
|
2 |
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
3 |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
4 |
Title="Astakos Login" Height="800" Width="1024" Icon="/PithosPlus;component/Images/PithosTaskbar.png" |
|
5 |
x:Name="TheView"> |
|
6 |
<Grid> |
|
7 |
<Grid.RowDefinitions> |
|
8 |
<RowDefinition Height="Auto"/> |
|
9 |
<RowDefinition/> |
|
10 |
</Grid.RowDefinitions> |
|
11 |
<Grid Margin="5" Grid.Row="0"> |
|
12 |
<Grid.ColumnDefinitions> |
|
13 |
<ColumnDefinition Width="Auto"/> |
|
14 |
<ColumnDefinition Width="Auto"/> |
|
15 |
<ColumnDefinition/> |
|
16 |
<ColumnDefinition Width="Auto"/> |
|
17 |
</Grid.ColumnDefinitions> |
|
18 |
<Image Grid.Column="0" Width="16" Height="16" Source="/PithosPlus;component/Images/Tray.ico" /> |
|
19 |
<TextBlock Text="URL:" Grid.Column="1" Margin="5,0,5,0" VerticalAlignment="Center"/> |
|
20 |
<TextBox Text="{Binding Path=Uri,ElementName=TheView}" Grid.Column="2" Margin="5,0,5,0" IsReadOnly="true"/> |
|
21 |
<Button Content="Retry" Grid.Column="3"/> |
|
22 |
</Grid> |
|
23 |
<WebBrowser Grid.Row="1" HorizontalAlignment="Stretch" Margin="5" Name="LoginBrowser" VerticalAlignment="Stretch" Navigating="LoginBrowser_Navigating" /> |
|
24 |
</Grid> |
|
25 |
</Window> |
b/trunk/Pithos.Client.WPF/Preferences/LoginView.xaml.cs | ||
---|---|---|
1 |
using System; |
|
2 |
using System.Collections.Generic; |
|
3 |
using System.ComponentModel; |
|
4 |
using System.Linq; |
|
5 |
using System.Linq.Expressions; |
|
6 |
using System.Reflection; |
|
7 |
using System.Text; |
|
8 |
using System.Windows; |
|
9 |
using System.Windows.Controls; |
|
10 |
using System.Windows.Data; |
|
11 |
using System.Windows.Documents; |
|
12 |
using System.Windows.Input; |
|
13 |
using System.Windows.Media; |
|
14 |
using System.Windows.Media.Imaging; |
|
15 |
using System.Windows.Shapes; |
|
16 |
using Caliburn.Micro; |
|
17 |
|
|
18 |
|
|
19 |
namespace Pithos.Client.WPF.Preferences |
|
20 |
{ |
|
21 |
/// <summary> |
|
22 |
/// Interaction logic for LoginView.xaml |
|
23 |
/// </summary> |
|
24 |
public partial class LoginView : Window,INotifyPropertyChanged |
|
25 |
{ |
|
26 |
private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
|
27 |
|
|
28 |
private Uri _uri; |
|
29 |
public Uri Uri |
|
30 |
{ |
|
31 |
get |
|
32 |
{ |
|
33 |
return _uri; |
|
34 |
} |
|
35 |
set |
|
36 |
{ |
|
37 |
_uri = value; |
|
38 |
RaisePropertyChanged(() => Uri); |
|
39 |
} |
|
40 |
} |
|
41 |
|
|
42 |
private void RaisePropertyChanged(Expression<Func<Uri>> property) |
|
43 |
{ |
|
44 |
if (PropertyChanged != null) |
|
45 |
{ |
|
46 |
PropertyChanged(this, new PropertyChangedEventArgs(property.GetMemberInfo().Name)); |
|
47 |
} |
|
48 |
} |
|
49 |
|
|
50 |
public LoginView(Uri uri,string account=null) |
|
51 |
{ |
|
52 |
InitializeComponent(); |
|
53 |
if (String.IsNullOrWhiteSpace(account)) |
|
54 |
this.Title = "Retrieve Pithos credentials"; |
|
55 |
else |
|
56 |
this.Title = "Retrieve Pithos credentials for " + account; |
|
57 |
Uri = uri; |
|
58 |
LoginBrowser.Navigate(uri); |
|
59 |
} |
|
60 |
|
|
61 |
|
|
62 |
public string Token { get; set; } |
|
63 |
public string Account { get; set; } |
|
64 |
|
|
65 |
|
|
66 |
private void LoginBrowser_Navigating(object sender, System.Windows.Navigation.NavigatingCancelEventArgs e) |
|
67 |
{ |
|
68 |
Log.Debug(e.ToString()); |
|
69 |
|
|
70 |
if (e.Uri.Scheme == "pithos") |
|
71 |
{ |
|
72 |
Log.DebugFormat("Authentication response [{0}]",e.Uri); |
|
73 |
e.Cancel = true; |
|
74 |
var response = ParseResponse(e.Uri.Query); |
|
75 |
Account = response["user"]; |
|
76 |
Token = response["token"]; |
|
77 |
Log.InfoFormat("Token received for [{0}]", Account); |
|
78 |
DialogResult = true; |
|
79 |
this.Close(); |
|
80 |
} |
|
81 |
} |
|
82 |
|
|
83 |
private static Dictionary<string, string> ParseResponse(string request) |
|
84 |
{ |
|
85 |
//var parts = request.Split(' '); |
|
86 |
var query = request.TrimStart('?'); |
|
87 |
|
|
88 |
var items = query.Split('&') |
|
89 |
.Select(pair => pair.Split('=')) |
|
90 |
.ToDictionary(arr => arr[0].ToLower(), arr => Uri.UnescapeDataString(arr[1])); |
|
91 |
return items; |
|
92 |
} |
|
93 |
|
|
94 |
public event PropertyChangedEventHandler PropertyChanged; |
|
95 |
} |
|
96 |
} |
b/trunk/Pithos.Client.WPF/Preferences/PreferencesViewModel.cs | ||
---|---|---|
227 | 227 |
} |
228 | 228 |
} |
229 | 229 |
|
230 |
public async Task RefreshApiKey()
|
|
230 |
public void RefreshApiKey()
|
|
231 | 231 |
{ |
232 |
_events.Publish(new Notification { Title = "Authorization failed", Message = "Your API Key has probably expired. You will be directed to a page where you can renew it", Level = TraceLevel.Error }); |
|
232 |
//_events.Publish(new Notification { Title = "Authorization failed", Message = "Your API Key has probably expired. You will be directed to a page where you can renew it", Level = TraceLevel.Error });
|
|
233 | 233 |
|
234 | 234 |
try |
235 | 235 |
{ |
236 | 236 |
|
237 |
var credentials = await PithosAccount.RetrieveCredentials(Settings.PithosLoginUrl); |
|
237 |
var name = CurrentAccount != null ? CurrentAccount.AccountName : null; |
|
238 |
var credentials = PithosAccount.RetrieveCredentials(Settings.PithosLoginUrl,name); |
|
239 |
if (credentials==null) |
|
240 |
return; |
|
238 | 241 |
//The server will return credentials for a different account, not just the current account |
239 | 242 |
//We need to find the correct account first |
240 | 243 |
var account = Accounts.First(act => act.AccountName == credentials.UserName); |
... | ... | |
394 | 397 |
|
395 | 398 |
} |
396 | 399 |
|
397 |
public async void AddPithosAccount()
|
|
400 |
public void AddPithosAccount() |
|
398 | 401 |
{ |
399 |
var credentials=await PithosAccount.RetrieveCredentials(Settings.PithosLoginUrl); |
|
402 |
var credentials=PithosAccount.RetrieveCredentials(Settings.PithosLoginUrl); |
|
403 |
if (credentials == null) |
|
404 |
return; |
|
400 | 405 |
var account = Settings.Accounts.FirstOrDefault(act => act.AccountName == credentials.UserName); |
401 | 406 |
var accountVM = new AccountViewModel(account); |
402 | 407 |
if (account == null) |
b/trunk/Pithos.Client.WPF/Properties/AssemblyInfo.cs | ||
---|---|---|
56 | 56 |
[assembly: AssemblyCopyright("Copyright © GRNet 2011-2012")] |
57 | 57 |
[assembly: AssemblyTrademark("")] |
58 | 58 |
[assembly: AssemblyCulture("")] |
59 |
[assembly: AssemblyInformationalVersion("2012-03-12")]
|
|
59 |
[assembly: AssemblyInformationalVersion("2012-03-14")]
|
|
60 | 60 |
|
61 | 61 |
// Setting ComVisible to false makes the types in this assembly not visible |
62 | 62 |
// to COM components. If you need to access a type in this assembly from |
... | ... | |
93 | 93 |
// You can specify all the values or you can default the Build and Revision Numbers |
94 | 94 |
// by using the '*' as shown below: |
95 | 95 |
// [assembly: AssemblyVersion("1.0.*")] |
96 |
[assembly: AssemblyVersion("0.7.20307.0")] |
|
97 |
[assembly: AssemblyFileVersionAttribute("0.7.20307.0")] |
|
96 |
[assembly: AssemblyVersion("0.7.20309.0")] |
|
97 |
[assembly: AssemblyFileVersionAttribute("0.7.20309.0")] |
b/trunk/Pithos.Client.WPF/Properties/Settings.Designer.cs | ||
---|---|---|
244 | 244 |
|
245 | 245 |
[global::System.Configuration.ApplicationScopedSettingAttribute()] |
246 | 246 |
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
247 |
[global::System.Configuration.DefaultSettingValueAttribute("https://plus.pithos.grnet.gr")]
|
|
247 |
[global::System.Configuration.DefaultSettingValueAttribute("https://pithos.okeanos.grnet.gr")]
|
|
248 | 248 |
public string ProductionServer { |
249 | 249 |
get { |
250 | 250 |
return ((string)(this["ProductionServer"])); |
b/trunk/Pithos.Client.WPF/Properties/Settings.settings | ||
---|---|---|
60 | 60 |
<Value Profile="(Default)">True</Value> |
61 | 61 |
</Setting> |
62 | 62 |
<Setting Name="ProductionServer" Type="System.String" Scope="Application"> |
63 |
<Value Profile="(Default)">https://plus.pithos.grnet.gr</Value>
|
|
63 |
<Value Profile="(Default)">https://pithos.okeanos.grnet.gr</Value>
|
|
64 | 64 |
</Setting> |
65 | 65 |
<Setting Name="DevelopmentServer" Type="System.String" Scope="Application"> |
66 | 66 |
<Value Profile="(Default)">https://pithos.dev.grnet.gr</Value> |
b/trunk/Pithos.Client.WPF/app.config | ||
---|---|---|
135 | 135 |
<value>https://pithos.dev.grnet.gr/im/feedback</value> |
136 | 136 |
</setting> |
137 | 137 |
<setting name="ProductionServer" serializeAs="String"> |
138 |
<value>https://plus.pithos.grnet.gr</value>
|
|
138 |
<value>https://pithos.okeanos.grnet.gr</value>
|
|
139 | 139 |
</setting> |
140 | 140 |
<setting name="DevelopmentServer" serializeAs="String"> |
141 | 141 |
<value>https://pithos.dev.grnet.gr</value> |
b/trunk/Pithos.Core/Agents/FileSystemWatcherAdapter.cs | ||
---|---|---|
39 | 39 |
* ----------------------------------------------------------------------- |
40 | 40 |
*/ |
41 | 41 |
#endregion |
42 |
|
|
43 |
using System.Diagnostics; |
|
42 | 44 |
using System.Diagnostics.Contracts; |
43 | 45 |
using System.IO; |
44 | 46 |
using System.Reflection; |
... | ... | |
84 | 86 |
} |
85 | 87 |
|
86 | 88 |
private string _cachedDeletedFullPath; |
89 |
private string CachedDeletedFullPath |
|
90 |
{ |
|
91 |
get { return _cachedDeletedFullPath; } |
|
92 |
set |
|
93 |
{ |
|
94 |
Debug.Assert(Path.IsPathRooted(CachedDeletedFullPath)); |
|
95 |
if (!Path.IsPathRooted(CachedDeletedFullPath)) |
|
96 |
Log.WarnFormat("Storing a relative CachedDeletedFullPath: {0}",value); |
|
97 |
_cachedDeletedFullPath = value; |
|
98 |
} |
|
99 |
} |
|
100 |
|
|
101 |
/// <summary> |
|
102 |
/// Clears any cached deleted file path |
|
103 |
/// </summary> |
|
104 |
/// <remarks> |
|
105 |
/// This method was added to bypass the null checking in the property's setter |
|
106 |
/// </remarks> |
|
107 |
private void ClearCachedDeletedPath() |
|
108 |
{ |
|
109 |
_cachedDeletedFullPath = null; |
|
110 |
} |
|
111 |
|
|
112 |
|
|
87 | 113 |
private const int PropagateDelay = 10; |
88 | 114 |
|
89 | 115 |
private void OnDeleted(object sender, FileSystemEventArgs e) |
... | ... | |
115 | 141 |
//TODO: Moving a folder to the recycle bin results in a single delete event for the entire folder and its contents |
116 | 142 |
// as this is actually a MOVE operation |
117 | 143 |
//Deleting by Shift+Delete results in a delete event for each file followed by the delete of the folder itself |
118 |
_cachedDeletedFullPath = e.FullPath;
|
|
144 |
CachedDeletedFullPath = e.FullPath;
|
|
119 | 145 |
|
120 |
//TODO: This requires synchronization of the _cachedDeletedFullPath field
|
|
146 |
//TODO: This requires synchronization of the CachedDeletedFullPath field
|
|
121 | 147 |
//TODO: This creates a new task for each file even though we can cancel any existing tasks if a new event arrives |
122 | 148 |
//Maybe, use a timer instead of a task |
123 | 149 |
|
124 | 150 |
TaskEx.Delay(PropagateDelay).ContinueWith(t => |
125 | 151 |
{ |
126 | 152 |
var myPath = e.FullPath; |
127 |
if (_cachedDeletedFullPath == myPath)
|
|
153 |
if (CachedDeletedFullPath == myPath)
|
|
128 | 154 |
PropagateCachedDeleted(sender); |
129 | 155 |
}); |
130 | 156 |
} |
... | ... | |
184 | 210 |
} |
185 | 211 |
finally |
186 | 212 |
{ |
187 |
_cachedDeletedFullPath = null;
|
|
213 |
ClearCachedDeletedPath();
|
|
188 | 214 |
} |
189 | 215 |
} |
190 | 216 |
|
... | ... | |
225 | 251 |
finally |
226 | 252 |
{ |
227 | 253 |
//Finally, make sure the cached path is cleared |
228 |
_cachedDeletedFullPath = null;
|
|
254 |
ClearCachedDeletedPath();
|
|
229 | 255 |
} |
230 | 256 |
} |
231 | 257 |
|
258 |
|
|
232 | 259 |
private void RaiseCreatedForChildren(object sender, FileSystemEventArgs e) |
233 | 260 |
{ |
234 | 261 |
Contract.Requires(sender!=null); |
... | ... | |
269 | 296 |
//instead of a sequence of independent actions |
270 | 297 |
//One way to detect this would be to request that the full paths are NOT the same |
271 | 298 |
|
272 |
var oldName = Path.GetFileName(_cachedDeletedFullPath);
|
|
299 |
var oldName = Path.GetFileName(CachedDeletedFullPath);
|
|
273 | 300 |
//NOTE: e.Name is a path relative to the watched path. We MUST call Path.GetFileName to get the actual path |
274 | 301 |
var newName = Path.GetFileName(e.Name); |
275 | 302 |
//If the last deleted filename is equal to the current and the action is create, we have a MOVE operation |
276 |
var hasMoved = (_cachedDeletedFullPath != e.FullPath && oldName == newName);
|
|
303 |
var hasMoved = (CachedDeletedFullPath != e.FullPath && oldName == newName);
|
|
277 | 304 |
|
278 | 305 |
if (!hasMoved) |
279 | 306 |
return false; |
... | ... | |
285 | 312 |
|
286 | 313 |
//If the actual action is a Move, raise a Move event instead of the actual event |
287 | 314 |
var newDirectory = Path.GetDirectoryName(e.FullPath); |
288 |
var oldDirectory = Path.GetDirectoryName(_cachedDeletedFullPath);
|
|
315 |
var oldDirectory = Path.GetDirectoryName(CachedDeletedFullPath);
|
|
289 | 316 |
|
290 | 317 |
if (Moved != null) |
291 | 318 |
{ |
... | ... | |
313 | 340 |
} |
314 | 341 |
finally |
315 | 342 |
{ |
316 |
_cachedDeletedFullPath = null;
|
|
343 |
ClearCachedDeletedPath();
|
|
317 | 344 |
} |
318 | 345 |
return true; |
319 | 346 |
} |
... | ... | |
322 | 349 |
{ |
323 | 350 |
if (sender == null) |
324 | 351 |
throw new ArgumentNullException("sender"); |
325 |
Contract.Ensures(_cachedDeletedFullPath == null);
|
|
352 |
Contract.Ensures(CachedDeletedFullPath == null);
|
|
326 | 353 |
Contract.EndContractBlock(); |
327 | 354 |
|
328 | 355 |
//Nothing to handle if there is no cached deleted file |
329 |
if (String.IsNullOrWhiteSpace(_cachedDeletedFullPath))
|
|
356 |
if (String.IsNullOrWhiteSpace(CachedDeletedFullPath))
|
|
330 | 357 |
return; |
331 | 358 |
|
332 |
var deletedFileName = Path.GetFileName(_cachedDeletedFullPath);
|
|
333 |
var deletedFileDirectory = Path.GetDirectoryName(_cachedDeletedFullPath);
|
|
359 |
var deletedFileName = Path.GetFileName(CachedDeletedFullPath);
|
|
360 |
var deletedFileDirectory = Path.GetDirectoryName(CachedDeletedFullPath);
|
|
334 | 361 |
|
335 | 362 |
if (Log.IsDebugEnabled) |
336 |
Log.DebugFormat("Propagating delete for [{0}]", _cachedDeletedFullPath);
|
|
363 |
Log.DebugFormat("Propagating delete for [{0}]", CachedDeletedFullPath);
|
|
337 | 364 |
|
338 | 365 |
//Only a single file Delete event is raised when moving a file to the Recycle Bin, as this is actually a MOVE operation |
339 | 366 |
//In this case we need to raise the proper events for all child objects of the deleted directory. |
... | ... | |
342 | 369 |
if (Deleted != null) |
343 | 370 |
Deleted(sender,new FileSystemEventArgs(WatcherChangeTypes.Deleted, deletedFileDirectory, deletedFileName)); |
344 | 371 |
|
345 |
_cachedDeletedFullPath = null;
|
|
372 |
ClearCachedDeletedPath();
|
|
346 | 373 |
} |
347 | 374 |
} |
348 | 375 |
} |
b/trunk/Pithos.Installer/Greek.isl | ||
---|---|---|
1 |
; *** Inno Setup version 5.1.11+ Greek messages *** |
|
2 |
; |
|
3 |
; Note: When translating this text, do not add periods (.) to the end of |
|
4 |
; messages that didn't have them already, because on those messages Inno |
|
5 |
; Setup adds the periods automatically (appending a period would result in |
|
6 |
; two periods being displayed). |
|
7 |
; |
|
8 |
; Translated by Anastasis Chatzioglou |
|
9 |
; http://anasto.go.to |
|
10 |
; baldycom@hotmail.com |
|
11 |
; |
|
12 |
; 29th October 2011 [XhmikosR, my_nickname at yahoo dot com]: |
|
13 |
; various cleanup and minor updates |
|
14 |
; |
|
15 |
|
|
16 |
[LangOptions] |
|
17 |
; The following three entries are very important. Be sure to read and |
|
18 |
; understand the '[LangOptions] section' topic in the help file. |
|
19 |
LanguageName=<0395><03BB><03BB><03B7><03BD><03B9><03BA><03AC> |
|
20 |
LanguageID=$408 |
|
21 |
LanguageCodePage=1253 |
|
22 |
; If the language you are translating to requires special font faces or |
|
23 |
; sizes, uncomment any of the following entries and change them accordingly. |
|
24 |
;DialogFontName= |
|
25 |
;DialogFontSize=8 |
|
26 |
;WelcomeFontName=Verdana |
|
27 |
;WelcomeFontSize=12 |
|
28 |
;TitleFontName=Arial |
|
29 |
;TitleFontSize=29 |
|
30 |
;CopyrightFontName=Arial |
|
31 |
;CopyrightFontSize=8 |
|
32 |
|
|
33 |
[Messages] |
|
34 |
|
|
35 |
; *** Application titles |
|
36 |
SetupAppTitle=??????????? |
|
37 |
SetupWindowTitle=??????????? - %1 |
|
38 |
UninstallAppTitle=????????????? |
|
39 |
UninstallAppFullTitle=%1 ????????????? |
|
40 |
|
|
41 |
; *** Misc. common |
|
42 |
InformationTitle=??????????? |
|
43 |
ConfirmTitle=??????????? |
|
44 |
ErrorTitle=?????? |
|
45 |
|
|
46 |
; *** SetupLdr messages |
|
47 |
SetupLdrStartupMessage=?? ?????????? ? ??????????? ??? %1. ?????? ?? ??????????; |
|
48 |
LdrCannotCreateTemp=?????? ??? ?????????? ?????????? ???????. ? ??????????? ?? ??????????? ????. |
|
49 |
LdrCannotExecTemp=?????? ???? ???????? ??????? ???? ????????? ????????. ? ??????????? ????????????. |
|
50 |
|
|
51 |
; *** Startup error messages |
|
52 |
LastErrorMessage=%1.%n%n?????? %2: %3 |
|
53 |
SetupFileMissing=??? ????????? ?? ?????? %1 ???? ???????? ????????????. ???? ?????????? ?? ????????????? ??? ??? ????????? ??? ????????????. |
|
54 |
SetupFileCorrupt=?? ?????? ???????????? ????? ?????????????. ???? ?????????? ?? ????????????? ??? ??? ????????? ??? ????????????. |
|
55 |
SetupFileCorruptOrWrongVer=?? ?????? ???????????? ????? ????????????? ? ????? ?? ????? ??????. ???? ?????????? ?? ????????????? ??? ??? ????????? ??? ????????????. |
|
56 |
NotOnThisPlatform=???? ?? ????????? ??? ?????? ?? ?????????? ?? %1. |
|
57 |
OnlyOnThisPlatform=???? ?? ????????? ?????????? ???? ?? %1. |
|
58 |
OnlyOnTheseArchitectures=???? ?? ????????? ?????? ?? ???????????? ???? ?? Windows ??????????? ??? ???????????? ?? ?????????????:%n%n%1 |
|
59 |
MissingWOW64APIs=? ?????? ??? Windows ??? ?????????? ??? ???????? ??????????????? 64-bit. ??? ?? ????????? ?? ???????? ??????????? ?? Service Pack %1. |
|
60 |
WinVersionTooLowError=???? ?? ????????? ??????? %1 ?????? ? ???????. |
|
61 |
WinVersionTooHighError=???? ?? ????????? ??? ?????? ?? ?????????? ?? %1 ?????? ? ???????. |
|
62 |
AdminPrivilegesRequired=?????? ?? ????? ? ???????????? ?????????? ??? ?? ????????????? ???? ?? ?????????. |
|
63 |
PowerUserPrivilegesRequired=?????? ?? ????? ? ???????????? ?????????? ? Power User ??? ?? ????????????? ???? ?? ?????????. |
|
64 |
SetupAppRunningError=? ??????????? ???????? ??? ?????????? ? ???????? %1.%n%n???????? ??????? ??? ???????? ???? ??? ??????? ??????? ??? ?? ??????????, ? ????? ??? ?????. |
|
65 |
UninstallAppRunningError=? ????????????? ???????? ??? ?????????? ? ???????? %1.%n%n???????? ??????? ??? ???????? ???? ??? ??????? ??????? ??? ?? ??????????, ? ????? ??? ?????. |
|
66 |
|
|
67 |
; *** Misc. errors |
|
68 |
ErrorCreatingDir=? ??????????? ??? ?????? ?? ???????????? ??? ???????? %1 |
|
69 |
ErrorTooManyFilesInDir=??? ?????? ?? ???????????? ??? ?????? ???? ???????? "%1" ?????? ??? ???????? ????? ?????? |
|
70 |
|
|
71 |
; *** Setup common messages |
|
72 |
ExitSetupTitle=????? ???????????? |
|
73 |
ExitSetupMessage=? ??????????? ??? ???? ?????????. ?? ?? ??????????? ????, ?? ????????? ??? ?? ????????????.%n%n???????? ?? ?????????? ???? ??? ??????????? ????????.%n%n??????; |
|
74 |
AboutSetupMenuItem=&??????? ?? ??? ???????????... |
|
75 |
AboutSetupTitle=??????? ?? ??? ??????????? |
|
76 |
AboutSetupMessage=%1 ?????? %2%n%3%n%n%1 ????????? ??????%n%4 |
|
77 |
AboutSetupNote= |
|
78 |
TranslatorNote=Anastasis Chatzioglou - baldycom@hotmail.com |
|
79 |
|
|
80 |
; *** Buttons |
|
81 |
ButtonBack=< &???? |
|
82 |
ButtonNext=&??????? > |
|
83 |
ButtonInstall=&??????????? |
|
84 |
ButtonOK=?&?????? |
|
85 |
ButtonCancel=&????? |
|
86 |
ButtonYes=?&?? |
|
87 |
ButtonYesToAll=??? ?? &??? |
|
88 |
ButtonNo=?&?? |
|
89 |
ButtonNoToAll=??? &?? ??? |
|
90 |
ButtonFinish=&????? |
|
91 |
ButtonBrowse=&?????????... |
|
92 |
ButtonWizardBrowse=&??????... |
|
93 |
ButtonNewFolder=&?????????? ???? ??????? |
|
94 |
|
|
95 |
; *** "Select Language" dialog messages |
|
96 |
SelectLanguageTitle=??????? ??? ??????? ???????????? |
|
97 |
SelectLanguageLabel=??????? ??? ??????? ??? ????? ???? ??? ???????? ??? ????????????: |
|
98 |
|
|
99 |
; *** Common wizard text |
|
100 |
ClickNext=??????? ??????? ??? ?? ?????????? ? ????? ??? ?? ??????????? ??? ???????????. |
|
101 |
BeveledLabel= |
|
102 |
BrowseDialogTitle=?????? ??????? |
|
103 |
BrowseDialogLabel=???????? ?????? ???? ????? ??? ???? ??????? OK. |
|
104 |
NewFolderName=???? ??????? |
|
105 |
|
|
106 |
; *** "Welcome" wizard page |
|
107 |
WelcomeLabel1=???????????? ???? ??????????? ??? [name] |
|
108 |
WelcomeLabel2=?? ????? ??????????? ??? [name/ver] ???? ?????????? ???.%n%n???? ?????????? ??? ?????????? ?? ???????? ???? ???? ???????? ??? ??????? ?????????. |
|
109 |
|
|
110 |
; *** "Password" wizard page |
|
111 |
WizardPassword=???????? ??????? |
|
112 |
PasswordLabel1=???? ? ??????????? ?????????? ?????? ??? ?? ??????????. |
|
113 |
PasswordLabel3=???????? ????? ??? ?????? ??? ??? ??????? ??????? ??? ?? ??????????. |
|
114 |
PasswordEditLabel=&???????: |
|
115 |
IncorrectPassword=? ??????? ??? ?????? ????? ?????. ??????????? ????. |
|
116 |
|
|
117 |
; *** "License Agreement" wizard page |
|
118 |
WizardLicense=????? ?????? |
|
119 |
LicenseLabel=???????? ???????? ?????????? ??? ???????? ??????????? ???? ??????????. |
|
120 |
LicenseLabel3=???????? ???????? ?????????? ??? ???????? ??????????? ???? ??????????. ?????? ?? ?????????? ???? ????? ??? ?????? ?????? ???? ?? ?????????? ??? ???????????. |
|
121 |
LicenseAccepted=&??????? ???? ????? ??? ?????? ?????? |
|
122 |
LicenseNotAccepted=??? &?????????? ???? ????? ??? ?????? ?????? |
|
123 |
|
|
124 |
; *** "Information" wizard pages |
|
125 |
WizardInfoBefore=??????????? |
|
126 |
InfoBeforeLabel=???????? ???????? ?????????? ??? ???????? ??????????? ???? ??????????. |
|
127 |
InfoBeforeClickLabel=?? ????? ??????? ?? ?????????? ??????? ???????. |
|
128 |
WizardInfoAfter=??????????? |
|
129 |
InfoAfterLabel=???????? ???????? ?????????? ??? ???????? ??????????? ???? ??????????. |
|
130 |
InfoAfterClickLabel=?? ????? ??????? ?? ?????????? ??????? ???????. |
|
131 |
|
|
132 |
; *** "User Information" wizard page |
|
133 |
WizardUserInfo=??????????? ??? ??? ?????? |
|
134 |
UserInfoDesc=???????? ????? ??? ???????????. |
|
135 |
UserInfoName=&????? ??????: |
|
136 |
UserInfoOrg=&????????: |
|
137 |
UserInfoSerial=&???????? ??????: |
|
138 |
UserInfoNameRequired=?????? ?? ?????? ?????. |
|
139 |
|
|
140 |
; *** "Select Destination Location" wizard page |
|
141 |
WizardSelectDir=???????? ??? ???????? ??? ?? ???????????? ?? ????????? |
|
142 |
SelectDirDesc=??? ?? ???????????? ?? [name]; |
|
143 |
SelectDirLabel3=?? [name] ?? ???????????? ???? ???????? ??????. |
|
144 |
SelectDirBrowseLabel=??? ???????? ??????? ???????. ?? ?????? ???? ??????, ??????? ??????. |
|
145 |
DiskSpaceMBLabel=???? ?? ????????? ?????????? [mb] MB ???? ???? ?????. |
|
146 |
ToUNCPathname=? ??????????? ??? ?????? ?? ????? ?? ????? ???????. ?? ?????? ?? ????? ? ??????????? ?? ????? ??????? ?????? ?? ??????? ????? ?? ?????. |
|
147 |
InvalidPath=????? ??? ????? ????????.%n??????????:%n%nC:\APP |
|
148 |
InvalidDrive=? ??????? ?????? ? ? ?????? ??????? ??? ????????? ??? ??????? ? ??? ????? ???????????. ???????? ?????. |
|
149 |
DiskSpaceWarningTitle=??? ??????? ??????? ????? ??? ????? |
|
150 |
DiskSpaceWarning=? ??????????? ?????????? ??????????? %1 KB ???????? ???? ??? ????? ???? ? ??????????? ?????? ???????? ????? %2 KB.%n%n?????? ?? ?????????? ??????????; |
|
151 |
DirNameTooLong=?? ????? ??? ??????? ????? ???? ??????. |
|
152 |
InvalidDirName=????? ????? ???????. |
|
153 |
BadDirName32=??????? ????????? ??? ??????? ?? ????????? ??????? ??? ???? ???????? ??????????:%n%n%1 |
|
154 |
DirExistsTitle=? ????????? ??????? |
|
155 |
DirExists=? ?????????:%n%n%1%n%n??????? ???. ?????? ?? ????? ? ??????????? ?? ????? ??? ????????; |
|
156 |
DirDoesntExistTitle=? ????????? ??? ??????? |
|
157 |
DirDoesntExist=? ?????????:%n%n%1%n%n??? ???????. ?????? ?? ????????????; |
|
158 |
|
|
159 |
; *** "Select Components" wizard page |
|
160 |
WizardSelectComponents=??????? ?????????? |
|
161 |
SelectComponentsDesc=???? ????????? ?????? ?? ?????????????; |
|
162 |
SelectComponentsLabel2=???????? ?? ????????? ??? ?????? ?? ????????????? ??? ??????? ??????? ??? ???????? ??? ????????????. |
|
163 |
FullInstallation=?????? ???????????. |
|
164 |
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) |
|
165 |
CompactInstallation=???????????? ??????????? |
|
166 |
CustomInstallation=????????????? ??????????? |
|
167 |
NoUninstallWarningTitle=?? ????????? ???????? |
|
168 |
NoUninstallWarning=? ??????????? ?????????? ??? ?? ???????? ????????? ????? ??? ????????????? ???? ?????????? ???:%n%n%1 |
|
169 |
ComponentSize1=%1 KB |
|
170 |
ComponentSize2=%1 MB |
|
171 |
ComponentsDiskSpaceMBLabel=? ???????????? ??????? ??????? ??????????? [mb] MB ???????? ???? ???? ?????. |
|
172 |
|
|
173 |
; *** "Select Additional Tasks" wizard page |
|
174 |
WizardSelectTasks=??????? ????????? ????????? |
|
175 |
SelectTasksDesc=????? ???????? ????????? ?????? ?? ??????; |
|
176 |
SelectTasksLabel2=???????? ??? ???????? ????????? ??? ?????? ?? ?????? ???? ??? ??????????? ??? [name] ??? ??????? ???????. |
|
177 |
|
|
178 |
; *** "Select Start Menu Folder" wizard page |
|
179 |
WizardSelectProgramGroup=??????? ????????? ??? ????? ???????? |
|
180 |
SelectStartMenuFolderDesc=??? ?? ???????????? ?? ???????????? ??? ????????????; |
|
181 |
SelectStartMenuFolderLabel3=? ??????????? ?? ???????????? ??? ???????????? ??? ???????????? ???? ???????? ?????. |
|
182 |
SelectStartMenuFolderBrowseLabel=??? ????????, ??????? ???????. ?? ?????? ???? ?????, ??????? ??????. |
|
183 |
MustEnterGroupName=?????? ?? ?????? ?? ????? ???? ?????????. |
|
184 |
GroupNameTooLong=?? ????? ??? group ????? ???? ??????. |
|
185 |
InvalidGroupName=?? ????? ??? group ??? ????? ?????. |
|
186 |
BadGroupName=??????? ????????? ??? ??????? ?? ????????? ??????? ??? ???? ???????? ??????????:%n%n%1 |
|
187 |
NoProgramGroupCheck2=&????? ?????????? ????????? ??? ????? ????????. |
|
188 |
|
|
189 |
; *** "Ready to Install" wizard page |
|
190 |
WizardReady=??????? ??? ??????????? |
|
191 |
ReadyLabel1=? ??????????? ??? [name] ????? ?????? ?? ?????????? ???? ?????????? ???. |
|
192 |
ReadyLabel2a=??????? ??????????? ??? ?? ?????????? ? ???? ?? ?????? ?? ???????? ??????? ?????????. |
|
193 |
ReadyLabel2b=??????? ??????????? ??? ?? ??????????. |
|
194 |
ReadyMemoUserInfo=??????????? ??????: |
|
195 |
ReadyMemoDir=????????? ??????????: |
|
196 |
ReadyMemoType=????? ????????????: |
|
197 |
ReadyMemoComponents=?????????? ?????????: |
|
198 |
ReadyMemoGroup=????????? ??? ????? ???????????: |
|
199 |
ReadyMemoTasks=???????? ?????????: |
|
200 |
|
|
201 |
; *** "Preparing to Install" wizard page |
|
202 |
WizardPreparing=???????????? ???????????? |
|
203 |
PreparingDesc=? ??????????? ???????????? ?? ????????? [name] ?? ??????????? ???? ??????????. |
|
204 |
PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name]. |
|
205 |
CannotContinue=Setup cannot continue. Please click Cancel to exit. |
|
206 |
|
|
207 |
; *** "Installing" wizard page |
|
208 |
WizardInstalling=??????? ???????????? |
|
209 |
InstallingLabel=???????? ?????????? ?? ??????????? ? ??????????? ??? [name] ???? ?????????? ???. |
|
210 |
|
|
211 |
; *** "Setup Completed" wizard page |
|
212 |
FinishedHeadingLabel=Completing the [name] Setup Wizard |
|
213 |
FinishedLabelNoIcons=? ??????????? ??? [name] ???? ?????????? ??? ???????? ?? ????????. |
|
214 |
FinishedLabel=? ??????????? ??? [name] ???? ?????????? ??? ???????? ?? ????????. ???????? ?? ?????????? ?? ????????? ??????????? ?? ????????? ??? ????????????? ??? ????? ????????. |
|
215 |
ClickFinish=??????? ????? ??? ?? ??????????? ?? ????????? ????????????. |
|
216 |
FinishedRestartLabel=??? ?? ??????????? ? ??????????? ??? [name] ?????? ?? ????? ???????????? ??? ?????????? ???. ?????? ?? ????? ????; |
|
217 |
FinishedRestartMessage=??? ?? ??????????? ? ??????????? ??? [name] ?????? ?? ????? ???????????? ??? ?????????? ???.%n%n?????? ?? ????? ????; |
|
218 |
ShowReadmeCheck=???, ???? ?? ??????? ??? ??????????? ??? ???????????? |
|
219 |
YesRadio=&???, ?? ????? ???????????? ???? |
|
220 |
NoRadio=&???, ?? ???? ???????????? ???????? |
|
221 |
; used for example as 'Run MyProg.exe' |
|
222 |
RunEntryExec=?? ?????????? ?? ????????? %1 |
|
223 |
; used for example as 'View Readme.txt' |
|
224 |
RunEntryShellExec=?? ?????????? ?? %1 |
|
225 |
|
|
226 |
; *** "Setup Needs the Next Disk" stuff |
|
227 |
ChangeDiskTitle=??????????? ??? ??????? ???????? |
|
228 |
SelectDiskLabel2=??????????? ??? ???????? %1 ??? ??????? ???????. |
|
229 |
PathLabel=&????????: |
|
230 |
FileNotInDir2=?? ?????? "%1" ??? ????????? ??? "%2". ??????????? ?? ????? ????????. |
|
231 |
SelectDirectoryLabel=????? ??? ????????? ??? ???????? ?????????. |
|
232 |
|
|
233 |
; *** Installation phase messages |
|
234 |
SetupAborted=? ??????????? ??? ????????????.%n%n????????? ?? ???????? ??? ????????? ???? ??? ???????????. |
|
235 |
EntryAbortRetryIgnore=??????? Retry ??? ?? ????????????????, Ignore ??? ?? ?????????? ? Abort ??? ?? ??????????? ??? ???????????. |
|
236 |
|
|
237 |
; *** Installation status messages |
|
238 |
StatusCreateDirs=?????????? ?????????... |
|
239 |
StatusExtractFiles=??????????? ???????... |
|
240 |
StatusCreateIcons=?????????? ??????????... |
|
241 |
StatusCreateIniEntries=?????????? ??? ??? ?????? ??????????... |
|
242 |
StatusCreateRegistryEntries=?????????? ??? ?????? ??????????... |
|
243 |
StatusRegisterFiles=?????????? ??????? |
|
244 |
StatusSavingUninstall=??????????? ??????????????... |
|
245 |
StatusRunProgram=???????????? ??? ???????????... |
|
246 |
StatusRollback=Rolling back changes... |
|
247 |
|
|
248 |
; *** Misc. errors |
|
249 |
ErrorInternal2=?????? %1 |
|
250 |
ErrorFunctionFailedNoCode=%1 ?????? |
|
251 |
ErrorFunctionFailed=%1 ??????, ??????? %2 |
|
252 |
ErrorFunctionFailedWithMessage=%1 ??????, ??????? %2%n%3 |
|
253 |
ErrorExecutingProgram=??? ?????? ?? ?????????? ?? ??????:%n%1 |
|
254 |
|
|
255 |
; *** Registry errors |
|
256 |
ErrorRegOpenKey=??? ?????? ?? ????????? ?? ?????? ??????? ??????????:%n%1\%2 |
|
257 |
ErrorRegCreateKey=??? ?????? ?? ???????????? ?? ?????? ??????? ??????????:%n%1\%2 |
|
258 |
ErrorRegWriteKey=??? ?????? ?? ????? ?????????? ??? ?????? ??????? ??????????:%n%1\%2 |
|
259 |
|
|
260 |
; *** INI errors |
|
261 |
ErrorIniEntry=??? ?????? ?? ????? ?????????? ??? ??? ?????? ?????????? "%1". |
|
262 |
|
|
263 |
; *** File copying errors |
|
264 |
FileAbortRetryIgnore=??????? Retry ??? ?? ????????????????, Ignore ??? ?? ?????????? ? Abort ??? ?? ??????????? ??? ???????????. |
|
265 |
FileAbortRetryIgnore2=??????? Retry ??? ?? ????????????????, Ignore ??? ?? ?????????? ? Abort ??? ?? ??????????? ??? ???????????. |
|
266 |
SourceIsCorrupted=?? ?????? ?????????? ????? ????????????? |
|
267 |
SourceDoesntExist=?? ?????? ?????????? "%1" ??? ??????? |
|
268 |
ExistingFileReadOnly=?? ?????? ????? ????????????? ???? ??? ????????.%n%n??????? Retry ??? ?? ?? ??????????? ??? ?? ???????????? ????, Ignore ??? ?? ?? ???????????? ? Abort ??? ?? ??????????? ??? ???????????. |
|
269 |
ErrorReadingExistingDest=????????????? ?????? ???? ??? ???????? ??? ???????: |
|
270 |
FileExists=?? ?????? ???????.%n%n?????? ?? ???????????; |
|
271 |
ExistingFileNewer=??? ?????? ??? ??????? ???? ?????????? ??? ????? ???????? ??????? ??? ?????? ??? ????????????. ??????????? ?? ????????? ?? ??????? ??????.%n%n?????? ?? ????????? ?? ??????? ??????; |
|
272 |
ErrorChangingAttr=???????? ?????? ???? ?????????? ?? ????????? ?? ?????????????? ??? ???????: |
|
273 |
ErrorCreatingTemp=???????? ?????? ???? ?????????? ?? ???????????? ??? ?????? ???? ???????? ??????????: |
|
274 |
ErrorReadingSource=???????? ?????? ???? ?????????? ????????? ??? ??????? ??????????: |
|
275 |
ErrorCopying=???????? ?????? ???? ?????????? ?? ?????????? ?? ??????: |
|
276 |
ErrorReplacingExistingFile=???????? ?????? ???? ?????????? ?? ?????????????? ?? ??????? ??????: |
|
277 |
ErrorRestartReplace=???????? ?????? ???? ?????????? ?? ????? ???????????? ??? ????????????? ???????: |
|
278 |
ErrorRenamingTemp=???????? ?????? ???? ?????????? ???????????? ???? ??????? ???? ???????? ??????????: |
|
279 |
ErrorRegisterServer=???????? ?????? ???? ?????????? ??????????? DLL/OCX: %1 |
|
280 |
ErrorRegSvr32Failed=RegSvr32 failed with exit code %1 |
|
281 |
ErrorRegisterTypeLib=Unable to register the type library: %1 |
|
282 |
|
|
283 |
; *** Post-installation errors |
|
284 |
ErrorOpeningReadme=???????? ?????? ???? ?????????? ?? ???????? ?? ?????? ???????????. |
|
285 |
ErrorRestartingComputer=???????? ?????? ???? ?????????? ????????????? ??? ??????????. ???????? ????????????? ??? ?????????? ???. |
|
286 |
|
|
287 |
; *** Uninstaller messages |
|
288 |
UninstallNotFound=?? ?????? "%1" ??? ???????. ? ????????????? ??? ?????? ?? ????? |
|
289 |
UninstallOpenError=?? ?????? "%1" ??? ??????? ?? ????????. ? ????????????? ??? ?????? ?? ????? |
|
290 |
UninstallUnsupportedVer=?? ?????? "%1" ??? ????????????? ??? ???? ??? ?????? ??? ????????????, ? ????????????? ??? ?????? ?? ?????????? |
|
291 |
UninstallUnknownEntry=?? ?????? "%1" ??? ????????????? ??? ???? ??? ?????? ??? ????????????, ? ????????????? ??? ?????? ?? ?????????? |
|
292 |
ConfirmUninstall=????? ???????? ??? ?????? ?? ?????????? ?? %1 ??? ??? ?? ????????? ???; |
|
293 |
UninstallOnlyOnWin64=???? ? ???????? ?????? ?? ?????????????? ???? ?? 64-bit Windows. |
|
294 |
OnlyAdminCanUninstall=? ????????????? ?????? ?? ?????????? ???? ??? ??? ??????????? ?????????? |
|
295 |
UninstallStatusLabel=???????? ?????????? ??? ?? %1 ?????????? ??? ??? ?????????? ??? |
|
296 |
UninstalledAll=? ????????????? ??? %1 ????? ?? ????????. |
|
297 |
UninstalledMost=? ????????????? ??? %1 ????? ?? ????????.%n%n?????? ????????? ??? ?????????? ???? ?????????? ??? ?? ?????? ?? ?? ?????????? ?????. |
|
298 |
UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now? |
|
299 |
UninstallDataCorrupted="%1" ???? ?? ?????? ????? ?????????????. ??? ?????? ?? ????? ?????????????. |
|
300 |
|
|
301 |
; *** Uninstallation phase messages |
|
302 |
ConfirmDeleteSharedFileTitle=?????? ?? ?????????? ?? ????? ??????; |
|
303 |
ConfirmDeleteSharedFile2=?? ????? ?????? ??? ???????????????? ??? ?????? ?????????. ?????? ?? ??????????;%n%n?? ?????? ????????? ?? ???????????? ???? ??? ?????????? ????? ?? ?? ??????????. ?? ??? ????? ???????? ?????? ?? ??? ??????? ??? ??? ????????? ?????? ????????. |
|
304 |
SharedFileNameLabel=????? ???????: |
|
305 |
SharedFileLocationLabel=?????????: |
|
306 |
WizardUninstalling=??????? ??????????????: |
|
307 |
StatusUninstalling=????????????? ??? %1... |
|
308 |
|
|
309 |
; The custom messages below aren't used by Setup itself, but if you make |
|
310 |
; use of them in your scripts, you'll want to translate them. |
|
311 |
|
|
312 |
[CustomMessages] |
|
313 |
|
|
314 |
NameAndVersion=%1 ?????? %2 |
|
315 |
AdditionalIcons=???????? ?????????: |
|
316 |
CreateDesktopIcon=?????????? ???? &?????????? ???? ????????? ???????? |
|
317 |
CreateQuickLaunchIcon=?????????? ???? ?????????? ??? &??????? ???????? |
|
318 |
ProgramOnTheWeb=?? %1 ??? Internet |
|
319 |
UninstallProgram=????????????? ??? %1 |
|
320 |
LaunchProgram=???????? ??? %1 |
|
321 |
AssocFileExtension=%???????????? ??? %1 ?? ??? %2 ???????? ??????? |
|
322 |
AssocingFileExtension=??????? ???????????? ??? %1 ?? ??? %2 ???????? ???????... |
|
323 |
|
b/trunk/Pithos.Installer/rnotes.0.7.20308.html | ||
---|---|---|
1 |
Pithos MS Client v. 0.7.20307 |
|
2 |
====================== |
|
1 |
<html> |
|
2 |
<body> |
|
3 |
<h2>Pithos MS Client v. 0.7.20308</h2> |
|
3 | 4 |
Release Date: March 12, 2012, 17:00 |
4 |
Third version with Autoupdate support (for the x64 msi's only) |
|
5 |
|
|
5 |
<br/> |
|
6 | 6 |
Includes: |
7 |
|
|
8 |
* Various fixes |
|
7 |
<br/> |
|
8 |
<ul> |
|
9 |
<li> Various fixes</li> |
|
10 |
</ul> |
|
11 |
</body> |
|
12 |
</html> |
b/trunk/Pithos.Installer/versioninfo.xml | ||
---|---|---|
7 | 7 |
<description></description> |
8 | 8 |
<language>en</language> |
9 | 9 |
<item> |
10 |
<title>Version 0.7.20309</title> |
|
11 |
<sparkle:releaseNotesLink>https://code.grnet.gr/projects/pithos-ms-client/repository/revisions/master/raw/trunk/Pithos.Installer/rnotes.0.7.20309.html</sparkle:releaseNotesLink> |
|
12 |
<pubDate>Tue, 14 Mar 2012 19:00:00 +0200</pubDate> |
|
13 |
<enclosure |
|
14 |
url="https://code.grnet.gr/attachments/download/1010/PithosPlus_Setupv0.7.20309.0.exe" |
|
15 |
length="4343021" |
|
16 |
type="application/octet-stream" |
|
17 |
sparkle:version="0.7.20309" |
|
18 |
/> |
|
19 |
</item> |
|
20 |
<item> |
|
10 | 21 |
<title>Version 0.7.20308</title> |
11 | 22 |
<sparkle:releaseNotesLink>https://code.grnet.gr/projects/pithos-ms-client/repository/revisions/master/raw/trunk/Pithos.Installer/rnotes.0.7.20308.html</sparkle:releaseNotesLink> |
12 | 23 |
<pubDate>Tue, 13 Mar 2012 18:30:00 +0200</pubDate> |
b/trunk/Pithos.ShellExtensions/Pithos.ShellExtensions.csproj | ||
---|---|---|
23 | 23 |
<DefineConstants>DEBUG;TRACE</DefineConstants> |
24 | 24 |
<ErrorReport>prompt</ErrorReport> |
25 | 25 |
<WarningLevel>4</WarningLevel> |
26 |
<RegisterForComInterop>true</RegisterForComInterop>
|
|
26 |
<RegisterForComInterop>false</RegisterForComInterop>
|
|
27 | 27 |
<CodeContractsEnableRuntimeChecking>False</CodeContractsEnableRuntimeChecking> |
28 | 28 |
<CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface> |
29 | 29 |
<CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure> |
Also available in: Unified diff