Skip to content

Commit

Permalink
Added: Search 'Fixme for ToDo window
Browse files Browse the repository at this point in the history
  • Loading branch information
XusinboyBekchanov committed Oct 23, 2022
1 parent 753ec75 commit d0a5961
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 36 deletions.
Binary file modified Resources/EnumItem.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/Fixme.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 12 additions & 11 deletions src/Main.bas
Expand Up @@ -5062,10 +5062,11 @@ Sub CreateMenusAndToolBars
imgList.Add "EnumItem", "EnumItem"
imgList.Add "Update", "Update"
imgList.Add "Forum", "Forum"
imgListD.Add "StartWithCompileD", "StartWithCompile"
imgListD.Add "StartD", "Start"
imgListD.Add "BreakD", "Break"
imgListD.Add "EndD", "EndProgram"
imgList.Add "Fixme", "Fixme"
'imgListD.Add "StartWithCompileD", "StartWithCompile"
'imgListD.Add "StartD", "Start"
'imgListD.Add "BreakD", "Break"
'imgListD.Add "EndD", "EndProgram"

'mnuMain.ImagesList = @imgList

Expand Down Expand Up @@ -7201,7 +7202,7 @@ txtImmediate.OnKeyDown = @txtImmediate_KeyDown
'
'txtImmediate.BackColor = NormalText.Background
'txtImmediate.Font.Color = NormalText.Foreground
txtImmediate.Text = "import #Include Once " + Chr(34) + ".." + Slash + "Controls" + Slash + "MyFbFramework"+ Slash + "mff" + Slash + "SysUtils.bas" + Chr(34) & Chr(13,10) & Chr(13,10)
txtImmediate.Text = "import #Include Once " + Chr(34) + ".." + slash + "Controls" + slash + "MyFbFramework"+ slash + "mff" + slash + "SysUtils.bas" + Chr(34) & Chr(13,10) & Chr(13,10)
txtImmediate.SetSel txtImmediate.GetTextLength, txtImmediate.GetTextLength

