ShiftOS-Rewind/ShiftOS/skins.vb
FloppyDiskDrive cf1bf85e01 Added the SOS code (VB and C#)
Very, very incomplete (C# isn't *remotely* complete.)
2017-09-21 17:16:49 -05:00

866 lines
No EOL
39 KiB
VB.net

Imports System.IO
Module Skins
#Region "Declarations"
Dim savepath As String = ShiftOSDesktop.ShiftOSPath
Dim firstrun As Boolean = True
'WINDOW SETTINGS/IMAGES
'images
Public titlebar As Image = Nothing
Public titlebarlayout As String = 3
Public borderleft As Image = Nothing
Public borderleftlayout As String = 3
Public borderright As Image = Nothing
Public borderrightlayout As String = 3
Public borderbottom As Image = Nothing
Public borderbottomlayout As String = 3
Public closebtn As Image = Nothing
Public closebtnlayout As String = 3
Public closebtnhover As Image = Nothing
Public closebtnclick As Image = Nothing
Public rollbtn As Image = Nothing
Public rollbtnlayout As String = 3
Public rollbtnhover As Image = Nothing
Public rollbtnclick As Image = Nothing
Public minbtn As Image = Nothing
Public minbtnlayout As String = 3
Public minbtnhover As Image = Nothing
Public minbtnclick As Image = Nothing
Public rightcorner As Image = Nothing
Public rightcornerlayout As String = 3
Public leftcorner As Image = Nothing
Public leftcornerlayout As String = 3
' Late entry: need to fix window code to include this
Public bottomleftcorner As Image = Nothing
Public bottomleftcornerlayout As String = 3
Public bottomrightcorner As Image = Nothing
Public bottomrightcornerlayout As String = 3
Public bottomleftcornercolour As Color = Color.Gray
Public bottomrightcornercolour As Color = Color.Gray
Public enablebordercorners As Boolean = False
' settings
Public closebtnsize As Size = New Size(22, 22)
Public rollbtnsize As Size = New Size(22, 22)
Public minbtnsize As Size = New Size(22, 22)
Public titlebarheight As Integer = 30
Public closebtnfromtop As Integer = 5
Public closebtnfromside As Integer = 2
Public rollbtnfromtop As Integer = 5
Public rollbtnfromside As Integer = 26
Public minbtnfromtop As Integer = 5
Public minbtnfromside As Integer = 52
Public borderwidth As Integer = 2
Public enablecorners As Boolean = False
Public titlebarcornerwidth As Integer = 5
Public titleiconfromside As Integer = 4
Public titleiconfromtop As Integer = 4
'colours
Public titlebarcolour As Color = Color.Gray
Public borderleftcolour As Color = Color.Gray
Public borderrightcolour As Color = Color.Gray
Public borderbottomcolour As Color = Color.Gray
Public closebtncolour As Color = Color.Black
Public closebtnhovercolour As Color = Color.Black
Public closebtnclickcolour As Color = Color.Black
Public rollbtncolour As Color = Color.Black
Public rollbtnhovercolour As Color = Color.Black
Public rollbtnclickcolour As Color = Color.Black
Public minbtncolour As Color = Color.Black
Public minbtnhovercolour As Color = Color.Black
Public minbtnclickcolour As Color = Color.Black
Public rightcornercolour As Color = Color.Gray
Public leftcornercolour As Color = Color.Gray
' Text
Public titletextfontfamily As String = "Microsoft Sans Serif"
Public titletextfontsize As Integer = 10
Public titletextfontstyle As String = FontStyle.Bold
Public titletextpos As String = "Left"
Public titletextfromtop As Integer = 3
Public titletextfromside As Integer = 24
Public titletextcolour As Color = Color.White
'DESKTOP
Public desktoppanelcolour As Color = Color.Gray
Public desktopbackgroundcolour As Color
Public desktoppanelheight As Integer = 24
Public desktoppanelposition As String = "Top"
Public clocktextcolour As Color = Color.Black
Public clockbackgroundcolor As Color = Color.Gray
Public panelclocktexttop As Integer = 3
Public panelclocktextsize As Integer = 10
Public panelclocktextfont As String = "Byington"
Public panelclocktextstyle As FontStyle = FontStyle.Bold
Public applauncherbuttoncolour As Color = Color.Gray
Public applauncherbuttonclickedcolour As Color = Color.Gray
Public applauncherbackgroundcolour As Color = Color.Gray
Public applaunchermouseovercolour As Color = Color.Gray
Public applicationsbuttontextcolour As Color = Color.Black
Public applicationbuttonheight As Integer = 24
Public applicationbuttontextsize As Integer = 10
Public applicationbuttontextfont As String = "Byington"
Public applicationbuttontextstyle As FontStyle = FontStyle.Bold
Public applicationlaunchername As String = "Applications"
Public titletextposition As String = "Left"
Public applaunchermenuholderwidth As Integer = 100
Public panelbuttonicontop As Integer = 3
Public panelbuttoniconside As Integer = 4
Public panelbuttoniconsize As Integer = 16
Public panelbuttonheight As Integer = 20
Public panelbuttonwidth As Integer = 185
Public panelbuttoncolour As Color = Color.Black
Public panelbuttontextcolour As Color = Color.White
Public panelbuttontextsize As Integer = 10
Public panelbuttontextfont As String = "Byington"
Public panelbuttontextstyle As FontStyle = FontStyle.Regular
Public panelbuttontextside As Integer = 16
Public panelbuttontexttop As Integer = 2
Public panelbuttongap As Integer = 4
Public panelbuttonfromtop As Integer = 2
Public panelbuttoninitialgap As Integer = 8
Public launcheritemsize As Integer = 10
Public launcheritemfont As String = "Byington"
Public launcheritemstyle As FontStyle = FontStyle.Regular
Public launcheritemcolour As Color = Color.Black
' Images
Public desktoppanel As Image = Nothing
Public desktoppanellayout As String = 3
Public desktopbackground As Image = Nothing
Public desktopbackgroundlayout As String = 3
Public panelclock As Image = Nothing
Public panelclocklayout As String = 3
Public applaunchermouseover As Image = Nothing
Public applauncher As Image = Nothing
Public applauncherlayout As String = 3
Public applauncherclick As Image = Nothing
Public panelbutton As Image = Nothing
Public panelbuttonlayout As String = 3
'Below is all for the Desktop Icons patch.
Public enabledraggableicons As Boolean = True
Public icontextcolor As Color = Color.White
Public showicons As Boolean = True
Public iconview1 As View = View.LargeIcon
Public iconview2 As View = View.Tile
'DevX's Advanced App Launcher (coded by The Ultimate Hacker)
Public topBarHeight As Integer = 50
Public bottomBarHeight As Integer = 50
Public placesSide As String = "Left"
Public startHeight As Integer = 526
Public startWidth As Integer = 320
Public shutdownstring As String = "Shut Down ShiftOS"
Public userNamePosition = "Middle, Right"
Public recentIconsHorizontal As Boolean = False
Public usernametextcolor As Color = Color.White
Public usernamefont As String = "Trebuchet MS"
Public usernamefontsize As Integer = 12
Public usernamefontstyle As FontStyle = FontStyle.Bold
Public userNamePanelBackgroundColor As Color = Color.Gray
Public userNamePanelBackground As Image
Public powerPanelBackgroundColor As Color = Color.Gray
Public powerPanelBackgroundImage As Image
Public shutdownTextColor As Color = Color.White
Public shutdownTextFont As String = "Trebuchet MS"
Public shutdownTextSize As Integer = 12
Public shutdownTextStyle As FontStyle = FontStyle.Italic
Public usrPanelBackgroundLayout As ImageLayout = ImageLayout.Stretch
Public pwrPanelBackgroundLayout As ImageLayout = ImageLayout.Stretch
Public useClassicAppLauncher As Boolean = True
'0.0.9 ALPHA 2
'Login Screen
Public autologin As Boolean = True
Public fullScreen As Boolean = False
Public inputfont As String = "Trebuchet MS"
Public inputfontsize As Integer = 12
Public inputfontstyle As FontStyle = FontStyle.Regular
Public inputforecolor As Color = Color.Gray
Public inputbackcolor As Color = Color.Black
Public buttonfont As String = "Trebuchet MS"
Public buttonfontsize As Integer = 12
Public buttonfontstyle As FontStyle = FontStyle.Italic
Public userimagesize As Integer = 128
Public userimagelocation As Point = New Point(36, 202)
Public userimage As Image
Public userimagelayout As ImageLayout = ImageLayout.Stretch
Public loginbg As Image
Public loginbgcolor As Color = Color.Black
Public loginbglayout As ImageLayout = ImageLayout.Stretch
'Locations...
Public userTextboxX As Integer = 171
Public userTextBoxY As Integer = 202
Public passTextBoxX As Integer = 171
Public passTextBoxY As Integer = 243
Public loginbtnX As Integer = 268
Public loginbtnY As Integer = 286
Public shutdownbtnX As Integer = 1755
Public shutdownbtnY As Integer = 979
Private Function GetImage(ByVal fileName As String) As Bitmap
Dim ret As Bitmap
Using img As Image = Image.FromFile(fileName)
ret = New Bitmap(img)
End Using
Return ret
End Function
#End Region
' LOAD SKIN FROM SKN FILE
Public Sub loadsknfile(ByVal filepath As String)
If Directory.Exists(loadedskin) Then My.Computer.FileSystem.DeleteDirectory(savepath + "Shiftum42\Skins\Loaded", FileIO.DeleteDirectoryOption.DeleteAllContents)
Directory.CreateDirectory(savepath + "Shiftum42\Skins\Loaded")
System.IO.Compression.ZipFile.ExtractToDirectory(filepath, savepath + "Shiftum42\Skins\Loaded")
loadimages()
End Sub
' LOAD SKIN FROM SAVE FOLDER
Public Sub loadimages()
If File.Exists(loadedskin & "userpic") Then
userimage = GetImage(loadedskin & "userpic")
End If
If File.Exists(loadedskin & "loginbg") Then
loginbg = GetImage(loadedskin & "loginbg")
End If
If File.Exists(loadedskin & "userbar") Then
userNamePanelBackground = GetImage(loadedskin & "userbar")
End If
If File.Exists(loadedskin & "powerbar") Then
powerPanelBackgroundImage = GetImage(loadedskin & "powerbar")
End If
If File.Exists(loadedskin & "titlebar") Then
titlebar = GetImage(loadedskin & "titlebar")
Else : titlebar = Nothing
End If
If File.Exists(loadedskin & "borderleft") Then
borderleft = GetImage(loadedskin & "borderleft")
Else : borderleft = Nothing
End If
If File.Exists(loadedskin & "borderright") Then
borderright = GetImage(loadedskin & "borderright".Clone)
Else : borderright = Nothing
End If
If File.Exists(loadedskin & "borderbottom") Then
borderbottom = GetImage(loadedskin & "borderbottom".Clone)
Else : borderbottom = Nothing
End If
If File.Exists(loadedskin & "closebtn") Then
closebtn = GetImage(loadedskin & "closebtn".Clone)
Else : closebtn = Nothing
End If
If File.Exists(loadedskin & "closebtnhover") Then
closebtnhover = GetImage(loadedskin & "closebtnhover".Clone)
Else : closebtnhover = Nothing
End If
If File.Exists(loadedskin & "closebtnclick") Then
closebtnclick = GetImage(loadedskin & "closebtnclick".Clone)
Else : closebtnclick = Nothing
End If
If File.Exists(loadedskin & "rollbtn") Then
rollbtn = GetImage(loadedskin & "rollbtn".Clone)
Else : rollbtn = Nothing
End If
If File.Exists(loadedskin & "rollbtnhover") Then
rollbtnhover = GetImage(loadedskin & "rollbtnhover".Clone)
Else : rollbtnhover = Nothing
End If
If File.Exists(loadedskin & "rollbtnclick") Then
rollbtnclick = GetImage(loadedskin & "rollbtnclick".Clone)
Else : rollbtnclick = Nothing
End If
If File.Exists(loadedskin & "minbtn") Then
minbtn = GetImage(loadedskin & "minbtn".Clone)
Else : minbtn = Nothing
End If
If File.Exists(loadedskin & "minbtnhover") Then
minbtnhover = GetImage(loadedskin & "minbtnhover".Clone)
Else : minbtnhover = Nothing
End If
If File.Exists(loadedskin & "minbtnclick") Then
minbtnclick = GetImage(loadedskin & "minbtnclick".Clone)
Else : minbtnclick = Nothing
End If
If File.Exists(loadedskin & "rightcorner") Then
rightcorner = GetImage(loadedskin & "rightcorner".Clone)
Else : rightcorner = Nothing
End If
If File.Exists(loadedskin & "leftcorner") Then
leftcorner = GetImage(loadedskin & "leftcorner".Clone)
Else : leftcorner = Nothing
End If
If File.Exists(loadedskin & "desktoppanel") Then
desktoppanel = GetImage(loadedskin & "desktoppanel".Clone)
Else : desktoppanel = Nothing
End If
If File.Exists(loadedskin & "desktopbackground") Then
desktopbackground = GetImage(loadedskin & "desktopbackground".Clone)
Else : desktopbackground = Nothing
End If
If File.Exists(loadedskin & "panelbutton") Then
panelbutton = GetImage(loadedskin & "panelbutton".Clone)
Else : panelbutton = Nothing
End If
If File.Exists(loadedskin & "applaunchermouseover") Then
applaunchermouseover = GetImage(loadedskin & "applaunchermouseover".Clone)
Else : applaunchermouseover = Nothing
End If
If File.Exists(loadedskin & "applauncher") Then
applauncher = GetImage(loadedskin & "applauncher".Clone)
Else : applauncher = Nothing
End If
If File.Exists(loadedskin & "applauncherclick") Then
applauncherclick = GetImage(loadedskin & "applauncherclick".Clone)
Else : applauncherclick = Nothing
End If
If File.Exists(loadedskin & "panelclock") Then
panelclock = GetImage(loadedskin & "panelclock".Clone)
Else : panelclock = Nothing
End If
If File.Exists(loadedskin & "bottomleftcorner") Then
bottomleftcorner = GetImage(loadedskin & "bottomleftcorner".Clone)
Else : bottomleftcorner = Nothing
End If
If File.Exists(loadedskin & "bottomrightcorner") Then
bottomrightcorner = GetImage(loadedskin & "bottomrightcorner".Clone)
Else : bottomrightcorner = Nothing
End If
'load settings
Dim loaddata(200) As String
If File.Exists(loadedskin & "data.dat") Then
Dim sr As StreamReader = New StreamReader(loadedskin & "data.dat")
For i As Integer = 0 To 200 Step 1
loaddata(i) = sr.ReadLine
If i = 200 Then
sr.Close()
Exit For
End If
Next
' settings
closebtnsize = New Size(loaddata(1), loaddata(2))
rollbtnsize = New Size(loaddata(3), loaddata(4))
minbtnsize = New Size(loaddata(5), loaddata(6))
titlebarheight = loaddata(7)
closebtnfromtop = loaddata(8)
closebtnfromside = loaddata(9)
rollbtnfromtop = loaddata(10)
rollbtnfromside = loaddata(11)
minbtnfromtop = loaddata(12)
minbtnfromside = loaddata(13)
borderwidth = loaddata(14)
enablecorners = loaddata(15)
titlebarcornerwidth = loaddata(16)
titleiconfromside = loaddata(17)
titleiconfromtop = loaddata(18)
titlebarcolour = Color.FromArgb(loaddata(19))
borderleftcolour = Color.FromArgb(loaddata(20))
borderrightcolour = Color.FromArgb(loaddata(21))
borderbottomcolour = Color.FromArgb(loaddata(22))
closebtncolour = Color.FromArgb(loaddata(23))
closebtnhovercolour = Color.FromArgb(loaddata(24))
closebtnclickcolour = Color.FromArgb(loaddata(25))
rollbtncolour = Color.FromArgb(loaddata(26))
rollbtnhovercolour = Color.FromArgb(loaddata(27))
rollbtnclickcolour = Color.FromArgb(loaddata(28))
minbtncolour = Color.FromArgb(loaddata(29))
minbtnhovercolour = Color.FromArgb(loaddata(30))
minbtnclickcolour = Color.FromArgb(loaddata(31))
rightcornercolour = Color.FromArgb(loaddata(32))
leftcornercolour = Color.FromArgb(loaddata(33))
bottomrightcornercolour = Color.FromArgb(loaddata(34))
bottomleftcornercolour = Color.FromArgb(loaddata(35))
titletextfontfamily = loaddata(36)
titletextfontsize = loaddata(37)
titletextfontstyle = loaddata(38)
titletextpos = loaddata(39)
titletextfromtop = loaddata(40)
titletextfromside = loaddata(41)
titletextcolour = Color.FromArgb(loaddata(42))
desktoppanelcolour = Color.FromArgb(loaddata(43))
desktopbackgroundcolour = Color.FromArgb(loaddata(44))
desktoppanelheight = loaddata(45)
desktoppanelposition = loaddata(46)
clocktextcolour = Color.FromArgb(loaddata(47))
clockbackgroundcolor = Color.FromArgb(loaddata(48))
panelclocktexttop = loaddata(49)
panelclocktextsize = loaddata(50)
panelclocktextfont = loaddata(51)
panelclocktextstyle = loaddata(52)
applauncherbuttoncolour = Color.FromArgb(loaddata(53))
applauncherbuttonclickedcolour = Color.FromArgb(loaddata(54))
applauncherbackgroundcolour = Color.FromArgb(loaddata(55))
applaunchermouseovercolour = Color.FromArgb(loaddata(56))
applicationsbuttontextcolour = Color.FromArgb(loaddata(57))
applicationbuttonheight = loaddata(58)
applicationbuttontextsize = loaddata(59)
applicationbuttontextfont = loaddata(60)
applicationbuttontextstyle = loaddata(61)
applicationlaunchername = loaddata(62)
titletextposition = loaddata(63)
applaunchermenuholderwidth = loaddata(64)
panelbuttonicontop = loaddata(65)
panelbuttoniconside = loaddata(66)
panelbuttoniconsize = loaddata(67)
panelbuttonheight = loaddata(68)
panelbuttonwidth = loaddata(69)
panelbuttoncolour = Color.FromArgb(loaddata(70))
panelbuttontextcolour = Color.FromArgb(loaddata(71))
panelbuttontextsize = loaddata(72)
panelbuttontextfont = loaddata(73)
panelbuttontextstyle = loaddata(74)
panelbuttontextside = loaddata(75)
panelbuttontexttop = loaddata(76)
panelbuttongap = loaddata(77)
panelbuttonfromtop = loaddata(78)
panelbuttoninitialgap = loaddata(79)
'layout stuff
titlebarlayout = loaddata(89)
borderleftlayout = loaddata(90)
borderrightlayout = loaddata(91)
borderbottomlayout = loaddata(92)
closebtnlayout = loaddata(93)
rollbtnlayout = loaddata(94)
minbtnlayout = loaddata(95)
rightcornerlayout = loaddata(96)
leftcornerlayout = loaddata(97)
desktoppanellayout = loaddata(98)
desktopbackgroundlayout = loaddata(99)
panelclocklayout = loaddata(100)
applauncherlayout = loaddata(101)
panelbuttonlayout = loaddata(102)
bottomleftcornerlayout = loaddata(103)
bottomrightcornerlayout = loaddata(104)
' End of 0.0.8 beta 6 save file, check if exists for future features
If Not loaddata(105) = "" Then launcheritemcolour = Color.FromArgb(loaddata(105))
If Not loaddata(106) = "" Then launcheritemfont = loaddata(106)
If Not loaddata(107) = "" Then launcheritemsize = loaddata(107)
If Not loaddata(108) = "" Then launcheritemstyle = loaddata(108)
If Not loaddata(109) = "" Then enablebordercorners = loaddata(109)
'for adding extra features, check:
If loaddata(110) = "" Or loaddata(110) = "End of skin data" Then loaddata(110) = enabledraggableicons Else enabledraggableicons = loaddata(110)
If loaddata(111) = "" Or loaddata(111) = "End of skin data" Then loaddata(111) = icontextcolor.ToArgb Else icontextcolor = Color.FromArgb(loaddata(111))
If loaddata(112) = "" Or loaddata(112) = "End of skin data" Then loaddata(112) = showicons Else showicons = loaddata(112)
If loaddata(113) = "" Or loaddata(113) = "End of skin data" Then loaddata(113) = iconview1 Else iconview1 = loaddata(113)
Try
If loaddata(114) = "" Then topBarHeight = 50 Else topBarHeight = loaddata(114)
Catch ex As Exception
topBarHeight = 50
infobox.showinfo("Error - Bad Skin File", "It appears that there was an error loading parts of this skin. The unloadable data has been reset to default values.")
End Try
If loaddata(115) = "" Then bottomBarHeight = 50 Else bottomBarHeight = loaddata(115)
If loaddata(116) = "" Then placesSide = "Left" Else placesSide = loaddata(116)
If loaddata(117) = "" Then startHeight = 526 Else startHeight = loaddata(117)
If loaddata(118) = "" Then startWidth = 320 Else startWidth = loaddata(118)
If loaddata(119) = "" Then shutdownstring = "Shut Down ShiftOS" Else shutdownstring = loaddata(119)
If loaddata(120) = "" Then userNamePosition = "Middle, Right" Else userNamePosition = loaddata(120)
If loaddata(121) = "" Then recentIconsHorizontal = False Else recentIconsHorizontal = loaddata(121)
If loaddata(122) = "" Then usernametextcolor = Color.White Else usernametextcolor = Color.FromArgb(loaddata(122))
If loaddata(123) = "" Then usernamefont = "Trebuchet MS" Else usernamefont = loaddata(123)
If loaddata(124) = "" Then usernamefontsize = 12 Else usernamefontsize = loaddata(124)
If loaddata(125) = "" Then usernamefontstyle = FontStyle.Bold Else usernamefontstyle = loaddata(125)
If loaddata(126) = "" Then userNamePanelBackgroundColor = Color.Gray Else userNamePanelBackgroundColor = Color.FromArgb(loaddata(126))
If loaddata(127) = "" Then powerPanelBackgroundColor = Color.Gray Else powerPanelBackgroundColor = Color.FromArgb(loaddata(127))
If loaddata(128) = "" Then shutdownTextColor = Color.White Else shutdownTextColor = Color.FromArgb(loaddata(128))
If loaddata(129) = "" Then shutdownTextFont = "Trebuchet MS" Else shutdownTextFont = loaddata(129)
If loaddata(130) = "" Then shutdownTextSize = 12 Else shutdownTextSize = loaddata(130)
If loaddata(131) = "" Then shutdownTextStyle = FontStyle.Italic Else shutdownTextStyle = loaddata(132)
If loaddata(132) = "" Then usrPanelBackgroundLayout = ImageLayout.Stretch Else usrPanelBackgroundLayout = loaddata(132)
If loaddata(133) = "" Then pwrPanelBackgroundLayout = ImageLayout.Stretch Else pwrPanelBackgroundLayout = loaddata(133)
If loaddata(134) = "" Then useClassicAppLauncher = False Else useClassicAppLauncher = loaddata(134)
If loaddata(135) = "" Then autologin = True Else autologin = loaddata(135)
If loaddata(136) = "" Then fullScreen = False Else fullScreen = loaddata(136)
If loaddata(137) = "" Then inputfont = "Trebuchet MS" Else inputfont = loaddata(137)
If loaddata(138) = "" Then inputfontsize = 12 Else inputfontsize = loaddata(138)
If loaddata(139) = "" Then inputfontstyle = FontStyle.Regular Else inputfontstyle = loaddata(139)
If loaddata(140) = "" Then inputforecolor = Color.Gray Else inputforecolor = Color.FromArgb(loaddata(140))
If loaddata(141) = "" Then inputbackcolor = Color.Black Else inputbackcolor = Color.FromArgb(loaddata(141))
If loaddata(142) = "" Then buttonfont = "Trebuchet MS" Else buttonfont = loaddata(142)
If loaddata(143) = "" Then buttonfontsize = 12 Else buttonfontsize = loaddata(143)
If loaddata(144) = "" Then buttonfontstyle = FontStyle.Italic Else buttonfontstyle = loaddata(144)
If loaddata(145) = "" Then userimagesize = 128 Else userimagesize = loaddata(145)
If loaddata(146) = "" And loaddata(147) = "" Then userimagelocation = New Point(36, 202) Else userimagelocation = New Point(loaddata(146), loaddata(147))
If loaddata(148) = "" Then userimagelayout = ImageLayout.Stretch Else userimagelayout = loaddata(148)
If loaddata(149) = "" Then loginbgcolor = Color.Black Else loginbgcolor = Color.FromArgb(loaddata(149))
If loaddata(150) = "" Then loginbglayout = ImageLayout.Stretch Else loginbglayout = loaddata(150)
Else
setupdefaults()
End If
' Christmas easteregg
Try ' If user's PC uses weird/non-numeric dating system - eg: http://puu.sh/eFq6l/8da8a03617.png
Dim d() As String = Split(Date.Today, "/")
If (d(0) = 25 And d(1) = 12) Or (d(0) = 12 And d(1) = 25) Then
desktopbackground = My.Resources.christmaseasteregg
desktopbackgroundlayout = 2
desktopbackgroundcolour = Color.Black
End If
Catch ex As Exception
End Try
applyskin()
End Sub
' SET SKIN
Public Sub applyskin()
ShiftOSDesktop.addtitlebars()
ShiftOSDesktop.setupdesktop()
End Sub
' SAVE TO SKN FILE
Public Sub saveskin(ByVal path As String)
If Not File.Exists(path) Then
Dim sw As StreamWriter = New StreamWriter(Paths.loadedskin & "SKN-version") 'tells skin loader which system to use when openning the file
sw.WriteLine("Name of skinning system used to create this skn file:")
sw.WriteLine("2.0 disposal-free skinning")
sw.WriteLine("Skinning system created by william.1008 on December 2014, based on 1.0 system by DevX")
sw.Close()
saveskinfiles(False)
Compression.ZipFile.CreateFromDirectory(Paths.loadedskin, path)
File.Delete(Paths.loadedskin & "SKN-version")
Else
infobox.showinfo("File Exists", "That file location is already taken, please choose another.")
End If
End Sub
' SAVE TO SAVE FOLDER
Public Sub saveskinfiles(ByVal apply As Boolean)
If File.Exists(Paths.loadedskin) Then
Directory.Delete(Paths.loadedskin)
End If
Directory.CreateDirectory(Paths.loadedskin)
saveimage(titlebar, "titlebar")
saveimage(borderleft, "borderleft")
saveimage(borderright, "borderright")
saveimage(borderbottom, "borderbottom")
saveimage(closebtn, "closebtn")
saveimage(closebtnhover, "closebtnhover")
saveimage(closebtnclick, "closebtnclick")
saveimage(rollbtn, "rollbtn")
saveimage(rollbtnhover, "rollbtnhover")
saveimage(rollbtnclick, "rollbtnclick")
saveimage(minbtn, "minbtn")
saveimage(minbtnhover, "minbtnhover")
saveimage(minbtnclick, "minbtnclick")
saveimage(rightcorner, "rightcorner")
saveimage(leftcorner, "leftcorner")
saveimage(desktoppanel, "desktoppanel")
saveimage(desktopbackground, "desktopbackground")
saveimage(panelclock, "panelclock")
saveimage(applaunchermouseover, "applaunchermouseover")
saveimage(applauncher, "applauncher")
saveimage(applauncherclick, "applauncherclick")
saveimage(panelbutton, "panelbutton")
saveimage(bottomleftcorner, "bottomleftcorner")
saveimage(bottomrightcorner, "bottomrightcorner")
saveimage(userNamePanelBackground, "userbar")
saveimage(powerPanelBackgroundImage, "powerbar")
saveimage(userimage, "userpic")
saveimage(loginbg, "loginbg")
'save settings to dat file
Dim savedata(200) As String
' setting and colour as saved in the order they are declared, image's are saved in sepporate preset files,
' image layout options are saved at the end of file
savedata(0) = "ShiftOS skin data - Beware: Editing may result in skinning errors"
savedata(2) = closebtnsize.Height
savedata(1) = closebtnsize.Width
savedata(4) = rollbtnsize.Height
savedata(3) = rollbtnsize.Width
savedata(6) = minbtnsize.Height
savedata(5) = minbtnsize.Width
savedata(7) = titlebarheight
savedata(8) = closebtnfromtop
savedata(9) = closebtnfromside
savedata(10) = rollbtnfromtop
savedata(11) = rollbtnfromside
savedata(12) = minbtnfromtop
savedata(13) = minbtnfromside
savedata(14) = borderwidth
savedata(15) = enablecorners
savedata(16) = titlebarcornerwidth
savedata(17) = titleiconfromside
savedata(18) = titleiconfromtop
savedata(19) = titlebarcolour.ToArgb
savedata(20) = borderleftcolour.ToArgb
savedata(21) = borderrightcolour.ToArgb
savedata(22) = borderbottomcolour.ToArgb
savedata(23) = closebtncolour.ToArgb
savedata(24) = closebtnhovercolour.ToArgb
savedata(25) = closebtnclickcolour.ToArgb
savedata(26) = rollbtncolour.ToArgb
savedata(27) = rollbtnhovercolour.ToArgb
savedata(28) = rollbtnclickcolour.ToArgb
savedata(29) = minbtncolour.ToArgb
savedata(30) = minbtnhovercolour.ToArgb
savedata(31) = minbtnclickcolour.ToArgb
savedata(32) = rightcornercolour.ToArgb
savedata(33) = leftcornercolour.ToArgb
savedata(34) = bottomrightcornercolour.ToArgb
savedata(35) = bottomleftcornercolour.ToArgb
savedata(36) = titletextfontfamily
savedata(37) = titletextfontsize
savedata(38) = titletextfontstyle
savedata(39) = titletextpos
savedata(40) = titletextfromtop
savedata(41) = titletextfromside
savedata(42) = titletextcolour.ToArgb
savedata(43) = desktoppanelcolour.ToArgb
savedata(44) = desktopbackgroundcolour.ToArgb
savedata(45) = desktoppanelheight
savedata(46) = desktoppanelposition
savedata(47) = clocktextcolour.ToArgb
savedata(48) = clockbackgroundcolor.ToArgb
savedata(49) = panelclocktexttop
savedata(50) = panelclocktextsize
savedata(51) = panelclocktextfont
savedata(52) = panelclocktextstyle
savedata(53) = applauncherbuttoncolour.ToArgb
savedata(54) = applauncherbuttonclickedcolour.ToArgb
savedata(55) = applauncherbackgroundcolour.ToArgb
savedata(56) = applaunchermouseovercolour.ToArgb
savedata(57) = applicationsbuttontextcolour.ToArgb
savedata(58) = applicationbuttonheight
savedata(59) = applicationbuttontextsize
savedata(60) = applicationbuttontextfont
savedata(61) = applicationbuttontextstyle
savedata(62) = applicationlaunchername
savedata(63) = titletextposition
savedata(64) = applaunchermenuholderwidth
savedata(65) = panelbuttonicontop
savedata(66) = panelbuttoniconside
savedata(67) = panelbuttoniconsize
savedata(68) = panelbuttonheight
savedata(69) = panelbuttonwidth
savedata(70) = panelbuttoncolour.ToArgb
savedata(71) = panelbuttontextcolour.ToArgb
savedata(72) = panelbuttontextsize
savedata(73) = panelbuttontextfont
savedata(74) = panelbuttontextstyle
savedata(75) = panelbuttontextside
savedata(76) = panelbuttontexttop
savedata(77) = panelbuttongap
savedata(78) = panelbuttonfromtop
savedata(79) = panelbuttoninitialgap
'Image layout options
savedata(89) = titlebarlayout
savedata(90) = borderleftlayout
savedata(91) = borderrightlayout
savedata(92) = borderbottomlayout
savedata(93) = closebtnlayout
savedata(94) = rollbtnlayout
savedata(95) = minbtnlayout
savedata(96) = rightcornerlayout
savedata(97) = leftcornerlayout
savedata(98) = desktoppanellayout
savedata(99) = desktopbackgroundlayout
savedata(100) = panelclocklayout
savedata(101) = applauncherlayout
savedata(102) = panelbuttonlayout
savedata(103) = bottomleftcornerlayout
savedata(104) = bottomrightcornerlayout
savedata(105) = launcheritemcolour.ToArgb
savedata(106) = launcheritemfont
savedata(107) = launcheritemsize
savedata(108) = launcheritemstyle
savedata(109) = enablebordercorners
savedata(110) = enabledraggableicons
savedata(111) = icontextcolor.ToArgb
savedata(112) = showicons
savedata(113) = iconview1
savedata(114) = topBarHeight
savedata(115) = bottomBarHeight
savedata(116) = placesSide
savedata(117) = startHeight
savedata(118) = startWidth
savedata(119) = shutdownstring
savedata(120) = userNamePosition
savedata(121) = recentIconsHorizontal
savedata(122) = usernametextcolor.ToArgb
savedata(123) = usernamefont
savedata(124) = usernamefontsize
savedata(125) = usernamefontstyle
savedata(126) = userNamePanelBackgroundColor.ToArgb
savedata(127) = powerPanelBackgroundColor.ToArgb
savedata(128) = shutdownTextColor.ToArgb
savedata(129) = shutdownTextFont
savedata(130) = shutdownTextSize
savedata(131) = shutdownTextStyle
savedata(132) = usrPanelBackgroundLayout
savedata(133) = pwrPanelBackgroundLayout
savedata(134) = useClassicAppLauncher
savedata(135) = autologin
savedata(136) = fullScreen
savedata(137) = inputfont
savedata(138) = inputfontsize
savedata(139) = inputfontstyle
savedata(140) = inputforecolor.ToArgb
savedata(141) = inputbackcolor.ToArgb
savedata(142) = buttonfont
savedata(143) = buttonfontsize
savedata(144) = buttonfontstyle
savedata(145) = userimagesize
savedata(146) = userimagelocation.X
savedata(147) = userimagelocation.Y
savedata(148) = userimagelayout
savedata(149) = loginbgcolor.ToArgb
savedata(150) = loginbglayout
' End of skin data text was at line 110, if adding future items, check for "End of skin data" on line 110
savedata(200) = "End of skin data"
File.WriteAllLines(Paths.loadedskin & "data.dat", savedata)
If apply = True Then
applyskin()
End If
End Sub
Public Sub setupdefaults()
titlebar = Nothing
titlebarlayout = 3
borderleft = Nothing
borderleftlayout = 3
borderright = Nothing
borderrightlayout = 3
borderbottom = Nothing
borderbottomlayout = 3
closebtn = Nothing
closebtnlayout = 3
closebtnhover = Nothing
closebtnclick = Nothing
rollbtn = Nothing
rollbtnlayout = 3
rollbtnhover = Nothing
rollbtnclick = Nothing
minbtn = Nothing
minbtnlayout = 3
minbtnhover = Nothing
minbtnclick = Nothing
rightcorner = Nothing
rightcornerlayout = 3
leftcorner = Nothing
leftcornerlayout = 3
bottomleftcorner = Nothing
bottomleftcornerlayout = 3
bottomrightcorner = Nothing
bottomrightcornerlayout = 3
bottomleftcornercolour = Color.Gray
bottomrightcornercolour = Color.Gray
enablebordercorners = False
closebtnsize = New Size(22, 22)
rollbtnsize = New Size(22, 22)
minbtnsize = New Size(22, 22)
titlebarheight = 30
closebtnfromtop = 5
closebtnfromside = 2
rollbtnfromtop = 5
rollbtnfromside = 26
minbtnfromtop = 5
minbtnfromside = 52
borderwidth = 2
enablecorners = False
titlebarcornerwidth = 5
titleiconfromside = 4
titleiconfromtop = 4
titlebarcolour = Color.Gray
borderleftcolour = Color.Gray
borderrightcolour = Color.Gray
borderbottomcolour = Color.Gray
closebtncolour = Color.Black
closebtnhovercolour = Color.Black
closebtnclickcolour = Color.Black
rollbtncolour = Color.Black
rollbtnhovercolour = Color.Black
rollbtnclickcolour = Color.Black
minbtncolour = Color.Black
minbtnhovercolour = Color.Black
minbtnclickcolour = Color.Black
rightcornercolour = Color.Gray
leftcornercolour = Color.Gray
titletextfontfamily = "Microsoft Sans Serif"
titletextfontsize = 10
titletextfontstyle = FontStyle.Bold
titletextpos = "Left"
titletextfromtop = 3
titletextfromside = 24
titletextcolour = Color.White
desktoppanelcolour = Color.Gray
desktopbackgroundcolour = Color.Black
desktoppanelheight = 24
desktoppanelposition = "Top"
clocktextcolour = Color.Black
clockbackgroundcolor = Color.Gray
panelclocktexttop = 3
panelclocktextsize = 10
panelclocktextfont = "Byington"
panelclocktextstyle = FontStyle.Bold
applauncherbuttoncolour = Color.Gray
applauncherbuttonclickedcolour = Color.Gray
applauncherbackgroundcolour = Color.Gray
applaunchermouseovercolour = Color.Gray
applicationsbuttontextcolour = Color.Black
applicationbuttonheight = 24
applicationbuttontextsize = 10
applicationbuttontextfont = "Byington"
applicationbuttontextstyle = FontStyle.Bold
applicationlaunchername = "Applications"
titletextposition = "Left"
applaunchermenuholderwidth = 100
panelbuttonicontop = 3
panelbuttoniconside = 4
panelbuttoniconsize = 16
panelbuttonheight = 20
panelbuttonwidth = 185
panelbuttoncolour = Color.Black
panelbuttontextcolour = Color.White
panelbuttontextsize = 10
panelbuttontextfont = "Byington"
panelbuttontextstyle = FontStyle.Regular
panelbuttontextside = 16
panelbuttontexttop = 2
panelbuttongap = 4
panelbuttonfromtop = 2
panelbuttoninitialgap = 8
launcheritemsize = 10
launcheritemfont = "Byington"
launcheritemstyle = FontStyle.Regular
launcheritemcolour = Color.Black
desktoppanel = Nothing
desktoppanellayout = 3
desktopbackground = Nothing
desktopbackgroundlayout = 3
panelclock = Nothing
panelclocklayout = 3
applaunchermouseover = Nothing
applauncher = Nothing
applauncherlayout = 3
applauncherclick = Nothing
panelbutton = Nothing
panelbuttonlayout = 3
enabledraggableicons = True
End Sub
Private Sub saveimage(ByVal img As Image, ByVal name As String)
If Not IsNothing(img) Then
If File.Exists(loadedskin & name) Then File.Delete(loadedskin & name)
Try
img.Save(loadedskin & name, System.Drawing.Imaging.ImageFormat.Png)
Catch ex As Exception
infobox.showinfo("Saving Error", "Oops, an error occured when saving the file " & loadedskin & name & ". Please contact the devs to report the problem.")
End Try
Else
If File.Exists(loadedskin & name) Then File.Delete(loadedskin & name)
End If
End Sub
End Module