diff options
Diffstat (limited to 'ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb')
| -rw-r--r-- | ShiftOS.Modding.VB.LegacySkinConverter/Module1.vb | 183 |
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!") |
