#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,7 +626,10 @@ Public Class File_Skimmer
'Used for Desktop. 'Used for Desktop.
Public Sub OpenFile(path As String) 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
'Check if selected item is a file or folder. It it's a file check its extention
If path Like "*.owd" Then If path Like "*.owd" Then
If ShiftOSDesktop.installedorcwrite = True Then If ShiftOSDesktop.installedorcwrite = True Then
@ -835,6 +838,7 @@ Public Class File_Skimmer
End If End If
End If End If
Else Else
If My.Computer.FileSystem.DirectoryExists(path) Then If My.Computer.FileSystem.DirectoryExists(path) Then
lbllocation.Text = path lbllocation.Text = path
showcontents() showcontents()
@ -845,6 +849,7 @@ Public Class File_Skimmer
End If End If
End If End If
End If
End Sub End Sub
Private Sub lbfiles_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lvfiles.MouseClick Private Sub lbfiles_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lvfiles.MouseClick

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> <ApplicationIcon>ShiftOSLogo.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="MichaelsMovableControlSuite">
<HintPath>..\..\..\MovableControls\MichaelsMovableControlSuite\MichaelsMovableControlSuite\bin\Debug\MichaelsMovableControlSuite.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Deployment" /> <Reference Include="System.Deployment" />
@ -151,6 +154,18 @@
<Compile Include="Catalyst_Main.vb"> <Compile Include="Catalyst_Main.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </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"> <Compile Include="loginform.Designer.vb">
<DependentUpon>loginform.vb</DependentUpon> <DependentUpon>loginform.vb</DependentUpon>
</Compile> </Compile>
@ -474,6 +489,12 @@
<EmbeddedResource Include="coherencemodeform.resx"> <EmbeddedResource Include="coherencemodeform.resx">
<DependentUpon>coherencemodeform.vb</DependentUpon> <DependentUpon>coherencemodeform.vb</DependentUpon>
</EmbeddedResource> </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"> <EmbeddedResource Include="loginform.resx">
<DependentUpon>loginform.vb</DependentUpon> <DependentUpon>loginform.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>

View file

@ -1620,7 +1620,14 @@
For Each Control In MyBase.Controls For Each Control In MyBase.Controls
Control.visible = False Control.visible = False
Next Next
If Skins.autologin = False Then
If Skins.fullScreen = False Then
loginform.ShowDialog() loginform.ShowDialog()
Else
FullScreenLogin.ShowDialog()
End If
End If
For Each Control In MyBase.Controls For Each Control In MyBase.Controls
Control.visible = True Control.visible = True

View file

@ -956,6 +956,10 @@ Public Class Terminal
If further = True Then If further = True Then
Select Case command Select Case command
Case "test fullscreen login customizer"
FullScreenLoginCustomizer.Show()
Case "test fullscreen login"
FullScreenLogin.Show()
Case "adv app launcher on" Case "adv app launcher on"
ShiftOSDesktop.boughtadvapplauncher = True ShiftOSDesktop.boughtadvapplauncher = True
ShiftOSDesktop.savegame() ShiftOSDesktop.savegame()

View file

@ -172,6 +172,43 @@ Module Skins
Public pwrPanelBackgroundLayout As ImageLayout = ImageLayout.Stretch Public pwrPanelBackgroundLayout As ImageLayout = ImageLayout.Stretch
Public useClassicAppLauncher As Boolean = True 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 Private Function GetImage(ByVal fileName As String) As Bitmap
Dim ret As Bitmap Dim ret As Bitmap
Using img As Image = Image.FromFile(fileName) Using img As Image = Image.FromFile(fileName)
@ -191,6 +228,12 @@ Module Skins
End Sub End Sub
' LOAD SKIN FROM SAVE FOLDER ' LOAD SKIN FROM SAVE FOLDER
Public Sub loadimages() 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 If File.Exists(loadedskin & "userbar") Then
userNamePanelBackground = GetImage(loadedskin & "userbar") userNamePanelBackground = GetImage(loadedskin & "userbar")
End If End If
@ -440,6 +483,21 @@ Module Skins
If loaddata(132) = "" Then usrPanelBackgroundLayout = ImageLayout.Stretch Else usrPanelBackgroundLayout = 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(133) = "" Then pwrPanelBackgroundLayout = ImageLayout.Stretch Else pwrPanelBackgroundLayout = loaddata(133)
If loaddata(134) = "" Then useClassicAppLauncher = False Else useClassicAppLauncher = loaddata(134) 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 Else
setupdefaults() setupdefaults()
@ -508,6 +566,8 @@ Module Skins
saveimage(bottomrightcorner, "bottomrightcorner") saveimage(bottomrightcorner, "bottomrightcorner")
saveimage(userNamePanelBackground, "userbar") saveimage(userNamePanelBackground, "userbar")
saveimage(powerPanelBackgroundImage, "powerbar") saveimage(powerPanelBackgroundImage, "powerbar")
saveimage(userimage, "userpic")
saveimage(loginbg, "loginbg")
'save settings to dat file 'save settings to dat file
Dim savedata(200) As String Dim savedata(200) As String
' setting and colour as saved in the order they are declared, image's are saved in sepporate preset files, ' 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(132) = usrPanelBackgroundLayout
savedata(133) = pwrPanelBackgroundLayout savedata(133) = pwrPanelBackgroundLayout
savedata(134) = useClassicAppLauncher 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 ' 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" savedata(200) = "End of skin data"