Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the ability to rename a profile #76

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 49 additions & 36 deletions trunk/Launcher/frmLauncher.frm
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Begin VB.Form frmLauncher
BackColor = &H00000000&
BorderStyle = 1 'Fixed Single
Caption = "StealthBot Launcher v0.0.000"
ClientHeight = 5205
ClientHeight = 5475
ClientLeft = 150
ClientTop = 435
ClientWidth = 3600
ClientWidth = 3570
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Expand All @@ -21,37 +21,45 @@ Begin VB.Form frmLauncher
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 347
ScaleHeight = 365
ScaleMode = 3 'Pixel
ScaleWidth = 240
ScaleWidth = 238
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton cmdRenameProfile
Caption = "R&ename Profile"
Height = 255
Left = 240
TabIndex = 1
Top = 3240
Width = 1575
End
Begin VB.CheckBox chkAutoClose
BackColor = &H00000000&
Caption = "&Automatically close this launcher after loading the profile"
ForeColor = &H00FFFFFF&
Height = 495
Left = 240
TabIndex = 4
TabIndex = 5
ToolTipText = "Leaving the launcher open will allow you to create and launch additional profiles."
Top = 4080
Top = 4320
Width = 3135
End
Begin VB.CommandButton cmdRemoveProfile
Caption = "&Remove Profile"
Enabled = 0 'False
Height = 240
Left = 1920
Height = 255
Left = 1800
TabIndex = 2
Top = 3240
Width = 1455
Width = 1575
End
Begin VB.CommandButton cmdCreateProfile
Caption = "&Create Profile"
Height = 240
Left = 240
TabIndex = 1
Top = 3240
Width = 1695
TabIndex = 3
Top = 3510
Width = 3135
End
Begin VB.CommandButton cmdLaunchThis
Caption = "&Launch Selected Profile"
Expand All @@ -68,17 +76,17 @@ Begin VB.Form frmLauncher
EndProperty
Height = 360
Left = 240
TabIndex = 5
Top = 4680
TabIndex = 6
Top = 4920
Width = 3135
End
Begin VB.CommandButton cmdCreateShortcut
Caption = "Create a &Shortcut"
Enabled = 0 'False
Height = 360
Left = 240
TabIndex = 3
Top = 3600
TabIndex = 4
Top = 3840
Width = 1695
End
Begin MSComctlLib.ListView lstProfiles
Expand Down Expand Up @@ -113,8 +121,8 @@ Begin VB.Form frmLauncher
ForeColor = &H00FFFFFF&
Height = 465
Left = 2040
TabIndex = 7
Top = 3600
TabIndex = 8
Top = 3840
Width = 1335
WordWrap = -1 'True
End
Expand All @@ -126,7 +134,7 @@ Begin VB.Form frmLauncher
ForeColor = &H00FFFFFF&
Height = 195
Left = 240
TabIndex = 6
TabIndex = 7
Top = 120
Width = 2955
End
Expand Down Expand Up @@ -302,6 +310,7 @@ Private Sub cmdCreateProfile_Click()
On Error GoTo ERROR_HANDLER
Load frmNameDialog
frmNameDialog.Show
frmNameDialog.setWindowData "Create Profile", "Enter the name of the new profile below.", ProfileOption.CREATE_PROFILE

Exit Sub
ERROR_HANDLER:
Expand Down Expand Up @@ -378,26 +387,15 @@ ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "cmdLaunchThis_Click"
End Sub

Private Sub mnuRenameProfile_Click()
On Error GoTo ERROR_HANDLER

If (Not lstProfiles.SelectedItem Is Nothing) Then
' TODO: impl rename profile (Name currfoldername As newname)
' use name dialog?
End If

Exit Sub
ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "mnuRenameProfile_Click"
End Sub

' TODO: this function has no button! change UI to include rename button?
Private Sub cmdRenameProfile_Click()
On Error GoTo ERROR_HANDLER

If (Not lstProfiles.SelectedItem Is Nothing) Then
' TODO: impl rename profile (Name currfoldername As newname)
' use name dialog?
If (modLauncher.ProfileExists(lstProfiles.SelectedItem.Text)) Then
frmNameDialog.Show
frmNameDialog.setWindowData "Rename Profile", "Enter the name you want to rename the profile to.", ProfileOption.RENAME_PROFILE
frmNameDialog.setOldProfileInfo lstProfiles.SelectedItem.Text, lstProfiles.SelectedItem.Index
End If
End If

