aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb')
-rw-r--r--ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb183
1 files changed, 152 insertions, 31 deletions
diff --git a/ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb b/ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb
index 957658e..0a65a5e 100644
--- a/ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb
+++ b/ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb
@@ -37,58 +37,179 @@ Public Class SkinConverterCommands
ZipFile.ExtractToDirectory("temp.skn", "temp_skn")
Console.WriteLine("Extracted skin... loading it now.")
- loadimages()
+ Skins.loadimages()
Dim skn = New Skin()
'Get images.
Console.Write("Processing images...")
- skn.DesktopBackgroundImage = SaveImageToBinary(desktopbackground)
- skn.DesktopPanelBackground = SaveImageToBinary(desktoppanel)
- skn.CloseButtonImage = SaveImageToBinary(closebtn)
- skn.MaximizeButtonImage = SaveImageToBinary(rollbtn)
- skn.MinimizeButtonImage = SaveImageToBinary(minbtn)
- skn.PanelButtonBG = SaveImageToBinary(panelbutton)
- skn.AppLauncherImage = SaveImageToBinary(applauncher)
- skn.TitleBarBackground = SaveImageToBinary(titlebar)
- skn.TitleLeftCornerWidth = titlebarcornerwidth
- skn.TitleRightCornerWidth = titlebarcornerwidth
+ skn.DesktopBackgroundImage = SaveImageToBinary(Skins.desktopbackground)
+ skn.DesktopPanelBackground = SaveImageToBinary(Skins.desktoppanel)
+ skn.CloseButtonImage = SaveImageToBinary(Skins.closebtn)
+ skn.MaximizeButtonImage = SaveImageToBinary(Skins.rollbtn)
+ skn.MinimizeButtonImage = SaveImageToBinary(Skins.minbtn)
+ skn.PanelButtonBG = SaveImageToBinary(Skins.panelbutton)
+ skn.AppLauncherImage = SaveImageToBinary(Skins.applauncher)
+ skn.TitleBarBackground = SaveImageToBinary(Skins.titlebar)
+ skn.TitleLeftCornerWidth = Skins.titlebarcornerwidth
+ skn.TitleRightCornerWidth = Skins.titlebarcornerwidth
skn.ShowTitleCorners = True 'I don't know what the legacy version of this is.
- skn.TitleLeftBG = SaveImageToBinary(leftcorner)
- skn.TitleRightBG = SaveImageToBinary(rightcorner)
- skn.LeftBorderBG = SaveImageToBinary(borderleft)
- skn.RightBorderBG = SaveImageToBinary(borderright)
- skn.BottomBorderBG = SaveImageToBinary(borderbottom)
- skn.BottomLBorderBG = SaveImageToBinary(bottomleftcorner)
- skn.BottomRBorderBG = SaveImageToBinary(bottomrightcorner)
+ skn.TitleLeftBG = SaveImageToBinary(Skins.leftcorner)
+ skn.TitleRightBG = SaveImageToBinary(Skins.rightcorner)
+ skn.LeftBorderBG = SaveImageToBinary(Skins.borderleft)
+ skn.RightBorderBG = SaveImageToBinary(Skins.borderright)
+ skn.BottomBorderBG = SaveImageToBinary(Skins.borderbottom)
+ skn.BottomLBorderBG = SaveImageToBinary(Skins.bottomleftcorner)
+ skn.BottomRBorderBG = SaveImageToBinary(Skins.bottomrightcorner)
Console.WriteLine(" ...done.")
Console.Write("Converting desktop settings...")
skn.AppLauncherText = Skins.applicationlaunchername
- skn.AppLauncherHolderSize = New Size(applaunchermenuholderwidth, desktoppanelheight)
+ skn.AppLauncherHolderSize = New Size(Skins.applaunchermenuholderwidth, Skins.desktoppanelheight)
skn.AppLauncherFromLeft = New Point(0, 0)
- skn.DesktopPanelHeight = desktoppanelheight
- Select Case desktoppanelposition
+ skn.DesktopPanelHeight = Skins.desktoppanelheight
+ Select Case Skins.desktoppanelposition
Case "Top"
skn.DesktopPanelPosition = 0
Case "Bottom"
skn.DesktopPanelPosition = 1
End Select
- skn.DesktopPanelColor = desktoppanelcolour
- skn.DesktopPanelClockBackgroundColor = clockbackgroundcolor
- skn.DesktopPanelClockColor = clocktextcolour
- skn.DesktopPanelClockFont = New Font(panelclocktextfont, panelclocktextsize, panelclocktextstyle)
- skn.PanelButtonColor = panelbuttoncolour
- skn.PanelButtonTextColor = panelbuttontextcolour
- skn.PanelButtonFont = New Font(panelbuttontextfont, panelbuttontextsize, panelbuttontextstyle)
- skn.PanelButtonHolderFromLeft = panelbuttoninitialgap
- skn.PanelButtonSize = New Size(panelbuttonwidth, panelbuttonheight)
- skn.PanelButtonFromLeft = New Point(panelbuttongap, panelbuttonfromtop)
+ skn.DesktopPanelColor = Skins.desktoppanelcolour
+ skn.DesktopPanelClockBackgroundColor = Skins.clockbackgroundcolor
+ skn.DesktopPanelClockColor = Skins.clocktextcolour
+ skn.DesktopPanelClockFont = New Font(Skins.panelclocktextfont, Skins.panelclocktextsize, Skins.panelclocktextstyle)
+ skn.PanelButtonColor = Skins.panelbuttoncolour
+ skn.PanelButtonTextColor = Skins.panelbuttontextcolour
+ skn.PanelButtonFont = New Font(Skins.panelbuttontextfont, Skins.panelbuttontextsize, Skins.panelbuttontextstyle)
+ skn.PanelButtonHolderFromLeft = skn.AppLauncherHolderSize.Width + Skins.panelbuttoninitialgap
+ skn.PanelButtonSize = New Size(Skins.panelbuttonwidth, Skins.panelbuttonheight)
+ skn.PanelButtonFromLeft = New Point(Skins.panelbuttongap, Skins.panelbuttonfromtop)
skn.DesktopPanelClockFromRight = New Point(0, 0)
+ skn.DesktopColor = Skins.desktopbackgroundcolour
Console.WriteLine(" ...done")
+ Console.Write("Creating new menu color scheme from App Launcher settings...")
+
+ skn.Menu_TextColor = Skins.applicationsbuttontextcolour
+ skn.Menu_SelectedTextColor = skn.Menu_TextColor
+ skn.Menu_MenuBorder = Skins.applauncherbuttoncolour
+ skn.Menu_MenuItemBorder = skn.Menu_MenuBorder
+ skn.Menu_ToolStripDropDownBackground = skn.Menu_MenuItemBorder
+ skn.Menu_ImageMarginGradientBegin = skn.Menu_ToolStripDropDownBackground
+ skn.Menu_ImageMarginGradientMiddle = skn.Menu_ToolStripDropDownBackground
+ skn.Menu_ImageMarginGradientEnd = skn.Menu_ToolStripDropDownBackground
+ skn.Menu_MenuStripGradientBegin = skn.Menu_ImageMarginGradientBegin
+ skn.Menu_MenuStripGradientEnd = skn.Menu_ImageMarginGradientBegin
+ skn.Menu_ToolStripBorder = skn.Menu_MenuBorder
+ skn.Menu_CheckBackground = skn.Menu_MenuBorder
+ skn.Menu_MenuItemSelected = Skins.applaunchermouseovercolour
+ skn.Menu_MenuItemPressedGradientBegin = Skins.applauncherbuttonclickedcolour
+ skn.Menu_MenuItemSelectedGradientBegin = skn.Menu_MenuItemSelected
+ skn.Menu_MenuItemSelectedGradientEnd = skn.Menu_MenuItemSelected
+ skn.Menu_MenuItemPressedGradientMiddle = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_MenuItemPressedGradientEnd = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_RaftingContainerGradientBegin = skn.Menu_MenuStripGradientBegin
+ skn.Menu_RaftingContainerGradientEnd = skn.Menu_MenuStripGradientBegin
+ skn.Menu_ButtonCheckedGradientBegin = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonCheckedGradientMiddle = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonCheckedGradientEnd = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonCheckedHighlightBorder = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonCheckedHighlight = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonPressedGradientBegin = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonPressedGradientMiddle = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonPressedGradientEnd = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonPressedHighlightBorder = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonPressedHighlight = skn.Menu_MenuItemPressedGradientBegin
+ skn.Menu_ButtonSelectedBorder = skn.Menu_MenuItemSelected
+ skn.Menu_ButtonSelectedGradientBegin = skn.Menu_MenuItemSelected
+ skn.Menu_ButtonSelectedGradientMiddle = skn.Menu_MenuItemSelected
+ skn.Menu_ButtonSelectedGradientEnd = skn.Menu_MenuItemSelected
+ skn.Menu_ButtonSelectedHighlight = skn.Menu_MenuItemSelected
+ skn.Menu_ButtonSelectedHighlightBorder = skn.Menu_MenuItemSelected
+ skn.Menu_SeparatorDark = skn.Menu_TextColor
+ skn.Menu_SeparatorLight = skn.Menu_TextColor
+ skn.Menu_ToolStripBorder = skn.Menu_MenuBorder
+ skn.Menu_ToolStripGradientBegin = skn.Menu_MenuBorder
+ skn.Menu_ToolStripGradientEnd = skn.Menu_MenuBorder
+ skn.Menu_ToolStripContentPanelGradientBegin = skn.Menu_MenuBorder
+ skn.Menu_ToolStripContentPanelGradientEnd = skn.Menu_MenuBorder
+
+ Console.WriteLine(" ...done")
+
+ Console.Write("Setting up image layouts... ")
+
+ Dim type = skn.GetType()
+ For Each member As System.Reflection.FieldInfo In type.GetFields(System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance)
+ For Each attribute As Attribute In member.GetCustomAttributes(False)
+ Try
+ Dim image As ImageAttribute = attribute
+ 'WHY CAN'T WE HAVE A C#-LIKE Is OPERATOR, VB?
+ 'I don't want to use a damn BODGE to check if my attribute is an ImageAttribute.
+ 'Oh well.
+
+ If skn.SkinImageLayouts.ContainsKey(image.Name) Then
+ skn.SkinImageLayouts(image.Name) = Skins.GetLayout(image.Name)
+ Else
+ skn.SkinImageLayouts.Add(image.Name, Skins.GetLayout(image.Name))
+ End If
+
+ Catch
+
+ End Try
+ Next
+ Next
+
+ Console.WriteLine(" ...done.")
+
+ Console.Write("Converting window settings...")
+
+ skn.TitlebarHeight = Skins.titlebarheight
+ skn.TitleTextColor = Skins.titletextcolour
+ skn.TitleBackgroundColor = Skins.titlebarcolour
+ skn.TitleRightCornerBackground = Skins.rightcornercolour
+ skn.TitleLeftCornerBackground = Skins.leftcornercolour
+ skn.TitleFont = New Font(Skins.titletextfontfamily, CType(Skins.titletextfontsize, Single), CType(Skins.titletextfontstyle, FontStyle))
+ skn.TitleTextLeft = New Point(Skins.titletextfromside, Skins.titletextfromtop)
+ Select Case Skins.titletextpos
+ Case "Left"
+ skn.TitleTextCentered = False
+ Case "Centre"
+ skn.TitleTextCentered = True
+ End Select
+ skn.CloseButtonColor = Skins.closebtncolour
+ skn.MinimizeButtonColor = Skins.minbtncolour
+ skn.MaximizeButtonColor = Skins.rollbtncolour
+ skn.CloseButtonSize = Skins.closebtnsize
+ skn.MinimizeButtonSize = Skins.minbtnsize
+ skn.MaximizeButtonSize = Skins.rollbtnsize
+ skn.CloseButtonFromSide = New Point(Skins.closebtnfromside, Skins.closebtnfromtop)
+ skn.MaximizeButtonFromSide = New Point(Skins.rollbtnfromside, Skins.rollbtnfromtop)
+ skn.MinimizeButtonFromSide = New Point(Skins.minbtnfromside, Skins.minbtnfromtop)
+ skn.BorderLeftBackground = Skins.borderleftcolour
+ skn.BorderRightBackground = Skins.borderrightcolour
+ skn.BorderBottomBackground = Skins.borderbottomcolour
+ skn.BorderBottomLeftBackground = Skins.bottomleftcornercolour
+ skn.BorderBottomRightBackground = Skins.bottomrightcornercolour
+ skn.LeftBorderWidth = Skins.borderwidth
+ skn.RightBorderWidth = Skins.borderwidth
+ skn.BottomBorderWidth = Skins.borderwidth
+
+ Console.WriteLine(" ...done")
+ Console.Write("Generating defaults for unknown values...")
+
+ skn.ControlColor = Color.White
+ skn.ControlTextColor = Color.Black
+ skn.MainFont = New Font("Microsoft Sans Serif", 8.25, FontStyle.Regular)
+ skn.HeaderFont = New Font("Microsoft Sans Serif", 17.5, FontStyle.Regular)
+ skn.Header2Font = New Font("Microsoft Sans Serif", 15, FontStyle.Regular)
+ skn.Header3Font = New Font("Microsoft Sans Serif", 12.5, FontStyle.Regular)
+
+ skn.TerminalBackColor = Color.Black
+
+ Console.WriteLine(" ...done!")
+ Console.WriteLine("Skin conversion complete.")
Utils.WriteAllText(output, skn.ToString())
Infobox.Show("Skin converted!", "We have successfully converted your skin and saved it to " + output + ". Go ahead and load it!")