diff --git a/Resources/EnumItem.png b/Resources/EnumItem.png index 93fbea0f..c6f13cfa 100644 Binary files a/Resources/EnumItem.png and b/Resources/EnumItem.png differ diff --git a/Resources/Fixme.png b/Resources/Fixme.png new file mode 100644 index 00000000..3d48ee3c Binary files /dev/null and b/Resources/Fixme.png differ diff --git a/src/Main.bas b/src/Main.bas index d353560f..9248ba40 100644 --- a/src/Main.bas +++ b/src/Main.bas @@ -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 @@ -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) @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/src/TabWindow.bas b/src/TabWindow.bas index 07ff1586..f5c1e2a4 100644 --- a/src/TabWindow.bas +++ b/src/TabWindow.bas @@ -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) diff --git a/src/frmFind.frm b/src/frmFind.frm index fc496163..b391ac9f 100644 --- a/src/frmFind.frm +++ b/src/frmFind.frm @@ -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 @@ -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 @@ -466,7 +480,6 @@ End Sub Sub FindSubProj(Param As Any Ptr) MutexLock tlockToDo ThreadsEnter - plvSearch->ListItems.Clear StartProgress With fFind .btnFind.Enabled = False @@ -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 @@ -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 @@ -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 @@ -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