Login Screen

A new Login Screen has been added.
This commit is contained in:
TheUltimateHacker 2015-03-21 12:40:36 -04:00
parent 7529ee9b32
commit a276b027fb
5 changed files with 805 additions and 1 deletions

View file

@ -151,6 +151,12 @@
<Compile Include="Catalyst_Main.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="loginform.Designer.vb">
<DependentUpon>loginform.vb</DependentUpon>
</Compile>
<Compile Include="loginform.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="modform.Designer.vb">
<DependentUpon>modform.vb</DependentUpon>
</Compile>
@ -468,6 +474,9 @@
<EmbeddedResource Include="coherencemodeform.resx">
<DependentUpon>coherencemodeform.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="loginform.resx">
<DependentUpon>loginform.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="modform.resx">
<DependentUpon>modform.vb</DependentUpon>
</EmbeddedResource>

View file

@ -18,6 +18,7 @@
Public ShiftOSPath As String = "C:\ShiftOS"
Private actualshiftversion As String = "0.0.8"
Public ingameversion As String = "0.0.1.0"
Public password As String
'Corruptions
Public FileSkimmerCorrupted As Boolean = False
@ -1063,6 +1064,7 @@
SortOutBooleans(WebBrowserCorrupted, 613, False)
If boughtdesktopicons = True Then savelines(614) = 11 Else savelines(614) = 10
If boughtadvapplauncher = True Then savelines(615) = 11 Else savelines(615) = 10
savelines(616) = password
IO.File.WriteAllLines(Paths.savedata & "Drivers\HDD.dri", savelines)
File_Crypt.EncryptFile(Paths.savedata & "Drivers\HDD.dri", Paths.savedata & "SKernal.sft", sSecretKey)
Try
@ -1588,6 +1590,7 @@
Catch
boughtadvapplauncher = False
End Try
If loadlines(616) = "" Then loginform.throwRegister = True Else password = loadlines(616)
Viruses.startactiveviruses()
If IO.File.Exists(Paths.loadedskin & "skindata.dat") Then loadcurrentskin() ' FIXME (ShiftOSPath + "Shiftum42\Skins\Current\skindata.dat")
If My.Computer.FileSystem.DirectoryExists(Paths.savedata & "Icons") Then setupicons()
@ -1602,7 +1605,6 @@
loadgame()
Terminal.runterminalfile(ShiftOSPath + "\Shiftum42\autorun.trm")
End If
If Not My.Computer.FileSystem.DirectoryExists(ShiftOSPath + "\SoftwareData\AdvStart\Recent") Then
IO.Directory.CreateDirectory(ShiftOSPath + "\SoftwareData\AdvStart\Recent")
End If
@ -1615,11 +1617,21 @@
Skins.loadimages()
desktopicons.AllowDrop = True
desktopicons.AutoArrange = False
For Each Control In MyBase.Controls
Control.visible = False
Next
loginform.ShowDialog()
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
Public Sub loadcurrentskin()
@ -1831,6 +1843,9 @@
desktopicons.BackColor = Skins.desktopbackgroundcolour
If Skins.desktopbackground Is Nothing Then desktopicons.BackgroundImage = Nothing Else desktopicons.BackgroundImage = Skins.desktopbackground
desktopicons.BackgroundImageLayout = Skins.desktopbackgroundlayout
Me.BackColor = Skins.desktopbackgroundcolour
If Skins.desktopbackground Is Nothing Then Me.BackgroundImage = Nothing Else Me.BackgroundImage = Skins.desktopbackground
Me.BackgroundImageLayout = Skins.desktopbackgroundlayout
Else
Me.BackColor = globaltransparencycolour
Me.BackgroundImage = Nothing

315
ShiftOS/loginform.Designer.vb generated Normal file
View file

