diff --git a/src/Artemis.Core/Services/ScriptingService.cs b/src/Artemis.Core/Services/ScriptingService.cs
index 93f18d856..227ce85d8 100644
--- a/src/Artemis.Core/Services/ScriptingService.cs
+++ b/src/Artemis.Core/Services/ScriptingService.cs
@@ -179,41 +179,10 @@ namespace Artemis.Core.Services
public interface IScriptingService : IArtemisService
{
- ///
- /// Gets a read only collection of all active global scripts
- ///
ReadOnlyCollection GlobalScripts { get; }
-
- ///
- /// Attempts to create an instance of a global script configured in the provided
- ///
- /// The script configuration of the script to instantiate
- /// An instance of the script if the script provider was found; otherwise
GlobalScript? CreateScriptInstance(ScriptConfiguration scriptConfiguration);
-
- ///
- /// Attempts to create an instance of a profile script configured in the provided
- ///
- /// The profile the script is bound to
- /// The script configuration of the script to instantiate
- /// An instance of the script if the script provider was found; otherwise
ProfileScript? CreateScriptInstance(Profile profile, ScriptConfiguration scriptConfiguration);
-
- ///
- /// Attempts to create an instance of a layer script configured in the provided
- ///
- /// The layer the script is bound to
- /// The script configuration of the script to instantiate
- /// An instance of the script if the script provider was found; otherwise
LayerScript? CreateScriptInstance(Layer layer, ScriptConfiguration scriptConfiguration);
-
- ///
- /// Attempts to create an instance of a layer property script configured in the provided
- ///
- ///
- /// The layer property the script is bound to
- /// The script configuration of the script to instantiate
- /// An instance of the script if the script provider was found; otherwise
PropertyScript? CreateScriptInstance(ILayerProperty layerProperty, ScriptConfiguration scriptConfiguration);
}
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Services/Storage/ProfileService.cs b/src/Artemis.Core/Services/Storage/ProfileService.cs
index f7c359390..65cc8c54b 100644
--- a/src/Artemis.Core/Services/Storage/ProfileService.cs
+++ b/src/Artemis.Core/Services/Storage/ProfileService.cs
@@ -532,7 +532,7 @@ namespace Artemis.Core.Services
if (markAsFreshImport)
profileEntity.IsFreshImport = true;
- if (_profileRepository.Get(profileEntity.Id) != null)
+ if (_profileRepository.Get(profileEntity.Id) == null)
_profileRepository.Add(profileEntity);
else
throw new ArtemisCoreException($"Cannot import this profile without {nameof(makeUnique)} being true");
diff --git a/src/Artemis.UI.Shared/Plugins/ScriptingProviders/ScriptEditorViewModel.cs b/src/Artemis.UI.Shared/Plugins/ScriptingProviders/ScriptEditorViewModel.cs
index 54723b67e..27518f04e 100644
--- a/src/Artemis.UI.Shared/Plugins/ScriptingProviders/ScriptEditorViewModel.cs
+++ b/src/Artemis.UI.Shared/Plugins/ScriptingProviders/ScriptEditorViewModel.cs
@@ -6,10 +6,10 @@ namespace Artemis.UI.Shared.ScriptingProviders
///
/// Represents a Stylet view model containing a script editor
///
- public class ScriptEditorViewModelViewModel : Screen, IScriptEditorViewModel
+ public class ScriptEditorViewModel : Screen, IScriptEditorViewModel
{
///
- public ScriptEditorViewModelViewModel(Script script)
+ public ScriptEditorViewModel(Script script)
{
Script = script;
}
diff --git a/src/Artemis.UI/Ninject/Factories/IVMFactory.cs b/src/Artemis.UI/Ninject/Factories/IVMFactory.cs
index fed2f93f1..9f60a7bb9 100644
--- a/src/Artemis.UI/Ninject/Factories/IVMFactory.cs
+++ b/src/Artemis.UI/Ninject/Factories/IVMFactory.cs
@@ -16,6 +16,7 @@ using Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
using Artemis.UI.Screens.ProfileEditor.ProfileTree.TreeItem;
using Artemis.UI.Screens.ProfileEditor.Visualization;
using Artemis.UI.Screens.ProfileEditor.Visualization.Tools;
+using Artemis.UI.Screens.Scripting;
using Artemis.UI.Screens.Settings.Device;
using Artemis.UI.Screens.Settings.Device.Tabs;
using Artemis.UI.Screens.Settings.Tabs.Devices;
@@ -108,6 +109,13 @@ namespace Artemis.UI.Ninject.Factories
PluginPrerequisiteViewModel PluginPrerequisiteViewModel(PluginPrerequisite pluginPrerequisite, bool uninstall);
}
+ public interface IScriptVmFactory : IVmFactory
+ {
+ ScriptsDialogViewModel ScriptsDialogViewModel(Profile profile);
+ ScriptsDialogViewModel ScriptsDialogViewModel(Layer layer);
+ ScriptsDialogViewModel ScriptsDialogViewModel(ILayerProperty layerProperty);
+ }
+
public interface ISidebarVmFactory : IVmFactory
{
SidebarCategoryViewModel SidebarCategoryViewModel(ProfileCategory profileCategory);
@@ -122,7 +130,10 @@ namespace Artemis.UI.Ninject.Factories
IDataBindingViewModel DataBindingViewModel(IDataBindingRegistration registration);
DirectDataBindingModeViewModel DirectDataBindingModeViewModel(DirectDataBinding directDataBinding);
DataBindingModifierViewModel DataBindingModifierViewModel(DataBindingModifier modifier);
- ConditionalDataBindingModeViewModel ConditionalDataBindingModeViewModel(ConditionalDataBinding conditionalDataBinding);
+
+ ConditionalDataBindingModeViewModel ConditionalDataBindingModeViewModel(
+ ConditionalDataBinding conditionalDataBinding);
+
DataBindingConditionViewModel DataBindingConditionViewModel(DataBindingCondition dataBindingCondition);
}
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ProfileEditorView.xaml b/src/Artemis.UI/Screens/ProfileEditor/ProfileEditorView.xaml
index bef651de6..ad2a6d07b 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ProfileEditorView.xaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/ProfileEditorView.xaml
@@ -94,15 +94,18 @@
Command="{s:Action Paste}"
InputGestureText="Ctrl+V" />
-