Sub txtChangeLog_KeyDown(ByRef Sender As Control, Key As Integer, Shift As Integer)
Expand All @@ -7225,7 +7226,7 @@ Sub txtChangeLog_KeyDown(ByRef Sender As Control, Key As Integer, Shift As Integ
WDeAllocate sTmp
mChangeLogEdited = True
End If
ElseIf CInt(bCtrl) And Shift And (key =99 Or key =67) Then 'Ctrl+Shift+C
ElseIf CInt(bCtrl) And Shift And (Key =99 Or Key =67) Then 'Ctrl+Shift+C
Dim As TabWindow Ptr tb= Cast(TabWindow Ptr, ptabCode->SelectedTab)
If tb <> 0 Then
Dim As WString Ptr txtChangeLogText =@txtChangeLog.Text
Expand Down Expand Up @@ -7279,7 +7280,7 @@ Sub lvToDo_ItemActivate(ByRef Sender As Control, ByVal itemIndex As Integer)
End Sub

lvToDo.Images = @imgList
lvToDo.StateImages = @imgList
'lvToDo.StateImages = @imgList
lvToDo.SmallImages = @imgList
lvToDo.Align = DockStyle.alClient
lvToDo.Columns.Add ML("Content"), , 500, cfLeft
Expand All @@ -7303,7 +7304,7 @@ End Sub
'End Sub

lvErrors.Images = @imgList
lvErrors.StateImages = @imgList
'lvErrors.StateImages = @imgList
lvErrors.SmallImages = @imgList
lvErrors.Align = DockStyle.alClient
lvErrors.Columns.Add ML("Content"), , 500, cfLeft
Expand All @@ -7315,7 +7316,7 @@ lvErrors.OnItemActivate = @lvErrors_ItemActivate
Sub lvSearch_ItemActivate(ByRef Sender As Control, ByVal itemIndex As Integer)
Dim Item As ListViewItem Ptr = lvSearch.ListItems.Item(itemIndex)
gSearchItemIndex = itemIndex
SelectSearchResult(item->Text(3), Val(item->Text(1)), Val(item->Text(2)), Len(lvSearch.Text), item->Tag)
SelectSearchResult(Item->Text(3), Val(Item->Text(1)), Val(Item->Text(2)), Len(lvSearch.Text), Item->Tag)
If pfFind->Visible Then 'David Change
pfFind->Caption = ML("Find")+": " + WStr(gSearchItemIndex+1) + " of " + WStr(lvSearch.ListItems.Count)
End If
Expand Down Expand Up @@ -7411,7 +7412,7 @@ Sub tabBottom_SelChange(ByRef Sender As Control, newIndex As Integer)
txtChangeLog.SaveToFile(mChangelogName) ' David Change
mChangeLogEdited = False
End If
mChangelogName = ExePath & Slash & StringExtract(MainNode->Text, ".") & "_Change.log"
mChangelogName = ExePath & slash & StringExtract(MainNode->Text, ".") & "_Change.log"
txtChangeLog.Text = "Waiting...... "
If Dir(mChangelogName)<>"" AndAlso mChangelogName<> "" Then
txtChangeLog.LoadFromFile(mChangelogName) ' David Change
Expand All @@ -7422,7 +7423,7 @@ Sub tabBottom_SelChange(ByRef Sender As Control, newIndex As Integer)
txtChangeLog.Text = ""
End If
mLoadLog = True
ElseIf ptabBottom->SelectedTabIndex = 3 AndAlso Not mLoadToDo Then
ElseIf ptabBottom->SelectedTabIndex = 3 AndAlso Not mLoadToDo Then
WLet(gSearchSave, WChr(39) + WChr(84) + "ODO")
ThreadCounter(ThreadCreate_(@FindSubProj, MainNode))
mLoadToDo = True
Expand Down
2 changes: 1 addition & 1 deletion src/TabWindow.bas
Expand Up @@ -4908,7 +4908,7 @@ Sub TabWindow.FormDesign(NotForms As Boolean = False)
If CBItem <> 0 Then CurCtrl = CBItem->Object
If CurCtrl <> 0 Then
Dim As SymbolsType Ptr st = Des->Symbols(CurCtrl)
'TODO Hange here with ctrl RichEdit
'Fixme Hange here with ctrl RichEdit
If st AndAlso st->ReadPropertyFunc AndAlso WGet(st->ReadPropertyFunc(CurCtrl, "ClassName")) <> "RichTextBox" Then
'If .ReadPropertyFunc(CurCtrl, "Tag") <> 0 Then Delete_(Cast(Dictionary Ptr, .ReadPropertyFunc(CurCtrl, "Tag")))
If st->DeleteComponentFunc Then st->DeleteComponentFunc(CurCtrl)
Expand Down
67 changes: 43 additions & 24 deletions src/frmFind.frm
Expand Up @@ -302,7 +302,7 @@ End Function
Sub frmFind.FindInProj(ByRef lvSearchResult As ListView Ptr, ByRef tSearch As WString="", ByRef tn As TreeNode Ptr)
Dim As WString * MAX_PATH f
Dim As WString Ptr Buffout
Dim As Integer Result, Pos1
Dim As Integer Result, Pos1, Pos2
Dim As WString * 1024 Buff
Dim As Integer iLine, iStart, Fn
If tSearch = "" OrElse tn < 1 Then Exit Sub
Expand All @@ -327,21 +327,35 @@ Sub frmFind.FindInProj(ByRef lvSearchResult As ListView Ptr, ByRef tSearch As WS
Do Until EOF(Fn)
Line Input #Fn, Buff
iLine += 1
If chkMatchCase.Checked Then
Pos1 = InStr(Buff, tSearch)
If lvSearchResult = @lvToDo Then
Pos1 = InStr(LCase(Buff), "'" + "todo")
Pos2 = InStr(LCase(Buff), "'" + "fixme")
If Pos1 > 0 OrElse Pos2 > 0 Then
ThreadsEnter
lvToDo.ListItems.Add Buff, IIf(Pos1 > 0, "Bookmark", "Fixme")
lvToDo.ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(1) = WStr(iLine)
lvToDo.ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(2) = WStr(Pos1)
lvToDo.ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(3) = f
pfrmMain->Update
ThreadsLeave
End If
Else
Pos1 = InStr(LCase(Buff), LCase(tSearch))
If chkMatchCase.Checked Then
Pos1 = InStr(Buff, tSearch)
Else
Pos1 = InStr(LCase(Buff), LCase(tSearch))
End If
While Pos1 > 0
ThreadsEnter
lvSearchResult->ListItems.Add Buff, "Bookmark"
lvSearchResult->ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(1) = WStr(iLine)
lvSearchResult->ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(2) = WStr(Pos1)
lvSearchResult->ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(3) = f
pfrmMain->Update
ThreadsLeave
Pos1 = InStr(Pos1 + Len(tSearch), LCase(Buff), LCase(tSearch))
Wend
End If
While Pos1 > 0
ThreadsEnter
lvSearchResult->ListItems.Add Buff
lvSearchResult->ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(1) = WStr(iLine)
lvSearchResult->ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(2) = WStr(Pos1)
lvSearchResult->ListItems.Item(lvSearchResult->ListItems.Count - 1)->Text(3) = f
pfrmMain->Update
ThreadsLeave
Pos1 = InStr(Pos1 + Len(tSearch), LCase(Buff), LCase(tSearch))
Wend
Loop
Else
'MsgBox ML("Open file failure!") & " " & ML("in function") & " frmFindInFiles.Find" & Chr(13,10) & " " & Path & f
Expand Down Expand Up @@ -466,7 +480,6 @@ End Sub
Sub FindSubProj(Param As Any Ptr)
MutexLock tlockToDo
ThreadsEnter
plvSearch->ListItems.Clear
StartProgress
With fFind
.btnFind.Enabled = False
Expand All @@ -475,8 +488,14 @@ Sub FindSubProj(Param As Any Ptr)
.btnReplaceAll.Enabled = False
ThreadsLeave
If *gSearchSave = WChr(39) + WChr(84) + "ODO" Then
ThreadsEnter
plvToDo->ListItems.Clear
ThreadsLeave
.FindInProj plvToDo, *gSearchSave, Cast(TreeNode Ptr,Param)
Else
ThreadsEnter
plvSearch->ListItems.Clear
ThreadsLeave
.FindInProj plvSearch, .txtFind.Text, Cast(TreeNode Ptr,Param)
End If
ThreadsEnter
Expand All @@ -486,7 +505,7 @@ Sub FindSubProj(Param As Any Ptr)
.btnReplaceAll.Enabled = True
StopProgress
If *gSearchSave = WChr(39)+ WChr(84)+"ODO" Then
ptabBottom->Tabs[3]->Caption = ML("TODO") & " (" & plvToDo->ListItems.Count & " " & ML("Pos") & ")"
ptabBottom->Tabs[3]->Caption = ML("ToDo") & " (" & plvToDo->ListItems.Count & " " & ML("Pos") & ")"
WLet(gSearchSave, "")
.cboFindRange.ItemIndex = 2
Else
Expand Down Expand Up @@ -578,22 +597,22 @@ Private Function frmFind.FindAll(ByRef lvSearchResult As ListView Ptr, tTabIndex
If tTabIndex =2 Then
ptabBottom->Tabs[tTabIndex]->Caption = ML("Find")
Else
ptabBottom->Tabs[tTabIndex]->Caption = ML("TODO")
ptabBottom->Tabs[tTabIndex]->Caption = ML("ToDo")
End If
gSearchTabIndex = ptabCode->SelectedTabIndex
pTabBottom->Tabs[tTabIndex]->SelectTab
Dim As treenode Ptr tn = IIf(pTabLeft->SelectedTabIndex = 2, MainNode, MainNode)
ptabBottom->Tabs[tTabIndex]->SelectTab
Dim As TreeNode Ptr tn = IIf(ptabLeft->SelectedTabIndex = 2, MainNode, MainNode)
Dim bMatchCase As Boolean = chkMatchCase.Checked
Dim As WString Ptr buff
Dim As Integer Pos1=0
If cboFindRange.ItemIndex = 2 Then
If tn > 0 Then
Dim As ExplorerElement Ptr ee = Tn->Tag
Dim As ExplorerElement Ptr ee = tn->Tag
If ee > 0 AndAlso *ee->FileName <> "" Then
lvSearchResult->ListItems.Clear
gSearchItemIndex = 0
ThreadCreate_(@FindSubProj, Tn)
wLet(gSearchSave, *Search)
ThreadCreate_(@FindSubProj, tn)
WLet(gSearchSave, *Search)
End If
End If
Else
Expand Down Expand Up @@ -648,13 +667,13 @@ Private Function frmFind.FindAll(ByRef lvSearchResult As ListView Ptr, tTabIndex
If tTabIndex =2 Then
ptabBottom->Tabs[tTabIndex]->Caption = ML("Find") & " (" & lvSearchResult->ListItems.Count & " " & ML("Pos") & ")"
Else
ptabBottom->Tabs[tTabIndex]->Caption = ML("TODO") & " (" & lvSearchResult->ListItems.Count & " " & ML("Pos") & ")"
ptabBottom->Tabs[tTabIndex]->Caption = ML("ToDo") & " (" & lvSearchResult->ListItems.Count & " " & ML("Pos") & ")"
End If
End If
End Function

Private Sub frmFind.btnReplace_Click(ByRef Sender As Control)
If Len(txtFind.Text)<1 Then Exit Sub
If Len(txtFind.Text) < 1 Then Exit Sub
Dim tb As TabWindow Ptr = Cast(TabWindow Ptr, ptabCode->SelectedTab)
If tb = 0 Then Exit Sub
Dim txt As EditControl Ptr = @tb->txtCode
Expand Down

0 comments on commit d0a5961

Please sign in to comment.