Fixed issue #89.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@363 59da171f-624f-0410-aa54-27559c288bec
This commit is contained in:
@@ -94,6 +94,11 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>FilterDialog.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HelperControls\Strings\FilterEditor.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>FilterEditor.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HelperControls\Strings\SizeSelector.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
@@ -1017,6 +1022,10 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Database schema\3. Default managed SSH.sql" />
|
||||
<EmbeddedResource Include="HelperControls\Strings\FilterEditor.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>FilterEditor.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="HelperControls\Strings\WaitForOperation.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>WaitForOperation.Designer.cs</LastGenOutput>
|
||||
|
||||
@@ -47,6 +47,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.FilenameTester = new System.Windows.Forms.TextBox();
|
||||
this.TestResults = new System.Windows.Forms.PictureBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.TestResults)).BeginInit();
|
||||
@@ -217,5 +218,6 @@ namespace Duplicati.GUI.HelperControls
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox FilenameTester;
|
||||
private System.Windows.Forms.PictureBox TestResults;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,15 +72,16 @@ namespace Duplicati.GUI.HelperControls
|
||||
{
|
||||
if (FilenameTester.Text.Trim().Length == 0 || string.IsNullOrEmpty(m_basepath))
|
||||
{
|
||||
SetTooltipMessage("");
|
||||
TestResults.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
string filename = FilenameTester.Text;
|
||||
|
||||
if (filename.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0)
|
||||
{
|
||||
SetTooltipMessage(string.Format(Strings.FilterEditor.InvalidCharsInFilenameError, filename));
|
||||
TestResults.Visible = false;
|
||||
return;
|
||||
}
|
||||
@@ -90,15 +91,52 @@ namespace Duplicati.GUI.HelperControls
|
||||
|
||||
if (!filename.StartsWith(m_basepath))
|
||||
{
|
||||
SetTooltipMessage(string.Format(Strings.FilterEditor.FilenameIsNotInRootFolder, filename, m_basepath));
|
||||
TestResults.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
List<string> parentFolders = new List<string>();
|
||||
string folder = filename;
|
||||
while (folder.Length > m_basepath.Length)
|
||||
{
|
||||
folder = System.IO.Path.GetDirectoryName(folder);
|
||||
parentFolders.Add(Duplicati.Library.Core.Utility.AppendDirSeperator(folder));
|
||||
}
|
||||
|
||||
parentFolders.Reverse();
|
||||
|
||||
Library.Core.FilenameFilter fn = new Duplicati.Library.Core.FilenameFilter(GetFilterList());
|
||||
TestResults.Image = imageList1.Images[fn.ShouldInclude(m_basepath, filename) ? 0 : 1];
|
||||
Library.Core.IFilenameFilter match;
|
||||
foreach(string s in parentFolders)
|
||||
if (!fn.ShouldInclude(m_basepath, s, out match))
|
||||
{
|
||||
SetTooltipMessage(string.Format(Strings.FilterEditor.FolderIsExcluded, s, ((Library.Core.RegularExpressionFilter)match).Expression.ToString()));
|
||||
TestResults.Image = imageList1.Images[1];
|
||||
TestResults.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
TestResults.Image = imageList1.Images[fn.ShouldInclude(m_basepath, filename, out match) ? 0 : 1];
|
||||
|
||||
if (match == null)
|
||||
SetTooltipMessage(string.Format(Strings.FilterEditor.FileIsIncludedDefault, filename));
|
||||
else if (match.Include)
|
||||
SetTooltipMessage(string.Format(Strings.FilterEditor.FileIsIncluded, filename, ((Library.Core.RegularExpressionFilter)match).Expression.ToString()));
|
||||
else
|
||||
SetTooltipMessage(string.Format(Strings.FilterEditor.FileIsExcluded, filename, ((Library.Core.RegularExpressionFilter)match).Expression.ToString()));
|
||||
|
||||
TestResults.Visible = true;
|
||||
}
|
||||
|
||||
private void SetTooltipMessage(string message)
|
||||
{
|
||||
toolTip1.SetToolTip(FilenameTester, message);
|
||||
toolTip1.SetToolTip(label1, message);
|
||||
toolTip1.SetToolTip(TestResults, message);
|
||||
toolTip1.Show(message, TestResults, 5000);
|
||||
}
|
||||
|
||||
private void listView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
RemoveFilterButton.Enabled =
|
||||
@@ -115,6 +153,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
{
|
||||
while (listView.SelectedItems.Count > 0)
|
||||
listView.Items.Remove(listView.SelectedItems[0]);
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
|
||||
private void EditFilterButton_Click(object sender, EventArgs e)
|
||||
@@ -126,6 +165,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
{
|
||||
listView.SelectedItems[0].Text = dlg.Filter.Value;
|
||||
listView.SelectedItems[0].ImageIndex = dlg.Filter.Key ? 0 : 1;
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,6 +179,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
listView.Items.RemoveAt(index);
|
||||
listView.Items.Insert(index - 1, lvi);
|
||||
lvi.Selected = true;
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,6 +192,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
listView.Items.RemoveAt(index);
|
||||
listView.Items.Insert(index + 1, lvi);
|
||||
lvi.Selected = true;
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,6 +205,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
listView.Items.RemoveAt(index);
|
||||
listView.Items.Insert(0, lvi);
|
||||
lvi.Selected = true;
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,6 +218,7 @@ namespace Duplicati.GUI.HelperControls
|
||||
listView.Items.RemoveAt(index);
|
||||
listView.Items.Insert(listView.Items.Count, lvi);
|
||||
lvi.Selected = true;
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +226,10 @@ namespace Duplicati.GUI.HelperControls
|
||||
{
|
||||
FilterDialog dlg = new FilterDialog(new KeyValuePair<bool, string>(true, ""));
|
||||
if (dlg.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
listView.Items.Add(dlg.Filter.Value, dlg.Filter.Key ? 0 : 1);
|
||||
FilenameTester_TextChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
private void FilterEditor_Load(object sender, EventArgs e)
|
||||
|
||||
@@ -142,29 +142,28 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD6
|
||||
BAAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABEAMAAQEBAAEgBgABEP8AKwABFAIBARoBLQIBAUMBLQIBAUMBLQIBAUPwAAFYAQMBAgGyAVkB4gGM
|
||||
Af8BWAHhAYkB/wFKAcgBcgH/8AABWAEDAQIBsgFNAdQBbQH/AUQBywFUAf8BSgHJAXIB//AAAVgBAwEC
|
||||
AbIBVQHaAXcB/wFFAcwBVgH/AUoBygFyAf/wAAFYAQMBAgGyAWEB4wGBAf8BUQHUAWMB/wFLAcsBcwH/
|
||||
4AABPgGoATwB/gFUAdMBeQH/AVQB1AF7Af8BVQHUAXsB/wFUAdMBegH/AW0B6gGEAf8BYAHfAXMB/wFe
|
||||
AeMBkAH/AUsBygFxAf8BSQHIAXAB/wFIAcYBbgH/AUgBxQFuAf8BMQIBAUwMAAFJAgIBhAJQAdMB/wJS
|
||||
AdQB/wJUAdQB/wJVAdMB/wJUAdAB/wJRAcwB/wJNAccB/wJJAcMB/wJHAcIB/wJHAcIB/wI2AagB/5AA
|
||||
AUEBrQFBAf4BaQHaAXwB/wFyAeQBgQH/AXgB7AGGAf8BewHwAYoB/wF4Ae8BhwH/AW8B6gGBAf8BYgHh
|
||||
AXYB/wFVAdcBZwH/AUkBzgFaAf8BRAHLAVQB/wFXAeABhwH/ATECAQFMDAABSQICAYQCYgHXAf8CaQHW
|
||||
Af8CdQHkAf8CfQHuAf8CfQHwAf8CcQHpAf8CXgHcAf8CTgHQAf8CSQHMAf8CSQHMAf8CQAG3Af+QAAFB
|
||||
Aa4BQQH+AWIB1gGBAf8BagHfAYUB/wFxAecBjQH/AXYB7gGTAf8BewHvAYoB/wF5AfABiAH/AXEB7AGG
|
||||
Af8BZgHnAYIB/wFbAd4BfQH/AVEB1wFyAf8BWAHhAYoB/wExAgEBTAwAAUkCAgGEAmMB2gH/AmoB3QH/
|
||||
AnQB6AH/AnoB8AH/AnoB8gH/AnEB7AH/AmIB4gH/AlQB2AH/Ak8B1AH/Ak8B1AH/AkABtwH/kAABVwED
|
||||
AQIBsQFYAQQBAgG1AVgBBAECAbUBWAEEAQIBtQFXATIBDgHoAXYB7QGTAf8BewHvAYkB/wFXAdYBgQH/
|
||||
AVgBBAECAbUBWAEEAQIBtQFYAQQBAgG1AVgBBAECAbUBGQIBASEMAAEuAgEBRgFYAQIBBAG1AVgBAgEE
|
||||
AbUBWAECAQQBtQFYAQIBBAG1AVgBAgEEAbUBWAECAQQBtQFYAQIBBAG1AVgBAgEEAbUBWAECAQQBtQFY
|
||||
AQIBBAG1AVcBAgEEAbSgAAFYAQMBAgGyAW8B5QGLAf8BdgHoAYMB/wFXAdYBgQH/8AABWAEDAQIBsgFm
|
||||
AdsBgQH/AW0B3gGAAf8BVgHVAX8B//AAAVgBAwECAbIBXQHSAX4B/wFiAdMBdQH/AVUB1AF9Af/wAAFV
|
||||
AgIBqwE4AbkBPQH/ATgBuAE9Af8BNgG1ATkB//8A/wDaAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEB
|
||||
AQABAQUAAYAXAAP/AQAE/wQAAfwBPwL/BAAB/AE/Av8EAAH8AT8C/wQAAfwBPwL/BAAB/AE/Av8EAAHA
|
||||
AQEBwAEDBAABwAEBAcABAwQAAcABAQHAAQMEAAHAAQEBwAEDBAAB/AE/Av8EAAH8AT8C/wQAAfwBPwL/
|
||||
BAAB/AE/Av8EAAT/BAAE/wQACw==
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC8
|
||||
BAAAAk1TRnQBSQFMAgEBAgEAARQBAAEUAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABEAMAAQEBAAEgBgABEP8AKwADEwEaASwCKwFDASwCKwFDASwCKwFD8AABVQJCAbIBVwHiAYwB/wFW
|
||||
AeEBiQH/AUgByAFwAf/wAAFVAkIBsgFLAdQBawH/AUIBywFSAf8BSAHJAXAB//AAAVUCQgGyAVMB2gF1
|
||||
Af8BQwHMAVQB/wFIAcoBcAH/8AABVQJCAbIBXwHjAYEB/wFPAdQBYQH/AUkBywFxAf/gAAE+AaQBPAH+
|
||||
AVIB0wF3Af8BUgHUAXkB/wFTAdQBeQH/AVIB0wF4Af8BawHqAYQB/wFeAd8BcQH/AVwB4wGQAf8BSQHK
|
||||
AW8B/wFHAcgBbgH/AUYBxgFsAf8BRgHFAWwB/wMwAUwMAAFIAkMBhAJOAdMB/wJQAdQB/wJSAdQB/wJT
|
||||
AdMB/wJSAdAB/wJPAcwB/wJLAccB/wJHAcMB/wJFAcIB/wJFAcIB/wI0AagB/5AAAUEBqQFBAf4BZwHa
|
||||
AXoB/wFwAeQBgQH/AXYB7AGGAf8BeQHwAYoB/wF2Ae8BhwH/AW0B6gGBAf8BYAHhAXQB/wFTAdcBZQH/
|
||||
AUcBzgFYAf8BQgHLAVIB/wFVAeABhwH/AzABTAwAAUgCQwGEAmAB1wH/AmcB1gH/AnMB5AH/AnsB7gH/
|
||||
AnsB8AH/Am8B6QH/AlwB3AH/AkwB0AH/AkcBzAH/AkcBzAH/Aj4BtwH/kAABQQGqAUEB/gFgAdYBgQH/
|
||||
AWgB3wGFAf8BbwHnAY0B/wF0Ae4BkwH/AXkB7wGKAf8BdwHwAYgB/wFvAewBhgH/AWQB5wGCAf8BWQHe
|
||||
AXsB/wFPAdcBcAH/AVYB4QGKAf8DMAFMDAABSAJDAYQCYQHaAf8CaAHdAf8CcgHoAf8CeAHwAf8CeAHy
|
||||
Af8CbwHsAf8CYAHiAf8CUgHYAf8CTQHUAf8CTQHUAf8CPgG3Af+QAAFWAkIBsQFVAkEBtQFVAkEBtQFV
|
||||
AkEBtQFXAUEBJwHoAXQB7QGTAf8BeQHvAYkB/wFVAdYBgQH/AVUCQQG1AVUCQQG1AVUCQQG1AVUCQQG1
|
||||
AxgBIQwAAy0BRgFVAkEBtQFVAkEBtQFVAkEBtQFVAkEBtQFVAkEBtQFVAkEBtQFVAkEBtQFVAkEBtQFV
|
||||
AkEBtQFVAkEBtQFWAUABQgG0oAABVQJCAbIBbQHlAYsB/wF0AegBgwH/AVUB1gGBAf/wAAFVAkIBsgFk
|
||||
AdsBgQH/AWsB3gGAAf8BVAHVAX0B//AAAVUCQgGyAVsB0gF8Af8BYAHTAXMB/wFTAdQBewH/8AABVAJE
|
||||
AasBNgG5ATsB/wE2AbgBOwH/ATQBtQE3Af//AP8A2gABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA
|
||||
AQEFAAGAFwAD/wEABP8EAAH8AT8C/wQAAfwBPwL/BAAB/AE/Av8EAAH8AT8C/wQAAfwBPwL/BAABwAEB
|
||||
AcABAwQAAcABAQHAAQMEAAHAAQEBwAEDBAABwAEBAcABAwQAAfwBPwL/BAAB/AE/Av8EAAH8AT8C/wQA
|
||||
AfwBPwL/BAAE/wQABP8EAAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="listView.TabIndex" type="System.Int32, mscorlib">
|
||||
@@ -183,22 +182,21 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>121, 19</value>
|
||||
<value>3, 16</value>
|
||||
</metadata>
|
||||
<data name="AddFilterButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAiNJREFUOE+Fk29L
|
||||
U3EUx+cr6AVES+e8btVEcwUlKWZI0IOQLIaNYrJqgc7sUrlCbG0oxmrhkpRkVGQM+ocPKpoRxHJXcW61
|
||||
SX8IZBA9CXrQK/jW98BuXebqwIHfPfd8P/ec8zu3ylTB3DEXvv38Km83bthkut+fqKqUa4hvDdRi/+12
|
||||
qMl+jKaD4jzvm96DLRetqAhR753BtjErBpI+RHNXMbkaxdTHCdzKTSC2eg2R7Ch8zz2Sw9wyUH3IDM+z
|
||||
HowsD2GscBnj2RAWi2lxQsL5YVxZ9qNn7hCUsNkIYNm77zahL3UCQ9lBjOQDCGqXULJ4fhrD789DXenD
|
||||
6de92Bl3gBq9CnukBh2PdsG74IY/c1IggZSqA6ZyMYnxnSflQsuTJlAjAE67YaYOrU+dOD7fjYE3PlxY
|
||||
+O0vB3XATe2GxPl15hBADbWm9nCLPDgf23EnP6OLKh04k+aHNtFQqwMY5LD+Z1rxrRFQaoGA7vlOBNI+
|
||||
hDJ+jGtnddZsYVJugK2xhVIF0gKNA9mRULD3lQ1dSw4cyzXCqzl1QPRTL46uNOKg5kBb0o7mB8qfIRLA
|
||||
K9ket6IzWQdXTsGpzzb43zkMAO8HGw5n6tHxQpH+DddICBepLWGBe8kC/5oF6lo1ij8K4te/dEnsiFYr
|
||||
Ocwt20Sup+0vyLniZgS/m8UJI7h1tkZy1l3lEpGlNUTMknxgrlqcZ8bKyv7X78kJ857p+rTXEfwChEDw
|
||||
QjpqrrIAAAAASUVORK5CYII=
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIMSURBVDhPjZPvS1NhFMf9S5bOeb0rJ5orKElRQ4JehGQx
|
||||
bBSTWQvsml4ql4itDcVYLVySkowKDKEyfFHRjCCWu4lztzbpB4HsdeDf8K3vgd0aa9UDB84995zPc349
|
||||
VVUVjjfuQUekVYR6Jb8y+55gLY7c64CevIDJdEiE+uH5Q9h91VEZpD+8iIYpB4aSAcTMG5jdimHu8wzu
|
||||
mjOIb91ENDuJwAuf+NC37Ob6sA2+532Y2BjFVP4aprNhvC+kRQiJ5MZxfUND38pxKBFbKYBpH3zQjMHU
|
||||
AEazw5jIBREyxlA8idw8xj9ehr45iPNv+rE/4QJjrCyc0Rp0PTkA/5oXWuasQIIp3QLMmXGx8Z8v5UHr
|
||||
cjMYIwB2uHGhDm3P3Diz2ouhtwFcWfspr4YtwB3jtth5O30IYIxMh2Pih/upE/dzC1ZQJYU9aXmsSgxj
|
||||
LQCNbNa/jlF4VwoolkBA72o3gukAwhkN08aIxVrMz8oEWBpLKGZgLRgbsm9JQedrFT3rLpw2m+A33BYg
|
||||
9qUfpzabcMxwoT3pRMsj5VcT2UiOZG/Cge5kHTymgnNfVWgfXCUA/ycVJzL16HqpSP0lYySEi9S+ZId3
|
||||
3Q5t2w59uxqFnbzIrW89Yjtp1IoPfcs2keup/ga5VNiF0HebCGEEty3WiM8fV7lIZGqNUZs4H12pFqFO
|
||||
W1naf3ui//ucfwCJ3vHLSjlN7AAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="AddFilterButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -219,16 +217,15 @@
|
||||
<data name="RemoveFilterButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAe9JREFUOE+FU99L
|
||||
U3EU3976G6SnoIcpk5rU7AebFjFBaRkRCCJEOmbqMmoOUxwLVhuBbhLLBhUVCD7aS5BPPokPQRDU7CGN
|
||||
2noI79xcbNa8n+7nyBa3280vfOB7P+dzPpxz7vlaLSZn0deHSu6rRA80HLR408+tZlodP9/ajJXLXdgI
|
||||
j+FbIi5Yn7wp3AunHaYmryeCWDplE/HWo1n8eDqH8rO0oPQ4BSU1jY3gEF6dsINag9HL4zZ8uT6A7ft3
|
||||
gNkYdtNJHX4m76EYm8LnwT5Qayh7rdOFwsQoqtHbUGeidRPMzcidnBoJYis0jIznpL6dZa2s3CUPdm75
|
||||
RYR4uG5SSxZOi5UCV5DtPgvmSBWc9ju3A5sayaCiVaHcnTQiEoIyHsD3G/2iZQ5zLQtdZ+Sj4nVi88lD
|
||||
7HeUN6tQPK3ItDvAXDH41HFESE56v2MwYBnvNTcaFK5eRD42jnxiag8P9GBrbIHaegucAweSPXcMOxec
|
||||
UHtPAz43MOL6g2va3dcmMbZKbX2INOD2sY28twXV3qNQfQ5gqEUHcoxRQ61hK7kcDBR77KgO2PArcAjq
|
||||
6GEB7+QYo8awSKyC68nAx/ONUHqaUPbvJRK8k/vQYRfNP1e5tposjW/iradJzAjeyf33Mf39OPh3+IsJ
|
||||
WRiT8xtNQweCAHQ6FwAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHfSURBVDhPjVPfS1NhGPZvCbpYY1ITm5rMHxETlFYiwkCE
|
||||
SIc1XYtaY00cBssNwekIm4MKCYIu8yaoq67EC0EQbHVRi5hehGebLfzROk/neccmx+PUDx54z/M+33Pe
|
||||
9/ver66uxnrnHsTbnk4B41o6A/+mqR7L/T3IhB9hazYm+D7+QLjXNkttow8hPz5eMYk4v5DAn1dJ7C6m
|
||||
BMUX81DmZ5Dxe/C+2QJqDX9eumzCz3vD+D39BEhE8S81p8PB3BR2ohP4cWcQ1OoMWPaXbjsKIR9KkcdQ
|
||||
45GqCZJxicmpk37kA6NIO1r07XzSytrsc2D/4YiIEAtXTSqbhdNyRe8tZG9eBfdIFTzh9TYrtjWSSUWr
|
||||
Qnk6bsRkAErQi1/3h0TLPXI7vCZ+7Dlt2H75HKctZXUFiqMJ6Q6rXLEYfOu6KCRP+rRlMGAZG5obDQq3
|
||||
e5GLBpGbnSjjmR5sjS1QW22B58ADyV5rxP4NG9SBVsDdBozZD3FXi93tkmOr1FYPkQa8RraRczagNHAJ
|
||||
qtsKeBp0IMccNdQappLDwcSOy4LSsAl/veeg+s4LGJNjjhrDILEKjicTX69fgOIyY3ekvJFgTO5zl0U0
|
||||
x45yZTRZGt/EmsMsZgRjcic+pqOP46zP+T9spgnV3QfwFQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="RemoveFilterButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -249,15 +246,15 @@
|
||||
<data name="EditFilterButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAcZJREFUOE+VU0sv
|
||||
Q0EYvR4bP8HCxg+w6Fq6FhIhIiFWFpZlK7FkxaKJV6RCsChtpBpBKPqMtqlalDaVEpS6RVUrDW2jevQb
|
||||
pqq9bWKSk7kz957znfPN3CrhZ7jdPmSzSaGmtlb4zGSE6uo6gdZ8iKIodHS0V+U3ih9S6Q+8JtJlYTI7
|
||||
YDRaUFEgGk+BQEKR2PfM9+x2B0J3ofIi5ICTC2cu4DkLQLexDe2sCoae3lInPAJV5iQ+P0XfQLi8EmFr
|
||||
bUOgpQVmufyvCHcgPsTZh+eB2zz42uc9g3VOBb1MBt3AQKkAZQ7ev+QFODHgNuDaMgjqg1a7Ds2EUjoC
|
||||
WS52EPRa8WqSIayvh1/dx5ooeRo8AndA1alydL+JkR9VDYhou5lDclJynFwgHHlnEQorE/l2uQ102S6D
|
||||
z5UF7sNxULNiO7+VH1a7YHd4sHd4DJvTC71+U9oBHSFZ9J9qEDnpwstKI3xTzVCr1zA5swTl1CI0G0bW
|
||||
yJIIydQHmP2cRdeBAj5zPzTjnRhUDGF4ZJQJEPnYcyPdxLxALv+0cgyzcwuYX1zF1u4RI3kvnuG/iuM6
|
||||
lJDugcvlRiGcTheKQd0nUKSyP9V/X3wBzfZGZumMH9MAAAAASUVORK5CYII=
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG1SURBVDhPlVPBSgJRFPU3WrTpA1q4jtZSq4igaNXCpbYN
|
||||
WtaqFkJWhJFUC22GqCEqysrMSMU0MhXDpNJMrdFUpFJcnLyvnpWOQQOHO2/m3XPPue8+lerr8fnC8Hp9
|
||||
8F9cssjX9E6QpC3wvYqxXKmiWKq0xLHDDbv9pDUJEeQKZQYikvOfkX9zudxIPiRbk3ACnvQzmUgCwSg2
|
||||
NncgzptgGxxqVsItUGVelcfn3CsIsdsUTnt6EdVo4Oju/k3CFaQyBbbxOpqog6/DoSCcCyZIajU2tNpm
|
||||
ApIdf3ypE/DEqM+GuxM9qA+iuA5h2qBsgSQ3KoiHnCgeq5GW2hCxDLMmKp4Gt8AVUHWqnDvoZMlPpnbI
|
||||
4gBTSEqaZoETpOU3ZuFnZUpOrPSy4YrFs38TPKYLoGbld78rZ6z9cLkD2D86x6knpDyVpICOkCRGrgTI
|
||||
/n68rHYgbOyCxbKGmbllGIxmCJt21sgmC+/lKpj8mkTvoQ5hxwiEqT7odaMYG59gBJR8HrhXbmKdoOZ/
|
||||
1jCJ+YUlLJqt2N47Y0mhmywitwXcJUvKPeC3jkePx4tGUPcJZOnPm/mfnx/Qo1STSDASFQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="EditFilterButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -281,13 +278,13 @@
|
||||
<data name="MoveFilterUpButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAVlJREFUOE9jYCAA
|
||||
pt6c+p+QGpzySWdc/2ec8/jfd7WPdENAmjseJINx3kWf/10Xu4g3BKa5+kH6/4anOf+nvMv/n3PN/X/X
|
||||
aSIMQdfcAtTc+b7k/8zPhRCX4DMEprn2YQbYZpjmjg9FYHbfu8z/IDVYDUHXDLIVhGGaa15l/C9/lvy/
|
||||
7lHE/5QTTqiGOO41+19zPfB/zf3g/233o8B+BmkE4aa3uf9BmkEaQfIFFzz/F553/++4wQi7S7z3uID9
|
||||
C9Nc9SLtf96DKLAB7ltsCcdE2IEAsAEgmyuep4A1J98M+F92J+C/7xYn4gyY9iEL7N+c+5H/E2/4/w+7
|
||||
4Po//4YXcQYE7/T93/c6+X/WvfD/Cdf9wJp9T9uC0wFRLgAZ0PI0+n/cNR+4ZpINAIV2yHlnsM0wDHKB
|
||||
z0ZHwmEAdsGDQLCTkXHtXV/iDEjemwT2KzoG2R6+KQzDBQBtp08dH0E7jQAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFZSURBVDhPY2AgAKbenPqfkBqc8klnXP9nnPP433e1j3RD
|
||||
QJo7HiSDcd5Fn/9dF7uINwSmufpB+v+Gpzn/p7zL/59zzf1/12kiDEHX3ALU3Pm+5P/Mz4UQl+AzBKa5
|
||||
9mEG2GaY5o4PRWB237vM/yA1WA1B1wyyFYRhmmteZfwvf5b8v+5RxP+UE06ohjjuNftfcz3wf8394P9t
|
||||
96PAfgZpBOGmt7n/QZpBGkHyBRc8/xeed//vuMEIu0u897iA/QvTXPUi7X/egyiwAe5bbAnHRNiBALAB
|
||||
IJsrnqeANSffDPhfdifgv+8WJ+IMmPYhC+zfnPuR/xNv+P8Pu+D6P/+GF3EGBO/0/d/3Ovl/1r3w/wnX
|
||||
/cCafU/bgtMBUS4AGdDyNPp/3DUfuGaSDQCFdsh5Z7DNMAxygc9GR8JhAHbBg0Cwk5Fx7V1f4gxI3psE
|
||||
9is6BtkevikMwwUAbadPHR9BO40AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="MoveFilterUpButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -308,14 +305,14 @@
|
||||
<data name="MoveFilterDownButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAY9JREFUOE+Vk8tL
|
||||
AlEUxsdaBf01bdr0zhAjTAQVe5FNGJNWGvmojRFlVqBTUFCL+hPatQhcFPSiJLNEhVKJHhIi5r6+OBNj
|
||||
ZpnTwF3cmfl933fOuVfGlDz2kB0P+VTh7TvzxlQx1cK+pqqW2W7YkZUy3/aGIy1WYjq4omrMx/uwnDSC
|
||||
fzRhKzsGdUCOP2H6aDjUYu5Oj5GgDtbIAKYTJrgfzFhPc9IFvLf9BXjhxQpam6826QK+e1ZwJnA2Y4Yn
|
||||
Y/ufAMUlmMCl3JSwNvITUO23SesBNYxgUWAxNwl/lpMmoAp0CnFFZyphJm2CJ22Ecq/xZ4LV2BraAvXC
|
||||
2JxRjTABiksCIjye6oEjoYHjuhPsqRzcWTtaduvgPnZ/CvoiPliuun44u56HQTAbV8MQVkB90YyhsBym
|
||||
k9YvWDwY/hteECF3cnY+sbAkDTDGuqELdUB13lQeFkX4MA8uqIT3hcVoQo/BqEo6XCxCdVLNkp1Lzzcl
|
||||
6T1oBBdRVI5d7nLwl6uCyK8Nq3ijin4ojKoM9AHxq1tZT9V7JgAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF9SURBVDhPlZPbSgJhFIV7pm66soMZosQ0CCp2onHCmLTS
|
||||
yEPdGFFmBToGBfUS3XUReJF0pCSzRIXSiA4iItYLrNoTM4kmTgMbZuBf31p77/k7Ohoeb8oLW8KslDVh
|
||||
Ut7tJxwazzd9207N2MpZEMiyWM2PYrPIQXx1YL86AzauUwH4dl95tGIqaYE7M47FggPBFyd2SoJ6QPhh
|
||||
TBGvld2g2vvwqAdEnnnJmYTLFSdCFc//ABSXxCTcqC1Itfs5B+ZIq24GNDASy4D12jyiVUEdgIkbpbiy
|
||||
M7WwVHIgVOJgONQ0J4jltqGNd0lr82dN0gYoLgFk8ezTMHwFE3x3RvAXOgiX/eg96ETwLPgDjGQicN0O
|
||||
NjkH3idBYj7PwpbWg73ugT2tg+O871cs/0nRe1GCkDs5+994uIo2cLkhWFIDYK66W4tliJgWISQNCJd5
|
||||
TBesmMgy6sX1EOqTelbt3HghKMnIsQZCRt8+dqvbJd7EJMifA2t7JesOKKtqIfoCZo5mLImpLeYAAAAA
|
||||
SUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="MoveFilterDownButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -339,14 +336,14 @@
|
||||
<data name="MoveFilterTopButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAZJJREFUOE+Vk81L
|
||||
AmEQxv2vvETWQepiHyBEGZqRkliblUmYGEQHs8yPQAMpLPSQdIq6RElBnjTJyENGdKgWywSrP2ByZnl1
|
||||
pV22FoY97Pv8nmfmnVWpFJ5o8h6Uzsh+73XnQLdShOBO6f8QFE/uVYCL1Qiyvn37dwgTzwXewLFVA2fq
|
||||
S4BEb5QhPZ4COaPY5HkAs/cRXNE6zB4KEH/4Wh6CzlzkA7i1FzAtlaHTloUue5ZAmGQm+Ql4RhLCnB1+
|
||||
XhBPXIBtvwZTySpBDO4ywS277wQJBHOtJGpjBvSRMtWgrwTdlkyzDWxlPv1NEN1yEfr9d1TqgaN2CN6l
|
||||
y5cHjfkMxg54wCQoxv7ZDBA8vXApPwN0sceFAWI5Q9UmACFcuk7pJBcHxVLOLAEOkWaQqlLKNggODMXW
|
||||
BE+Dw8NMiG8SNxYKxcbEK1WH/rgFcW8UgJVm9JTuXOyMAASjaNF71axQOP+7nT7reRsAY9s2K3R92uET
|
||||
5U0UA8i5IR7HxYrzoB0SxZb7BRlALDasPsFI7FkS8AOfmJ+7r3cchAAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGSSURBVDhPlZPNSwJhEMb9r7xE1kHqYh8gRBmakZJYm5VJ
|
||||
mBhEB7PMj0ADKSz0kHSKukRJQZ40ychDRnSoFssEqz9gcmZ5daVdthaGPez7/J5n5p1VqRSeaPIelM7I
|
||||
fu9150C3UoTgTun/EBRP7lWAi9UIsr59+3cIE88F3sCxVQNn6kuARG+UIT2eAjmj2OR5ALP3EVzROswe
|
||||
ChB/+Foegs5c5AO4tRcwLZWh05aFLnuWQJhkJvkJeEYSwpwdfl4QT1yAbb8GU8kqQQzuMsEtu+8ECQRz
|
||||
rSRqYwb0kTLVoK8E3ZZMsw1sZT79TRDdchH6/XdU6oGjdgjepcuXB435DMYOeMAkKMb+2QwQPL1wKT8D
|
||||
dLHHhQFiOUPVJgAhXLpO6SQXB8VSziwBDpFmkKpSyjYIDgzF1gRPg8PDTIhvEjcWCsXGxCtVh/64BXFv
|
||||
FICVZvSU7lzsjAAEo2jRe9WsUDj/u50+63kbAGPbNit0fdrhE+VNFAPIuSEex8WK86AdEsWW+wUZQCw2
|
||||
rD7BSOxZEvADn5ifu693HIQAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="MoveFilterTopButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -367,15 +364,14 @@
|
||||
<data name="MoveFilterBottomButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAbBJREFUOE9jZEAD
|
||||
oYVH/osaajKwv/zFwMzCwsDEwszAwMzE8EuMieHKlpMMexa4MqLrQeGH5B36n7/s3f+S/tf/C6e8+182
|
||||
7QMYly77/N8lYfd/vJpBkiADCtZ8+l82GaEZZABIzCl2F3YD2qdd+g/DIEVgA6A2g2iQS7IWvf1vHb79
|
||||
f1vXSTBuaj6GMMw2ftf/+GVP/6ctewPGZXM/wg3Im/TmPwinTnz+P37ms/+hU+/+D517D2wYinecM4F+
|
||||
X/kexWaQ7SDNyZ1P/se1Pvwf1nD7f/j0B/9BFmINC5AhyM6HaU5of0RYM8jE2u6zYNNBhoA0p/U8+4+s
|
||||
2S5h1//84n2otk9aeOO/eeze/2F99/4HdV//79N44T9IISgsIvsf/I9svAv2O8hg14Kj/70azoKxmd8G
|
||||
RED2z70K1giKa5C/E6tvgQ0BaYRp9k45ATYMZJFHzen/tXWH0Vwy6xKKIfGVN8EhDTKIoGZYiE4CGgIy
|
||||
HeQSUBhElFz575dxGr/N6NEBMwSUcEDRB3I2KCywOhtXugYZ4l5yAux/kjXDvTP9PDjUSbIZm4tQ0jwW
|
||||
BQBGf59N9yfyuQAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGUSURBVDhPlZPLSwJhFMX7q2oRtehBUeEiUnNhY1RSLXyQ
|
||||
CVGGFiVlJFkpBS5qMRC0aBcYteiFIVJI0QvFonSR2esPOHm/+tSZpsyByzDDPb9z7v1mKipkl9p6iMH1
|
||||
Z1g9adi8T7AvZmH3v8Ky+Y4Gww7k/T+eO0z7MItZJrYufYmphsWP/wPIjTtzAL2r04eUE7j9MfCiJgb4
|
||||
dqY7JaGxqrXbmJ49YTUxeVyA1QghCOIjjGKGlT34lgeYfBlQ9S2kIaykoF6OQx1MMJhk/vqB3OwbLxJn
|
||||
cidxz8wDuqbuoHHeQhtIggwVl0mQ4vhcbHDflxYT0eGJMjpBSGycS6FYXGsIwTy0J3X3rV2hSr8LzXwC
|
||||
7Z5LtLnOQI20C503CZ0rzmYncKPlCC3OKKtK1VZhkd7gBRPSWdPc3aM3DEJCLm7tDTMYGTWPReAYP5Al
|
||||
WY1JIMLINds0gUqK+UZ9OQjRKQntoNN2DlV/5G9n+XFwCH04dHwUm3ahGPu3H4MgTbYwm79scX6cwCnb
|
||||
elnOSokk37xCwycvE6v477beNgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="MoveFilterBottomButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
@@ -516,6 +512,9 @@
|
||||
<data name=">>TestResults.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>130, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -591,6 +590,12 @@
|
||||
<data name=">>MoveFilterBottomButton.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>toolTip1.Name" xml:space="preserve">
|
||||
<value>toolTip1</value>
|
||||
</data>
|
||||
<data name=">>toolTip1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>FilterEditor</value>
|
||||
</data>
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4927
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Duplicati.GUI.HelperControls.Strings {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class FilterEditor {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal FilterEditor() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Duplicati.GUI.HelperControls.Strings.FilterEditor", typeof(FilterEditor).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The file {0} is excluded due to rule {1}.
|
||||
/// </summary>
|
||||
internal static string FileIsExcluded {
|
||||
get {
|
||||
return ResourceManager.GetString("FileIsExcluded", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The file {0} is included due to rule {1}.
|
||||
/// </summary>
|
||||
internal static string FileIsIncluded {
|
||||
get {
|
||||
return ResourceManager.GetString("FileIsIncluded", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The file {0} is included because no rule matched.
|
||||
/// </summary>
|
||||
internal static string FileIsIncludedDefault {
|
||||
get {
|
||||
return ResourceManager.GetString("FileIsIncludedDefault", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The filename {0} is not located in the folder {1}.
|
||||
/// </summary>
|
||||
internal static string FilenameIsNotInRootFolder {
|
||||
get {
|
||||
return ResourceManager.GetString("FilenameIsNotInRootFolder", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The folder {0} is excluded due to rule {1}.
|
||||
/// </summary>
|
||||
internal static string FolderIsExcluded {
|
||||
get {
|
||||
return ResourceManager.GetString("FolderIsExcluded", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The filename {0} has invalid characters.
|
||||
/// </summary>
|
||||
internal static string InvalidCharsInFilenameError {
|
||||
get {
|
||||
return ResourceManager.GetString("InvalidCharsInFilenameError", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="FileIsExcluded" xml:space="preserve">
|
||||
<value>The file {0} is excluded due to rule {1}</value>
|
||||
</data>
|
||||
<data name="FileIsIncluded" xml:space="preserve">
|
||||
<value>The file {0} is included due to rule {1}</value>
|
||||
</data>
|
||||
<data name="FileIsIncludedDefault" xml:space="preserve">
|
||||
<value>The file {0} is included because no rule matched</value>
|
||||
</data>
|
||||
<data name="FilenameIsNotInRootFolder" xml:space="preserve">
|
||||
<value>The filename {0} is not located in the folder {1}</value>
|
||||
</data>
|
||||
<data name="FolderIsExcluded" xml:space="preserve">
|
||||
<value>The folder {0} is excluded due to rule {1}</value>
|
||||
</data>
|
||||
<data name="InvalidCharsInFilenameError" xml:space="preserve">
|
||||
<value>The filename {0} has invalid characters</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -227,9 +227,15 @@ namespace Duplicati.Library.Core
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public bool ShouldInclude(string basepath, string filename)
|
||||
{
|
||||
IFilenameFilter dummy;
|
||||
return ShouldInclude(basepath, filename, out dummy);
|
||||
}
|
||||
|
||||
public bool ShouldInclude(string basepath, string filename, out IFilenameFilter match)
|
||||
{
|
||||
match = null;
|
||||
basepath = Core.Utility.AppendDirSeperator(basepath);
|
||||
if (!filename.StartsWith(basepath))
|
||||
return false;
|
||||
@@ -242,7 +248,10 @@ namespace Duplicati.Library.Core
|
||||
//Run through each filter
|
||||
foreach (IFilenameFilter filter in m_filters)
|
||||
if (filter.Match(relpath))
|
||||
{
|
||||
match = filter;
|
||||
return filter.Include;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ namespace Duplicati.Library.Core
|
||||
m_include = include;
|
||||
}
|
||||
|
||||
public Regex Expression { get { return m_expression; } }
|
||||
|
||||
#region IFilenameFilter Members
|
||||
|
||||
public bool Include
|
||||
|
||||
@@ -106,14 +106,11 @@ namespace Duplicati.Library.Core
|
||||
string f = AppendDirSeperator(lst.Dequeue());
|
||||
try
|
||||
{
|
||||
//TODO: We cannot guess if the folder has files that should be included,
|
||||
//so we have to enumerate all the files
|
||||
foreach (string s in System.IO.Directory.GetDirectories(f))
|
||||
lst.Enqueue(s);
|
||||
if (filter == null || filter.ShouldInclude(rootpath, f))
|
||||
lst.Enqueue(s);
|
||||
|
||||
//TODO: If anything is included from subpaths, we should report the folder itself
|
||||
if (filter == null || filter.ShouldInclude(rootpath, f))
|
||||
callback(rootpath, f, EnumeratedFileStatus.Folder);
|
||||
callback(rootpath, f, EnumeratedFileStatus.Folder);
|
||||
}
|
||||
catch (System.Threading.ThreadAbortException)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user