Skip to content

Commit

Permalink
Merge pull request sall#15 from VixenLights/master
Browse files Browse the repository at this point in the history
Updating my fork from the Vixen master.
  • Loading branch information
johncbaur authored Sep 8, 2020
2 parents a6bd428 + 544d877 commit bac560a
Show file tree
Hide file tree
Showing 54 changed files with 1,230 additions and 519 deletions.
81 changes: 51 additions & 30 deletions Application/VixenApplication/ConfigPreviews.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

58 changes: 42 additions & 16 deletions Application/VixenApplication/ConfigPreviews.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,10 @@ public ConfigPreviews()
{
InitializeComponent();
Icon = Resources.Icon_Vixen3;
ForeColor = ThemeColorTable.ForeColor;
BackColor = ThemeColorTable.BackgroundColor;
ThemeUpdateControls.UpdateControls(this);
this.ShowInTaskbar = false;
_displayedController = null;
buttonDeleteController.Enabled = buttonDuplicateSelected.Enabled = false;
}

private void ConfigPreviews_Load(object sender, EventArgs e)
Expand All @@ -53,6 +52,8 @@ private void listViewControllers_SelectedIndexChanged(object sender, EventArgs e
else {
_PopulateFormWithController(listViewControllers.SelectedItems[0].Tag as OutputPreview);
}

buttonDuplicateSelected.Enabled = buttonDeleteController.Enabled = listViewControllers.SelectedItems.Count > 0;
}

private void buttonAddController_Click(object sender, EventArgs e)
Expand Down Expand Up @@ -117,6 +118,42 @@ private void buttonDeleteController_Click(object sender, EventArgs e)
}
}

private void buttonDuplicateSelected_Click(object sender, EventArgs e)
{
if (listViewControllers.SelectedItems.Count > 0)
{
foreach (ListViewItem item in listViewControllers.SelectedItems)
{
OutputPreview op = item.Tag as OutputPreview;

PreviewFactory previewFactory = new PreviewFactory();
OutputPreview preview = (OutputPreview) previewFactory.CreateDevice(op.ModuleId, op.Name + "-copy");
if (preview.PreviewModule is IPreviewModuleInstance newInstance)
{
if (op.PreviewModule is IPreviewModuleInstance origInstance)
{
var md = origInstance.ModuleData.Clone();
//The new module will have it's own instance data. If we want to replace it we need to replace it in the
//ModuleStore as well so it will be saved. So remove it and then assign it and then update it in the store
md.ModuleDataSet.RemoveModuleInstanceData(newInstance);
newInstance.ModuleData = md;
md.ModuleDataSet.AssignModuleInstanceData(newInstance);
}

}
VixenSystem.Previews.Add(preview);
_PopulateFormWithController(preview);

}

_PopulateControllerList();

_changesMade = true;
Refresh();
}

}

private void buttonUpdate_Click(object sender, EventArgs e)
{
if (_displayedController == null)
Expand Down Expand Up @@ -176,27 +213,15 @@ private void _PopulateFormWithController(OutputPreview oc)

if (oc == null) {
textBoxName.Text = string.Empty;
buttonDeleteController.Enabled = false;
textBoxName.Enabled = false;
buttonUpdate.Enabled = false;
buttonUpdate.ForeColor = ThemeColorTable.ForeColorDisabled;
buttonConfigureController.Enabled = false;
buttonDeleteController.ForeColor = ThemeColorTable.ForeColorDisabled;
buttonConfigureController.ForeColor = ThemeColorTable.ForeColorDisabled;
label1.ForeColor = ThemeColorTable.ForeColorDisabled;
label2.ForeColor = ThemeColorTable.ForeColorDisabled;
buttonConfigureController.Enabled = label1.Enabled = label2.Enabled = false;
}
else {
textBoxName.Text = oc.Name;
buttonDeleteController.Enabled = true;
textBoxName.Enabled = true;
buttonUpdate.Enabled = true;
buttonUpdate.ForeColor = ThemeColorTable.ForeColor;
buttonConfigureController.Enabled = true;
buttonDeleteController.ForeColor = ThemeColorTable.ForeColor;
buttonConfigureController.ForeColor = ThemeColorTable.ForeColor;
label1.ForeColor = ThemeColorTable.ForeColor;
label2.ForeColor = ThemeColorTable.ForeColor;
buttonConfigureController.Enabled = label1.Enabled = label2.Enabled = true;
}
}

Expand Down Expand Up @@ -296,5 +321,6 @@ private void groupBoxes_Paint(object sender, PaintEventArgs e)
{
ThemeGroupBoxRenderer.GroupBoxesDrawBorder(sender, e, Font);
}

}
}
Loading

0 comments on commit bac560a

Please sign in to comment.