#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.
This commit is contained in:
TheUltimateHacker 2015-03-22 10:45:19 -04:00
parent a276b027fb
commit d556f57a1f
11 changed files with 1401 additions and 372 deletions

View file

@ -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()
End If
If Skin_Loader.loadingsknversion = "2.0 disposal-free skinning" Then
Skin_Loader.setuppreview2_0()
Skin_Loader.skinloaded = True
OrcWrite.Show()
OrcWrite.TopMost = 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
infobox.showinfo("Application Not Found", "ShiftOS could not find an application able to open .owd files.")
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 "*.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
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
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
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()
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 = "File Skimmer - Unity Mode:"
infobox.textinfo = "You do not have unity mode"
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
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"
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()
End If
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
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()
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
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
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
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
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

View file

@ -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

View file

@ -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>

View file

@ -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

112
ShiftOS/FullScreenLogin.Designer.vb generated Normal file
View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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()

View file

@ -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)
'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)
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
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
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"