Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Maupin <ermaup@microsoft.com>2018-06-14 22:58:58 +0300
committerEric Maupin <ermaup@microsoft.com>2018-06-14 22:59:00 +0300
commit5a4952861aafd89aba6535863d8f749116ef9785 (patch)
tree36a1c033b3315d55fdcaac03729ff0e01673f817 /Xamarin.PropertyEditing
parent331c9360db813096a53cbbc11b14b7460f2c6a9b (diff)
[Core] Remove application resource source requirement
Fixes #305
Diffstat (limited to 'Xamarin.PropertyEditing')
-rw-r--r--Xamarin.PropertyEditing/ViewModels/CreateResourceViewModel.cs38
1 files changed, 31 insertions, 7 deletions
diff --git a/Xamarin.PropertyEditing/ViewModels/CreateResourceViewModel.cs b/Xamarin.PropertyEditing/ViewModels/CreateResourceViewModel.cs
index dfb20d4..66873dc 100644
--- a/Xamarin.PropertyEditing/ViewModels/CreateResourceViewModel.cs
+++ b/Xamarin.PropertyEditing/ViewModels/CreateResourceViewModel.cs
@@ -108,7 +108,13 @@ namespace Xamarin.PropertyEditing.ViewModels
return;
if (!value) {
- DefineInDocument = true;
+ if (HasDocumentSources)
+ DefineInDocument = true;
+ else if (HasApplicationSources)
+ DefineInApplicationSource = true;
+ else
+ DefineInApplication = true;
+
return;
}
@@ -132,7 +138,13 @@ namespace Xamarin.PropertyEditing.ViewModels
this.defineIn = ResourceSourceType.Document;
SelectedResourceSource = SelectedDocumentSource;
} else {
- DefineInApplication = true;
+ if (HasApplicationSource)
+ DefineInApplication = true;
+ else if (HasApplicationSources)
+ DefineInApplicationSource = true;
+ else
+ DefineInDocument = true;
+
return;
}
@@ -167,7 +179,13 @@ namespace Xamarin.PropertyEditing.ViewModels
this.defineIn = ResourceSourceType.ResourceDictionary;
SelectedResourceSource = SelectedApplicationSource;
} else {
- DefineInApplication = true;
+ if (HasApplicationSource)
+ DefineInApplication = true;
+ else if (HasDocumentSources)
+ DefineInDocument = true;
+ else
+ DefineInApplicationSource = true;
+
return;
}
@@ -191,6 +209,8 @@ namespace Xamarin.PropertyEditing.ViewModels
}
}
+ public bool HasApplicationSource => this.applicationSource != null;
+
public bool HasApplicationSources => (ApplicationSources?.Count ?? 0) > 0;
public IReadOnlyList<ResourceSource> ApplicationSources
@@ -341,14 +361,18 @@ namespace Xamarin.PropertyEditing.ViewModels
docSources.Add (source);
}
- if (this.applicationSource == null)
- throw new NotSupportedException ("You must define an application level resource source.");
-
ApplicationSources = appSources;
SelectedApplicationSource = appSources.FirstOrDefault ();
DocumentSources = docSources;
SelectedDocumentSource = docSources.FirstOrDefault ();
- DefineInApplication = true;
+
+ if (HasApplicationSource)
+ DefineInApplication = true;
+ else if (HasDocumentSources)
+ DefineInDocument = true;
+ else if (HasApplicationSources)
+ DefineInApplicationSource = true;
+
await suggestedNameTask;
} catch (Exception ex) {
FatalError = ex.Message;