mirror of
https://github.com/ShiftOS-Rewind/ShiftOS.git
synced 2025-01-23 02:02:15 +00:00
cf1bf85e01
Very, very incomplete (C# isn't *remotely* complete.)
866 lines
No EOL
39 KiB
VB.net
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 |