aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS
diff options
context:
space:
mode:
authorTheUltimateHacker <[email protected]>2015-03-22 10:45:19 -0400
committerTheUltimateHacker <[email protected]>2015-03-22 10:45:19 -0400
commitd556f57a1fd140362d19baea107d98524427a45e (patch)
tree22848514fd9e34beece0a49c24d237e488464de0 /ShiftOS
parenta276b027fb14540aaae66b1e0f42706174b77938 (diff)
downloadshiftos-d556f57a1fd140362d19baea107d98524427a45e.tar.gz
shiftos-d556f57a1fd140362d19baea107d98524427a45e.tar.bz2
shiftos-d556f57a1fd140362d19baea107d98524427a45e.zip
#1 - File Skimmer bug fix + Fullscreen Login Screen
Fixed a bug with the File Skimmer, as well as adding a FullScreen Login Screen test that can be utilized using the "test fullscreen login" terminal command. There's also a "test fullscreen login customizer" command to test the Customization Options for the login screen, though I haven't even gotten close to completing that. I've also referenced another DLL, one that I made called "MichaelsMovableControlSuite.dll" that contains movable variations of Windows Forms Controls. By movable, I mean that at run-time, the user can drag these controls around, however some functions (such as the ability to type in a MovableTextBox) have been disabled. These controls are used for the Login Screen customizer.
Diffstat (limited to 'ShiftOS')
-rw-r--r--ShiftOS/File Skimmer.vb401
-rw-r--r--ShiftOS/FullScreenLogin Customizer.Designer.vb290
-rw-r--r--ShiftOS/FullScreenLogin Customizer.resx123
-rw-r--r--ShiftOS/FullScreenLogin Customizer.vb222
-rw-r--r--ShiftOS/FullScreenLogin.Designer.vb112
-rw-r--r--ShiftOS/FullScreenLogin.resx120
-rw-r--r--ShiftOS/FullScreenLogin.vb48
-rw-r--r--ShiftOS/ShiftOS.vbproj21
-rw-r--r--ShiftOS/ShiftOSDesktop.vb27
-rw-r--r--ShiftOS/Terminal.vb4
-rw-r--r--ShiftOS/skins.vb379
11 files changed, 1388 insertions, 359 deletions
diff --git a/ShiftOS/File Skimmer.vb b/ShiftOS/File Skimmer.vb
index 0cc9085..856f0ef 100644
--- a/ShiftOS/File Skimmer.vb
+++ b/ShiftOS/File Skimmer.vb
@@ -626,224 +626,229 @@ Public Class File_Skimmer
'Used for Desktop.
Public Sub OpenFile(path As String)
- 'Check if selected item is a file or folder. It it's a folder check its extension
+ 'Check if file exists
+ If My.Computer.FileSystem.FileExists(path) Or My.Computer.FileSystem.DirectoryExists(path) Then
- If path Like "*.owd" Then
- If ShiftOSDesktop.installedorcwrite = True Then
- Dim sr As New IO.StreamReader(path)
- OrcWrite.RichTextBox1.Rtf = sr.ReadToEnd()
- sr.Close()
- OrcWrite.Show()
- OrcWrite.TopMost = True
- Else
- infobox.showinfo("Application Not Found", "ShiftOS could not find an application able to open .owd files.")
- End If
- ElseIf path Like "*.txt" Then
- If TextPad.needtosave = False Then
- TextPad.Show()
- TextPad.txtuserinput.Text = My.Computer.FileSystem.ReadAllText(path)
- TextPad.needtosave = False
- Else
- infobox.title = "Textpad - Save?"
- infobox.textinfo = "It appears that your text document currently contains unsaved changes." & Environment.NewLine & Environment.NewLine & "Are you sure you want to load a file without saving the changes?"
- infobox.Show()
- infobox.showyesno()
- infobox.sendyesno = "fileskimmertextpad"
- End If
+ 'Check if selected item is a file or folder. It it's a file check its extention
- ElseIf path Like "*.pic" Then
- If ArtPad.needtosave = False Then
- ArtPad.Show()
- ArtPad.savelocation = (path)
- ArtPad.openpic()
- ArtPad.needtosave = False
- Else
- infobox.title = "Artpad - Save?"
- infobox.textinfo = "It appears that your canvas currently contains unsaved changes." & Environment.NewLine & Environment.NewLine & "Are you sure you want to open a different canvas without saving the changes?"
- infobox.Show()
- infobox.showyesno()
- infobox.sendyesno = "fileskimmerartpad"
- End If
-
- ElseIf path Like "*.sft" Then
- infobox.title = "File Skimmer - Warning!"
- infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
- infobox.Show()
-
- ElseIf path Like "*.lst" Then
- infobox.title = "File Skimmer - Warning!"
- infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
- infobox.Show()
- ElseIf path Like "*.dri" Then
- infobox.title = "File Skimmer - Warning!"
- infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
- infobox.Show()
-
- ElseIf path Like "*.lang" Then
- infobox.title = "File Skimmer - Warning!"
- infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
- infobox.Show()
-
- ElseIf path Like "*.skn" Then
- If ShiftOSDesktop.boughtskinning Then
- Skin_Loader.Show()
- Skin_Loader.loadingsknversion = ""
- If My.Computer.FileSystem.DirectoryExists(ShiftOSPath + "Shiftum42\Skins\Preview\") Then My.Computer.FileSystem.DeleteDirectory(ShiftOSPath + "Shiftum42\Skins\Preview\", FileIO.DeleteDirectoryOption.DeleteAllContents)
- System.IO.Compression.ZipFile.ExtractToDirectory(path, ShiftOSPath + "Shiftum42\Skins\Preview\")
- If File.Exists(ShiftOSPath + "Shiftum42\Skins\Preview\SKN-version") Then
- Dim sr As StreamReader = New StreamReader(ShiftOSPath + "Shiftum42\Skins\Preview\SKN-version")
- Dim i As String = sr.ReadLine
- Skin_Loader.loadingsknversion = sr.ReadLine
+ If path Like "*.owd" Then
+ If ShiftOSDesktop.installedorcwrite = True Then
+ Dim sr As New IO.StreamReader(path)
+ OrcWrite.RichTextBox1.Rtf = sr.ReadToEnd()
sr.Close()
+ OrcWrite.Show()
+ OrcWrite.TopMost = True
+ Else
+ infobox.showinfo("Application Not Found", "ShiftOS could not find an application able to open .owd files.")
End If
- If Skin_Loader.loadingsknversion = "2.0 disposal-free skinning" Then
- Skin_Loader.setuppreview2_0()
- Skin_Loader.skinloaded = True
+ ElseIf path Like "*.txt" Then
+ If TextPad.needtosave = False Then
+ TextPad.Show()
+ TextPad.txtuserinput.Text = My.Computer.FileSystem.ReadAllText(path)
+ TextPad.needtosave = False
Else
- My.Computer.FileSystem.WriteAllText(ShiftOSPath + "Shiftum42\Skins\Preview\skindata.dat", My.Computer.FileSystem.ReadAllText(ShiftOSPath + "Shiftum42\Skins\Preview\skindata.dat").Replace("\Current", "\Preview"), False)
- Skin_Loader.loadlines = IO.File.ReadAllLines(ShiftOSPath + "Shiftum42\Skins\Preview\skindata.dat")
- Skin_Loader.loadskintopreview()
- Skin_Loader.skinloaded = True
+ infobox.title = "Textpad - Save?"
+ infobox.textinfo = "It appears that your text document currently contains unsaved changes." & Environment.NewLine & Environment.NewLine & "Are you sure you want to load a file without saving the changes?"
+ infobox.Show()
+ infobox.showyesno()
+ infobox.sendyesno = "fileskimmertextpad"
End If
- Else
- infobox.showinfo("Application Not Found", "ShiftOS could not find an application able the open skin files.")
- End If
- ElseIf path Like "*.mp3" Then
- If ShiftOSDesktop.installedaudioplayer Then
- Audio_Player.lbmusiclist.Items.Add(path)
- Audio_Player.lblintro.Hide()
- Audio_Player.Show()
- Else
- infobox.showinfo("Application Not Found", "ShiftOS could not find an application able the open audio files.")
- End If
+ ElseIf path Like "*.pic" Then
+ If ArtPad.needtosave = False Then
+ ArtPad.Show()
+ ArtPad.savelocation = (path)
+ ArtPad.openpic()
+ ArtPad.needtosave = False
+ Else
+ infobox.title = "Artpad - Save?"
+ infobox.textinfo = "It appears that your canvas currently contains unsaved changes." & Environment.NewLine & Environment.NewLine & "Are you sure you want to open a different canvas without saving the changes?"
+ infobox.Show()
+ infobox.showyesno()
+ infobox.sendyesno = "fileskimmerartpad"
+ End If
- ElseIf path Like "*.saa" Then
- File_Crypt.DecryptFile(path & "\" & path, ShiftOSDesktop.ShiftOSPath + "Shiftum42\Drivers\HDD.dri", ShiftOSDesktop.sSecretKey)
- Dim sr As StreamReader = New StreamReader(ShiftOSDesktop.ShiftOSPath + "Shiftum42\Drivers\HDD.dri")
- Dim apptoopen As String = sr.ReadLine()
- sr.Close()
- Select Case apptoopen.ToLower
- 'Case "program name"
- ' Check requirements and open program
- Case "dodge"
- Dodge.Show()
- Case "web browser"
- If ShiftOSDesktop.boughtanycolour4 = True Then Web_Browser.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy limitless colours.")
- Case "b1n0t3 h4ck"
- Randomize()
- Dim VirusChoice As Integer = CInt(Math.Ceiling(Rnd() * 4))
- If VirusChoice = 1 Then
- Viruses.zerogravity = True
- Viruses.zerogravitythreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
- Viruses.setupzerovirus()
- ElseIf VirusChoice = 2 Then
- Viruses.beeper = True
- Viruses.beeperthreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
- Viruses.setupbeepervirus()
- ElseIf VirusChoice = 3 Then
- Viruses.mousetrap = True
- Viruses.mousetrapthreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
- Viruses.setupmousetrapvirus()
- ElseIf VirusChoice = 4 Then
- Viruses.ThePlague = True
- Viruses.theplaguethreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
- Viruses.setuptheplague()
+ ElseIf path Like "*.sft" Then
+ infobox.title = "File Skimmer - Warning!"
+ infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
+ infobox.Show()
+
+ ElseIf path Like "*.lst" Then
+ infobox.title = "File Skimmer - Warning!"
+ infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
+ infobox.Show()
+ ElseIf path Like "*.dri" Then
+ infobox.title = "File Skimmer - Warning!"
+ infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
+ infobox.Show()
+
+ ElseIf path Like "*.lang" Then
+ infobox.title = "File Skimmer - Warning!"
+ infobox.textinfo = "This file appears to be encrypted or may be critical for stable system operation." & Environment.NewLine & Environment.NewLine & "Access to this file has been blocked to protect the system from potential damage."
+ infobox.Show()
+
+ ElseIf path Like "*.skn" Then
+ If ShiftOSDesktop.boughtskinning Then
+ Skin_Loader.Show()
+ Skin_Loader.loadingsknversion = ""
+ If My.Computer.FileSystem.DirectoryExists(ShiftOSPath + "Shiftum42\Skins\Preview\") Then My.Computer.FileSystem.DeleteDirectory(ShiftOSPath + "Shiftum42\Skins\Preview\", FileIO.DeleteDirectoryOption.DeleteAllContents)
+ System.IO.Compression.ZipFile.ExtractToDirectory(path, ShiftOSPath + "Shiftum42\Skins\Preview\")
+ If File.Exists(ShiftOSPath + "Shiftum42\Skins\Preview\SKN-version") Then
+ Dim sr As StreamReader = New StreamReader(ShiftOSPath + "Shiftum42\Skins\Preview\SKN-version")
+ Dim i As String = sr.ReadLine
+ Skin_Loader.loadingsknversion = sr.ReadLine
+ sr.Close()
End If
- infobox.title = "B1N0T3 H4CK3R - Error"
- infobox.textinfo = "L0L Y0U JUST G0T R3KT #D341W1TH1T" & Environment.NewLine & Environment.NewLine & "(Enjoy your new virus)"
- infobox.Show()
- Case "virus scanner"
- If ShiftOSDesktop.boughtgray Then VirusScanner.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy Gray.")
- Case "labyrinth"
- If ShiftOSDesktop.boughtgray Then Labyrinth.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy Gray.")
- Case "calculator"
- Calculator.Show()
- Case "audio player"
+ If Skin_Loader.loadingsknversion = "2.0 disposal-free skinning" Then
+ Skin_Loader.setuppreview2_0()
+ Skin_Loader.skinloaded = True
+ Else
+ My.Computer.FileSystem.WriteAllText(ShiftOSPath + "Shiftum42\Skins\Preview\skindata.dat", My.Computer.FileSystem.ReadAllText(ShiftOSPath + "Shiftum42\Skins\Preview\skindata.dat").Replace("\Current", "\Preview"), False)
+ Skin_Loader.loadlines = IO.File.ReadAllLines(ShiftOSPath + "Shiftum42\Skins\Preview\skindata.dat")
+ Skin_Loader.loadskintopreview()
+ Skin_Loader.skinloaded = True
+ End If
+ Else
+ infobox.showinfo("Application Not Found", "ShiftOS could not find an application able the open skin files.")
+ End If
+
+ ElseIf path Like "*.mp3" Then
+ If ShiftOSDesktop.installedaudioplayer Then
+ Audio_Player.lbmusiclist.Items.Add(path)
+ Audio_Player.lblintro.Hide()
Audio_Player.Show()
- Case "video player"
- If ShiftOSDesktop.boughtanycolour4 Then Video_Player.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy limitless colours.")
- Video_Player.Show()
- Case "dock"
- ShiftDock.Show()
- Case "virus grade 1 removal unlocker"
- If ShiftOSDesktop.installedvirusscanner Then
- If Math.Ceiling(Rnd() * 2) = 1 Then
- infobox.showinfo("Virus Removal Unlocked", "Removal of grade 1 viruses has been unlocked in the Virus Scanner.")
- If ShiftOSDesktop.virusscannergrade < 1 Then ShiftOSDesktop.virusscannergrade = 1
- Else
- infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ Else
+ infobox.showinfo("Application Not Found", "ShiftOS could not find an application able the open audio files.")
+ End If
+
+ ElseIf path Like "*.saa" Then
+ File_Crypt.DecryptFile(path & "\" & path, ShiftOSDesktop.ShiftOSPath + "Shiftum42\Drivers\HDD.dri", ShiftOSDesktop.sSecretKey)
+ Dim sr As StreamReader = New StreamReader(ShiftOSDesktop.ShiftOSPath + "Shiftum42\Drivers\HDD.dri")
+ Dim apptoopen As String = sr.ReadLine()
+ sr.Close()
+ Select Case apptoopen.ToLower
+ 'Case "program name"
+ ' Check requirements and open program
+ Case "dodge"
+ Dodge.Show()
+ Case "web browser"
+ If ShiftOSDesktop.boughtanycolour4 = True Then Web_Browser.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy limitless colours.")
+ Case "b1n0t3 h4ck"
+ Randomize()
+ Dim VirusChoice As Integer = CInt(Math.Ceiling(Rnd() * 4))
+ If VirusChoice = 1 Then
+ Viruses.zerogravity = True
+ Viruses.zerogravitythreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
+ Viruses.setupzerovirus()
+ ElseIf VirusChoice = 2 Then
+ Viruses.beeper = True
+ Viruses.beeperthreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
+ Viruses.setupbeepervirus()
+ ElseIf VirusChoice = 3 Then
+ Viruses.mousetrap = True
+ Viruses.mousetrapthreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
+ Viruses.setupmousetrapvirus()
+ ElseIf VirusChoice = 4 Then
+ Viruses.ThePlague = True
+ Viruses.theplaguethreatlevel = CInt(Math.Floor((4) * Rnd())) + 1
+ Viruses.setuptheplague()
End If
- End If
- Case "virus grade 2 removal unlocker"
- If ShiftOSDesktop.installedvirusscanner Then
- If Math.Ceiling(Rnd() * 2) = 1 Then
- infobox.showinfo("Virus Removal Unlocked", "Removal of grade 2 viruses has been unlocked in the Virus Scanner.")
- If ShiftOSDesktop.virusscannergrade < 2 Then ShiftOSDesktop.virusscannergrade = 2
- Else
- infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ infobox.title = "B1N0T3 H4CK3R - Error"
+ infobox.textinfo = "L0L Y0U JUST G0T R3KT #D341W1TH1T" & Environment.NewLine & Environment.NewLine & "(Enjoy your new virus)"
+ infobox.Show()
+ Case "virus scanner"
+ If ShiftOSDesktop.boughtgray Then VirusScanner.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy Gray.")
+ Case "labyrinth"
+ If ShiftOSDesktop.boughtgray Then Labyrinth.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy Gray.")
+ Case "calculator"
+ Calculator.Show()
+ Case "audio player"
+ Audio_Player.Show()
+ Case "video player"
+ If ShiftOSDesktop.boughtanycolour4 Then Video_Player.Show() Else infobox.showinfo("Error", "The requirements for " & path & " are not meet. Please buy limitless colours.")
+ Video_Player.Show()
+ Case "dock"
+ ShiftDock.Show()
+ Case "virus grade 1 removal unlocker"
+ If ShiftOSDesktop.installedvirusscanner Then
+ If Math.Ceiling(Rnd() * 2) = 1 Then
+ infobox.showinfo("Virus Removal Unlocked", "Removal of grade 1 viruses has been unlocked in the Virus Scanner.")
+ If ShiftOSDesktop.virusscannergrade < 1 Then ShiftOSDesktop.virusscannergrade = 1
+ Else
+ infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ End If
End If
- End If
- Case "virus grade 3 removal unlocker"
- If ShiftOSDesktop.installedvirusscanner Then
- If Math.Ceiling(Rnd() * 2) = 1 Then
- infobox.showinfo("Virus Removal Unlocked", "Removal of grade 3 viruses has been unlocked in the Virus Scanner.")
- If ShiftOSDesktop.virusscannergrade < 3 Then ShiftOSDesktop.virusscannergrade = 3
- Else
- infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ Case "virus grade 2 removal unlocker"
+ If ShiftOSDesktop.installedvirusscanner Then
+ If Math.Ceiling(Rnd() * 2) = 1 Then
+ infobox.showinfo("Virus Removal Unlocked", "Removal of grade 2 viruses has been unlocked in the Virus Scanner.")
+ If ShiftOSDesktop.virusscannergrade < 2 Then ShiftOSDesktop.virusscannergrade = 2
+ Else
+ infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ End If
End If
- End If
- Case "virus grade 4 removal unlocker"
- If ShiftOSDesktop.installedvirusscanner Then
- If Math.Ceiling(Rnd() * 2) = 1 Then
- infobox.showinfo("Virus Removal Unlocked", "Removal of grade 4 viruses has been unlocked in the Virus Scanner.")
- If ShiftOSDesktop.virusscannergrade < 4 Then ShiftOSDesktop.virusscannergrade = 4
- Else
- infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ Case "virus grade 3 removal unlocker"
+ If ShiftOSDesktop.installedvirusscanner Then
+ If Math.Ceiling(Rnd() * 2) = 1 Then
+ infobox.showinfo("Virus Removal Unlocked", "Removal of grade 3 viruses has been unlocked in the Virus Scanner.")
+ If ShiftOSDesktop.virusscannergrade < 3 Then ShiftOSDesktop.virusscannergrade = 3
+ Else
+ infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ End If
+ End If
+ Case "virus grade 4 removal unlocker"
+ If ShiftOSDesktop.installedvirusscanner Then
+ If Math.Ceiling(Rnd() * 2) = 1 Then
+ infobox.showinfo("Virus Removal Unlocked", "Removal of grade 4 viruses has been unlocked in the Virus Scanner.")
+ If ShiftOSDesktop.virusscannergrade < 4 Then ShiftOSDesktop.virusscannergrade = 4
+ Else
+ infobox.showinfo("Lolz", "Haha, I just don't feel like doing anything today. Try me again some time and I MIGHT Lock it. For now, I'm hang out for the lolz!")
+ End If
End If
+ Case Else
+ infobox.title = "Corrupt file"
+ infobox.textinfo = "The stand alone application '" & path & "' seems to be corrupt and is unable to run properly."
+ infobox.Show()
+ End Select
+ ElseIf path Like "*.stp" Then
+ Installer.Show()
+ Installer.txtfilepath.Text = (path)
+ ElseIf path Like "*.smf" Then
+ NewAPI.UseCode(path)
+ ElseIf path Like "*.trm" Then
+ Terminal.Show()
+ Terminal.runterminalfile(path)
+ ElseIf path Like "*.sct" Then
+ Dim sr As New IO.StreamReader(path)
+ Dim relayPath As String = sr.ReadToEnd()
+ sr.Close()
+ OpenFile(relayPath)
+ ElseIf path Like "*.bat" Then
+ If (ShiftOSDesktop.unitymode) Then
+ Shell(path)
+ Else
+ If (ShiftOSDesktop.boughtunitymode) Then
+ infobox.title = "File Skimmer - Unity Mode:"
+ infobox.textinfo = "You do not have unity mode enabled. Enable unity mode to run shell scripts"
+ infobox.Show()
+ Else
+ infobox.title = "File Skimmer - Unity Mode:"
+ infobox.textinfo = "You do not have unity mode"
+ infobox.Show()
End If
- Case Else
- infobox.title = "Corrupt file"
- infobox.textinfo = "The stand alone application '" & path & "' seems to be corrupt and is unable to run properly."
- infobox.Show()
- End Select
- ElseIf path Like "*.stp" Then
- Installer.Show()
- Installer.txtfilepath.Text = (path)
- ElseIf path Like "*.smf" Then
- NewAPI.UseCode(path)
- ElseIf path Like "*.trm" Then
- Terminal.Show()
- Terminal.runterminalfile(path)
- ElseIf path Like "*.sct" Then
- Dim sr As New IO.StreamReader(path)
- Dim relayPath As String = sr.ReadToEnd()
- sr.Close()
- OpenFile(relayPath)
- ElseIf path Like "*.bat" Then
- If (ShiftOSDesktop.unitymode) Then
- Shell(path)
+ End If
Else
- If (ShiftOSDesktop.boughtunitymode) Then
- infobox.title = "File Skimmer - Unity Mode:"
- infobox.textinfo = "You do not have unity mode enabled. Enable unity mode to run shell scripts"
- infobox.Show()
+
+ If My.Computer.FileSystem.DirectoryExists(path) Then
+ lbllocation.Text = path
+ showcontents()
Else
- infobox.title = "File Skimmer - Unity Mode:"
- infobox.textinfo = "You do not have unity mode"
+ infobox.title = "Could not run file"
+ infobox.textinfo = "Error running file"
infobox.Show()
End If
- End If
- Else
- If My.Computer.FileSystem.DirectoryExists(path) Then
- lbllocation.Text = path
- showcontents()
- Else
- infobox.title = "Could not run file"
- infobox.textinfo = "Error running file"
- infobox.Show()
- End If
+ End If
End If
End Sub
diff --git a/ShiftOS/FullScreenLogin Customizer.Designer.vb b/ShiftOS/FullScreenLogin Customizer.Designer.vb
new file mode 100644
index 0000000..61fc66a
--- /dev/null
+++ b/ShiftOS/FullScreenLogin Customizer.Designer.vb
@@ -0,0 +1,290 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class FullScreenLoginCustomizer
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()> _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()> _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FullScreenLoginCustomizer))
+ Me.txtusername = New MichaelsMovableControlSuite.MovableTextBox()
+ Me.txtpassword = New MichaelsMovableControlSuite.MovableTextBox()
+ Me.userpic = New MichaelsMovableControlSuite.MovablePictureBox()
+ Me.loginbtn = New MichaelsMovableControlSuite.MovableButton()
+ Me.shutdown = New MichaelsMovableControlSuite.MovableButton()
+ Me.preview = New System.Windows.Forms.Panel()
+ Me.pnldefault = New System.Windows.Forms.Panel()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Titlebar = New System.Windows.Forms.Panel()
+ Me.lbtitletext = New System.Windows.Forms.Label()
+ Me.pnluserpicture = New System.Windows.Forms.Panel()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.Label7 = New System.Windows.Forms.Label()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.Label5 = New System.Windows.Forms.Label()
+ CType(Me.userpic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.preview.SuspendLayout()
+ Me.pnldefault.SuspendLayout()
+ Me.Titlebar.SuspendLayout()
+ Me.pnluserpicture.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'txtusername
+ '
+ Me.txtusername.BackColor = System.Drawing.Color.Black
+ Me.txtusername.Cursor = System.Windows.Forms.Cursors.Arrow
+ Me.txtusername.Font = New System.Drawing.Font("Trebuchet MS", 12.0!)
+ Me.txtusername.ForeColor = System.Drawing.Color.Gray
+ Me.txtusername.Location = New System.Drawing.Point(231, 183)
+ Me.txtusername.Name = "txtusername"
+ Me.txtusername.ReadOnly = True
+ Me.txtusername.Size = New System.Drawing.Size(248, 26)
+ Me.txtusername.TabIndex = 0
+ Me.txtusername.Text = "Username"
+ '
+ 'txtpassword
+ '
+ Me.txtpassword.BackColor = System.Drawing.Color.Black
+ Me.txtpassword.Cursor = System.Windows.Forms.Cursors.Arrow
+ Me.txtpassword.Font = New System.Drawing.Font("Trebuchet MS", 12.0!)
+ Me.txtpassword.ForeColor = System.Drawing.Color.Gray
+ Me.txtpassword.Location = New System.Drawing.Point(231, 224)
+ Me.txtpassword.Name = "txtpassword"
+ Me.txtpassword.ReadOnly = True
+ Me.txtpassword.Size = New System.Drawing.Size(248, 26)
+ Me.txtpassword.TabIndex = 1
+ Me.txtpassword.Text = "Password"
+ Me.txtpassword.UseSystemPasswordChar = True
+ '
+ 'userpic
+ '
+ Me.userpic.Cursor = System.Windows.Forms.Cursors.Arrow
+ Me.userpic.Location = New System.Drawing.Point(97, 183)
+ Me.userpic.Name = "userpic"
+ Me.userpic.Size = New System.Drawing.Size(128, 128)
+ Me.userpic.TabIndex = 2
+ Me.userpic.TabStop = False
+ '
+ 'loginbtn
+ '
+ Me.loginbtn.Cursor = System.Windows.Forms.Cursors.Arrow
+ Me.loginbtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.loginbtn.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.loginbtn.ForeColor = System.Drawing.Color.White
+ Me.loginbtn.Location = New System.Drawing.Point(328, 268)
+ Me.loginbtn.Name = "loginbtn"
+ Me.loginbtn.Size = New System.Drawing.Size(151, 43)
+ Me.loginbtn.TabIndex = 3
+ Me.loginbtn.Text = "Log In"
+ Me.loginbtn.UseVisualStyleBackColor = True
+ '
+ 'shutdown
+ '
+ Me.shutdown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.shutdown.Cursor = System.Windows.Forms.Cursors.Arrow
+ Me.shutdown.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.shutdown.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.shutdown.ForeColor = System.Drawing.Color.White
+ Me.shutdown.Location = New System.Drawing.Point(1755, 715)
+ Me.shutdown.Name = "shutdown"
+ Me.shutdown.Size = New System.Drawing.Size(137, 50)
+ Me.shutdown.TabIndex = 4
+ Me.shutdown.Text = "Shutdown"
+ Me.shutdown.UseVisualStyleBackColor = True
+ '
+ 'preview
+ '
+ Me.preview.Controls.Add(Me.txtusername)
+ Me.preview.Controls.Add(Me.shutdown)
+ Me.preview.Controls.Add(Me.txtpassword)
+ Me.preview.Controls.Add(Me.loginbtn)
+ Me.preview.Controls.Add(Me.userpic)
+ Me.preview.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.preview.Location = New System.Drawing.Point(0, 30)
+ Me.preview.Name = "preview"
+ Me.preview.Size = New System.Drawing.Size(1904, 771)
+ Me.preview.TabIndex = 5
+ '
+ 'pnldefault
+ '
+ Me.pnldefault.Controls.Add(Me.Label3)
+ Me.pnldefault.Controls.Add(Me.Label4)
+ Me.pnldefault.Controls.Add(Me.Label2)
+ Me.pnldefault.Controls.Add(Me.Label1)
+ Me.pnldefault.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.pnldefault.ForeColor = System.Drawing.Color.White
+ Me.pnldefault.Location = New System.Drawing.Point(0, 801)
+ Me.pnldefault.Name = "pnldefault"
+ Me.pnldefault.Size = New System.Drawing.Size(1904, 240)
+ Me.pnldefault.TabIndex = 6
+ '
+ 'Label3
+ '
+ Me.Label3.Location = New System.Drawing.Point(352, 46)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(293, 111)
+ Me.Label3.TabIndex = 8
+ Me.Label3.Text = "User Picture not in a good location? Need to move that Login Button ever-so-sligh" & _
+ "tly? Moving objects around the screen is as easy as Click, Drag, Release!"
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.Label4.Location = New System.Drawing.Point(351, 13)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(128, 22)
+ Me.Label4.TabIndex = 7
+ Me.Label4.Text = "Moving Controls"
+ '
+ 'Label2
+ '
+ Me.Label2.Location = New System.Drawing.Point(13, 46)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(293, 111)
+ Me.Label2.TabIndex = 6
+ Me.Label2.Text = resources.GetString("Label2.Text")
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.Label1.Location = New System.Drawing.Point(12, 13)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(248, 22)
+ Me.Label1.TabIndex = 5
+ Me.Label1.Text = "Login Screen Customizer - Home"
+ '
+ 'Titlebar
+ '
+ Me.Titlebar.BackColor = System.Drawing.Color.Gray
+ Me.Titlebar.Controls.Add(Me.lbtitletext)
+ Me.Titlebar.Dock = System.Windows.Forms.DockStyle.Top
+ Me.Titlebar.ForeColor = System.Drawing.Color.White
+ Me.Titlebar.Location = New System.Drawing.Point(0, 0)
+ Me.Titlebar.Name = "Titlebar"
+ Me.Titlebar.Size = New System.Drawing.Size(1904, 30)
+ Me.Titlebar.TabIndex = 5
+ '
+ 'lbtitletext
+ '
+ Me.lbtitletext.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.lbtitletext.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lbtitletext.Location = New System.Drawing.Point(0, 0)
+ Me.lbtitletext.Margin = New System.Windows.Forms.Padding(3)
+ Me.lbtitletext.Name = "lbtitletext"
+ Me.lbtitletext.Size = New System.Drawing.Size(1904, 30)
+ Me.lbtitletext.TabIndex = 0
+ Me.lbtitletext.Text = "Login Screen Customizer"
+ Me.lbtitletext.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pnluserpicture
+ '
+ Me.pnluserpicture.Controls.Add(Me.Button1)
+ Me.pnluserpicture.Controls.Add(Me.Label7)
+ Me.pnluserpicture.Controls.Add(Me.Label6)
+ Me.pnluserpicture.Controls.Add(Me.Label5)
+ Me.pnluserpicture.ForeColor = System.Drawing.Color.White
+ Me.pnluserpicture.Location = New System.Drawing.Point(0, 801)
+ Me.pnluserpicture.Name = "pnluserpicture"
+ Me.pnluserpicture.Size = New System.Drawing.Size(1904, 240)
+ Me.pnluserpicture.TabIndex = 9
+ '
+ 'Button1
+ '
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button1.Location = New System.Drawing.Point(20, 134)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(124, 94)
+ Me.Button1.TabIndex = 3
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'Label7
+ '
+ Me.Label7.AutoSize = True
+ Me.Label7.Location = New System.Drawing.Point(17, 108)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(77, 13)
+ Me.Label7.TabIndex = 2
+ Me.Label7.Text = "File for Picture:"
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(17, 46)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(262, 13)
+ Me.Label6.TabIndex = 1
+ Me.Label6.Text = "The picture associated to you when you're logging on."
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.Label5.Location = New System.Drawing.Point(16, 13)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(162, 22)
+ Me.Label5.TabIndex = 0
+ Me.Label5.Text = "User Account Picture"
+ '
+ 'FullScreenLoginCustomizer
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.Black
+ Me.ClientSize = New System.Drawing.Size(1904, 1041)
+ Me.Controls.Add(Me.preview)
+ Me.Controls.Add(Me.Titlebar)
+ Me.Controls.Add(Me.pnluserpicture)
+ Me.Controls.Add(Me.pnldefault)
+ Me.Name = "FullScreenLoginCustomizer"
+ Me.Text = "FullScreenLogin"
+ CType(Me.userpic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.preview.ResumeLayout(False)
+ Me.preview.PerformLayout()
+ Me.pnldefault.ResumeLayout(False)
+ Me.pnldefault.PerformLayout()
+ Me.Titlebar.ResumeLayout(False)
+ Me.pnluserpicture.ResumeLayout(False)
+ Me.pnluserpicture.PerformLayout()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents txtusername As MichaelsMovableControlSuite.MovableTextBox
+ Friend WithEvents txtpassword As MichaelsMovableControlSuite.MovableTextBox
+ Friend WithEvents userpic As MichaelsMovableControlSuite.MovablePictureBox
+ Friend WithEvents loginbtn As MichaelsMovableControlSuite.MovableButton
+ Friend WithEvents shutdown As MichaelsMovableControlSuite.MovableButton
+ Friend WithEvents preview As System.Windows.Forms.Panel
+ Friend WithEvents pnldefault As System.Windows.Forms.Panel
+ Friend WithEvents Titlebar As System.Windows.Forms.Panel
+ Friend WithEvents lbtitletext As System.Windows.Forms.Label
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents pnluserpicture As System.Windows.Forms.Panel
+ Friend WithEvents Button1 As System.Windows.Forms.Button
+ Friend WithEvents Label7 As System.Windows.Forms.Label
+ Friend WithEvents Label6 As System.Windows.Forms.Label
+ Friend WithEvents Label5 As System.Windows.Forms.Label
+End Class
diff --git a/ShiftOS/FullScreenLogin Customizer.resx b/ShiftOS/FullScreenLogin Customizer.resx
new file mode 100644
index 0000000..12b4ef4
--- /dev/null
+++ b/ShiftOS/FullScreenLogin Customizer.resx
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="Label2.Text" xml:space="preserve">
+ <value>Welcome home! This is the Login Screen Customizer. It allows you to shift the Login Screen to look any way you want. This panel will update with various options as you're shifting. To close this window, press "Cancel" and to apply your changes, click "Apply".</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ShiftOS/FullScreenLogin Customizer.vb b/ShiftOS/FullScreenLogin Customizer.vb
new file mode 100644
index 0000000..90e9eff
--- /dev/null
+++ b/ShiftOS/FullScreenLogin Customizer.vb
@@ -0,0 +1,222 @@
+Public Class FullScreenLoginCustomizer
+
+#Region "Declarations"
+ Public autologin As Boolean
+ Public fullScreen As Boolean
+ Public inputfont As String
+ Public inputfontsize As Integer
+ Public inputfontstyle As FontStyle
+ Public inputforecolor As Color
+ Public inputbackcolor As Color
+ Public buttonfont As String
+ Public buttonfontsize As Integer
+ Public buttonfontstyle As FontStyle
+
+ Public userimagesize As Integer
+ Public userimagelocation As Point
+ Public userimage As Image
+ Public userimagelayout As ImageLayout
+
+ Public loginbg As Image
+ Public loginbgcolor As Color
+ Public loginbglayout As ImageLayout
+
+ 'Locations...
+
+ Public userTextboxX As Integer
+ Public userTextBoxY As Integer
+ Public passTextBoxX As Integer
+ Public passTextBoxY As Integer
+ Public loginbtnX As Integer
+ Public loginbtnY As Integer
+ Public shutdownbtnX As Integer
+ Public shutdownbtnY As Integer
+
+ 'Codepoint Stuff
+
+ Public earnedCP As Integer = 0
+
+
+#End Region
+
+ Dim currentControl As String = "None"
+
+ Private Sub FullScreenLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
+ Me.WindowState = FormWindowState.Maximized
+ setskin()
+ End Sub
+
+ Public Sub setskin()
+ preview.BackColor = Skins.loginbgcolor
+ preview.BackgroundImage = Skins.loginbg
+ preview.BackgroundImageLayout = Skins.loginbglayout
+ userpic.Size = New Size(Skins.userimagesize, Skins.userimagesize)
+ userpic.BackgroundImage = Skins.userimage
+ userpic.BackColor = Color.Transparent
+ userpic.BackgroundImageLayout = Skins.userimagelayout
+ If Not IsNothing(Skins.userimagelocation) Then userpic.Location = Skins.userimagelocation
+ txtusername.ForeColor = Skins.inputforecolor
+ txtpassword.ForeColor = Skins.inputforecolor
+ txtusername.BackColor = Skins.inputbackcolor
+ txtpassword.BackColor = Skins.inputbackcolor
+ txtusername.Font = New Font(Skins.inputfont, Skins.inputfontsize, Skins.inputfontstyle)
+ txtpassword.Font = New Font(Skins.inputfont, Skins.inputfontsize, Skins.inputfontstyle)
+ loginbtn.Font = New Font(Skins.buttonfont, Skins.buttonfontsize, Skins.buttonfontstyle)
+ shutdown.Font = New Font(Skins.buttonfont, Skins.buttonfontsize, Skins.buttonfontstyle)
+ txtusername.Location = New Point(Skins.userTextboxX, Skins.userTextBoxY)
+ txtpassword.Location = New Point(Skins.passTextBoxX, Skins.passTextBoxY)
+ loginbtn.Location = New Point(Skins.loginbtnX, Skins.loginbtnY)
+ shutdown.Location = New Point(Skins.shutdownbtnX, Skins.shutdownbtnY)
+ If shutdown.Location.X > preview.Height Then
+ shutdown.Location = New Point(Skins.shutdownbtnX, Skins.shutdownbtnY - pnldefault.Height)
+ End If
+ Titlebar.Height = Skins.titlebarheight
+ lbtitletext.ForeColor = Skins.titletextcolour
+ lbtitletext.BackColor = Skins.titlebarcolour
+ If Skins.titlebar Is Nothing Then lbtitletext.BackgroundImage = Nothing Else lbtitletext.BackgroundImage = Skins.titlebar
+ lbtitletext.BackgroundImageLayout = Skins.titlebarlayout
+ Select Case Skins.titletextpos
+ Case "Left"
+ lbtitletext.TextAlign = ContentAlignment.MiddleLeft
+ Case "Centre"
+ lbtitletext.TextAlign = ContentAlignment.MiddleCenter
+ End Select
+ lbtitletext.Font = New Font(Skins.titletextfontfamily, Skins.titletextfontsize, Skins.titletextfontstyle, GraphicsUnit.Point)
+ Me.TopMost = True
+ End Sub
+
+
+ Private Sub userpic_Click(sender As Object, e As EventArgs) Handles userpic.Click
+ currentControl = "User Picture"
+ determineSettings()
+ End Sub
+
+ Private Sub userpic_UserMove(sender As Object, e As MouseEventArgs) Handles userpic.MouseUp
+ userimagelocation = userpic.Location
+ setNewSkin()
+ End Sub
+
+ Public Sub determineSettings()
+ 'Sets what settings panel is visible:
+ Select Case currentControl
+ Case "None"
+ pnldefault.Show()
+ Case "User Picture"
+ pnluserpicture.Show()
+ End Select
+ End Sub
+
+ Public Sub applySettings()
+ Skins.userimage = userimage
+ Skins.userimagesize = userimagesize
+ Skins.userimagelayout = userimagelayout
+ Skins.userimagelocation = userimagelocation
+ Skins.inputforecolor = inputforecolor
+ Skins.inputbackcolor = inputbackcolor
+ Skins.inputfont = inputfont
+ Skins.inputfontsize = inputfontsize
+ Skins.inputfontstyle = inputfontstyle
+ Skins.loginbg = loginbg
+ Skins.loginbglayout = loginbglayout
+ Skins.loginbgcolor = loginbgcolor
+ Skins.userTextboxX = userTextboxX
+ Skins.userTextBoxY = userTextBoxY
+ Skins.passTextBoxX = passTextBoxX
+ Skins.passTextBoxY = passTextBoxY
+ Skins.shutdownbtnX = shutdownbtnX
+ Skins.shutdownbtnY = shutdownbtnY
+ Skins.loginbtnX = loginbtnX
+ Skins.loginbtnY = loginbtnY
+ Skins.saveskinfiles(True)
+ infobox.showinfo("Login Screen Customizer", "You have earned " & earnedCP & " Code points for all customizations made to your login screen.")
+ Helper.addCP(earnedCP)
+ End Sub
+
+ Public Sub setDefaults()
+ userimage = Skins.userimage
+ userimagesize = Skins.userimagesize
+ userimagelayout = Skins.userimagelayout
+ userimagelocation = Skins.userimagelocation
+ inputforecolor = Skins.inputforecolor
+ inputbackcolor = Skins.inputbackcolor
+ inputfont = Skins.inputfont
+ inputfontsize = Skins.inputfontsize
+ inputfontstyle = Skins.inputfontstyle
+ loginbg = Skins.loginbg
+ loginbgcolor = Skins.loginbgcolor
+ loginbglayout = Skins.loginbglayout
+ userTextboxX = Skins.userTextboxX
+ userTextBoxY = Skins.userTextBoxY
+ passTextBoxX = Skins.passTextBoxX
+ passTextBoxY = Skins.passTextBoxY
+ shutdownbtnX = Skins.shutdownbtnX
+ shutdownbtnY = Skins.shutdownbtnY
+ loginbtnX = Skins.loginbtnX
+ loginbtnY = Skins.loginbtnY
+ End Sub
+
+ Public Sub setNewSkin()
+ preview.BackColor = loginbgcolor
+ If loginbg Is Nothing Then preview.BackgroundImage = Nothing Else preview.BackgroundImage = loginbg
+ preview.BackgroundImageLayout = loginbglayout
+
+ userpic.BackgroundImage = userimage
+ userpic.Size = New Size(userimagesize, userimagesize)
+ userpic.BackgroundImageLayout = userimagelayout
+
+ txtusername.ForeColor = inputforecolor
+ txtpassword.ForeColor = inputforecolor
+ txtusername.BackColor = inputbackcolor
+ txtpassword.BackColor = inputbackcolor
+ txtusername.Font = New Font(inputfont, inputfontsize, inputfontstyle)
+ txtpassword.Font = New Font(inputfont, inputfontsize, inputfontstyle)
+ loginbtn.Font = New Font(buttonfont, buttonfontsize, buttonfontstyle)
+ shutdown.Font = New Font(buttonfont, buttonfontsize, buttonfontstyle)
+ addRandomCP()
+
+ End Sub
+
+ Public Sub addRandomCP()
+ Dim rand As New Random
+ Dim numToAdd As Integer = rand.Next(1, 5)
+ earnedCP = earnedCP + numToAdd
+ End Sub
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ Graphic_Picker.graphictochange = "User Account Picture"
+ Graphic_Picker.Show()
+ End Sub
+
+ Private Sub txtusername_UserMove(sender As Object, e As MouseEventArgs) Handles txtusername.MouseUp
+ currentControl = "Username Input"
+ determineSettings()
+ userTextboxX = txtusername.Location.X
+ userTextBoxY = txtusername.Location.Y
+ setNewSkin()
+ End Sub
+
+ Private Sub txtpassword_MouseUp(sender As Object, e As MouseEventArgs) Handles txtpassword.MouseUp
+ currentControl = "Password Input"
+ determineSettings()
+ passTextBoxX = txtpassword.Location.X
+ passTextBoxY = txtpassword.Location.Y
+ setNewSkin()
+ End Sub
+
+ Private Sub shutdown_MouseUp(sender As Object, e As MouseEventArgs) Handles shutdown.MouseUp
+ currentControl = "Shutdown Button"
+ determineSettings()
+ shutdownbtnX = shutdown.Location.X
+ shutdownbtnY = shutdown.Location.Y
+ setNewSkin()
+ End Sub
+
+ Private Sub loginbtn_MouseUp(sender As Object, e As MouseEventArgs) Handles loginbtn.MouseUp
+ currentControl = "Log In Button"
+ determineSettings()
+ loginbtnX = loginbtn.Location.X
+ loginbtnY = loginbtn.Location.Y
+ setNewSkin()
+ End Sub
+End Class \ No newline at end of file
diff --git a/ShiftOS/FullScreenLogin.Designer.vb b/ShiftOS/FullScreenLogin.Designer.vb
new file mode 100644
index 0000000..e239979
--- /dev/null
+++ b/ShiftOS/FullScreenLogin.Designer.vb
@@ -0,0 +1,112 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class FullScreenLogin
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()> _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()> _
+ Private Sub InitializeComponent()
+ Me.txtusername = New System.Windows.Forms.TextBox()
+ Me.txtpassword = New System.Windows.Forms.TextBox()
+ Me.userpic = New System.Windows.Forms.PictureBox()
+ Me.loginbtn = New System.Windows.Forms.Button()
+ Me.shutdown = New System.Windows.Forms.Button()
+ CType(Me.userpic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'txtusername
+ '
+ Me.txtusername.BackColor = System.Drawing.Color.Black
+ Me.txtusername.Font = New System.Drawing.Font("Trebuchet MS", 12.0!)
+ Me.txtusername.ForeColor = System.Drawing.Color.Gray
+ Me.txtusername.Location = New System.Drawing.Point(171, 202)
+ Me.txtusername.Name = "txtusername"
+ Me.txtusername.Size = New System.Drawing.Size(248, 26)
+ Me.txtusername.TabIndex = 0
+ Me.txtusername.Text = "Username"
+ '
+ 'txtpassword
+ '
+ Me.txtpassword.BackColor = System.Drawing.Color.Black
+ Me.txtpassword.Font = New System.Drawing.Font("Trebuchet MS", 12.0!)
+ Me.txtpassword.ForeColor = System.Drawing.Color.Gray
+ Me.txtpassword.Location = New System.Drawing.Point(171, 243)
+ Me.txtpassword.Name = "txtpassword"
+ Me.txtpassword.Size = New System.Drawing.Size(248, 26)
+ Me.txtpassword.TabIndex = 1
+ Me.txtpassword.Text = "Password"
+ Me.txtpassword.UseSystemPasswordChar = True
+ '
+ 'userpic
+ '
+ Me.userpic.Location = New System.Drawing.Point(36, 202)
+ Me.userpic.Name = "userpic"
+ Me.userpic.Size = New System.Drawing.Size(128, 128)
+ Me.userpic.TabIndex = 2
+ Me.userpic.TabStop = False
+ '
+ 'loginbtn
+ '
+ Me.loginbtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.loginbtn.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.loginbtn.ForeColor = System.Drawing.Color.White
+ Me.loginbtn.Location = New System.Drawing.Point(268, 286)
+ Me.loginbtn.Name = "loginbtn"
+ Me.loginbtn.Size = New System.Drawing.Size(151, 43)
+ Me.loginbtn.TabIndex = 3
+ Me.loginbtn.Text = "Log In"
+ Me.loginbtn.UseVisualStyleBackColor = True
+ '
+ 'shutdown
+ '
+ Me.shutdown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.shutdown.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.shutdown.Font = New System.Drawing.Font("Trebuchet MS", 12.0!, System.Drawing.FontStyle.Italic)
+ Me.shutdown.ForeColor = System.Drawing.Color.White
+ Me.shutdown.Location = New System.Drawing.Point(1755, 979)
+ Me.shutdown.Name = "shutdown"
+ Me.shutdown.Size = New System.Drawing.Size(137, 50)
+ Me.shutdown.TabIndex = 4
+ Me.shutdown.Text = "Shutdown"
+ Me.shutdown.UseVisualStyleBackColor = True
+ '
+ 'FullScreenLogin
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.Black
+ Me.ClientSize = New System.Drawing.Size(1904, 1041)
+ Me.Controls.Add(Me.shutdown)
+ Me.Controls.Add(Me.loginbtn)
+ Me.Controls.Add(Me.userpic)
+ Me.Controls.Add(Me.txtpassword)
+ Me.Controls.Add(Me.txtusername)
+ Me.Name = "FullScreenLogin"
+ Me.Text = "FullScreenLogin"
+ CType(Me.userpic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents txtusername As System.Windows.Forms.TextBox
+ Friend WithEvents txtpassword As System.Windows.Forms.TextBox
+ Friend WithEvents userpic As System.Windows.Forms.PictureBox
+ Friend WithEvents loginbtn As System.Windows.Forms.Button
+ Friend WithEvents shutdown As System.Windows.Forms.Button
+End Class
diff --git a/ShiftOS/FullScreenLogin.resx b/ShiftOS/FullScreenLogin.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/ShiftOS/FullScreenLogin.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/ShiftOS/FullScreenLogin.vb b/ShiftOS/FullScreenLogin.vb
new file mode 100644
index 0000000..af38901
--- /dev/null
+++ b/ShiftOS/FullScreenLogin.vb
@@ -0,0 +1,48 @@
+Public Class FullScreenLogin
+
+ Private Sub FullScreenLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
+ Me.WindowState = FormWindowState.Maximized
+ setskin()
+ End Sub
+
+ Public Sub setskin()
+ Me.BackColor = Skins.loginbgcolor
+ Me.BackgroundImage = Skins.loginbg
+ Me.BackgroundImageLayout = Skins.loginbglayout
+ userpic.Size = New Size(Skins.userimagesize, Skins.userimagesize)
+ userpic.BackgroundImage = Skins.userimage
+ userpic.BackColor = Color.Transparent
+ userpic.BackgroundImageLayout = Skins.userimagelayout
+ If Not IsNothing(Skins.userimagelocation) Then userpic.Location = Skins.userimagelocation
+ txtusername.ForeColor = Skins.inputforecolor
+ txtpassword.ForeColor = Skins.inputforecolor
+ txtusername.BackColor = Skins.inputbackcolor
+ txtpassword.BackColor = Skins.inputbackcolor
+ txtusername.Font = New Font(Skins.inputfont, Skins.inputfontsize, Skins.inputfontstyle)
+ txtpassword.Font = New Font(Skins.inputfont, Skins.inputfontsize, Skins.inputfontstyle)
+ loginbtn.Font = New Font(Skins.buttonfont, Skins.buttonfontsize, Skins.buttonfontstyle)
+ shutdown.Font = New Font(Skins.buttonfont, Skins.buttonfontsize, Skins.buttonfontstyle)
+ txtusername.Location = New Point(Skins.userTextboxX, Skins.userTextBoxY)
+ txtpassword.Location = New Point(Skins.passTextBoxX, Skins.passTextBoxY)
+ loginbtn.Location = New Point(Skins.loginbtnX, Skins.loginbtnY)
+ shutdown.Location = New Point(Skins.shutdownbtnX, Skins.shutdownbtnY)
+ Me.TopMost = True
+ End Sub
+
+ Private Sub loginbtn_Click(sender As Object, e As EventArgs) Handles loginbtn.Click
+ If txtusername.Text = ShiftOSDesktop.username And txtpassword.Text = ShiftOSDesktop.password Then
+ Me.Close()
+ infobox.showinfo("Login Screen", "The Login Screen has completed with no errors!")
+ End If
+ End Sub
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles shutdown.Click
+ ShiftOSDesktop.shutdownshiftos()
+ End Sub
+
+ Private Sub clearChars(sender As Object, e As MouseEventArgs) Handles txtusername.MouseDown, txtpassword.MouseDown
+ txtusername.Text = ""
+ txtpassword.Text = ""
+ End Sub
+End Class \ No newline at end of file
diff --git a/ShiftOS/ShiftOS.vbproj b/ShiftOS/ShiftOS.vbproj
index 6480482..53a4a08 100644
--- a/ShiftOS/ShiftOS.vbproj
+++ b/ShiftOS/ShiftOS.vbproj
@@ -85,6 +85,9 @@
<ApplicationIcon>ShiftOSLogo.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="MichaelsMovableControlSuite">
+ <HintPath>..\..\..\MovableControls\MichaelsMovableControlSuite\MichaelsMovableControlSuite\bin\Debug\MichaelsMovableControlSuite.dll</HintPath>
+ </Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
@@ -151,6 +154,18 @@
<Compile Include="Catalyst_Main.vb">
<SubType>Form</SubType>
</Compile>
+ <Compile Include="FullScreenLogin Customizer.Designer.vb">
+ <DependentUpon>FullScreenLogin Customizer.vb</DependentUpon>
+ </Compile>
+ <Compile Include="FullScreenLogin Customizer.vb">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="FullScreenLogin.Designer.vb">
+ <DependentUpon>FullScreenLogin.vb</DependentUpon>
+ </Compile>
+ <Compile Include="FullScreenLogin.vb">
+ <SubType>Form</SubType>
+ </Compile>
<Compile Include="loginform.Designer.vb">
<DependentUpon>loginform.vb</DependentUpon>
</Compile>
@@ -474,6 +489,12 @@
<EmbeddedResource Include="coherencemodeform.resx">
<DependentUpon>coherencemodeform.vb</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="FullScreenLogin Customizer.resx">
+ <DependentUpon>FullScreenLogin Customizer.vb</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FullScreenLogin.resx">
+ <DependentUpon>FullScreenLogin.vb</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="loginform.resx">
<DependentUpon>loginform.vb</DependentUpon>
</EmbeddedResource>
diff --git a/ShiftOS/ShiftOSDesktop.vb b/ShiftOS/ShiftOSDesktop.vb
index 6bb1267..447d01a 100644
--- a/ShiftOS/ShiftOSDesktop.vb
+++ b/ShiftOS/ShiftOSDesktop.vb
@@ -1620,17 +1620,24 @@
For Each Control In MyBase.Controls
Control.visible = False
Next
- loginform.ShowDialog()
+ If Skins.autologin = False Then
+ If Skins.fullScreen = False Then
+ loginform.ShowDialog()
+ Else
+ FullScreenLogin.ShowDialog()
+ End If
+ End If
- For Each Control In MyBase.Controls
- Control.visible = True
- hideStart()
- Next
- Try
- Helper.playSound(Paths.sounddir & "startup.wav", AudioPlayMode.WaitToComplete)
- Catch ex As Exception
- 'Do nothing -- Haven't found a good startup sound
- End Try
+
+ For Each Control In MyBase.Controls
+ Control.visible = True
+ hideStart()
+ Next
+ Try
+ Helper.playSound(Paths.sounddir & "startup.wav", AudioPlayMode.WaitToComplete)
+ Catch ex As Exception
+ 'Do nothing -- Haven't found a good startup sound
+ End Try
End Sub
diff --git a/ShiftOS/Terminal.vb b/ShiftOS/Terminal.vb
index 509fc73..54ed997 100644
--- a/ShiftOS/Terminal.vb
+++ b/ShiftOS/Terminal.vb
@@ -956,6 +956,10 @@ Public Class Terminal
If further = True Then
Select Case command
+ Case "test fullscreen login customizer"
+ FullScreenLoginCustomizer.Show()
+ Case "test fullscreen login"
+ FullScreenLogin.Show()
Case "adv app launcher on"
ShiftOSDesktop.boughtadvapplauncher = True
ShiftOSDesktop.savegame()
diff --git a/ShiftOS/skins.vb b/ShiftOS/skins.vb
index 5224708..d38e80d 100644
--- a/ShiftOS/skins.vb
+++ b/ShiftOS/skins.vb
@@ -172,6 +172,43 @@ Module Skins
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)
@@ -191,6 +228,12 @@ Module Skins
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
@@ -298,163 +341,178 @@ Module Skins
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)
+ For i As Integer = 0 To 200 Step 1
+ loaddata(i) = sr.ReadLine
+ If i = 200 Then
+ sr.Close()
+ Exit For
+ End If
+ Next
- '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)
+ ' 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)
- 'for adding extra features, check:
+ '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)
- 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)
+ 'for adding extra features, check:
- 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
+ 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
- applyskin()
+ 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()
@@ -508,6 +566,8 @@ Module Skins
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,
@@ -640,6 +700,23 @@ Module Skins
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"