mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-14 15:52:18 +00:00
2024.2.21.0
API.UserDataBase: incorrect comparison when 'Other' is 'UserDataBind' DownloadFeedForm: add saved session name to feed title; remove menu hiding when session saving is disabled; remove menu tooltip GlobalSettingsForm: update 'FeedParametersChanged'
This commit is contained in:
@@ -2199,18 +2199,20 @@ BlockNullPicture:
|
|||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "IComparable Support"
|
#Region "IComparable Support"
|
||||||
Friend Overridable Function CompareTo(ByVal Other As UserDataBase) As Integer Implements IComparable(Of UserDataBase).CompareTo
|
Friend Overridable Overloads Function CompareTo(ByVal Other As UserDataBase) As Integer Implements IComparable(Of UserDataBase).CompareTo
|
||||||
If IsCollection Then
|
If TypeOf Other Is UserDataBind Then
|
||||||
|
Return 1
|
||||||
|
ElseIf IsCollection Then
|
||||||
Return Name.CompareTo(Other.Name)
|
Return Name.CompareTo(Other.Name)
|
||||||
Else
|
Else
|
||||||
Return FriendlyName.IfNullOrEmpty(Name).StringTrim.CompareTo(Other.FriendlyName.IfNullOrEmpty(Other.Name).StringTrim)
|
Return FriendlyName.IfNullOrEmpty(Name).StringTrim.CompareTo(Other.FriendlyName.IfNullOrEmpty(Other.Name).StringTrim)
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
Friend Overridable Function CompareTo(ByVal Obj As Object) As Integer Implements IComparable.CompareTo
|
Friend Overridable Overloads Function CompareTo(ByVal Obj As Object) As Integer Implements IComparable.CompareTo
|
||||||
If Not Obj Is Nothing AndAlso TypeOf Obj Is UserDataBase Then
|
If Not Obj Is Nothing AndAlso TypeOf Obj Is UserDataBase Then
|
||||||
Return CompareTo(DirectCast(Obj, UserDataBase))
|
Return CompareTo(DirectCast(Obj, UserDataBase))
|
||||||
Else
|
Else
|
||||||
Return False
|
Return 0
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
#End Region
|
#End Region
|
||||||
@@ -2218,7 +2220,7 @@ BlockNullPicture:
|
|||||||
Friend Overridable Overloads Function Equals(ByVal Other As UserDataBase) As Boolean Implements IEquatable(Of UserDataBase).Equals
|
Friend Overridable Overloads Function Equals(ByVal Other As UserDataBase) As Boolean Implements IEquatable(Of UserDataBase).Equals
|
||||||
Return LVIKey = Other.LVIKey And IsSavedPosts = Other.IsSavedPosts
|
Return LVIKey = Other.LVIKey And IsSavedPosts = Other.IsSavedPosts
|
||||||
End Function
|
End Function
|
||||||
Public Overrides Function Equals(ByVal Obj As Object) As Boolean
|
Public Overloads Overrides Function Equals(ByVal Obj As Object) As Boolean
|
||||||
If Not Obj Is Nothing AndAlso TypeOf Obj Is UserDataBase Then
|
If Not Obj Is Nothing AndAlso TypeOf Obj Is UserDataBase Then
|
||||||
Return Equals(DirectCast(Obj, UserDataBase))
|
Return Equals(DirectCast(Obj, UserDataBase))
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ Namespace DownloadObjects
|
|||||||
'
|
'
|
||||||
'MENU_LOAD_SESSION
|
'MENU_LOAD_SESSION
|
||||||
'
|
'
|
||||||
|
Me.MENU_LOAD_SESSION.AutoToolTip = False
|
||||||
Me.MENU_LOAD_SESSION.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
Me.MENU_LOAD_SESSION.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||||
Me.MENU_LOAD_SESSION.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_LOAD_SESSION_CURRENT, Me.BTT_LOAD_SESSION_LAST, Me.BTT_LOAD_SESSION_CHOOSE, MENU_LOAD_SEP_1, Me.BTT_LOAD_FAV, Me.BTT_LOAD_SPEC, MENU_LOAD_SEP_2, Me.BTT_FEED_ADD_FAV, Me.BTT_FEED_ADD_FAV_REMOVE, Me.BTT_FEED_REMOVE_FAV, MENU_LOAD_SEP_3, Me.BTT_FEED_ADD_SPEC, Me.BTT_FEED_ADD_SPEC_REMOVE, Me.BTT_FEED_REMOVE_SPEC, MENU_LOAD_SEP_4, Me.BTT_FEED_CLEAR_FAV, Me.BTT_FEED_CLEAR_SPEC, Me.BTT_FEED_DELETE_SPEC, Me.BTT_FEED_DELETE_DAILY_LIST, Me.BTT_FEED_DELETE_DAILY_DATE, MENU_LOAD_SEP_5, Me.BTT_MERGE_SESSIONS, Me.BTT_CLEAR_DAILY, MENU_LOAD_SEP_6, Me.BTT_MERGE_FEEDS, MENU_LOAD_SEP_7, Me.BTT_CHECK_ALL, Me.BTT_CHECK_NONE})
|
Me.MENU_LOAD_SESSION.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_LOAD_SESSION_CURRENT, Me.BTT_LOAD_SESSION_LAST, Me.BTT_LOAD_SESSION_CHOOSE, MENU_LOAD_SEP_1, Me.BTT_LOAD_FAV, Me.BTT_LOAD_SPEC, MENU_LOAD_SEP_2, Me.BTT_FEED_ADD_FAV, Me.BTT_FEED_ADD_FAV_REMOVE, Me.BTT_FEED_REMOVE_FAV, MENU_LOAD_SEP_3, Me.BTT_FEED_ADD_SPEC, Me.BTT_FEED_ADD_SPEC_REMOVE, Me.BTT_FEED_REMOVE_SPEC, MENU_LOAD_SEP_4, Me.BTT_FEED_CLEAR_FAV, Me.BTT_FEED_CLEAR_SPEC, Me.BTT_FEED_DELETE_SPEC, Me.BTT_FEED_DELETE_DAILY_LIST, Me.BTT_FEED_DELETE_DAILY_DATE, MENU_LOAD_SEP_5, Me.BTT_MERGE_SESSIONS, Me.BTT_CLEAR_DAILY, MENU_LOAD_SEP_6, Me.BTT_MERGE_FEEDS, MENU_LOAD_SEP_7, Me.BTT_CHECK_ALL, Me.BTT_CHECK_NONE})
|
||||||
Me.MENU_LOAD_SESSION.Image = Global.SCrawler.My.Resources.Resources.ArrowDownPic_Blue_24
|
Me.MENU_LOAD_SESSION.Image = Global.SCrawler.My.Resources.Resources.ArrowDownPic_Blue_24
|
||||||
@@ -286,12 +287,13 @@ Namespace DownloadObjects
|
|||||||
'
|
'
|
||||||
'BTT_CLEAR_DAILY
|
'BTT_CLEAR_DAILY
|
||||||
'
|
'
|
||||||
|
Me.BTT_CLEAR_DAILY.AutoToolTip = True
|
||||||
Me.BTT_CLEAR_DAILY.Image = Global.SCrawler.My.Resources.Resources.DeletePic_24
|
Me.BTT_CLEAR_DAILY.Image = Global.SCrawler.My.Resources.Resources.DeletePic_24
|
||||||
Me.BTT_CLEAR_DAILY.ImageTransparentColor = System.Drawing.Color.Magenta
|
Me.BTT_CLEAR_DAILY.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||||
Me.BTT_CLEAR_DAILY.Name = "BTT_CLEAR_DAILY"
|
Me.BTT_CLEAR_DAILY.Name = "BTT_CLEAR_DAILY"
|
||||||
Me.BTT_CLEAR_DAILY.Size = New System.Drawing.Size(352, 22)
|
Me.BTT_CLEAR_DAILY.Size = New System.Drawing.Size(352, 22)
|
||||||
Me.BTT_CLEAR_DAILY.Text = "Clear session"
|
Me.BTT_CLEAR_DAILY.Text = "Clear session"
|
||||||
Me.BTT_CLEAR_DAILY.ToolTipText = "Clear data list (session)"
|
Me.BTT_CLEAR_DAILY.ToolTipText = "Clear current session"
|
||||||
'
|
'
|
||||||
'BTT_MERGE_FEEDS
|
'BTT_MERGE_FEEDS
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ Namespace DownloadObjects
|
|||||||
#Region "Feeds options"
|
#Region "Feeds options"
|
||||||
Private Enum FeedModes : Current : Saved : Special : End Enum
|
Private Enum FeedModes : Current : Saved : Special : End Enum
|
||||||
Private FeedMode As FeedModes = FeedModes.Current
|
Private FeedMode As FeedModes = FeedModes.Current
|
||||||
|
Private LoadedSessionName As String = String.Empty
|
||||||
Private ReadOnly Property IsSession As Boolean
|
Private ReadOnly Property IsSession As Boolean
|
||||||
Get
|
Get
|
||||||
Return FeedMode = FeedModes.Current Or FeedMode = FeedModes.Saved
|
Return FeedMode = FeedModes.Current Or FeedMode = FeedModes.Saved
|
||||||
@@ -54,7 +55,7 @@ Namespace DownloadObjects
|
|||||||
Try : ControlInvokeFast(Me, Sub()
|
Try : ControlInvokeFast(Me, Sub()
|
||||||
Select Case FeedMode
|
Select Case FeedMode
|
||||||
Case FeedModes.Current : Text = $"{FeedTitleDefault}: current session"
|
Case FeedModes.Current : Text = $"{FeedTitleDefault}: current session"
|
||||||
Case FeedModes.Saved : Text = $"{FeedTitleDefault}: saved session(s)"
|
Case FeedModes.Saved : Text = $"{FeedTitleDefault}: saved session {LoadedSessionName.IfNullOrEmpty("(multiple)")}"
|
||||||
Case FeedModes.Special : Text = $"{FeedTitleDefault}: {IIf(LoadedFeedNames.Count > 1, "multiple special feeds", LoadedFeedNames.FirstOrDefault.IfNullOrEmpty("?"))}"
|
Case FeedModes.Special : Text = $"{FeedTitleDefault}: {IIf(LoadedFeedNames.Count > 1, "multiple special feeds", LoadedFeedNames.FirstOrDefault.IfNullOrEmpty("?"))}"
|
||||||
Case Else : Text = FeedTitleDefault
|
Case Else : Text = FeedTitleDefault
|
||||||
End Select
|
End Select
|
||||||
@@ -318,11 +319,6 @@ Namespace DownloadObjects
|
|||||||
ForeColor = SystemColors.WindowText
|
ForeColor = SystemColors.WindowText
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim fsd As Boolean = .FeedStoreSessionsData
|
|
||||||
ControlInvoke(ToolbarTOP, MENU_LOAD_SESSION, Sub()
|
|
||||||
MENU_LOAD_SESSION.Visible = fsd
|
|
||||||
SEP_0.Visible = fsd
|
|
||||||
End Sub)
|
|
||||||
If rangeChanged Then
|
If rangeChanged Then
|
||||||
ClearTable()
|
ClearTable()
|
||||||
ControlInvoke(TP_DATA, Sub()
|
ControlInvoke(TP_DATA, Sub()
|
||||||
@@ -408,6 +404,7 @@ Namespace DownloadObjects
|
|||||||
Optional ByRef ResultFilesList As List(Of SFile) = Nothing,
|
Optional ByRef ResultFilesList As List(Of SFile) = Nothing,
|
||||||
Optional ByVal SelectedMode As FeedModes = -1)
|
Optional ByVal SelectedMode As FeedModes = -1)
|
||||||
Try
|
Try
|
||||||
|
LoadedSessionName = String.Empty
|
||||||
Downloader.ClearSessions()
|
Downloader.ClearSessions()
|
||||||
Dim f As SFile = TDownloader.SessionsPath.CSFileP
|
Dim f As SFile = TDownloader.SessionsPath.CSFileP
|
||||||
Dim fList As List(Of SFile) = Nothing
|
Dim fList As List(Of SFile) = Nothing
|
||||||
@@ -442,7 +439,10 @@ Namespace DownloadObjects
|
|||||||
ResultFilesList.AddRange(fList)
|
ResultFilesList.AddRange(fList)
|
||||||
Else
|
Else
|
||||||
DataList.Clear()
|
DataList.Clear()
|
||||||
If SelectedMode >= 0 Then FeedChangeMode(SelectedMode)
|
If SelectedMode >= 0 Then
|
||||||
|
If SelectedMode = FeedModes.Saved And fList.Count = 1 Then LoadedSessionName = fList(0).Name
|
||||||
|
FeedChangeMode(SelectedMode)
|
||||||
|
End If
|
||||||
For Each f In fList
|
For Each f In fList
|
||||||
x = New XmlFile(f,, False) With {.AllowSameNames = True, .XmlReadOnly = True}
|
x = New XmlFile(f,, False) With {.AllowSameNames = True, .XmlReadOnly = True}
|
||||||
x.LoadData()
|
x.LoadData()
|
||||||
@@ -470,7 +470,10 @@ Namespace DownloadObjects
|
|||||||
f = Downloader.FilesSessionActual(False)
|
f = Downloader.FilesSessionActual(False)
|
||||||
End If
|
End If
|
||||||
If f.Exists Then
|
If f.Exists Then
|
||||||
If SelectedMode >= 0 Then FeedChangeMode(SelectedMode)
|
If SelectedMode >= 0 Then
|
||||||
|
If SelectedMode = FeedModes.Saved Then LoadedSessionName = f.Name
|
||||||
|
FeedChangeMode(SelectedMode)
|
||||||
|
End If
|
||||||
DataList.Clear()
|
DataList.Clear()
|
||||||
x = New XmlFile(f,, False) With {.AllowSameNames = True, .XmlReadOnly = True}
|
x = New XmlFile(f,, False) With {.AllowSameNames = True, .XmlReadOnly = True}
|
||||||
x.LoadData()
|
x.LoadData()
|
||||||
|
|||||||
@@ -317,9 +317,8 @@ Namespace Editors
|
|||||||
.FeedShowFriendlyNames.Value = CH_FEED_SHOW_FRIENDLY.Checked
|
.FeedShowFriendlyNames.Value = CH_FEED_SHOW_FRIENDLY.Checked
|
||||||
.FeedShowSpecialFeedsMediaItem.Value = CH_FEED_SHOW_SPEC_MEDIAITEM.Checked
|
.FeedShowSpecialFeedsMediaItem.Value = CH_FEED_SHOW_SPEC_MEDIAITEM.Checked
|
||||||
FeedParametersChanged = .FeedDataRows.ChangesDetected Or .FeedDataColumns.ChangesDetected Or
|
FeedParametersChanged = .FeedDataRows.ChangesDetected Or .FeedDataColumns.ChangesDetected Or
|
||||||
.FeedEndless.ChangesDetected Or .FeedStoreSessionsData.ChangesDetected Or
|
.FeedEndless.ChangesDetected Or .FeedBackColor.ChangesDetected Or
|
||||||
.FeedBackColor.ChangesDetected Or .FeedForeColor.ChangesDetected Or
|
.FeedForeColor.ChangesDetected Or .FeedCenterImage.ChangesDetected
|
||||||
.FeedCenterImage.ChangesDetected
|
|
||||||
|
|
||||||
.EndUpdate()
|
.EndUpdate()
|
||||||
End With
|
End With
|
||||||
|
|||||||
Reference in New Issue
Block a user