@ -0,0 +1,315 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class loginform
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.pgcontents = New System.Windows.Forms.Panel()
Me.pnllogin = New System.Windows.Forms.Panel()
Me.lbmsgtext = New System.Windows.Forms.Label()
Me.btnok = New System.Windows.Forms.Button()
Me.pboximage = New System.Windows.Forms.PictureBox()
Me.pgleft = New System.Windows.Forms.Panel()
Me.pgbottomlcorner = New System.Windows.Forms.Panel()
Me.pgright = New System.Windows.Forms.Panel()
Me.pgbottomrcorner = New System.Windows.Forms.Panel()
Me.titlebar = New System.Windows.Forms.Panel()
Me.pnlicon = New System.Windows.Forms.PictureBox()
Me.lbtitletext = New System.Windows.Forms.Label()
Me.pgtoplcorner = New System.Windows.Forms.Panel()
Me.pgtoprcorner = New System.Windows.Forms.Panel()
Me.pgbottom = New System.Windows.Forms.Panel()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.txtusername = New System.Windows.Forms.TextBox()
Me.txtpassword = New System.Windows.Forms.TextBox()
Me.txtconfirm = New System.Windows.Forms.TextBox()
Me.pgcontents.SuspendLayout()
Me.pnllogin.SuspendLayout()
CType(Me.pboximage, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pgleft.SuspendLayout()
Me.pgright.SuspendLayout()
Me.titlebar.SuspendLayout()
CType(Me.pnlicon, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'pgcontents
'
Me.pgcontents.BackColor = System.Drawing.Color.White
Me.pgcontents.Controls.Add(Me.pnllogin)
Me.pgcontents.Controls.Add(Me.btnok)
Me.pgcontents.Controls.Add(Me.pboximage)
Me.pgcontents.Dock = System.Windows.Forms.DockStyle.Fill
Me.pgcontents.Location = New System.Drawing.Point(2, 30)
Me.pgcontents.Name = "pgcontents"
Me.pgcontents.Size = New System.Drawing.Size(367, 185)
Me.pgcontents.TabIndex = 20
'
'pnllogin
'
Me.pnllogin.Controls.Add(Me.txtconfirm)
Me.pnllogin.Controls.Add(Me.txtpassword)
Me.pnllogin.Controls.Add(Me.txtusername)
Me.pnllogin.Controls.Add(Me.Label3)
Me.pnllogin.Controls.Add(Me.Label2)
Me.pnllogin.Controls.Add(Me.Label1)
Me.pnllogin.Controls.Add(Me.lbmsgtext)
Me.pnllogin.Location = New System.Drawing.Point(115, 7)
Me.pnllogin.Name = "pnllogin"
Me.pnllogin.Size = New System.Drawing.Size(246, 136)
Me.pnllogin.TabIndex = 8
'
'lbmsgtext
'
Me.lbmsgtext.Location = New System.Drawing.Point(4, 18)
Me.lbmsgtext.Name = "lbmsgtext"
Me.lbmsgtext.Size = New System.Drawing.Size(238, 38)
Me.lbmsgtext.TabIndex = 0
Me.lbmsgtext.Text = "Please log into ShiftOS to continue."
'
'btnok
'
Me.btnok.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnok.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnok.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnok.ForeColor = System.Drawing.Color.Black
Me.btnok.Location = New System.Drawing.Point(134, 149)
Me.btnok.Name = "btnok"
Me.btnok.Size = New System.Drawing.Size(105, 30)
Me.btnok.TabIndex = 7
Me.btnok.TabStop = False
Me.btnok.Text = "Log In"
Me.btnok.UseVisualStyleBackColor = True
'
'pboximage
'
Me.pboximage.Image = Global.ShiftOS.My.Resources.Resources.Symbolinfo
Me.pboximage.Location = New System.Drawing.Point(12, 7)
Me.pboximage.Name = "pboximage"
Me.pboximage.Size = New System.Drawing.Size(80, 70)
Me.pboximage.TabIndex = 0
Me.pboximage.TabStop = False
'
'pgleft
'
Me.pgleft.BackColor = System.Drawing.Color.Gray
Me.pgleft.Controls.Add(Me.pgbottomlcorner)
Me.pgleft.Dock = System.Windows.Forms.DockStyle.Left
Me.pgleft.Location = New System.Drawing.Point(0, 30)
Me.pgleft.Name = "pgleft"
Me.pgleft.Size = New System.Drawing.Size(2, 187)
Me.pgleft.TabIndex = 21
'
'pgbottomlcorner
'
Me.pgbottomlcorner.BackColor = System.Drawing.Color.Red
Me.pgbottomlcorner.Dock = System.Windows.Forms.DockStyle.Bottom
Me.pgbottomlcorner.Location = New System.Drawing.Point(0, 185)
Me.pgbottomlcorner.Name = "pgbottomlcorner"
Me.pgbottomlcorner.Size = New System.Drawing.Size(2, 2)
Me.pgbottomlcorner.TabIndex = 14
'
'pgright
'
Me.pgright.BackColor = System.Drawing.Color.Gray
Me.pgright.Controls.Add(Me.pgbottomrcorner)
Me.pgright.Dock = System.Windows.Forms.DockStyle.Right
Me.pgright.Location = New System.Drawing.Point(369, 30)
Me.pgright.Name = "pgright"
Me.pgright.Size = New System.Drawing.Size(2, 187)
Me.pgright.TabIndex = 22
'
'pgbottomrcorner
'
Me.pgbottomrcorner.BackColor = System.Drawing.Color.Red
Me.pgbottomrcorner.Dock = System.Windows.Forms.DockStyle.Bottom
Me.pgbottomrcorner.Location = New System.Drawing.Point(0, 185)
Me.pgbottomrcorner.Name = "pgbottomrcorner"
Me.pgbottomrcorner.Size = New System.Drawing.Size(2, 2)
Me.pgbottomrcorner.TabIndex = 15
'
'titlebar
'
Me.titlebar.BackColor = System.Drawing.Color.Gray
Me.titlebar.Controls.Add(Me.pnlicon)
Me.titlebar.Controls.Add(Me.lbtitletext)
Me.titlebar.Controls.Add(Me.pgtoplcorner)
Me.titlebar.Controls.Add(Me.pgtoprcorner)
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(371, 30)
Me.titlebar.TabIndex = 19
'
'pnlicon
'
Me.pnlicon.BackColor = System.Drawing.Color.Transparent
Me.pnlicon.Image = Global.ShiftOS.My.Resources.Resources.iconInfoBox
Me.pnlicon.Location = New System.Drawing.Point(8, 8)
Me.pnlicon.Name = "pnlicon"
Me.pnlicon.Size = New System.Drawing.Size(16, 16)
Me.pnlicon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.pnlicon.TabIndex = 24
Me.pnlicon.TabStop = False
Me.pnlicon.Visible = False
'
'lbtitletext
'
Me.lbtitletext.AutoSize = True
Me.lbtitletext.BackColor = System.Drawing.Color.Transparent
Me.lbtitletext.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lbtitletext.Location = New System.Drawing.Point(26, 7)
Me.lbtitletext.Name = "lbtitletext"
Me.lbtitletext.Size = New System.Drawing.Size(132, 18)
Me.lbtitletext.TabIndex = 19
Me.lbtitletext.Text = "Log into ShiftOS"
'
'pgtoplcorner
'
Me.pgtoplcorner.BackColor = System.Drawing.Color.Red
Me.pgtoplcorner.Dock = System.Windows.Forms.DockStyle.Left
Me.pgtoplcorner.Location = New System.Drawing.Point(0, 0)
Me.pgtoplcorner.Name = "pgtoplcorner"
Me.pgtoplcorner.Size = New System.Drawing.Size(2, 30)
Me.pgtoplcorner.TabIndex = 17
'
'pgtoprcorner
'
Me.pgtoprcorner.BackColor = System.Drawing.Color.Red
Me.pgtoprcorner.Dock = System.Windows.Forms.DockStyle.Right
Me.pgtoprcorner.Location = New System.Drawing.Point(369, 0)
Me.pgtoprcorner.Name = "pgtoprcorner"
Me.pgtoprcorner.Size = New System.Drawing.Size(2, 30)
Me.pgtoprcorner.TabIndex = 16
'
'pgbottom
'
Me.pgbottom.BackColor = System.Drawing.Color.Gray
Me.pgbottom.Dock = System.Windows.Forms.DockStyle.Bottom
Me.pgbottom.Location = New System.Drawing.Point(2, 215)
Me.pgbottom.Name = "pgbottom"
Me.pgbottom.Size = New System.Drawing.Size(367, 2)
Me.pgbottom.TabIndex = 23
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(7, 56)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(58, 13)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Username:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(7, 78)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(56, 13)
Me.Label2.TabIndex = 2
Me.Label2.Text = "Password:"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(7, 100)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(45, 13)
Me.Label3.TabIndex = 3
Me.Label3.Text = "Confirm:"
'
'txtusername
'
Me.txtusername.Location = New System.Drawing.Point(71, 53)
Me.txtusername.Name = "txtusername"
Me.txtusername.Size = New System.Drawing.Size(158, 20)
Me.txtusername.TabIndex = 4
'
'txtpassword
'
Me.txtpassword.Location = New System.Drawing.Point(71, 78)
Me.txtpassword.Name = "txtpassword"
Me.txtpassword.Size = New System.Drawing.Size(158, 20)
Me.txtpassword.TabIndex = 5
Me.txtpassword.UseSystemPasswordChar = True
'
'txtconfirm
'
Me.txtconfirm.Location = New System.Drawing.Point(71, 100)
Me.txtconfirm.Name = "txtconfirm"
Me.txtconfirm.Size = New System.Drawing.Size(158, 20)
Me.txtconfirm.TabIndex = 6
Me.txtconfirm.UseSystemPasswordChar = True
'
'loginform
'
Me.AcceptButton = Me.btnok
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(371, 217)
Me.Controls.Add(Me.pgcontents)
Me.Controls.Add(Me.pgbottom)
Me.Controls.Add(Me.pgleft)
Me.Controls.Add(Me.pgright)
Me.Controls.Add(Me.titlebar)
Me.DoubleBuffered = True
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.KeyPreview = True
Me.Name = "loginform"
Me.Text = "infobox"
Me.TopMost = True
Me.pgcontents.ResumeLayout(False)
Me.pnllogin.ResumeLayout(False)
Me.pnllogin.PerformLayout()
CType(Me.pboximage, System.ComponentModel.ISupportInitialize).EndInit()
Me.pgleft.ResumeLayout(False)
Me.pgright.ResumeLayout(False)
Me.titlebar.ResumeLayout(False)
Me.titlebar.PerformLayout()
CType(Me.pnlicon, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents pgcontents As System.Windows.Forms.Panel
Friend WithEvents pgleft As System.Windows.Forms.Panel
Friend WithEvents pgbottomlcorner As System.Windows.Forms.Panel
Friend WithEvents pgright As System.Windows.Forms.Panel
Friend WithEvents pgbottomrcorner As System.Windows.Forms.Panel
Friend WithEvents titlebar As System.Windows.Forms.Panel
Friend WithEvents lbtitletext As System.Windows.Forms.Label
Friend WithEvents pgtoplcorner As System.Windows.Forms.Panel
Friend WithEvents pgtoprcorner As System.Windows.Forms.Panel
Friend WithEvents pgbottom As System.Windows.Forms.Panel
Friend WithEvents btnok As System.Windows.Forms.Button
Friend WithEvents pboximage As System.Windows.Forms.PictureBox
Friend WithEvents pnlicon As System.Windows.Forms.PictureBox
Friend WithEvents pnllogin As System.Windows.Forms.Panel
Friend WithEvents lbmsgtext As System.Windows.Forms.Label
Friend WithEvents txtpassword As System.Windows.Forms.TextBox
Friend WithEvents txtusername As System.Windows.Forms.TextBox
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents txtconfirm As System.Windows.Forms.TextBox
End Class

120
ShiftOS/loginform.resx Normal file
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>

345
ShiftOS/loginform.vb Normal file
View file

@ -0,0 +1,345 @@
Imports ShiftOS.Helper
Imports ShiftOS.Paths
Public Class loginform
Public rolldownsize As Integer
Public oldbordersize As Integer
Public oldtitlebarheight As Integer
Public justopened As Boolean = False
Public needtorollback As Boolean = False
Public minimumsizewidth As Integer = 0
Public minimumsizeheight As Integer = 0
Public throwRegister As Boolean = False
#Region "Template Code"
Private Sub Template_Load(sender As Object, e As EventArgs) Handles MyBase.Load
justopened = True
Me.Left = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2
Me.Top = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2
If throwRegister = True Then
lbmsgtext.Text = "Create a user account for ShiftOS. You will then use this to log in in the future."
btnok.Text = "Register"
txtconfirm.Show()
Else
Label3.Hide()
lbmsgtext.Text = "Please log into your ShiftOS account."
btnok.Text = "Log In"
txtconfirm.Hide()
End If
setupall()
ShiftOSDesktop.pnlpanelbuttoninfobox.SendToBack() 'CHANGE NAME
ShiftOSDesktop.setuppanelbuttons()
ShiftOSDesktop.setpanelbuttonappearnce(ShiftOSDesktop.pnlpanelbuttoninfobox, ShiftOSDesktop.tbinfoboxicon, ShiftOSDesktop.tbinfoboxtext, True) 'modify to proper name
ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen + 1
Try
playSound(sounddir & "infobox.wav", AudioPlayMode.Background)
Catch
End Try
End Sub
Public Sub setupall()
setuptitlebar()
setupborders()
setskin()
End Sub
Private Sub ShiftOSDesktop_keydown(sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
'Make terminal appear
If e.KeyCode = Keys.T AndAlso e.Control Then
Terminal.Show()
Terminal.Visible = True
Terminal.BringToFront()
End If
'Movable Windows
If ShiftOSDesktop.boughtmovablewindows = True Then
If e.KeyCode = Keys.A AndAlso e.Control Then
e.Handled = True
Me.Location = New Point(Me.Location.X - ShiftOSDesktop.movablewindownumber, Me.Location.Y)
End If
If e.KeyCode = Keys.D AndAlso e.Control Then
e.Handled = True
Me.Location = New Point(Me.Location.X + ShiftOSDesktop.movablewindownumber, Me.Location.Y)
End If
If e.KeyCode = Keys.W AndAlso e.Control Then
e.Handled = True
Me.Location = New Point(Me.Location.X, Me.Location.Y - ShiftOSDesktop.movablewindownumber)
End If
If e.KeyCode = Keys.S AndAlso e.Control Then
e.Handled = True
Me.Location = New Point(Me.Location.X, Me.Location.Y + ShiftOSDesktop.movablewindownumber)
End If
ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User moved " & Me.Name & " to " & Me.Location.ToString & " with " & e.KeyCode.ToString & Environment.NewLine
End If
End Sub
Private Sub titlebar_MouseDown(sender As Object, e As MouseEventArgs) Handles titlebar.MouseDown, lbtitletext.MouseDown, pnlicon.MouseDown, pgtoplcorner.MouseDown, pgtoprcorner.MouseDown
' Handle Draggable Windows
If ShiftOSDesktop.boughtdraggablewindows = True Then
If e.Button = MouseButtons.Left Then
titlebar.Capture = False
lbtitletext.Capture = False
pnlicon.Capture = False
pgtoplcorner.Capture = False
pgtoprcorner.Capture = False
Const WM_NCLBUTTONDOWN As Integer = &HA1S
Const HTCAPTION As Integer = 2
Dim msg As Message = _
Message.Create(Me.Handle, WM_NCLBUTTONDOWN, _
New IntPtr(HTCAPTION), IntPtr.Zero)
Me.DefWndProc(msg)
End If
ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User dragged " & Me.Name & " to " & Me.Location.ToString & Environment.NewLine
End If
End Sub
Public Sub setupborders()
If ShiftOSDesktop.boughtwindowborders = False Then
pgleft.Hide()
pgbottom.Hide()
pgright.Hide()
Me.Size = New Size(Me.Width - pgleft.Width - pgright.Width, Me.Height - pgbottom.Height)
End If
End Sub
Public Sub setuptitlebar()
setupborders()
If Me.Height = Me.titlebar.Height Then pgleft.Show() : pgbottom.Show() : pgright.Show() : Me.Height = rolldownsize : needtorollback = True
pgleft.Width = Skins.borderwidth
pgright.Width = Skins.borderwidth
pgbottom.Height = Skins.borderwidth
titlebar.Height = Skins.titlebarheight
If justopened = True Then
Me.Size = New Size(371, 225) 'put the default size of your window here
Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30)
Me.Size = New Size(Me.Width + Skins.borderwidth + Skins.borderwidth, Me.Height + Skins.borderwidth)
oldbordersize = Skins.borderwidth
oldtitlebarheight = Skins.titlebarheight
justopened = False
Else
If Me.Visible = True Then
'Me.Hide()
Me.Size = New Size(Me.Width - (2 * oldbordersize) + (2 * Skins.borderwidth), (Me.Height - oldtitlebarheight - oldbordersize) + Skins.titlebarheight + Skins.borderwidth)
'Me.Size = New Size(Me.Width - oldbordersize - oldbordersize, Me.Height - oldbordersize) 'Just put a little algebra in the first size setting and comment out the mess
oldbordersize = Skins.borderwidth
oldtitlebarheight = Skins.titlebarheight
'Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30)
'Me.Size = New Size(Me.Width + Skins. borderwidth + Skins. borderwidth, Me.Height + Skins. borderwidth)
'rolldownsize = Me.Height
If needtorollback = True Then Me.Height = titlebar.Height : pgleft.Hide() : pgbottom.Hide() : pgright.Hide()
'Me.Show()
End If
End If
If Skins.enablecorners = True Then
pgtoplcorner.Show()
pgtoprcorner.Show()
pgtoprcorner.Width = Skins.titlebarcornerwidth
pgtoplcorner.Width = Skins.titlebarcornerwidth
Else
pgtoplcorner.Hide()
pgtoprcorner.Hide()
End If
If ShiftOSDesktop.boughttitlebar = False Then
titlebar.Hide()
Me.Size = New Size(Me.Width, Me.Size.Height - titlebar.Height)
End If
If ShiftOSDesktop.boughttitletext = False Then
lbtitletext.Hide()
Else
lbtitletext.Font = New Font(Skins.titletextfontfamily, Skins.titletextfontsize, Skins.titletextfontstyle, GraphicsUnit.Point)
lbtitletext.Show()
End If
If ShiftOSDesktop.boughtwindowborders = True Then
Select Case Skins.titletextpos
Case "Left"
lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
End Select
lbtitletext.ForeColor = Skins.titletextcolour
Else
Select Case Skins.titletextpos
Case "Left"
lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
End Select
lbtitletext.ForeColor = Skins.titletextcolour
End If
'Change when Icon skinning complete
If ShiftOSDesktop.boughtinfoboxicon = True Then ' Change to program's icon
pnlicon.Visible = True
pnlicon.Location = New Point(ShiftOSDesktop.titlebariconside, ShiftOSDesktop.titlebaricontop)
pnlicon.Size = New Size(ShiftOSDesktop.titlebariconsize, ShiftOSDesktop.titlebariconsize)
pnlicon.Image = ShiftOSDesktop.infoboxicontitlebar 'Replace with the correct icon for the program.
End If
End Sub
Public Sub rollupanddown()
If Me.Height = Me.titlebar.Height Then
pgleft.Show()
pgbottom.Show()
pgright.Show()
Me.Height = rolldownsize
Me.MinimumSize = New Size(minimumsizewidth, minimumsizeheight)
Else
Me.MinimumSize = New Size(0, 0)
pgleft.Hide()
pgbottom.Hide()
pgright.Hide()
rolldownsize = Me.Height
Me.Height = Me.titlebar.Height
End If
End Sub
Public Sub resettitlebar()
If ShiftOSDesktop.boughtwindowborders = True Then
Select Case Skins.titletextpos
Case "Left"
lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
End Select
lbtitletext.ForeColor = Skins.titletextcolour
Else
Select Case Skins.titletextpos
Case "Left"
lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
End Select
lbtitletext.ForeColor = Skins.titletextcolour
End If
End Sub
Private Sub RightCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseEnter
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.SizeWE
End If
End Sub
Private Sub bottomCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottom.MouseEnter
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.SizeNS
End If
End Sub
Private Sub CornerCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottomrcorner.MouseEnter
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.SizeNWSE
End If
End Sub
Private Sub SizeCursoroff_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseLeave, pgbottom.MouseLeave, pgbottomrcorner.MouseLeave
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.Default
End If
End Sub
Public Sub setskin()
'disposals
titlebar.BackgroundImage = Nothing
pgtoplcorner.BackgroundImage = Nothing
pgtoprcorner.BackgroundImage = Nothing
'apply new skin
If Skins.titlebar Is Nothing Then titlebar.BackColor = Skins.titlebarcolour Else titlebar.BackgroundImage = Skins.titlebar
titlebar.BackgroundImageLayout = Skins.titlebarlayout
If Skins.leftcorner Is Nothing Then pgtoplcorner.BackColor = Skins.leftcornercolour Else pgtoplcorner.BackgroundImage = Skins.leftcorner
pgtoplcorner.BackgroundImageLayout = Skins.leftcornerlayout
If Skins.rightcorner Is Nothing Then pgtoprcorner.BackColor = Skins.rightcornercolour Else pgtoprcorner.BackgroundImage = Skins.rightcorner
pgtoprcorner.BackgroundImageLayout = Skins.rightcornerlayout
If Skins.borderleft Is Nothing Then pgleft.BackColor = Skins.borderleftcolour Else pgleft.BackgroundImage = Skins.borderleft
pgleft.BackgroundImageLayout = Skins.borderleftlayout
If Skins.borderright Is Nothing Then pgright.BackColor = Skins.borderrightcolour Else pgright.BackgroundImage = Skins.borderright
pgleft.BackgroundImageLayout = Skins.borderrightlayout
If Skins.borderbottom Is Nothing Then pgbottom.BackColor = Skins.borderbottomcolour Else pgbottom.BackgroundImage = Skins.borderbottom
pgbottom.BackgroundImageLayout = Skins.borderbottomlayout
If enablebordercorners = True Then
If Skins.bottomleftcorner Is Nothing Then pgbottomlcorner.BackColor = Skins.bottomleftcornercolour Else pgbottomlcorner.BackgroundImage = Skins.bottomleftcorner
pgbottomlcorner.BackgroundImageLayout = Skins.bottomleftcornerlayout
If Skins.bottomrightcorner Is Nothing Then pgbottomrcorner.BackColor = Skins.bottomrightcornercolour Else pgbottomrcorner.BackgroundImage = Skins.bottomrightcorner
pgbottomrcorner.BackgroundImageLayout = Skins.bottomrightcornerlayout
Else
pgbottomlcorner.BackColor = Skins.borderrightcolour
pgbottomrcorner.BackColor = Skins.borderrightcolour
pgbottomlcorner.BackgroundImage = Nothing
pgbottomrcorner.BackgroundImage = Nothing
End If
'set bottom border corner size
pgbottomlcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth)
pgbottomrcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth)
pgbottomlcorner.Location = New Point(0, Me.Height - Skins.borderwidth)
pgbottomrcorner.Location = New Point(Me.Width, Me.Height - Skins.borderwidth)
Me.TransparencyKey = ShiftOSDesktop.globaltransparencycolour
End Sub
Private Sub Clock_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen - 1
Me.Hide()
ShiftOSDesktop.setuppanelbuttons()
End Sub
'end of general setup
#End Region
Private Sub btnok_Click(sender As Object, e As EventArgs) Handles btnok.Click
If throwRegister = False Then
If txtusername.Text = ShiftOSDesktop.username And txtpassword.Text = ShiftOSDesktop.password Then ' The bulk of this code is handled by ShiftOSDesktop.vb.
Me.Close()
Else
lbtitletext.Text = "Invalid Username or Password"
End If
Else
If Not txtusername.Text = "" Then
If txtpassword.Text = txtconfirm.Text Then
ShiftOSDesktop.username = txtusername.Text
ShiftOSDesktop.password = txtpassword.Text
ShiftOSDesktop.savegame()
Me.Close()
Else
lbtitletext.Text = "Passwords do not match."
End If
Else
lbtitletext.Text = "Username cannot be empty!"
End If
End If
End Sub
End Class