Exit Sub
Expand Down Expand Up @@ -586,3 +584,18 @@ On Error GoTo ERROR_HANDLER
ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "chkAutoClose_Click"
End Sub

Public Sub renameProfileInList(ByVal newName As String, ByVal Index As Integer)
On Error GoTo ERROR_HANDLER:
Dim Item As ListItem

Set Item = lstProfiles.ListItems.Item(Index)

If (Not Item Is Nothing) Then
Item.Text = newName
End If

Exit Sub
ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "renameProfileInList"
End Sub
61 changes: 52 additions & 9 deletions trunk/Launcher/frmNameDialog.frm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ VERSION 5.00
Begin VB.Form frmNameDialog
BackColor = &H00000000&
BorderStyle = 1 'Fixed Single
Caption = "Create Profile"
Caption = "Window Title"
ClientHeight = 1095
ClientLeft = 105
ClientTop = 495
Expand Down Expand Up @@ -72,7 +72,7 @@ Begin VB.Form frmNameDialog
AutoSize = -1 'True
BackColor = &H00000000&
BackStyle = 0 'Transparent
Caption = "Enter the name of the new profile below."
Caption = "[message]"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Expand All @@ -87,7 +87,7 @@ Begin VB.Form frmNameDialog
Left = 120
TabIndex = 3
Top = 120
Width = 2955
Width = 6255
End
Begin VB.Line line
BorderColor = &H00FFFFFF&
Expand All @@ -108,6 +108,10 @@ Option Explicit
Private Const OBJECT_NAME As String = "frmNameDialog"
Private Const INVALID_CHARS As String = "\/*?"":<>|"

Private m_profileOption As ProfileOption
Private previousProfileName As String
Private previousProfileIndex As Integer

Private Sub Form_Load()
On Error GoTo ERROR_HANDLER
txtName.Text = vbNullString
Expand All @@ -118,11 +122,13 @@ ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "Form_Load"
End Sub

Private Sub cmdOK_Click()
Private Sub cmdOk_Click()
On Error GoTo ERROR_HANDLER
Dim i As Integer
Dim Text As String
Dim Char As String * 1
Dim originalPath As String
Dim destinationPath As String

Text = txtName.Text

Expand All @@ -139,11 +145,27 @@ On Error GoTo ERROR_HANDLER
End If
Next i

If (CreateProfile(Text)) Then
frmLauncher.ListProfile Text
Else
'MsgBox "Failed to create profile!"
End If
Select Case m_profileOption
Case CREATE_PROFILE
If (CreateProfile(Text)) Then
frmLauncher.ListProfile Text
Else
'MsgBox "Failed to create profile!"
End If
Case RENAME_PROFILE
If (ProfileExists(Text)) Then
MsgBox "That profile already exists!"
Exit Sub
End If

originalPath = StringFormat("{0}\StealthBot\{1}", ReplaceEnvironmentVars("%APPDATA%"), previousProfileName)
destinationPath = StringFormat("{0}\StealthBot\{1}", ReplaceEnvironmentVars("%APPDATA%"), Text)

If (CopyFolder(originalPath, destinationPath)) Then
KillFolder originalPath
frmLauncher.renameProfileInList Text, previousProfileIndex
End If
End Select

Unload Me

Expand All @@ -162,3 +184,24 @@ On Error GoTo ERROR_HANDLER
ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "cmdCancel_Click"
End Sub

Public Sub setWindowData(ByVal title As String, ByVal message As String, ByVal po As ProfileOption)
On Error GoTo ERROR_HANDLER
Me.Caption = title
lblText.Caption = message
m_profileOption = po

Exit Sub
ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "setWindowData"
End Sub

Public Sub setOldProfileInfo(ByVal profileName As String, ByVal profileIndex As Integer)
On Error GoTo ERROR_HANDLER
previousProfileName = profileName
previousProfileIndex = profileIndex

Exit Sub
ERROR_HANDLER:
ErrorHandler Err.Number, OBJECT_NAME, "setOldProfileInfo"
End Sub
5 changes: 5 additions & 0 deletions trunk/Launcher/modLauncher.bas
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ Private Const SW_SHOW As Long = 5
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Enum ProfileOption
RENAME_PROFILE
CREATE_PROFILE
End Enum

Private xml_doc As DOMDocument60
Private CommandLine As String
Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Expand Down