Virtual-Mac/frmSettingsSheepVM.vb

943 lines
37 KiB
VB.net

Imports System.IO
Friend Class frmSettingsSheepVM
Inherits System.Windows.Forms.Form
Public ConfigFilePath As String
Public VMName As String
Public SelectedItem As Integer
Public Sub LoadSettingsFrom(Item As Integer)
ConfigFilePath = frmMain.VMList.Items.Item(Item).SubItems(1).Text
VMName = frmMain.VMList.Items.Item(Item).Text
SelectedItem = Item
End Sub
Public Sub Settings()
Dim Reader As New StreamReader(ConfigFilePath)
Dim ConfigValues As New ArrayList()
Dim strContainer As String = ""
MacName.Text = frmMain.VMList.Items.Item(SelectedItem).Text
Do
strContainer = Reader.ReadLine()
If Not strContainer Is Nothing Then
ConfigValues.Add(strContainer)
End If
Loop Until strContainer Is Nothing
Reader.Close()
For x As Integer = 0 To ConfigValues.Count - 1
If InStr(ConfigValues(x), "disk") <> 0 Then
With DriveList.Items.Add(ConfigValues(x).ToString.Substring(5))
.ImageKey = "Drive"
.SubItems.Add("Disk")
.SubItems.Add("")
End With
End If
If InStr(ConfigValues(x), "floppy") <> 0 Then
With DriveList.Items.Add(ConfigValues(x).ToString.Substring(7))
.ImageKey = "Floppy"
.SubItems.Add("Floppy")
.SubItems.Add("")
End With
End If
If ConfigValues(x).ToString.Substring(0, 5) = "cdrom" Then
With DriveList.Items.Add(ConfigValues(x).ToString.Substring(6))
.ImageKey = "Disc"
.SubItems.Add("CD")
.SubItems.Add("")
End With
End If
If ConfigValues(x).ToString.Substring(0, 5) = "extfs" Then
End If
If ConfigValues(x).ToString.Substring(0, 4) = "scsi" Then
Select Case ConfigValues(x).ToString.Substring(0, 5)
Case "scsi0"
Case "scsi1"
Case "scsi2"
Case "scsi3"
Case "scsi4"
Case "scsi5"
Case "scsi6"
End Select
End If
If ConfigValues(x).ToString.Length > 7 Then
If ConfigValues(x).ToString.Substring(0, 7) = "screen " Then
Dim a As String = ConfigValues(x).ToString.Substring(7)
Dim b() As String = Split(a, "/")
Dim FoundX As Boolean = False
Dim FoundY As Boolean = False
Select Case b(0)
Case "win"
MediaMode.SelectedIndex = 0
Case "dga"
MediaMode.SelectedIndex = 1
End Select
For c As Integer = 0 To MediaResY.Items.Count - 1
If FoundX = True And FoundY = True Then
Exit For
End If
If InStr(MediaResX.Items.Item(c).ToString, b(1)) <> 0 Then
MediaResX.SelectedIndex = c
FoundX = True
ElseIf c = MediaResX.Items.Count - 1 And FoundX = False Then
MediaResX.Items.Add(b(1))
MediaResX.SelectedIndex = MediaResX.Items.Count - 1
End If
If InStr(MediaResY.Items.Item(c).ToString, b(2)) <> 0 Then
MediaResY.SelectedIndex = c
FoundY = True
ElseIf c = MediaResY.Items.Count - 1 And FoundY = False Then
MediaResY.Items.Add(b(2))
MediaResY.SelectedIndex = MediaResY.Items.Count - 1
End If
Next
End If
End If
If InStr(ConfigValues(x), "windowsmodes") <> 0 Then
End If
If InStr(ConfigValues(x), "screenmodes") <> 0 Then
End If
If InStr(ConfigValues(x), "seriala") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(8)
Case "COM1"
SerialA.SelectedIndex = 0
Case "COM2"
SerialA.SelectedIndex = 1
Case "COM3"
SerialA.SelectedIndex = 2
Case "COM4"
SerialA.SelectedIndex = 3
Case "COM5"
SerialA.SelectedIndex = 4
Case "COM6"
SerialA.SelectedIndex = 5
Case "LPT1"
SerialA.SelectedIndex = 6
Case "LPT2"
SerialA.SelectedIndex = 7
Case "LPT3"
SerialA.SelectedIndex = 8
Case "LPT4"
SerialA.SelectedIndex = 9
Case "LPT5"
SerialA.SelectedIndex = 10
Case "LPT6"
SerialA.SelectedIndex = 11
Case "FILE"
SerialA.SelectedIndex = 12
End Select
End If
If InStr(ConfigValues(x), "serialb") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(8)
Case "COM1"
SerialB.SelectedIndex = 0
Case "COM2"
SerialB.SelectedIndex = 1
Case "COM3"
SerialB.SelectedIndex = 2
Case "COM4"
SerialB.SelectedIndex = 3
Case "COM5"
SerialB.SelectedIndex = 4
Case "COM6"
SerialB.SelectedIndex = 5
Case "LPT1"
SerialB.SelectedIndex = 6
Case "LPT2"
SerialB.SelectedIndex = 7
Case "LPT3"
SerialB.SelectedIndex = 8
Case "LPT4"
SerialB.SelectedIndex = 9
Case "LPT5"
SerialB.SelectedIndex = 10
Case "LPT6"
SerialB.SelectedIndex = 11
Case "FILE"
SerialB.SelectedIndex = 12
End Select
End If
If ConfigValues(x).ToString.Substring(0, 3) = "rom" Then
MiscROM.Text = ConfigValues(x).ToString.Substring(4)
End If
If InStr(ConfigValues(x), "bootdrive") <> 0 Then
Dim bd As Integer = ConfigValues(x).ToString.Substring(10)
If bd <= DriveList.Items.Count Then
DriveList.Items.Item(bd).SubItems.Item(2).Text = "*"
End If
End If
If InStr(ConfigValues(x), "bootdriver") <> 0 Then
Dim BootDriver As Integer = ConfigValues(x).ToString.Substring(11)
Select Case BootDriver
Case 0
DriveBootDisk.Checked = True
Case -62
DriveBootCD.Checked = True
End Select
End If
If InStr(ConfigValues(x), "ramsize") <> 0 Then
Dim RAMMiB As Long = ConfigValues(x).ToString.Substring(7)
RAMMiB = (RAMMiB / 1024) / 1024
MemoryBox.Text = RAMMiB
End If
If InStr(ConfigValues(x), "frameskip") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(10)
Case "12"
MediaRefresh.SelectedIndex = 0
Case "8"
MediaRefresh.SelectedIndex = 1
Case "6"
MediaRefresh.SelectedIndex = 2
Case "4"
MediaRefresh.SelectedIndex = 3
Case "2"
MediaRefresh.SelectedIndex = 4
Case "1"
MediaRefresh.SelectedIndex = 5
End Select
End If
If InStr(ConfigValues(x), "gfxaccel") <> 0 Then
If ConfigValues(x).ToString.Substring(9) = "true" Then
MediaEnableQuickDraw.Checked = True
End If
End If
If InStr(ConfigValues(x), "nocdrom") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(8)
Case "false"
MediaEnableCD.Checked = True
Case "true"
MediaEnableCD.Checked = False
End Select
End If
If InStr(ConfigValues(x), "nonet") <> 0 Then
If ConfigValues(x).ToString.Substring(6) = "true" Then
NetEnable.Checked = False
End If
End If
If InStr(ConfigValues(x), "nosound") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(8)
Case "false"
MediaEnableSound.Checked = True
Case "true"
MediaEnableSound.Checked = False
End Select
End If
If InStr(ConfigValues(x), "nogui") <> 0 Then
If ConfigValues(x).ToString.Substring(6) = "true" Then
MiscEnableGUI.Checked = True
End If
End If
If InStr(ConfigValues(x), "noclipconversion") <> 0 Then
If ConfigValues(x).ToString.Substring(17, 4) = "true" Then
MiscClipConv.Checked = True
End If
End If
If InStr(ConfigValues(x), "ignoresegv") <> 0 Then
If ConfigValues(x).ToString.Substring(11) = "true" Then
MiscIgnoreSegv.Checked = True
End If
End If
If InStr(ConfigValues(x), "ignoreillegal") <> 0 Then
If ConfigValues(x).ToString.Substring(14) = "true" Then
MiscIgnoreIllegal.Checked = True
End If
End If
If InStr(ConfigValues(x), "jit") <> 0 Then
If ConfigValues(x).ToString.Substring(4) = "true" Then
JITEnable.Checked = True
End If
End If
If InStr(ConfigValues(x), "jit68k") <> 0 Then
If ConfigValues(x).ToString.Substring(7) = "true" Then
JIT68kEnable.Checked = True
End If
End If
If InStr(ConfigValues(x), "keyboardtype") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(13)
Case "5"
InputEmuKbdType.SelectedIndex = 0
Case "6"
Case "7"
Case "8"
Case "9"
Case "10"
Case "11"
InputEmuKbdType.SelectedIndex = 1
Case "12"
Case "13"
InputEmuKbdType.SelectedIndex = 2
End Select
End If
If InStr(ConfigValues(x), "ether") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(6)
Case "slirp"
NetType.SelectedIndex = 0
Case "router"
NetType.SelectedIndex = 1
End Select
End If
If InStr(ConfigValues(x), "keycodes") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(9)
Case "true"
InputKeycodesEnable.Checked = True
Case "false"
InputKeycodesEnable.Checked = False
End Select
End If
If InStr(ConfigValues(x), "keycodefile") <> 0 Then
InputKeyCodesPath.Text = ConfigValues(x).ToString.Substring(13)
End If
If InStr(ConfigValues(x), "mousewheelmode") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(15, 1)
Case "0"
InputMouseWheelMode.SelectedIndex = 0
Case "1"
InputMouseWheelMode.SelectedIndex = 1
End Select
End If
If InStr(ConfigValues(x), "mousewheellines") <> 0 Then
Dim Number As Integer = ConfigValues(x).ToString.Substring(15)
InputMouseWheelLines.Value = Number
End If
If InStr(ConfigValues(x), "enableextfs") <> 0 Then
If ConfigValues(x).ToString.Substring(12) = "true" Then
ExtFSEnable.Checked = True
End If
End If
If InStr(ConfigValues(x), "debugextfs") <> 0 Then
If ConfigValues(x).ToString.Substring(11) = "true" Then
JITDebugExtFS.Checked = True
End If
End If
If InStr(ConfigValues(x), "extdrives") <> 0 Then
Dim StringValue As String = ConfigValues(x).ToString.Substring(10)
For a As Integer = 0 To StringValue.Length - 1
Select Case StringValue.Substring(a, 1)
Case "C"
ExtFSDrives.SetItemCheckState(0, CheckState.Checked)
Case "D"
ExtFSDrives.SetItemCheckState(1, CheckState.Checked)
Case "E"
ExtFSDrives.SetItemCheckState(2, CheckState.Checked)
Case "F"
ExtFSDrives.SetItemCheckState(3, CheckState.Checked)
Case "G"
ExtFSDrives.SetItemCheckState(4, CheckState.Checked)
Case "H"
ExtFSDrives.SetItemCheckState(5, CheckState.Checked)
Case "I"
ExtFSDrives.SetItemCheckState(6, CheckState.Checked)
Case "J"
ExtFSDrives.SetItemCheckState(7, CheckState.Checked)
Case "K"
ExtFSDrives.SetItemCheckState(8, CheckState.Checked)
Case "L"
ExtFSDrives.SetItemCheckState(9, CheckState.Checked)
Case "M"
ExtFSDrives.SetItemCheckState(10, CheckState.Checked)
Case "N"
ExtFSDrives.SetItemCheckState(11, CheckState.Checked)
Case "O"
ExtFSDrives.SetItemCheckState(12, CheckState.Checked)
Case "P"
ExtFSDrives.SetItemCheckState(13, CheckState.Checked)
Case "Q"
ExtFSDrives.SetItemCheckState(14, CheckState.Checked)
Case "R"
ExtFSDrives.SetItemCheckState(15, CheckState.Checked)
Case "S"
ExtFSDrives.SetItemCheckState(16, CheckState.Checked)
Case "T"
ExtFSDrives.SetItemCheckState(17, CheckState.Checked)
Case "U"
ExtFSDrives.SetItemCheckState(18, CheckState.Checked)
Case "V"
ExtFSDrives.SetItemCheckState(19, CheckState.Checked)
Case "W"
ExtFSDrives.SetItemCheckState(20, CheckState.Checked)
Case "X"
ExtFSDrives.SetItemCheckState(21, CheckState.Checked)
Case "Y"
ExtFSDrives.SetItemCheckState(22, CheckState.Checked)
Case "Z"
ExtFSDrives.SetItemCheckState(23, CheckState.Checked)
End Select
Next
End If
If InStr(ConfigValues(x), "pollmedia") <> 0 Then
If ConfigValues(x).ToString.Substring(10) = "true" Then
DrivePollMedia.Checked = True
End If
End If
If InStr(ConfigValues(x), "etherguid") <> 0 Then
End If
If InStr(ConfigValues(x), "etherpermanentaddress") <> 0 Then
If ConfigValues(x).ToString.Substring(22) = "true" Then
NetPermPhysicalAddress.Checked = True
End If
End If
If InStr(ConfigValues(x), "etherfakeaddress") <> 0 Then
NetFakeAddress.Text = ConfigValues(x).ToString.Substring(17)
End If
If InStr(ConfigValues(x), "ethermulticastmode") <> 0 Then
NetMulticastMode.Text = ConfigValues(x).ToString.Substring(19)
End If
If InStr(ConfigValues(x), "routerenabled") <> 0 Then
If ConfigValues(x).ToString.Substring(14) = "true" Then
NetRouterEnabled.Checked = True
Else
NetRouterEnabled.Checked = False
End If
End If
If InStr(ConfigValues(x), "tcp_port") <> 0 Then
NetServerPorts.Text = ConfigValues(x).ToString.Substring(9)
End If
If InStr(ConfigValues(x), "ftp_port_list") <> 0 Then
NetFTPPorts.Text = ConfigValues(x).ToString.Substring(14)
End If
If InStr(ConfigValues(x), "portfile0") <> 0 Then
SerialAFilePath.Text = ConfigValues(x).ToString.Substring(10)
End If
If InStr(ConfigValues(x), "portfile1") <> 0 Then
SerialBFilePath.Text = ConfigValues(x).ToString.Substring(10)
End If
EMCEditor.Items.Add(ConfigValues(x))
Next
End Sub
Public Sub SaveSettings()
Dim ConfigFile As String = ""
'Set the Text of the TextBox as the Mac name
'frmMain.VMList.Items.Item(VMName).Text = MacName.Text
'Recollect data
For x As Integer = 0 To DriveList.Items.Count - 1
Select Case DriveList.Items.Item(x).SubItems(1).Text
Case "CD"
ConfigFile = ConfigFile & "cdrom " & DriveList.Items.Item(x).Text & vbCrLf
Case "Disk"
ConfigFile = ConfigFile & "disk " & DriveList.Items.Item(x).Text & vbCrLf
Case "Floppy"
ConfigFile = ConfigFile & "floppy " & DriveList.Items.Item(x).Text & vbCrLf
End Select
If DriveList.Items.Item(x).SubItems(2).Text = "*" Then
ConfigFile = ConfigFile & "bootdrive " & x & vbCrLf
End If
Next
ConfigFile = ConfigFile & "screen "
If MediaMode.SelectedIndex = 0 Then
ConfigFile = ConfigFile & "win/"
Else
ConfigFile = ConfigFile & "dga/"
End If
ConfigFile = ConfigFile & MediaResX.SelectedItem.ToString & "/"
ConfigFile = ConfigFile & MediaResY.SelectedItem.ToString & vbCrLf
If SerialA.SelectedItem.ToString <> "None" Then
Select Case SerialA.SelectedIndex
Case 0
ConfigFile = ConfigFile & "seriala COM1" & vbCrLf
Case 1
ConfigFile = ConfigFile & "seriala COM2" & vbCrLf
Case 2
ConfigFile = ConfigFile & "seriala COM3" & vbCrLf
Case 3
ConfigFile = ConfigFile & "seriala COM4" & vbCrLf
Case 4
ConfigFile = ConfigFile & "seriala COM5" & vbCrLf
Case 5
ConfigFile = ConfigFile & "seriala COM6" & vbCrLf
Case 6
ConfigFile = ConfigFile & "seriala LPT1" & vbCrLf
Case 7
ConfigFile = ConfigFile & "seriala LP2" & vbCrLf
Case 8
ConfigFile = ConfigFile & "seriala LPT3" & vbCrLf
Case 9
ConfigFile = ConfigFile & "seriala LPT4" & vbCrLf
Case 10
ConfigFile = ConfigFile & "seriala LPT5" & vbCrLf
Case 11
ConfigFile = ConfigFile & "seriala LPT6" & vbCrLf
Case 12
If SerialAFilePath.Text <> "" Then
ConfigFile = ConfigFile & "seriala FILE" & vbCrLf
ConfigFile = ConfigFile & "portfile0 " & SerialAFilePath.Text & vbCrLf
End If
End Select
End If
If SerialB.SelectedItem.ToString <> "None" Then
Select Case SerialB.SelectedIndex
Case 0
ConfigFile = ConfigFile & "serialb COM1" & vbCrLf
Case 1
ConfigFile = ConfigFile & "serialb COM2" & vbCrLf
Case 2
ConfigFile = ConfigFile & "serialb COM3" & vbCrLf
Case 3
ConfigFile = ConfigFile & "serialb COM4" & vbCrLf
Case 4
ConfigFile = ConfigFile & "serialb COM5" & vbCrLf
Case 5
ConfigFile = ConfigFile & "serialb COM6" & vbCrLf
Case 6
ConfigFile = ConfigFile & "serialb LPT1" & vbCrLf
Case 7
ConfigFile = ConfigFile & "serialb LP2" & vbCrLf
Case 8
ConfigFile = ConfigFile & "serialb LPT3" & vbCrLf
Case 9
ConfigFile = ConfigFile & "serialb LPT4" & vbCrLf
Case 10
ConfigFile = ConfigFile & "serialb LPT5" & vbCrLf
Case 11
ConfigFile = ConfigFile & "serialb LPT6" & vbCrLf
Case 12
If SerialBFilePath.Text <> "" Then
ConfigFile = ConfigFile & "serialb FILE" & vbCrLf
ConfigFile = ConfigFile & "portfile1 " & SerialBFilePath.Text & vbCrLf
End If
End Select
End If
ConfigFile = ConfigFile & "rom " & MiscROM.Text & vbCrLf
If DriveBootDisk.Checked = True Then
ConfigFile = ConfigFile & "bootdriver 0" & vbCrLf
Else
ConfigFile = ConfigFile & "bootdriver -62" & vbCrLf
End If
ConfigFile = ConfigFile & "ramsize " & (MemoryBox.Text * 1024) * 1024 & vbCrLf
Select Case MediaRefresh.SelectedIndex
Case 0
ConfigFile = ConfigFile & "frameskip 12" & vbCrLf
Case 1
ConfigFile = ConfigFile & "frameskip 8" & vbCrLf
Case 2
ConfigFile = ConfigFile & "frameskip 6" & vbCrLf
Case 3
ConfigFile = ConfigFile & "frameskip 4" & vbCrLf
Case 4
ConfigFile = ConfigFile & "frameskip 2" & vbCrLf
Case 5
ConfigFile = ConfigFile & "frameskip 1" & vbCrLf
End Select
If MediaEnableQuickDraw.Checked = True Then
ConfigFile = ConfigFile & "gfxaccel true" & vbCrLf
Else
ConfigFile = ConfigFile & "gfxaccel false" & vbCrLf
End If
If MediaEnableCD.Checked = True Then
ConfigFile = ConfigFile & "nocdrom false" & vbCrLf
Else
ConfigFile = ConfigFile & "nocdrom true" & vbCrLf
End If
If MediaEnableSound.Checked = True Then
ConfigFile = ConfigFile & "nosound false" & vbCrLf
Else
ConfigFile = ConfigFile & "nosound true" & vbCrLf
End If
If NetEnable.Checked = True Then
ConfigFile = ConfigFile & "nonet false" & vbCrLf
Else
ConfigFile = ConfigFile & "nonet true" & vbCrLf
End If
If MiscEnableGUI.Checked = True Then
ConfigFile = ConfigFile & "nogui false" & vbCrLf
Else
ConfigFile = ConfigFile & "nogui true" & vbCrLf
End If
If MiscClipConv.Checked = True Then
ConfigFile = ConfigFile & "noclipconversion false" & vbCrLf
Else
ConfigFile = ConfigFile & "noclipconversion true" & vbCrLf
End If
If MiscIgnoreSegv.Checked = True Then
ConfigFile = ConfigFile & "ignoresegv true" & vbCrLf
Else
ConfigFile = ConfigFile & "ignoresegv false" & vbCrLf
End If
If MiscIgnoreIllegal.Checked = True Then
ConfigFile = ConfigFile & "ignoreillegal true" & vbCrLf
Else
ConfigFile = ConfigFile & "ignoreillegal false" & vbCrLf
End If
If JITEnable.Checked = True Then
ConfigFile = ConfigFile & "jit true" & vbCrLf
Else
ConfigFile = ConfigFile & "jit false" & vbCrLf
End If
If JIT68kEnable.Checked = True Then
ConfigFile = ConfigFile & "jit68k true" & vbCrLf
Else
ConfigFile = ConfigFile & "jit68k false" & vbCrLf
End If
Select Case InputEmuKbdType.SelectedIndex
Case 0
ConfigFile = ConfigFile & "keyboardtype 5" & vbCrLf
Case 1
ConfigFile = ConfigFile & "keyboardtype 11" & vbCrLf
Case 2
ConfigFile = ConfigFile & "keyboardtype 13" & vbCrLf
End Select
Select Case NetType.SelectedIndex
Case 0
ConfigFile = ConfigFile & "ether slirp" & vbCrLf
Case 1
ConfigFile = ConfigFile & "ether router" & vbCrLf
End Select
If InputKeycodesEnable.Checked = True Then
ConfigFile = ConfigFile & "keycodes true" & vbCrLf
ConfigFile = ConfigFile & "keycodesfile " & InputKeyCodesPath.Text & vbCrLf
End If
Select Case InputMouseWheelMode.SelectedIndex = 0
Case 0
ConfigFile = ConfigFile & "mousewheelmode 0" & vbCrLf
Case 1
ConfigFile = ConfigFile & "mousewheelmode 1" & vbCrLf
ConfigFile = ConfigFile & "mousewheellines " & InputMouseWheelLines.Value & vbCrLf
End Select
If ExtFSEnable.Checked = True Then
ConfigFile = ConfigFile & "enableextfs true" & vbCrLf
ConfigFile = ConfigFile & "extfsdrives "
For x As Integer = 0 To ExtFSDrives.Items.Count
If ExtFSDrives.CheckedIndices.Contains(x) = True Then
ConfigFile = ConfigFile & ExtFSDrives.Items.Item(x).ToString()
End If
Next
ConfigFile = ConfigFile & vbCrLf
Else
ConfigFile = ConfigFile & "enableextfs false" & vbCrLf
End If
If JITDebugExtFS.Checked = True Then
ConfigFile = ConfigFile & "debugextfs true" & vbCrLf
Else
ConfigFile = ConfigFile & "debugextfs false" & vbCrLf
End If
If DrivePollMedia.Checked = True Then
ConfigFile = ConfigFile & "pollmedia true" & vbCrLf
Else
ConfigFile = ConfigFile & "pollmedia false" & vbCrLf
End If
If NetPermPhysicalAddress.Checked = True Then
ConfigFile = ConfigFile & "etherpermanentaddress true" & vbCrLf
Else
ConfigFile = ConfigFile & "etherpermanentaddress false" & vbCrLf
End If
If NetFakeAddress.Text <> "" Then
ConfigFile = ConfigFile & "etherfakeaddress " & NetFakeAddress.Text & vbCrLf
End If
If NetMulticastMode.Text <> "" Then
ConfigFile = ConfigFile & "ethermulticast " & NetMulticastMode.Text & vbCrLf
End If
If NetRouterEnabled.Checked = True Then
ConfigFile = ConfigFile & "routerenabled true" & vbCrLf
Else
ConfigFile = ConfigFile & "routerenabled false" & vbCrLf
End If
If NetFTPPorts.Text <> "" Then
ConfigFile = ConfigFile & "ftp_port_list " & NetFTPPorts.Text & vbCrLf
End If
If NetFTPPorts.Text <> "" Then
ConfigFile = ConfigFile & "tcp_port " & NetServerPorts.Text & vbCrLf
End If
ConfigFile = ConfigFile & "portfile0 " & SerialAFilePath.Text & vbCrLf
ConfigFile = ConfigFile & "portfile1 " & SerialBFilePath.Text & vbCrLf
MsgBox(ConfigFile)
ConfigFileHandler.Write(ConfigFile, ConfigFilePath)
End Sub
Private Sub SwitchPages(ByVal NewPage As System.Windows.Forms.GroupBox)
MacNameFrame.Visible = False
IconFrame.Visible = False
MemoryFrame.Visible = False
DriveFrame.Visible = False
NetworkFrame.Visible = False
MediaFrame.Visible = False
InputFrame.Visible = False
SerialFrame.Visible = False
ExtFSFrame.Visible = False
MiscFrame.Visible = False
JITFrame.Visible = False
EMCFrame.Visible = False
NewPage.Visible = True
End Sub
Private Sub cmdCancel_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCancel.Click
Me.Close() 'Saves nothing and closes the dialog
End Sub
Private Sub cmdOK_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdOK.Click
'Save the config file and/or update the item in the console and leave
SaveSettings()
Me.Close()
End Sub
Private Sub frmSettingsSheepVM_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Set up some things
InitializeData()
'Load the config file into the respective groups
Settings()
End Sub
Public Sub InitializeData()
'Quite self explanatory, it gets the RAM in the host, divides it into MBs and sets the maximum values for the RAM controls
Dim HostRAM As Long = (My.Computer.Info.TotalPhysicalMemory / 1024) / 1024
MemoryTracker.Maximum = HostRAM
MemoryTracker.TickFrequency = HostRAM / 20
Me.Text = "Settings for " & frmMain.VMList.Items.Item(SelectedItem).Text
MediaRefresh.SelectedIndex = MediaRefresh.Items.Count - 1
'Code used to load icons
For x As Integer = 0 To frmMain.MacIcons.Images.Count - 1
Icons.Images.Add(frmMain.MacIcons.Images.Item(x).ToString, frmMain.MacIcons.Images.Item(x))
With IconList.Items.Add(x)
.ImageIndex = x
End With
Next
End Sub
Private Sub IconAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IconAdd.Click
'If the user did choose a valid file, then execute the code
If Browser.ShowDialog() = Forms.DialogResult.OK Then
Dim ImgName As String = System.IO.Path.GetFileNameWithoutExtension(Browser.FileName) 'Get the Name without extension for the pic name
Dim Img As System.Drawing.Image = Image.FromFile(Browser.FileName) 'Set a variable for the pic assign to it the image selected
frmMain.MacIcons.Images.Add(ImgName, Img) 'Add the icon to the console ImageList, so it can be shown with this dialog closed
My.Settings.x = My.Settings.x & Browser.FileName & "," 'Add the icon to the settings, so the icon can be loaded after closing and reopening the program
IconList.Items.Add(ImgName, Icons.Images.Count - 1) 'Add the icon to the form's ImageList
Icons.Images.Add(ImgName, Img) 'Add the icon to the form's ListView
IconList.Items.Item(Icons.Images.Count - 1).Focused = True 'Focus the item, so the user sees it has been added
End If
End Sub
Private Sub MemoryTracker_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles MemoryTracker.Scroll
'Set the same value in both Slider and NumericUpDown
MemoryBox.Text = MemoryTracker.Value
End Sub
Private Sub OptionList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles OptionList.SelectedIndexChanged
'If the selected index changes (The user selects another "tab"), switch the tab visible
Select Case OptionList.FocusedItem.Index
Case 0
SwitchPages(MacNameFrame)
Case 1
SwitchPages(IconFrame)
Case 2
SwitchPages(MemoryFrame)
Case 3
SwitchPages(DriveFrame)
Case 4
SwitchPages(NetworkFrame)
Case 5
SwitchPages(MediaFrame)
Case 6
SwitchPages(InputFrame)
Case 7
SwitchPages(SerialFrame)
Case 8
SwitchPages(ExtFSFrame)
Case 9
SwitchPages(MiscFrame)
Case 10
SwitchPages(JITFrame)
Case 11
SwitchPages(EMCFrame)
End Select
End Sub
Private Sub ScrResCust_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MediaResCust.CheckedChanged
'If the user marks the checkbox of "Custom resolution", make visible the CustomResolution controls
If MediaResCust.Checked = True Then
MediaResX.Visible = True
MediaResY.Visible = True
Else
MediaResX.Visible = False
MediaResY.Visible = False
End If
End Sub
Private Sub NetType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NetType.SelectedIndexChanged
If NetType.SelectedIndex = 1 Then
NetRouterConfig.Enabled = True
Else
NetRouterConfig.Enabled = False
End If
End Sub
Private Sub SerialA_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SerialA.SelectedIndexChanged
If SerialA.SelectedIndex = 12 Then
SerialAFilePath.Enabled = True
SerialAFileBrowse.Enabled = True
Else
SerialAFilePath.Enabled = False
SerialAFileBrowse.Enabled = False
End If
End Sub
Private Sub SerialB_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SerialB.SelectedIndexChanged
If SerialB.SelectedIndex = 12 Then
SerialBFilePath.Enabled = True
SerialBFileBrowse.Enabled = True
Else
SerialBFileBrowse.Enabled = False
SerialBFilePath.Enabled = False
End If
End Sub
Private Sub EMCEditor_ItemActivate(sender As Object, e As System.EventArgs) Handles EMCEditor.ItemActivate
EMCEditor.FocusedItem.BeginEdit()
End Sub
Private Sub MiscROMBrowse_Click(sender As System.Object, e As System.EventArgs) Handles MiscROMBrowse.Click
If Browser.ShowDialog = Forms.DialogResult.OK Then
MiscROM.Text = Browser.FileName
End If
End Sub
Private Sub NetEnable_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles NetEnable.CheckedChanged
If NetEnable.Checked = True Then
NetContainer.Enabled = True
Else
NetContainer.Enabled = False
End If
End Sub
Private Sub NetFakeAddress_GotFocus(sender As Object, e As System.EventArgs) Handles NetFakeAddress.GotFocus
If NetFakeAddress.Text = "No phisical address set." Then
NetFakeAddress.ForeColor = Color.Black
NetFakeAddress.Text = ""
End If
End Sub
Private Sub NetFakeAddress_LostFocus(sender As Object, e As System.EventArgs) Handles NetFakeAddress.LostFocus
If NetFakeAddress.Text = "" Then
NetFakeAddress.ForeColor = Color.Gray
NetFakeAddress.Text = "No phisical address set."
End If
End Sub
Private Sub MemoryBox_TextChanged(sender As System.Object, e As System.EventArgs) Handles MemoryBox.TextChanged
MemoryTracker.Value = MemoryBox.Text
End Sub
Private Sub ExtFSEnable_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles ExtFSEnable.CheckedChanged
If ExtFSEnable.Checked Then
ExtFSDrives.Visible = True
Else
ExtFSDrives.Visible = False
End If
End Sub
Private Sub InputKeycodesEnable_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles InputKeycodesEnable.CheckedChanged
If InputKeycodesEnable.Checked Then
InputKeyCodesPathPanel.Enabled = True
Else
InputKeyCodesPathPanel.Enabled = False
End If
End Sub
End Class