Public Class Open_Passed_File
	Private Sub Button1_Click(sender As Object, e As EventArgs) Handles SetDirectoryButton.Click, CopyButton.Click, MoveButton.Click
		If Not My.Settings.SupportedExtensions.Contains(GetFileExtension(FileToOpen)) Then
			My.Settings.SupportedExtensions.Add(GetFileExtension(FileToOpen))
			My.Settings.Save()
		End If
		Dim FileToOpenPath As String = GetPath(FileToOpen)
		Dim FileToOpenFile As String = GetFile(FileToOpen)
		'MsgBox(FileToOpenPath & vbNewLine & FileToOpenFile)
		Select Case sender.name.ToString.RemoveLast(6)
			Case "SetDirectory"
				Label1.Visible = True
				TopMost = False
				Splash_Screen.Show()
				Hide()
				Splash_Screen.Activate()
				My.Settings.WorkingDirectory = FileToOpenPath
				My.Settings.Save()
				If RememberCheckbox.Checked Then My.Settings.DefaultFileAction = 1

			Case "Copy", "Move"
				Dim response As String = FileToOpenFile
				'MsgBox(My.Settings.WorkingDirectory & FileToOpenFile)
				While My.Computer.FileSystem.FileExists(My.Settings.WorkingDirectory & FileToOpenFile)
					response = InputBox("A file with the name """ & FileToOpenFile & """already exists in your base directory (" & My.Settings.WorkingDirectory & "). Please enter a new name for the file.")
					If Not ValidFileName(response, True) Then
						MsgBox("Invalid filename!")
					Else
						If Not response.Contains(".") Then response &= ".txt"
						Dim ValidExt As Boolean = False
						For i = 0 To My.Settings.SupportedExtensions.Count - 1
							If response.Split(".")(response.Split(".").Length - 1) = My.Settings.SupportedExtensions(i) Then ValidExt = True
						Next
						If ValidExt Then FileToOpenFile = response Else MsgBox("Unrecognised file extension! Try using "".txt"".")
					End If
				End While
				Label1.Visible = True
				TopMost = False
				Splash_Screen.Show()
				Hide()
				Splash_Screen.Activate()
				If sender.name.ToString.RemoveLast(6) = "Copy" Then
					My.Computer.FileSystem.CopyFile(FileToOpen, My.Settings.WorkingDirectory & FileToOpenFile)
					If RememberCheckbox.Checked Then My.Settings.DefaultFileAction = 2
				Else
					My.Computer.FileSystem.MoveFile(FileToOpen, My.Settings.WorkingDirectory & FileToOpenFile)
					If RememberCheckbox.Checked Then My.Settings.DefaultFileAction = 3
				End If
				FileToOpen = FileToOpenPath & FileToOpenFile
			Case Else
				Throw New Exception("Unable to parse response!") 'if this happens, your computer is not in a very reliable state. either that, or i'm a moron.
		End Select
		Refresh()
		My.Settings.Save()
		CopyButton.Enabled = False
		MoveButton.Enabled = False
		SetDirectoryButton.Enabled = False
		RememberCheckbox.Enabled = False
		NPUWindow.Show()
	End Sub

	Private Sub Cancel() Handles CancelOpenButton.Click
		End
	End Sub

	Private Sub Open_Passed_File_Load(sender As Object, e As EventArgs) Handles MyBase.Load
		Icon = ProgramIcon()
		Splash_Screen.TopMost = False
		Activate()
		If Not My.Computer.FileSystem.FileExists(FileToOpen) Then
			If MsgBox("Failed to open file. Ensure Notepad Ultra has the rights to open this file!", MsgBoxStyle.Critical, vbOKOnly) <> 99999 Then End
		End If
		If GetPath(FileToOpen).ToLower = My.Settings.WorkingDirectory.ToLower Then
			HowToOpenQuestion.Text = "Notepad Ultra - Opening " & FileToOpen & "..."
			SetDirectoryButton.PerformClick() 'if you're opening a file that's already in the basedir, there's obviously no point moving or copying it
		Else
			If My.Settings.DefaultFileAction <> 0 Then
				HowToOpenQuestion.Text = "Notepad Ultra - Opening " & FileToOpen & "..."
				Refresh()
				Select Case My.Settings.DefaultFileAction
					Case 1
						SetDirectoryButton.PerformClick()
					Case 2
						CopyButton.PerformClick()
					Case 3
						MoveButton.PerformClick()
				End Select
			Else
				Text = "Notepad Ultra - Opening " & FileToOpen
				HowToOpenQuestion.Text = "How do you want to open " & FileToOpen & "?"
				ToolTip1.SetToolTip(HoverMe, My.Settings.WorkingDirectory)
				If Not My.Computer.FileSystem.DirectoryExists(My.Settings.WorkingDirectory) Then
					CopyButton.Enabled = False
					MoveButton.Enabled = False
					ToolTip1.SetToolTip(HoverMe, My.Settings.WorkingDirectory & vbNewLine & "Unable to access this directory.")
				End If
			End If
		End If

	End Sub

	Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
		Process.Start("C:\Windows\notepad.exe", FileToOpen)
		End
	End Sub
End Class