Skip to content

Commit

Permalink
Implement the ability to rename a profile
Browse files Browse the repository at this point in the history
There was already skeleton code in the launcher to rename a profile but
there was no button or actual logic to do so. A new form has been created
to assist in renaming a profile
  • Loading branch information
MisterVector committed Jan 18, 2021
1 parent 8c94263 commit f6c7f24
Show file tree
Hide file tree
Showing 3 changed files with 191 additions and 35 deletions.
1 change: 1 addition & 0 deletions trunk/Launcher/Launcher.vbp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Class=clsConfig; clsConfig.cls
Module=modURLDetection; modURLDetection.bas
Form=frmConfig.frm
Form=frmStatus.frm
Form=frmRenameProfile.frm
IconForm="frmLauncher"
Startup="frmLauncher"
HelpFile=""
Expand Down
82 changes: 47 additions & 35 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
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 = 3480
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 @@ -237,6 +245,7 @@ On Error GoTo ERROR_HANDLER
'UnHookAllProcs

Unload frmNameDialog
Unload frmRenameProfile
'Unload frmConfig
'Unload frmstatus

Expand Down Expand Up @@ -378,26 +387,14 @@ 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
frmRenameProfile.Show
frmRenameProfile.setOriginalProfile lstProfiles.SelectedItem.Text, lstProfiles.SelectedItem.Index
End If
End If

Exit Sub
Expand Down Expand Up @@ -586,3 +583,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
143 changes: 143 additions & 0 deletions trunk/Launcher/frmRenameProfile.frm
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
VERSION 5.00
Begin VB.Form frmRenameProfile
BackColor = &H00000000&
BorderStyle = 1 'Fixed Single
Caption = "Rename Profile"
ClientHeight = 1050
ClientLeft = 45
ClientTop = 375
ClientWidth = 6975
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 1050
ScaleWidth = 6975
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton cmdCancel
Caption = "&Cancel"
Height = 255
Left = 4200
TabIndex = 3
Top = 600
Width = 1335
End
Begin VB.CommandButton cmdOk
Caption = "&Ok"
Height = 255
Left = 5520
TabIndex = 2
Top = 600
Width = 1335
End
Begin VB.TextBox txtName
BackColor = &H00993300&
ForeColor = &H00FFFFFF&
Height = 285
Left = 120
TabIndex = 1
Top = 600
Width = 3825
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
X1 = 120
X2 = 6840
Y1 = 480
Y2 = 480
End
Begin VB.Label Label1
BackColor = &H00000000&
Caption = "Enter the name you want to rename the profile to."
ForeColor = &H00FFFFFF&
Height = 255
Left = 120
TabIndex = 0
Top = 120
Width = 3615
End
End
Attribute VB_Name = "frmRenameProfile"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Const OBJECT_NAME = "frmRenameProfile"

Private previousProfileName As String
Private previousProfileIndex As String

Private Sub Form_Load()
On Error GoTo ERROR_HANDLER:

Me.Icon = frmLauncher.Icon

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

Private Sub cmdCancel_Click()
On Error GoTo ERROR_HANDLER:

Unload Me

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

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

If (LenB(Text) = 0) Then
MsgBox "You must enter a profile name!", vbExclamation
Exit Sub
End If

For i = 1 To Len(INVALID_CHARS)
Char = Mid$(INVALID_CHARS, i, 1)
If (InStr(1, Text, Char, vbBinaryCompare) > 0) Then
MsgBox "Invalid character in profile name: " & Char, vbExclamation
Exit Sub
End If
Next i

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

Unload Me

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

Public Sub setOriginalProfile(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, "setOriginalProfile"
End Sub

0 comments on commit f6c7f24

Please sign in to comment.