diff --git a/Changelog.md b/Changelog.md index b5f7b45..0483056 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,13 @@ +# 3.0.0.9 + +- Added + - Excluded labels + - Ability to disable user grouping + - Ability to show groups of user sites when filtering by labels +- Fixed + - Removed adding "No Parsed" internal label when not needed + - Redownloading Instagram Stories + # 3.0.0.8 - Added diff --git a/ProgramScreenshots/MainWindow2.png b/ProgramScreenshots/MainWindow2.png index 7f23803..0b32a59 100644 Binary files a/ProgramScreenshots/MainWindow2.png and b/ProgramScreenshots/MainWindow2.png differ diff --git a/ProgramScreenshots/SettingDefaults.png b/ProgramScreenshots/SettingDefaults.png deleted file mode 100644 index 11d3388..0000000 Binary files a/ProgramScreenshots/SettingDefaults.png and /dev/null differ diff --git a/ProgramScreenshots/SettingsBasis.png b/ProgramScreenshots/SettingsBasis.png deleted file mode 100644 index 8b08c3a..0000000 Binary files a/ProgramScreenshots/SettingsBasis.png and /dev/null differ diff --git a/ProgramScreenshots/SettingsChannels.png b/ProgramScreenshots/SettingsChannels.png deleted file mode 100644 index 403a7f8..0000000 Binary files a/ProgramScreenshots/SettingsChannels.png and /dev/null differ diff --git a/ProgramScreenshots/SettingsGlobalBasis.png b/ProgramScreenshots/SettingsGlobalBasis.png new file mode 100644 index 0000000..4c467d4 Binary files /dev/null and b/ProgramScreenshots/SettingsGlobalBasis.png differ diff --git a/ProgramScreenshots/SettingsGlobalBehavior.png b/ProgramScreenshots/SettingsGlobalBehavior.png new file mode 100644 index 0000000..ec552f0 Binary files /dev/null and b/ProgramScreenshots/SettingsGlobalBehavior.png differ diff --git a/ProgramScreenshots/SettingsGlobalChannels.png b/ProgramScreenshots/SettingsGlobalChannels.png new file mode 100644 index 0000000..0bfddc8 Binary files /dev/null and b/ProgramScreenshots/SettingsGlobalChannels.png differ diff --git a/ProgramScreenshots/SettingsGlobalDefaults.png b/ProgramScreenshots/SettingsGlobalDefaults.png new file mode 100644 index 0000000..2390592 Binary files /dev/null and b/ProgramScreenshots/SettingsGlobalDefaults.png differ diff --git a/ProgramScreenshots/SettingsGlobalDownloading.png b/ProgramScreenshots/SettingsGlobalDownloading.png new file mode 100644 index 0000000..051fa82 Binary files /dev/null and b/ProgramScreenshots/SettingsGlobalDownloading.png differ diff --git a/ProgramScreenshots/SettingsInstagram.png b/ProgramScreenshots/SettingsSiteInstagram.png similarity index 100% rename from ProgramScreenshots/SettingsInstagram.png rename to ProgramScreenshots/SettingsSiteInstagram.png diff --git a/ProgramScreenshots/SettingsReddit.png b/ProgramScreenshots/SettingsSiteReddit.png similarity index 100% rename from ProgramScreenshots/SettingsReddit.png rename to ProgramScreenshots/SettingsSiteReddit.png diff --git a/ProgramScreenshots/SettingsTwitter.png b/ProgramScreenshots/SettingsSiteTwitter.png similarity index 100% rename from ProgramScreenshots/SettingsTwitter.png rename to ProgramScreenshots/SettingsSiteTwitter.png diff --git a/SCrawler/API/Base/UserDataBase.vb b/SCrawler/API/Base/UserDataBase.vb index 2e5ee99..d8c6692 100644 --- a/SCrawler/API/Base/UserDataBase.vb +++ b/SCrawler/API/Base/UserDataBase.vb @@ -477,6 +477,7 @@ BlockNullPicture: Get If Settings.LastUpdatedDate.HasValue AndAlso LastUpdated.HasValue AndAlso LastUpdated.Value.Date > Settings.LastUpdatedDate.Value.Date Then Return False + If Not Settings.Labels.ExcludedIgnore AndAlso Settings.Labels.Excluded.ValuesList.ListContains(Labels) Then Return False If Settings.SelectedSites.Count = 0 OrElse Settings.SelectedSites.Contains(Site) Then Select Case Settings.ShowingMode.Value Case ShowingModes.Regular : Return Not Temporary And Not Favorite @@ -484,7 +485,7 @@ BlockNullPicture: Case ShowingModes.Favorite : Return Favorite Case ShowingModes.Deleted : Return Not UserExists Case ShowingModes.Suspended : Return UserSuspended - Case ShowingModes.Labels : Return Settings.Labels.CurrentSelection.ListContains(Labels) + Case ShowingModes.Labels : Return Settings.Labels.Current.ValuesList.ListContains(Labels) Case ShowingModes.NoLabels : Return Labels.Count = 0 Case Else : Return True End Select @@ -495,16 +496,16 @@ BlockNullPicture: End Property Friend Function GetLVIGroup(ByVal Destination As ListView) As ListViewGroup Implements IUserData.GetLVIGroup Try - If Settings.ShowingMode.Value = ShowingModes.Labels Then - If Labels.Count > 0 And Settings.Labels.CurrentSelection.Count > 0 Then + If Settings.ShowingMode.Value = ShowingModes.Labels And Not Settings.ShowGroupsInsteadLabels Then + If Labels.Count > 0 And Settings.Labels.Current.Count > 0 Then For i% = 0 To Labels.Count - 1 - If Settings.Labels.CurrentSelection.Contains(Labels(i)) Then Return Destination.Groups.Item(Labels(i)) + If Settings.Labels.Current.Contains(Labels(i)) Then Return Destination.Groups.Item(Labels(i)) Next End If - Return Destination.Groups.Item(LabelsKeeper.NoLabeledName) - Else + ElseIf Settings.ShowGroups Then Return Destination.Groups.Item(GetLviGroupName(HOST, Temporary, Favorite, IsCollection, IsChannel)) End If + Return Destination.Groups.Item(LabelsKeeper.NoLabeledName) Catch ex As Exception Return Destination.Groups.Item(LabelsKeeper.NoLabeledName) End Try @@ -567,7 +568,7 @@ BlockNullPicture: If MyFile.Exists Then FileExists = True Using x As New XmlFile(MyFile) With {.XmlReadOnly = True} - User.Name = x.Value(Name_UserName) + If User.Name.IsEmptyString Then User.Name = x.Value(Name_UserName) UserExists = x.Value(Name_UserExists).FromXML(Of Boolean)(True) UserSuspended = x.Value(Name_UserSuspended).FromXML(Of Boolean)(False) ID = x.Value(Name_UserID) diff --git a/SCrawler/API/Instagram/UserData.vb b/SCrawler/API/Instagram/UserData.vb index c010b5d..a2a40e3 100644 --- a/SCrawler/API/Instagram/UserData.vb +++ b/SCrawler/API/Instagram/UserData.vb @@ -494,7 +494,7 @@ Namespace API.Instagram Private Sub GetStoriesData(ByRef StoriesList As List(Of String), ByVal Token As CancellationToken) Const ReqUrl$ = "https://i.instagram.com/api/v1/feed/reels_media/?{0}" Dim tmpList As IEnumerable(Of String) - Dim qStr$, r$, sFolder$, storyID$ + Dim qStr$, r$, sFolder$, storyID$, pid$ Dim i% = -1 Dim jj As EContainer, s As EContainer ThrowAny(Token) @@ -517,7 +517,14 @@ Namespace API.Instagram If Not storyID.IsEmptyString Then storyID &= ":" With jj("items").XmlIfNothing If .Count > 0 Then - For Each s In .Self : ThrowAny(Token) : ObtainMedia2(s, storyID & s.Value("id"), sFolder) : Next + For Each s In .Self + pid = storyID & s.Value("id") + If Not _TempPostsList.Contains(pid) Then + ThrowAny(Token) + ObtainMedia2(s, pid, sFolder) + _TempPostsList.Add(pid) + End If + Next End If End With Next diff --git a/SCrawler/Editors/GlobalSettingsForm.Designer.vb b/SCrawler/Editors/GlobalSettingsForm.Designer.vb index 1ed4516..07465ca 100644 --- a/SCrawler/Editors/GlobalSettingsForm.Designer.vb +++ b/SCrawler/Editors/GlobalSettingsForm.Designer.vb @@ -27,9 +27,6 @@ Dim TP_FILE_NAME As System.Windows.Forms.TableLayoutPanel Dim TP_FILE_PATTERNS As System.Windows.Forms.TableLayoutPanel Dim LBL_DATE_POS As System.Windows.Forms.Label - Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton() - Dim ActionButton8 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton() - Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton() Dim TT_MAIN As System.Windows.Forms.ToolTip Dim TP_CHANNELS_IMGS As System.Windows.Forms.TableLayoutPanel Dim TAB_BASIS As System.Windows.Forms.TabPage @@ -37,6 +34,13 @@ Dim TP_DEFS As System.Windows.Forms.TableLayoutPanel Dim TAB_DEFS_CHANNELS As System.Windows.Forms.TabPage Dim TP_CHANNELS As System.Windows.Forms.TableLayoutPanel + Dim TAB_BEHAVIOR As System.Windows.Forms.TabPage + Dim TP_BEHAVIOR As System.Windows.Forms.TableLayoutPanel + Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton() + Dim TAB_DOWN As System.Windows.Forms.TabPage + Dim TP_DOWNLOADING As System.Windows.Forms.TableLayoutPanel + Dim ActionButton8 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton() + Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton() Me.TXT_GLOBAL_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.TXT_IMAGE_LARGE = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.TXT_IMAGE_SMALL = New PersonalUtilities.Forms.Controls.TextBoxExtended() @@ -45,6 +49,8 @@ Me.TXT_MAX_JOBS_CHANNELS = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.CH_CHECK_VER_START = New System.Windows.Forms.CheckBox() Me.TXT_IMGUR_CLIENT_ID = New PersonalUtilities.Forms.Controls.TextBoxExtended() + Me.CH_SHOW_GROUPS = New System.Windows.Forms.CheckBox() + Me.CH_USERS_GROUPING = New System.Windows.Forms.CheckBox() Me.OPT_FILE_NAME_REPLACE = New System.Windows.Forms.RadioButton() Me.OPT_FILE_NAME_ADD_DATE = New System.Windows.Forms.RadioButton() Me.CH_FILE_NAME_CHANGE = New System.Windows.Forms.CheckBox() @@ -52,13 +58,7 @@ Me.CH_FILE_TIME = New System.Windows.Forms.CheckBox() Me.OPT_FILE_DATE_START = New System.Windows.Forms.RadioButton() Me.OPT_FILE_DATE_END = New System.Windows.Forms.RadioButton() - Me.CH_EXIT_CONFIRM = New System.Windows.Forms.CheckBox() - Me.CH_CLOSE_TO_TRAY = New System.Windows.Forms.CheckBox() - Me.CH_SHOW_NOTIFY = New System.Windows.Forms.CheckBox() Me.CH_FAST_LOAD = New System.Windows.Forms.CheckBox() - Me.TXT_FOLDER_CMD = New PersonalUtilities.Forms.Controls.TextBoxExtended() - Me.CH_RECYCLE_DEL = New System.Windows.Forms.CheckBox() - Me.TXT_SCRIPT = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.CH_COPY_CHANNEL_USER_IMAGE = New System.Windows.Forms.CheckBox() Me.CH_DEF_TEMP = New System.Windows.Forms.CheckBox() Me.CH_DOWN_IMAGES = New System.Windows.Forms.CheckBox() @@ -70,6 +70,12 @@ Me.TXT_CHANNELS_ROWS = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.TXT_CHANNELS_COLUMNS = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.TXT_CHANNEL_USER_POST_LIMIT = New PersonalUtilities.Forms.Controls.TextBoxExtended() + Me.TXT_FOLDER_CMD = New PersonalUtilities.Forms.Controls.TextBoxExtended() + Me.CH_EXIT_CONFIRM = New System.Windows.Forms.CheckBox() + Me.CH_CLOSE_TO_TRAY = New System.Windows.Forms.CheckBox() + Me.CH_SHOW_NOTIFY = New System.Windows.Forms.CheckBox() + Me.CH_RECYCLE_DEL = New System.Windows.Forms.CheckBox() + Me.TXT_SCRIPT = New PersonalUtilities.Forms.Controls.TextBoxExtended() Me.TAB_MAIN = New System.Windows.Forms.TabControl() Me.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer() TP_BASIS = New System.Windows.Forms.TableLayoutPanel() @@ -84,6 +90,10 @@ TP_DEFS = New System.Windows.Forms.TableLayoutPanel() TAB_DEFS_CHANNELS = New System.Windows.Forms.TabPage() TP_CHANNELS = New System.Windows.Forms.TableLayoutPanel() + TAB_BEHAVIOR = New System.Windows.Forms.TabPage() + TP_BEHAVIOR = New System.Windows.Forms.TableLayoutPanel() + TAB_DOWN = New System.Windows.Forms.TabPage() + TP_DOWNLOADING = New System.Windows.Forms.TableLayoutPanel() TP_BASIS.SuspendLayout() CType(Me.TXT_GLOBAL_PATH, System.ComponentModel.ISupportInitialize).BeginInit() TP_IMAGES.SuspendLayout() @@ -95,8 +105,6 @@ CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).BeginInit() TP_FILE_NAME.SuspendLayout() TP_FILE_PATTERNS.SuspendLayout() - CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).BeginInit() TP_CHANNELS_IMGS.SuspendLayout() CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).BeginInit() @@ -106,6 +114,12 @@ TAB_DEFS_CHANNELS.SuspendLayout() TP_CHANNELS.SuspendLayout() CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).BeginInit() + TAB_BEHAVIOR.SuspendLayout() + TP_BEHAVIOR.SuspendLayout() + CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).BeginInit() + TAB_DOWN.SuspendLayout() + TP_DOWNLOADING.SuspendLayout() + CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).BeginInit() Me.TAB_MAIN.SuspendLayout() Me.CONTAINER_MAIN.ContentPanel.SuspendLayout() Me.CONTAINER_MAIN.SuspendLayout() @@ -123,19 +137,12 @@ TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_CHANNELS, 0, 4) TP_BASIS.Controls.Add(Me.CH_CHECK_VER_START, 0, 5) TP_BASIS.Controls.Add(Me.TXT_IMGUR_CLIENT_ID, 0, 6) - TP_BASIS.Controls.Add(TP_FILE_NAME, 0, 7) - TP_BASIS.Controls.Add(TP_FILE_PATTERNS, 0, 8) - TP_BASIS.Controls.Add(Me.CH_EXIT_CONFIRM, 0, 9) - TP_BASIS.Controls.Add(Me.CH_CLOSE_TO_TRAY, 0, 10) - TP_BASIS.Controls.Add(Me.CH_SHOW_NOTIFY, 0, 11) - TP_BASIS.Controls.Add(Me.CH_FAST_LOAD, 0, 12) - TP_BASIS.Controls.Add(Me.TXT_FOLDER_CMD, 0, 13) - TP_BASIS.Controls.Add(Me.CH_RECYCLE_DEL, 0, 14) - TP_BASIS.Controls.Add(Me.TXT_SCRIPT, 0, 15) + TP_BASIS.Controls.Add(Me.CH_SHOW_GROUPS, 0, 7) + TP_BASIS.Controls.Add(Me.CH_USERS_GROUPING, 0, 8) TP_BASIS.Dock = System.Windows.Forms.DockStyle.Fill TP_BASIS.Location = New System.Drawing.Point(3, 3) TP_BASIS.Name = "TP_BASIS" - TP_BASIS.RowCount = 17 + TP_BASIS.RowCount = 10 TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) @@ -143,17 +150,10 @@ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) - TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) - TP_BASIS.Size = New System.Drawing.Size(570, 475) + TP_BASIS.Size = New System.Drawing.Size(570, 253) TP_BASIS.TabIndex = 0 ' 'TXT_GLOBAL_PATH @@ -303,6 +303,30 @@ Me.TXT_IMGUR_CLIENT_ID.Size = New System.Drawing.Size(562, 22) Me.TXT_IMGUR_CLIENT_ID.TabIndex = 6 ' + 'CH_SHOW_GROUPS + ' + Me.CH_SHOW_GROUPS.AutoSize = True + Me.CH_SHOW_GROUPS.Dock = System.Windows.Forms.DockStyle.Fill + Me.CH_SHOW_GROUPS.Location = New System.Drawing.Point(4, 204) + Me.CH_SHOW_GROUPS.Name = "CH_SHOW_GROUPS" + Me.CH_SHOW_GROUPS.Size = New System.Drawing.Size(562, 19) + Me.CH_SHOW_GROUPS.TabIndex = 7 + Me.CH_SHOW_GROUPS.Text = "Show groups" + TT_MAIN.SetToolTip(Me.CH_SHOW_GROUPS, "Grouping users by site") + Me.CH_SHOW_GROUPS.UseVisualStyleBackColor = True + ' + 'CH_USERS_GROUPING + ' + Me.CH_USERS_GROUPING.AutoSize = True + Me.CH_USERS_GROUPING.Dock = System.Windows.Forms.DockStyle.Fill + Me.CH_USERS_GROUPING.Location = New System.Drawing.Point(4, 230) + Me.CH_USERS_GROUPING.Name = "CH_USERS_GROUPING" + Me.CH_USERS_GROUPING.Size = New System.Drawing.Size(562, 19) + Me.CH_USERS_GROUPING.TabIndex = 8 + Me.CH_USERS_GROUPING.Text = "Use user grouping" + TT_MAIN.SetToolTip(Me.CH_USERS_GROUPING, "Group users by groups and/or labels") + Me.CH_USERS_GROUPING.UseVisualStyleBackColor = True + ' 'TP_FILE_NAME ' TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single] @@ -314,21 +338,21 @@ TP_FILE_NAME.Controls.Add(Me.OPT_FILE_NAME_ADD_DATE, 2, 0) TP_FILE_NAME.Controls.Add(Me.CH_FILE_NAME_CHANGE, 0, 0) TP_FILE_NAME.Dock = System.Windows.Forms.DockStyle.Fill - TP_FILE_NAME.Location = New System.Drawing.Point(1, 201) + TP_FILE_NAME.Location = New System.Drawing.Point(1, 27) TP_FILE_NAME.Margin = New System.Windows.Forms.Padding(0) TP_FILE_NAME.Name = "TP_FILE_NAME" TP_FILE_NAME.RowCount = 1 TP_FILE_NAME.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) - TP_FILE_NAME.Size = New System.Drawing.Size(568, 30) - TP_FILE_NAME.TabIndex = 7 + TP_FILE_NAME.Size = New System.Drawing.Size(574, 30) + TP_FILE_NAME.TabIndex = 1 ' 'OPT_FILE_NAME_REPLACE ' Me.OPT_FILE_NAME_REPLACE.AutoSize = True Me.OPT_FILE_NAME_REPLACE.Dock = System.Windows.Forms.DockStyle.Fill - Me.OPT_FILE_NAME_REPLACE.Location = New System.Drawing.Point(193, 4) + Me.OPT_FILE_NAME_REPLACE.Location = New System.Drawing.Point(195, 4) Me.OPT_FILE_NAME_REPLACE.Name = "OPT_FILE_NAME_REPLACE" - Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(182, 22) + Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(184, 22) Me.OPT_FILE_NAME_REPLACE.TabIndex = 1 Me.OPT_FILE_NAME_REPLACE.TabStop = True Me.OPT_FILE_NAME_REPLACE.Text = "Replace file name by date" @@ -338,9 +362,9 @@ ' Me.OPT_FILE_NAME_ADD_DATE.AutoSize = True Me.OPT_FILE_NAME_ADD_DATE.Dock = System.Windows.Forms.DockStyle.Fill - Me.OPT_FILE_NAME_ADD_DATE.Location = New System.Drawing.Point(382, 4) + Me.OPT_FILE_NAME_ADD_DATE.Location = New System.Drawing.Point(386, 4) Me.OPT_FILE_NAME_ADD_DATE.Name = "OPT_FILE_NAME_ADD_DATE" - Me.OPT_FILE_NAME_ADD_DATE.Size = New System.Drawing.Size(182, 22) + Me.OPT_FILE_NAME_ADD_DATE.Size = New System.Drawing.Size(184, 22) Me.OPT_FILE_NAME_ADD_DATE.TabIndex = 2 Me.OPT_FILE_NAME_ADD_DATE.TabStop = True Me.OPT_FILE_NAME_ADD_DATE.Text = "Add date/time to file name" @@ -352,7 +376,7 @@ Me.CH_FILE_NAME_CHANGE.Dock = System.Windows.Forms.DockStyle.Fill Me.CH_FILE_NAME_CHANGE.Location = New System.Drawing.Point(4, 4) Me.CH_FILE_NAME_CHANGE.Name = "CH_FILE_NAME_CHANGE" - Me.CH_FILE_NAME_CHANGE.Size = New System.Drawing.Size(182, 22) + Me.CH_FILE_NAME_CHANGE.Size = New System.Drawing.Size(184, 22) Me.CH_FILE_NAME_CHANGE.TabIndex = 0 Me.CH_FILE_NAME_CHANGE.Text = "Change file names" Me.CH_FILE_NAME_CHANGE.UseVisualStyleBackColor = True @@ -372,14 +396,14 @@ TP_FILE_PATTERNS.Controls.Add(Me.OPT_FILE_DATE_START, 3, 0) TP_FILE_PATTERNS.Controls.Add(Me.OPT_FILE_DATE_END, 4, 0) TP_FILE_PATTERNS.Dock = System.Windows.Forms.DockStyle.Fill - TP_FILE_PATTERNS.Location = New System.Drawing.Point(1, 232) + TP_FILE_PATTERNS.Location = New System.Drawing.Point(1, 58) TP_FILE_PATTERNS.Margin = New System.Windows.Forms.Padding(0) TP_FILE_PATTERNS.Name = "TP_FILE_PATTERNS" TP_FILE_PATTERNS.RowCount = 1 TP_FILE_PATTERNS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) TP_FILE_PATTERNS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29.0!)) - TP_FILE_PATTERNS.Size = New System.Drawing.Size(568, 30) - TP_FILE_PATTERNS.TabIndex = 8 + TP_FILE_PATTERNS.Size = New System.Drawing.Size(574, 30) + TP_FILE_PATTERNS.TabIndex = 2 ' 'CH_FILE_DATE ' @@ -387,7 +411,7 @@ Me.CH_FILE_DATE.Dock = System.Windows.Forms.DockStyle.Fill Me.CH_FILE_DATE.Location = New System.Drawing.Point(4, 4) Me.CH_FILE_DATE.Name = "CH_FILE_DATE" - Me.CH_FILE_DATE.Size = New System.Drawing.Size(106, 22) + Me.CH_FILE_DATE.Size = New System.Drawing.Size(107, 22) Me.CH_FILE_DATE.TabIndex = 0 Me.CH_FILE_DATE.Text = "Date" Me.CH_FILE_DATE.UseVisualStyleBackColor = True @@ -396,9 +420,9 @@ ' Me.CH_FILE_TIME.AutoSize = True Me.CH_FILE_TIME.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_FILE_TIME.Location = New System.Drawing.Point(117, 4) + Me.CH_FILE_TIME.Location = New System.Drawing.Point(118, 4) Me.CH_FILE_TIME.Name = "CH_FILE_TIME" - Me.CH_FILE_TIME.Size = New System.Drawing.Size(106, 22) + Me.CH_FILE_TIME.Size = New System.Drawing.Size(107, 22) Me.CH_FILE_TIME.TabIndex = 1 Me.CH_FILE_TIME.Text = "Time" Me.CH_FILE_TIME.UseVisualStyleBackColor = True @@ -407,9 +431,9 @@ ' LBL_DATE_POS.AutoSize = True LBL_DATE_POS.Dock = System.Windows.Forms.DockStyle.Fill - LBL_DATE_POS.Location = New System.Drawing.Point(230, 1) + LBL_DATE_POS.Location = New System.Drawing.Point(232, 1) LBL_DATE_POS.Name = "LBL_DATE_POS" - LBL_DATE_POS.Size = New System.Drawing.Size(106, 28) + LBL_DATE_POS.Size = New System.Drawing.Size(107, 28) LBL_DATE_POS.TabIndex = 2 LBL_DATE_POS.Text = "Date position:" LBL_DATE_POS.TextAlign = System.Drawing.ContentAlignment.MiddleRight @@ -418,9 +442,9 @@ ' Me.OPT_FILE_DATE_START.AutoSize = True Me.OPT_FILE_DATE_START.Dock = System.Windows.Forms.DockStyle.Fill - Me.OPT_FILE_DATE_START.Location = New System.Drawing.Point(343, 4) + Me.OPT_FILE_DATE_START.Location = New System.Drawing.Point(346, 4) Me.OPT_FILE_DATE_START.Name = "OPT_FILE_DATE_START" - Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(106, 22) + Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(107, 22) Me.OPT_FILE_DATE_START.TabIndex = 3 Me.OPT_FILE_DATE_START.TabStop = True Me.OPT_FILE_DATE_START.Text = "Start" @@ -430,116 +454,26 @@ ' Me.OPT_FILE_DATE_END.AutoSize = True Me.OPT_FILE_DATE_END.Dock = System.Windows.Forms.DockStyle.Fill - Me.OPT_FILE_DATE_END.Location = New System.Drawing.Point(456, 4) + Me.OPT_FILE_DATE_END.Location = New System.Drawing.Point(460, 4) Me.OPT_FILE_DATE_END.Name = "OPT_FILE_DATE_END" - Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(108, 22) + Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(110, 22) Me.OPT_FILE_DATE_END.TabIndex = 4 Me.OPT_FILE_DATE_END.TabStop = True Me.OPT_FILE_DATE_END.Text = "End" Me.OPT_FILE_DATE_END.UseVisualStyleBackColor = True ' - 'CH_EXIT_CONFIRM - ' - Me.CH_EXIT_CONFIRM.AutoSize = True - Me.CH_EXIT_CONFIRM.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_EXIT_CONFIRM.Location = New System.Drawing.Point(4, 266) - Me.CH_EXIT_CONFIRM.Name = "CH_EXIT_CONFIRM" - Me.CH_EXIT_CONFIRM.Size = New System.Drawing.Size(562, 19) - Me.CH_EXIT_CONFIRM.TabIndex = 9 - Me.CH_EXIT_CONFIRM.Text = "Exit confirm" - Me.CH_EXIT_CONFIRM.UseVisualStyleBackColor = True - ' - 'CH_CLOSE_TO_TRAY - ' - Me.CH_CLOSE_TO_TRAY.AutoSize = True - Me.CH_CLOSE_TO_TRAY.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_CLOSE_TO_TRAY.Location = New System.Drawing.Point(4, 292) - Me.CH_CLOSE_TO_TRAY.Name = "CH_CLOSE_TO_TRAY" - Me.CH_CLOSE_TO_TRAY.Size = New System.Drawing.Size(562, 19) - Me.CH_CLOSE_TO_TRAY.TabIndex = 10 - Me.CH_CLOSE_TO_TRAY.Text = "Close to tray" - Me.CH_CLOSE_TO_TRAY.UseVisualStyleBackColor = True - ' - 'CH_SHOW_NOTIFY - ' - Me.CH_SHOW_NOTIFY.AutoSize = True - Me.CH_SHOW_NOTIFY.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_SHOW_NOTIFY.Location = New System.Drawing.Point(4, 318) - Me.CH_SHOW_NOTIFY.Name = "CH_SHOW_NOTIFY" - Me.CH_SHOW_NOTIFY.Size = New System.Drawing.Size(562, 19) - Me.CH_SHOW_NOTIFY.TabIndex = 11 - Me.CH_SHOW_NOTIFY.Text = "Show notifications" - Me.CH_SHOW_NOTIFY.UseVisualStyleBackColor = True - ' 'CH_FAST_LOAD ' Me.CH_FAST_LOAD.AutoSize = True Me.CH_FAST_LOAD.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_FAST_LOAD.Location = New System.Drawing.Point(4, 344) + Me.CH_FAST_LOAD.Location = New System.Drawing.Point(4, 82) Me.CH_FAST_LOAD.Name = "CH_FAST_LOAD" - Me.CH_FAST_LOAD.Size = New System.Drawing.Size(562, 19) - Me.CH_FAST_LOAD.TabIndex = 12 + Me.CH_FAST_LOAD.Size = New System.Drawing.Size(568, 19) + Me.CH_FAST_LOAD.TabIndex = 3 Me.CH_FAST_LOAD.Text = "Fast profiles loading" TT_MAIN.SetToolTip(Me.CH_FAST_LOAD, "Fast loading of profiles in the main window") Me.CH_FAST_LOAD.UseVisualStyleBackColor = True ' - 'TXT_FOLDER_CMD - ' - Me.TXT_FOLDER_CMD.AutoShowClearButton = True - ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image) - ActionButton7.Enabled = False - ActionButton7.Index = 0 - ActionButton7.Name = "BTT_CLEAR" - ActionButton7.Visible = False - Me.TXT_FOLDER_CMD.Buttons.Add(ActionButton7) - Me.TXT_FOLDER_CMD.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox - Me.TXT_FOLDER_CMD.CaptionText = "Folder cmd" - Me.TXT_FOLDER_CMD.CaptionToolTipEnabled = True - Me.TXT_FOLDER_CMD.CaptionToolTipText = "The command to open a folder." - Me.TXT_FOLDER_CMD.Dock = System.Windows.Forms.DockStyle.Fill - Me.TXT_FOLDER_CMD.LeaveDefaultButtons = True - Me.TXT_FOLDER_CMD.Location = New System.Drawing.Point(4, 370) - Me.TXT_FOLDER_CMD.Name = "TXT_FOLDER_CMD" - Me.TXT_FOLDER_CMD.PlaceholderEnabled = True - Me.TXT_FOLDER_CMD.PlaceholderText = "MyCommand /arg {0}" - Me.TXT_FOLDER_CMD.Size = New System.Drawing.Size(562, 22) - Me.TXT_FOLDER_CMD.TabIndex = 13 - ' - 'CH_RECYCLE_DEL - ' - Me.CH_RECYCLE_DEL.AutoSize = True - Me.CH_RECYCLE_DEL.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_RECYCLE_DEL.Location = New System.Drawing.Point(4, 399) - Me.CH_RECYCLE_DEL.Name = "CH_RECYCLE_DEL" - Me.CH_RECYCLE_DEL.Size = New System.Drawing.Size(562, 19) - Me.CH_RECYCLE_DEL.TabIndex = 14 - Me.CH_RECYCLE_DEL.Text = "Delete data to recycle bin" - Me.CH_RECYCLE_DEL.UseVisualStyleBackColor = True - ' - 'TXT_SCRIPT - ' - ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image) - ActionButton8.Index = 0 - ActionButton8.Name = "BTT_OPEN" - ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image) - ActionButton9.Index = 1 - ActionButton9.Name = "BTT_CLEAR" - Me.TXT_SCRIPT.Buttons.Add(ActionButton8) - Me.TXT_SCRIPT.Buttons.Add(ActionButton9) - Me.TXT_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox - Me.TXT_SCRIPT.CaptionText = "Script" - Me.TXT_SCRIPT.CaptionToolTipEnabled = True - Me.TXT_SCRIPT.CaptionToolTipText = "Default script. If the checkbox is checked, newly created users will be created u" & - "sing the script option." - Me.TXT_SCRIPT.ChangeControlsEnableOnCheckedChange = False - Me.TXT_SCRIPT.Dock = System.Windows.Forms.DockStyle.Fill - Me.TXT_SCRIPT.Location = New System.Drawing.Point(4, 425) - Me.TXT_SCRIPT.Name = "TXT_SCRIPT" - Me.TXT_SCRIPT.PlaceholderEnabled = True - Me.TXT_SCRIPT.PlaceholderText = "Enter script path here..." - Me.TXT_SCRIPT.Size = New System.Drawing.Size(562, 22) - Me.TXT_SCRIPT.TabIndex = 15 - ' 'CH_COPY_CHANNEL_USER_IMAGE ' Me.CH_COPY_CHANNEL_USER_IMAGE.AutoSize = True @@ -629,10 +563,10 @@ ' Me.CH_UDESCR_UP.AutoSize = True Me.CH_UDESCR_UP.Dock = System.Windows.Forms.DockStyle.Fill - Me.CH_UDESCR_UP.Location = New System.Drawing.Point(4, 108) + Me.CH_UDESCR_UP.Location = New System.Drawing.Point(4, 4) Me.CH_UDESCR_UP.Name = "CH_UDESCR_UP" - Me.CH_UDESCR_UP.Size = New System.Drawing.Size(562, 19) - Me.CH_UDESCR_UP.TabIndex = 4 + Me.CH_UDESCR_UP.Size = New System.Drawing.Size(568, 19) + Me.CH_UDESCR_UP.TabIndex = 0 Me.CH_UDESCR_UP.Text = "Update user description every time" TT_MAIN.SetToolTip(Me.CH_UDESCR_UP, "If the user description does not contain a new user description, then the new one" & " will be added via a new line") @@ -689,7 +623,7 @@ TAB_BASIS.Location = New System.Drawing.Point(4, 22) TAB_BASIS.Name = "TAB_BASIS" TAB_BASIS.Padding = New System.Windows.Forms.Padding(3) - TAB_BASIS.Size = New System.Drawing.Size(576, 481) + TAB_BASIS.Size = New System.Drawing.Size(576, 259) TAB_BASIS.TabIndex = 0 TAB_BASIS.Text = "Basis" ' @@ -699,7 +633,7 @@ TAB_DEFAULTS.Location = New System.Drawing.Point(4, 22) TAB_DEFAULTS.Name = "TAB_DEFAULTS" TAB_DEFAULTS.Padding = New System.Windows.Forms.Padding(3) - TAB_DEFAULTS.Size = New System.Drawing.Size(576, 481) + TAB_DEFAULTS.Size = New System.Drawing.Size(576, 335) TAB_DEFAULTS.TabIndex = 1 TAB_DEFAULTS.Text = "Defaults" ' @@ -712,18 +646,17 @@ TP_DEFS.Controls.Add(Me.CH_DOWN_VIDEOS, 0, 3) TP_DEFS.Controls.Add(Me.CH_DOWN_IMAGES, 0, 2) TP_DEFS.Controls.Add(Me.CH_DEF_TEMP, 0, 1) - TP_DEFS.Controls.Add(Me.CH_UDESCR_UP, 0, 4) TP_DEFS.Dock = System.Windows.Forms.DockStyle.Fill TP_DEFS.Location = New System.Drawing.Point(3, 3) TP_DEFS.Name = "TP_DEFS" - TP_DEFS.RowCount = 6 - TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_DEFS.RowCount = 5 TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) - TP_DEFS.Size = New System.Drawing.Size(570, 475) + TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!)) + TP_DEFS.Size = New System.Drawing.Size(570, 329) TP_DEFS.TabIndex = 0 ' 'TAB_DEFS_CHANNELS @@ -732,7 +665,7 @@ TAB_DEFS_CHANNELS.Location = New System.Drawing.Point(4, 22) TAB_DEFS_CHANNELS.Name = "TAB_DEFS_CHANNELS" TAB_DEFS_CHANNELS.Padding = New System.Windows.Forms.Padding(3) - TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 481) + TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 335) TAB_DEFS_CHANNELS.TabIndex = 4 TAB_DEFS_CHANNELS.Text = "Channels" ' @@ -756,7 +689,7 @@ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) - TP_CHANNELS.Size = New System.Drawing.Size(570, 475) + TP_CHANNELS.Size = New System.Drawing.Size(570, 329) TP_CHANNELS.TabIndex = 0 ' 'TXT_CHANNEL_USER_POST_LIMIT @@ -779,16 +712,173 @@ Me.TXT_CHANNEL_USER_POST_LIMIT.Text = "1" Me.TXT_CHANNEL_USER_POST_LIMIT.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center ' + 'TAB_BEHAVIOR + ' + TAB_BEHAVIOR.Controls.Add(TP_BEHAVIOR) + TAB_BEHAVIOR.Location = New System.Drawing.Point(4, 22) + TAB_BEHAVIOR.Name = "TAB_BEHAVIOR" + TAB_BEHAVIOR.Size = New System.Drawing.Size(576, 335) + TAB_BEHAVIOR.TabIndex = 5 + TAB_BEHAVIOR.Text = "Behavior" + ' + 'TP_BEHAVIOR + ' + TP_BEHAVIOR.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single] + TP_BEHAVIOR.ColumnCount = 1 + TP_BEHAVIOR.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) + TP_BEHAVIOR.Controls.Add(Me.TXT_FOLDER_CMD, 0, 5) + TP_BEHAVIOR.Controls.Add(Me.CH_EXIT_CONFIRM, 0, 0) + TP_BEHAVIOR.Controls.Add(Me.CH_CLOSE_TO_TRAY, 0, 1) + TP_BEHAVIOR.Controls.Add(Me.CH_SHOW_NOTIFY, 0, 2) + TP_BEHAVIOR.Controls.Add(Me.CH_FAST_LOAD, 0, 3) + TP_BEHAVIOR.Controls.Add(Me.CH_RECYCLE_DEL, 0, 4) + TP_BEHAVIOR.Dock = System.Windows.Forms.DockStyle.Fill + TP_BEHAVIOR.Location = New System.Drawing.Point(0, 0) + TP_BEHAVIOR.Name = "TP_BEHAVIOR" + TP_BEHAVIOR.RowCount = 7 + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) + TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!)) + TP_BEHAVIOR.Size = New System.Drawing.Size(576, 335) + TP_BEHAVIOR.TabIndex = 0 + ' + 'TXT_FOLDER_CMD + ' + Me.TXT_FOLDER_CMD.AutoShowClearButton = True + ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image) + ActionButton7.Enabled = False + ActionButton7.Index = 0 + ActionButton7.Name = "BTT_CLEAR" + ActionButton7.Visible = False + Me.TXT_FOLDER_CMD.Buttons.Add(ActionButton7) + Me.TXT_FOLDER_CMD.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox + Me.TXT_FOLDER_CMD.CaptionText = "Folder cmd" + Me.TXT_FOLDER_CMD.CaptionToolTipEnabled = True + Me.TXT_FOLDER_CMD.CaptionToolTipText = "The command to open a folder." + Me.TXT_FOLDER_CMD.Dock = System.Windows.Forms.DockStyle.Fill + Me.TXT_FOLDER_CMD.LeaveDefaultButtons = True + Me.TXT_FOLDER_CMD.Location = New System.Drawing.Point(4, 134) + Me.TXT_FOLDER_CMD.Name = "TXT_FOLDER_CMD" + Me.TXT_FOLDER_CMD.PlaceholderEnabled = True + Me.TXT_FOLDER_CMD.PlaceholderText = "MyCommand /arg {0}" + Me.TXT_FOLDER_CMD.Size = New System.Drawing.Size(568, 22) + Me.TXT_FOLDER_CMD.TabIndex = 5 + ' + 'CH_EXIT_CONFIRM + ' + Me.CH_EXIT_CONFIRM.AutoSize = True + Me.CH_EXIT_CONFIRM.Dock = System.Windows.Forms.DockStyle.Fill + Me.CH_EXIT_CONFIRM.Location = New System.Drawing.Point(4, 4) + Me.CH_EXIT_CONFIRM.Name = "CH_EXIT_CONFIRM" + Me.CH_EXIT_CONFIRM.Size = New System.Drawing.Size(568, 19) + Me.CH_EXIT_CONFIRM.TabIndex = 0 + Me.CH_EXIT_CONFIRM.Text = "Exit confirm" + Me.CH_EXIT_CONFIRM.UseVisualStyleBackColor = True + ' + 'CH_CLOSE_TO_TRAY + ' + Me.CH_CLOSE_TO_TRAY.AutoSize = True + Me.CH_CLOSE_TO_TRAY.Dock = System.Windows.Forms.DockStyle.Fill + Me.CH_CLOSE_TO_TRAY.Location = New System.Drawing.Point(4, 30) + Me.CH_CLOSE_TO_TRAY.Name = "CH_CLOSE_TO_TRAY" + Me.CH_CLOSE_TO_TRAY.Size = New System.Drawing.Size(568, 19) + Me.CH_CLOSE_TO_TRAY.TabIndex = 1 + Me.CH_CLOSE_TO_TRAY.Text = "Close to tray" + Me.CH_CLOSE_TO_TRAY.UseVisualStyleBackColor = True + ' + 'CH_SHOW_NOTIFY + ' + Me.CH_SHOW_NOTIFY.AutoSize = True + Me.CH_SHOW_NOTIFY.Dock = System.Windows.Forms.DockStyle.Fill + Me.CH_SHOW_NOTIFY.Location = New System.Drawing.Point(4, 56) + Me.CH_SHOW_NOTIFY.Name = "CH_SHOW_NOTIFY" + Me.CH_SHOW_NOTIFY.Size = New System.Drawing.Size(568, 19) + Me.CH_SHOW_NOTIFY.TabIndex = 2 + Me.CH_SHOW_NOTIFY.Text = "Show notifications" + Me.CH_SHOW_NOTIFY.UseVisualStyleBackColor = True + ' + 'CH_RECYCLE_DEL + ' + Me.CH_RECYCLE_DEL.AutoSize = True + Me.CH_RECYCLE_DEL.Dock = System.Windows.Forms.DockStyle.Fill + Me.CH_RECYCLE_DEL.Location = New System.Drawing.Point(4, 108) + Me.CH_RECYCLE_DEL.Name = "CH_RECYCLE_DEL" + Me.CH_RECYCLE_DEL.Size = New System.Drawing.Size(568, 19) + Me.CH_RECYCLE_DEL.TabIndex = 4 + Me.CH_RECYCLE_DEL.Text = "Delete data to recycle bin" + Me.CH_RECYCLE_DEL.UseVisualStyleBackColor = True + ' + 'TAB_DOWN + ' + TAB_DOWN.Controls.Add(TP_DOWNLOADING) + TAB_DOWN.Location = New System.Drawing.Point(4, 22) + TAB_DOWN.Name = "TAB_DOWN" + TAB_DOWN.Size = New System.Drawing.Size(576, 335) + TAB_DOWN.TabIndex = 6 + TAB_DOWN.Text = "Downloading" + ' + 'TP_DOWNLOADING + ' + TP_DOWNLOADING.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single] + TP_DOWNLOADING.ColumnCount = 1 + TP_DOWNLOADING.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) + TP_DOWNLOADING.Controls.Add(TP_FILE_NAME, 0, 1) + TP_DOWNLOADING.Controls.Add(TP_FILE_PATTERNS, 0, 2) + TP_DOWNLOADING.Controls.Add(Me.TXT_SCRIPT, 0, 3) + TP_DOWNLOADING.Controls.Add(Me.CH_UDESCR_UP, 0, 0) + TP_DOWNLOADING.Dock = System.Windows.Forms.DockStyle.Fill + TP_DOWNLOADING.Location = New System.Drawing.Point(0, 0) + TP_DOWNLOADING.Name = "TP_DOWNLOADING" + TP_DOWNLOADING.RowCount = 5 + TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!)) + TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!)) + TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!)) + TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!)) + TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) + TP_DOWNLOADING.Size = New System.Drawing.Size(576, 335) + TP_DOWNLOADING.TabIndex = 0 + ' + 'TXT_SCRIPT + ' + ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image) + ActionButton8.Index = 0 + ActionButton8.Name = "BTT_OPEN" + ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image) + ActionButton9.Index = 1 + ActionButton9.Name = "BTT_CLEAR" + Me.TXT_SCRIPT.Buttons.Add(ActionButton8) + Me.TXT_SCRIPT.Buttons.Add(ActionButton9) + Me.TXT_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox + Me.TXT_SCRIPT.CaptionText = "Script" + Me.TXT_SCRIPT.CaptionToolTipEnabled = True + Me.TXT_SCRIPT.CaptionToolTipText = "Default script. If the checkbox is checked, newly created users will be created u" & + "sing the script option." + Me.TXT_SCRIPT.ChangeControlsEnableOnCheckedChange = False + Me.TXT_SCRIPT.Dock = System.Windows.Forms.DockStyle.Fill + Me.TXT_SCRIPT.Location = New System.Drawing.Point(4, 92) + Me.TXT_SCRIPT.Name = "TXT_SCRIPT" + Me.TXT_SCRIPT.PlaceholderEnabled = True + Me.TXT_SCRIPT.PlaceholderText = "Enter script path here..." + Me.TXT_SCRIPT.Size = New System.Drawing.Size(568, 22) + Me.TXT_SCRIPT.TabIndex = 3 + ' 'TAB_MAIN ' Me.TAB_MAIN.Controls.Add(TAB_BASIS) + Me.TAB_MAIN.Controls.Add(TAB_BEHAVIOR) Me.TAB_MAIN.Controls.Add(TAB_DEFAULTS) + Me.TAB_MAIN.Controls.Add(TAB_DOWN) Me.TAB_MAIN.Controls.Add(TAB_DEFS_CHANNELS) Me.TAB_MAIN.Dock = System.Windows.Forms.DockStyle.Fill Me.TAB_MAIN.Location = New System.Drawing.Point(0, 0) Me.TAB_MAIN.Name = "TAB_MAIN" Me.TAB_MAIN.SelectedIndex = 0 - Me.TAB_MAIN.Size = New System.Drawing.Size(584, 507) + Me.TAB_MAIN.Size = New System.Drawing.Size(584, 285) Me.TAB_MAIN.TabIndex = 1 ' 'CONTAINER_MAIN @@ -797,13 +887,13 @@ 'CONTAINER_MAIN.ContentPanel ' Me.CONTAINER_MAIN.ContentPanel.Controls.Add(Me.TAB_MAIN) - Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 507) + Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 285) Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0) Me.CONTAINER_MAIN.Name = "CONTAINER_MAIN" Me.CONTAINER_MAIN.RightToolStripPanelVisible = False - Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 507) + Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 310) Me.CONTAINER_MAIN.TabIndex = 0 Me.CONTAINER_MAIN.TopToolStripPanelVisible = False ' @@ -811,15 +901,15 @@ ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(584, 507) + Me.ClientSize = New System.Drawing.Size(584, 310) Me.Controls.Add(Me.CONTAINER_MAIN) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.KeyPreview = True Me.MaximizeBox = False - Me.MaximumSize = New System.Drawing.Size(600, 546) + Me.MaximumSize = New System.Drawing.Size(600, 349) Me.MinimizeBox = False - Me.MinimumSize = New System.Drawing.Size(600, 546) + Me.MinimumSize = New System.Drawing.Size(600, 349) Me.Name = "GlobalSettingsForm" Me.ShowInTaskbar = False Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide @@ -838,8 +928,6 @@ TP_FILE_NAME.PerformLayout() TP_FILE_PATTERNS.ResumeLayout(False) TP_FILE_PATTERNS.PerformLayout() - CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).EndInit() TP_CHANNELS_IMGS.ResumeLayout(False) CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).EndInit() @@ -851,6 +939,14 @@ TP_CHANNELS.ResumeLayout(False) TP_CHANNELS.PerformLayout() CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).EndInit() + TAB_BEHAVIOR.ResumeLayout(False) + TP_BEHAVIOR.ResumeLayout(False) + TP_BEHAVIOR.PerformLayout() + CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).EndInit() + TAB_DOWN.ResumeLayout(False) + TP_DOWNLOADING.ResumeLayout(False) + TP_DOWNLOADING.PerformLayout() + CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).EndInit() Me.TAB_MAIN.ResumeLayout(False) Me.CONTAINER_MAIN.ContentPanel.ResumeLayout(False) Me.CONTAINER_MAIN.ResumeLayout(False) @@ -894,5 +990,7 @@ Private WithEvents TXT_FOLDER_CMD As PersonalUtilities.Forms.Controls.TextBoxExtended Private WithEvents CH_RECYCLE_DEL As CheckBox Private WithEvents TXT_SCRIPT As PersonalUtilities.Forms.Controls.TextBoxExtended + Private WithEvents CH_SHOW_GROUPS As CheckBox + Private WithEvents CH_USERS_GROUPING As CheckBox End Class End Namespace \ No newline at end of file diff --git a/SCrawler/Editors/GlobalSettingsForm.resx b/SCrawler/Editors/GlobalSettingsForm.resx index 3a5689c..0be48c3 100644 --- a/SCrawler/Editors/GlobalSettingsForm.resx +++ b/SCrawler/Editors/GlobalSettingsForm.resx @@ -191,6 +191,12 @@ AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC + + False + + + 17, 17 + False @@ -200,39 +206,6 @@ False - - False - - - 17, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go - tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX - AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP - WQwhyWIyJIUW5NqyPb7oCVtIlhVTwYf8nv7/t2zJagel9KmqKsIACYL9RjI8UHz5zshougZr/AEvbxEP - aZCDBY3VslixaJvX3wzkkDiOwbZtDRGA5vdNAg+TL27qgmt5XkBG/gTdAG7Gt+3PP9oOaEGFCVEC6rp+ - 5g9MfM/c5e4OsEZMZkQEtGL5H2DdZ5JRArDwPA+iKII0TfkC9vroC9j5vq8JTWw3WzWgLMtZGIaa0MR8 - vlAD8PYlSaIJTTiOowY0p0Bc19XEJo6HE59FAPuMzyAINKGJ1XLFZxHALtMrnkBXOIQIIIQ8YvF/KrgB - cMaRN0UdBBkAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go - tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX - AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC - - This is a global setting for newly added users only. This parameter specifies how the video will be stored in the users' download path. @@ -256,6 +229,45 @@ If checked, videos will be stored in separate folder; otherwise, videos will be False + + False + + + False + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go + tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX + AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC + + + + False + + + False + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP + WQwhyWIyJIUW5NqyPb7oCVtIlhVTwYf8nv7/t2zJagel9KmqKsIACYL9RjI8UHz5zshougZr/AEvbxEP + aZCDBY3VslixaJvX3wzkkDiOwbZtDRGA5vdNAg+TL27qgmt5XkBG/gTdAG7Gt+3PP9oOaEGFCVEC6rp+ + 5g9MfM/c5e4OsEZMZkQEtGL5H2DdZ5JRArDwPA+iKII0TfkC9vroC9j5vq8JTWw3WzWgLMtZGIaa0MR8 + vlAD8PYlSaIJTTiOowY0p0Bc19XEJo6HE59FAPuMzyAINKGJ1XLFZxHALtMrnkBXOIQIIIQ8YvF/KrgB + cMaRN0UdBBkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go + tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX + AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC + + AAABAA8AAAAQAAEABAAwOgAA9gAAADAwEAABAAQAaAYAACg7AAAgIBAAAQAEAOgCAACQQQAAGBgQAAEA diff --git a/SCrawler/Editors/GlobalSettingsForm.vb b/SCrawler/Editors/GlobalSettingsForm.vb index ec268d7..c5818c3 100644 --- a/SCrawler/Editors/GlobalSettingsForm.vb +++ b/SCrawler/Editors/GlobalSettingsForm.vb @@ -32,18 +32,33 @@ Namespace Editors TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart TXT_IMGUR_CLIENT_ID.Text = .ImgurClientID + CH_SHOW_GROUPS.Checked = .ShowGroups + CH_USERS_GROUPING.Checked = .UseGrouping + 'Behavior + CH_EXIT_CONFIRM.Checked = .ExitConfirm + CH_CLOSE_TO_TRAY.Checked = .CloseToTray + CH_SHOW_NOTIFY.Checked = .ShowNotifications CH_FAST_LOAD.Checked = .FastProfilesLoading + CH_RECYCLE_DEL.Checked = .DeleteToRecycleBin TXT_FOLDER_CMD.Text = .OpenFolderInOtherProgram TXT_FOLDER_CMD.Checked = .OpenFolderInOtherProgram.Attribute - CH_RECYCLE_DEL.Checked = .DeleteToRecycleBin - TXT_SCRIPT.Checked = .ScriptData.Attribute - TXT_SCRIPT.Text = .ScriptData.Value 'Defaults CH_SEPARATE_VIDEO_FOLDER.Checked = .SeparateVideoFolder.Value CH_DEF_TEMP.Checked = .DefaultTemporary CH_DOWN_IMAGES.Checked = .DefaultDownloadImages CH_DOWN_VIDEOS.Checked = .DefaultDownloadVideos + 'Downloading CH_UDESCR_UP.Checked = .UpdateUserDescriptionEveryTime + TXT_SCRIPT.Checked = .ScriptData.Attribute + TXT_SCRIPT.Text = .ScriptData.Value + 'Downloading: file names + CH_FILE_NAME_CHANGE.Checked = .FileReplaceNameByDate Or .FileAddDateToFileName Or .FileAddTimeToFileName + OPT_FILE_NAME_REPLACE.Checked = .FileReplaceNameByDate + OPT_FILE_NAME_ADD_DATE.Checked = Not .FileReplaceNameByDate + CH_FILE_DATE.Checked = .FileAddDateToFileName + CH_FILE_TIME.Checked = .FileAddTimeToFileName + OPT_FILE_DATE_START.Checked = Not .FileDateTimePositionEnd + OPT_FILE_DATE_END.Checked = .FileDateTimePositionEnd 'Channels TXT_CHANNELS_ROWS.Value = .ChannelsImagesRows.Value TXT_CHANNELS_COLUMNS.Value = .ChannelsImagesColumns.Value @@ -53,18 +68,6 @@ Namespace Editors CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked = .ChannelsAddUserImagesFromAllChannels CH_COPY_CHANNEL_USER_IMAGE_ALL.Enabled = CH_COPY_CHANNEL_USER_IMAGE.Checked CH_CHANNELS_USERS_TEMP.Checked = .ChannelsDefaultTemporary - 'Channels filenames - CH_FILE_NAME_CHANGE.Checked = .FileReplaceNameByDate Or .FileAddDateToFileName Or .FileAddTimeToFileName - OPT_FILE_NAME_REPLACE.Checked = .FileReplaceNameByDate - OPT_FILE_NAME_ADD_DATE.Checked = Not .FileReplaceNameByDate - CH_FILE_DATE.Checked = .FileAddDateToFileName - CH_FILE_TIME.Checked = .FileAddTimeToFileName - OPT_FILE_DATE_START.Checked = Not .FileDateTimePositionEnd - OPT_FILE_DATE_END.Checked = .FileDateTimePositionEnd - 'Other program settings - CH_EXIT_CONFIRM.Checked = .ExitConfirm - CH_CLOSE_TO_TRAY.Checked = .CloseToTray - CH_SHOW_NOTIFY.Checked = .ShowNotifications End With .MyFieldsChecker = New FieldsChecker With .MyFieldsChecker @@ -121,31 +124,26 @@ Namespace Editors .ChannelsMaxJobsCount.Value = TXT_MAX_JOBS_CHANNELS.Value .CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked .ImgurClientID.Value = TXT_IMGUR_CLIENT_ID.Text + .ShowGroups.Value = CH_SHOW_GROUPS.Checked + .UseGrouping.Value = CH_USERS_GROUPING.Checked + 'Behavior + .ExitConfirm.Value = CH_EXIT_CONFIRM.Checked + .CloseToTray.Value = CH_CLOSE_TO_TRAY.Checked + .ShowNotifications.Value = CH_SHOW_NOTIFY.Checked .FastProfilesLoading.Value = CH_FAST_LOAD.Checked + .DeleteToRecycleBin.Value = CH_RECYCLE_DEL.Checked .OpenFolderInOtherProgram.Value = TXT_FOLDER_CMD.Text .OpenFolderInOtherProgram.Attribute.Value = TXT_FOLDER_CMD.Checked - .DeleteToRecycleBin.Value = CH_RECYCLE_DEL.Checked - .ScriptData.Value = TXT_SCRIPT.Text - .ScriptData.Attribute.Value = TXT_SCRIPT.Checked 'Defaults .SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked .DefaultTemporary.Value = CH_DEF_TEMP.Checked .DefaultDownloadImages.Value = CH_DOWN_IMAGES.Checked .DefaultDownloadVideos.Value = CH_DOWN_VIDEOS.Checked + 'Downloading .UpdateUserDescriptionEveryTime.Value = CH_UDESCR_UP.Checked - 'Channels - .ChannelsImagesRows.Value = CInt(TXT_CHANNELS_ROWS.Value) - .ChannelsImagesColumns.Value = CInt(TXT_CHANNELS_COLUMNS.Value) - .FromChannelDownloadTop.Value = CInt(TXT_CHANNEL_USER_POST_LIMIT.Value) - .FromChannelDownloadTopUse.Value = TXT_CHANNEL_USER_POST_LIMIT.Checked - .FromChannelCopyImageToUser.Value = CH_COPY_CHANNEL_USER_IMAGE.Checked - .ChannelsAddUserImagesFromAllChannels.Value = CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked - .ChannelsDefaultTemporary.Value = CH_CHANNELS_USERS_TEMP.Checked - 'Other program settings - .ExitConfirm.Value = CH_EXIT_CONFIRM.Checked - .CloseToTray.Value = CH_CLOSE_TO_TRAY.Checked - .ShowNotifications.Value = CH_SHOW_NOTIFY.Checked - + .ScriptData.Value = TXT_SCRIPT.Text + .ScriptData.Attribute.Value = TXT_SCRIPT.Checked + 'Downloading: file names If CH_FILE_NAME_CHANGE.Checked Then .FileReplaceNameByDate.Value = OPT_FILE_NAME_REPLACE.Checked .FileAddDateToFileName.Value = CH_FILE_DATE.Checked @@ -156,6 +154,14 @@ Namespace Editors .FileAddTimeToFileName.Value = False .FileReplaceNameByDate.Value = False End If + 'Channels + .ChannelsImagesRows.Value = CInt(TXT_CHANNELS_ROWS.Value) + .ChannelsImagesColumns.Value = CInt(TXT_CHANNELS_COLUMNS.Value) + .FromChannelDownloadTop.Value = CInt(TXT_CHANNEL_USER_POST_LIMIT.Value) + .FromChannelDownloadTopUse.Value = TXT_CHANNEL_USER_POST_LIMIT.Checked + .FromChannelCopyImageToUser.Value = CH_COPY_CHANNEL_USER_IMAGE.Checked + .ChannelsAddUserImagesFromAllChannels.Value = CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked + .ChannelsDefaultTemporary.Value = CH_CHANNELS_USERS_TEMP.Checked .EndUpdate() End With diff --git a/SCrawler/Editors/LabelsForm.vb b/SCrawler/Editors/LabelsForm.vb index 18ec7f7..a097b76 100644 --- a/SCrawler/Editors/LabelsForm.vb +++ b/SCrawler/Editors/LabelsForm.vb @@ -11,12 +11,13 @@ Imports PersonalUtilities.Forms.Toolbars Imports PersonalUtilities.Forms.Controls Imports PersonalUtilities.Forms.Controls.Base Imports PersonalUtilities.Functions.Messaging -Friend Class LabelsForm : Implements IOkCancelToolbar +Friend Class LabelsForm : Implements IOkCancelDeleteToolbar Private ReadOnly MyDefs As DefaultFormProps Friend ReadOnly Property LabelsList As List(Of String) Private _AnyLabelAdd As Boolean = False Friend Property MultiUser As Boolean = False - Public Property MultiUserClearExists As Boolean = False + Friend Property MultiUserClearExists As Boolean = False + Friend Property WithDeleteButton As Boolean = False Friend Sub New(ByVal LabelsArr As IEnumerable(Of String)) InitializeComponent() LabelsList = New List(Of String) @@ -27,7 +28,7 @@ Friend Class LabelsForm : Implements IOkCancelToolbar Try With MyDefs .MyViewInitialize(Me, Settings.Design) - .AddOkCancelToolbar() + .AddOkCancelToolbar(, WithDeleteButton) .DelegateClosingChecker() If Settings.Labels.Count > 0 Then Dim items As New List(Of Integer) @@ -77,6 +78,10 @@ Friend Class LabelsForm : Implements IOkCancelToolbar Private Sub ToolbarBttCancel() Implements IOkCancelToolbar.ToolbarBttCancel MyDefs.CloseForm(DialogResult.Cancel) End Sub + Private Sub ToolbarBttDelete() Implements IOkCancelDeleteToolbar.ToolbarBttDelete + LabelsList.Clear() + MyDefs.CloseForm() + End Sub Private Sub CMB_LABELS_ActionOnButtonClick(ByVal Sender As ActionButton) Handles CMB_LABELS.ActionOnButtonClick If Sender.DefaultButton = ActionButton.DefaultButtons.Add Then AddNewLabel() End Sub diff --git a/SCrawler/Editors/UserCreatorForm.vb b/SCrawler/Editors/UserCreatorForm.vb index 8eef094..f544913 100644 --- a/SCrawler/Editors/UserCreatorForm.vb +++ b/SCrawler/Editors/UserCreatorForm.vb @@ -150,7 +150,7 @@ Namespace Editors CH_DOWN_VIDEOS.Checked = .DownloadVideos TXT_SCRIPT.Checked = .ScriptUse TXT_SCRIPT.Text = .ScriptData - TXT_DESCR.Text = .Description + TXT_DESCR.Text = .Description.StringFormatLines UserLabels.ListAddList(.Labels) If UserLabels.ListExists Then TXT_LABELS.Text = UserLabels.ListToString End With @@ -377,6 +377,7 @@ CloseForm: Dim UsersForCreate As New List(Of UserInfo) Dim BannedUsers() As String = Nothing Dim uu$ + Dim ulabels As List(Of String) = ListAddList(Nothing, UserLabels).ListAddValue(LabelsKeeper.NoParsedUser, LAP.NotContainsOnly) Dim tmpUser As UserInfo Dim s As SettingsHost = GetSiteByCheckers() Dim sObj As ExchangeOptions @@ -387,6 +388,8 @@ CloseForm: Dim sf As Func(Of SettingsHost, String) = Function(__s) SpecialPath(__s).PathWithSeparator Dim __sf As Func(Of String, SettingsHost, SFile) = Function(Input, __s) IIf(sf(__s).IsEmptyString, Nothing, New SFile($"{sf(__s)}{Input}\")) + Settings.Labels.Add(LabelsKeeper.NoParsedUser) + For i% = 0 To u.Count - 1 uu = u(i) If CH_AUTO_DETECT_SITE.Checked Then @@ -429,7 +432,7 @@ CloseForm: .DownloadImages = CH_DOWN_IMAGES.Checked .DownloadVideos = CH_DOWN_VIDEOS.Checked .ScriptUse = TXT_SCRIPT.Checked - .Labels.ListAddList(UserLabels) + .Labels.ListAddList(ulabels) .ParseUserMediaOnly = CH_PARSE_USER_MEDIA.Checked If Not CH_AUTO_DETECT_SITE.Checked Then _ DirectCast(.Self, UserDataBase).HOST.Source.UserOptions(MyExchangeOptions, False) diff --git a/SCrawler/LabelsKeeper.vb b/SCrawler/LabelsKeeper.vb index d2f2d0b..bd786fa 100644 --- a/SCrawler/LabelsKeeper.vb +++ b/SCrawler/LabelsKeeper.vb @@ -6,6 +6,8 @@ ' ' This program is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY +Imports PersonalUtilities.Functions.XML +Imports PersonalUtilities.Functions.XML.Base Imports PersonalUtilities.Tools Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of String), IDisposable Friend Event NewLabelAdded() @@ -20,13 +22,33 @@ Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of Return NewLabels.Count > 0 End Get End Property - Friend ReadOnly Property CurrentSelection As List(Of String) - Friend Sub New() + Friend ReadOnly Property Current As XMLValuesCollection(Of String) + Friend ReadOnly Property Excluded As XMLValuesCollection(Of String) + Friend ReadOnly Property ExcludedIgnore As XMLValue(Of Boolean) + Private ReadOnly Property SourceXML As XmlFile + Friend Sub New(ByRef x As XmlFile) + SourceXML = x LabelsList = New List(Of String) NewLabels = New List(Of String) - CurrentSelection = New List(Of String) If LabelsFile.Exists Then LabelsList.ListAddList(IO.File.ReadAllLines(LabelsFile), LAP.NotContainsOnly) - LabelsList.ListAddList({NoLabeledName, NoParsedUser}, LAP.NotContainsOnly) + Current = New XMLValuesCollection(Of String)(XMLValueBase.ListModes.String, "LatestSelectedLabels", x) With {.ListAddParameters = LAP.NotContainsOnly} + Excluded = New XMLValuesCollection(Of String)(XMLValueBase.ListModes.String, "LatestExcludedLabels", x) With {.ListAddParameters = LAP.NotContainsOnly} + ExcludedIgnore = New XMLValue(Of Boolean)("LatestExcludedLabelsIgnore", False, x) + End Sub + Friend Sub Verify() + SourceXML.BeginUpdate() + Dim r As Predicate(Of String) = Function(l) Not LabelsList.Contains(l) + Dim c% = Current.Count + If c > 0 Then + Current.ValuesList.RemoveAll(r) + If Not Current.Count = c Then Current.Update() + End If + c = Excluded.Count + If c > 0 Then + Excluded.ValuesList.RemoveAll(r) + If Not c = Excluded.Count Then Excluded.Update() + End If + SourceXML.EndUpdate() End Sub Friend ReadOnly Property ToList As List(Of String) Get @@ -93,7 +115,7 @@ Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of Private disposedValue As Boolean = False Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean) If Not disposedValue Then - If disposing Then Clear() : CurrentSelection.Clear() + If disposing Then Clear() : Current.Dispose() : Excluded.Dispose() disposedValue = True End If End Sub diff --git a/SCrawler/MainFrame.Designer.vb b/SCrawler/MainFrame.Designer.vb index 275cddd..f792dcc 100644 --- a/SCrawler/MainFrame.Designer.vb +++ b/SCrawler/MainFrame.Designer.vb @@ -28,7 +28,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Dim MENU_VIEW_SEP_3 As System.Windows.Forms.ToolStripSeparator Dim MENU_VIEW_SEP_2 As System.Windows.Forms.ToolStripSeparator Dim TRAY_SEP_1 As System.Windows.Forms.ToolStripSeparator - Dim MENU_VIEW_SEP_4 As System.Windows.Forms.ToolStripSeparator Dim MENU_DOWN_ALL_SEP_1 As System.Windows.Forms.ToolStripSeparator Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainFrame)) Me.MENU_SETTINGS = New System.Windows.Forms.ToolStripDropDownButton() @@ -64,7 +63,8 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_SHOW_SUSPENDED = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_SHOW_LABELS = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_SHOW_NO_LABELS = New System.Windows.Forms.ToolStripMenuItem() - Me.BTT_SELECT_LABELS = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_SHOW_EXCLUDED_LABELS = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_SHOW_LIMIT_DATES = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_LOG = New System.Windows.Forms.ToolStripButton() Me.BTT_VERSION_INFO = New System.Windows.Forms.ToolStripButton() @@ -98,6 +98,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.TRAY_CONTEXT = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.BTT_TRAY_SHOW_HIDE = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_TRAY_CLOSE = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_SHOW_SHOW_GROUPS = New System.Windows.Forms.ToolStripMenuItem() SEP_1 = New System.Windows.Forms.ToolStripSeparator() SEP_2 = New System.Windows.Forms.ToolStripSeparator() CONTEXT_SEP_1 = New System.Windows.Forms.ToolStripSeparator() @@ -112,7 +113,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form MENU_VIEW_SEP_3 = New System.Windows.Forms.ToolStripSeparator() MENU_VIEW_SEP_2 = New System.Windows.Forms.ToolStripSeparator() TRAY_SEP_1 = New System.Windows.Forms.ToolStripSeparator() - MENU_VIEW_SEP_4 = New System.Windows.Forms.ToolStripSeparator() MENU_DOWN_ALL_SEP_1 = New System.Windows.Forms.ToolStripSeparator() Me.Toolbar_TOP.SuspendLayout() Me.Toolbar_BOTTOM.SuspendLayout() @@ -173,28 +173,23 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form 'MENU_VIEW_SEP_1 ' MENU_VIEW_SEP_1.Name = "MENU_VIEW_SEP_1" - MENU_VIEW_SEP_1.Size = New System.Drawing.Size(141, 6) + MENU_VIEW_SEP_1.Size = New System.Drawing.Size(228, 6) ' 'MENU_VIEW_SEP_3 ' MENU_VIEW_SEP_3.Name = "MENU_VIEW_SEP_3" - MENU_VIEW_SEP_3.Size = New System.Drawing.Size(141, 6) + MENU_VIEW_SEP_3.Size = New System.Drawing.Size(228, 6) ' 'MENU_VIEW_SEP_2 ' MENU_VIEW_SEP_2.Name = "MENU_VIEW_SEP_2" - MENU_VIEW_SEP_2.Size = New System.Drawing.Size(141, 6) + MENU_VIEW_SEP_2.Size = New System.Drawing.Size(228, 6) ' 'TRAY_SEP_1 ' TRAY_SEP_1.Name = "TRAY_SEP_1" TRAY_SEP_1.Size = New System.Drawing.Size(130, 6) ' - 'MENU_VIEW_SEP_4 - ' - MENU_VIEW_SEP_4.Name = "MENU_VIEW_SEP_4" - MENU_VIEW_SEP_4.Size = New System.Drawing.Size(141, 6) - ' 'MENU_DOWN_ALL_SEP_1 ' MENU_DOWN_ALL_SEP_1.Name = "MENU_DOWN_ALL_SEP_1" @@ -369,7 +364,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form ' Me.MENU_VIEW.AutoToolTip = False Me.MENU_VIEW.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text - Me.MENU_VIEW.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_VIEW_LARGE, Me.BTT_VIEW_SMALL, Me.BTT_VIEW_LIST, Me.BTT_VIEW_DETAILS, MENU_VIEW_SEP_1, Me.BTT_SITE_ALL, Me.BTT_SITE_SPECIFIC, MENU_VIEW_SEP_2, Me.BTT_SHOW_ALL, Me.BTT_SHOW_REGULAR, Me.BTT_SHOW_TEMP, Me.BTT_SHOW_FAV, Me.BTT_SHOW_DELETED, Me.BTT_SHOW_SUSPENDED, Me.BTT_SHOW_LABELS, Me.BTT_SHOW_NO_LABELS, MENU_VIEW_SEP_3, Me.BTT_SELECT_LABELS, MENU_VIEW_SEP_4, Me.BTT_SHOW_LIMIT_DATES}) + Me.MENU_VIEW.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_VIEW_LARGE, Me.BTT_VIEW_SMALL, Me.BTT_VIEW_LIST, Me.BTT_VIEW_DETAILS, MENU_VIEW_SEP_1, Me.BTT_SITE_ALL, Me.BTT_SITE_SPECIFIC, MENU_VIEW_SEP_2, Me.BTT_SHOW_ALL, Me.BTT_SHOW_REGULAR, Me.BTT_SHOW_TEMP, Me.BTT_SHOW_FAV, Me.BTT_SHOW_DELETED, Me.BTT_SHOW_SUSPENDED, Me.BTT_SHOW_LABELS, Me.BTT_SHOW_NO_LABELS, Me.BTT_SHOW_EXCLUDED_LABELS, Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE, Me.BTT_SHOW_SHOW_GROUPS, MENU_VIEW_SEP_3, Me.BTT_SHOW_LIMIT_DATES}) Me.MENU_VIEW.Image = CType(resources.GetObject("MENU_VIEW.Image"), System.Drawing.Image) Me.MENU_VIEW.ImageTransparentColor = System.Drawing.Color.Magenta Me.MENU_VIEW.Name = "MENU_VIEW" @@ -379,61 +374,61 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form 'BTT_VIEW_LARGE ' Me.BTT_VIEW_LARGE.Name = "BTT_VIEW_LARGE" - Me.BTT_VIEW_LARGE.Size = New System.Drawing.Size(144, 22) + Me.BTT_VIEW_LARGE.Size = New System.Drawing.Size(231, 22) Me.BTT_VIEW_LARGE.Text = "Large images" ' 'BTT_VIEW_SMALL ' Me.BTT_VIEW_SMALL.Name = "BTT_VIEW_SMALL" - Me.BTT_VIEW_SMALL.Size = New System.Drawing.Size(144, 22) + Me.BTT_VIEW_SMALL.Size = New System.Drawing.Size(231, 22) Me.BTT_VIEW_SMALL.Text = "Small images" ' 'BTT_VIEW_LIST ' Me.BTT_VIEW_LIST.Name = "BTT_VIEW_LIST" - Me.BTT_VIEW_LIST.Size = New System.Drawing.Size(144, 22) + Me.BTT_VIEW_LIST.Size = New System.Drawing.Size(231, 22) Me.BTT_VIEW_LIST.Text = "List" ' 'BTT_VIEW_DETAILS ' Me.BTT_VIEW_DETAILS.Name = "BTT_VIEW_DETAILS" - Me.BTT_VIEW_DETAILS.Size = New System.Drawing.Size(144, 22) + Me.BTT_VIEW_DETAILS.Size = New System.Drawing.Size(231, 22) Me.BTT_VIEW_DETAILS.Text = "Details" ' 'BTT_SITE_ALL ' Me.BTT_SITE_ALL.Name = "BTT_SITE_ALL" - Me.BTT_SITE_ALL.Size = New System.Drawing.Size(144, 22) + Me.BTT_SITE_ALL.Size = New System.Drawing.Size(231, 22) Me.BTT_SITE_ALL.Text = "All" ' 'BTT_SITE_SPECIFIC ' Me.BTT_SITE_SPECIFIC.Name = "BTT_SITE_SPECIFIC" - Me.BTT_SITE_SPECIFIC.Size = New System.Drawing.Size(144, 22) + Me.BTT_SITE_SPECIFIC.Size = New System.Drawing.Size(231, 22) Me.BTT_SITE_SPECIFIC.Text = "Specific sites" ' 'BTT_SHOW_ALL ' Me.BTT_SHOW_ALL.Name = "BTT_SHOW_ALL" - Me.BTT_SHOW_ALL.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_ALL.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_ALL.Text = "All" ' 'BTT_SHOW_REGULAR ' Me.BTT_SHOW_REGULAR.Name = "BTT_SHOW_REGULAR" - Me.BTT_SHOW_REGULAR.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_REGULAR.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_REGULAR.Text = "Regular" ' 'BTT_SHOW_TEMP ' Me.BTT_SHOW_TEMP.Name = "BTT_SHOW_TEMP" - Me.BTT_SHOW_TEMP.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_TEMP.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_TEMP.Text = "Temporary" ' 'BTT_SHOW_FAV ' Me.BTT_SHOW_FAV.Name = "BTT_SHOW_FAV" - Me.BTT_SHOW_FAV.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_FAV.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_FAV.Text = "Favorites" ' 'BTT_SHOW_DELETED @@ -441,7 +436,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_SHOW_DELETED.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer)) Me.BTT_SHOW_DELETED.ForeColor = System.Drawing.Color.Maroon Me.BTT_SHOW_DELETED.Name = "BTT_SHOW_DELETED" - Me.BTT_SHOW_DELETED.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_DELETED.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_DELETED.Text = "Deleted" ' 'BTT_SHOW_SUSPENDED @@ -449,32 +444,38 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_SHOW_SUSPENDED.BackColor = System.Drawing.Color.PapayaWhip Me.BTT_SHOW_SUSPENDED.ForeColor = System.Drawing.Color.SaddleBrown Me.BTT_SHOW_SUSPENDED.Name = "BTT_SHOW_SUSPENDED" - Me.BTT_SHOW_SUSPENDED.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_SUSPENDED.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_SUSPENDED.Text = "Suspended" ' 'BTT_SHOW_LABELS ' Me.BTT_SHOW_LABELS.Name = "BTT_SHOW_LABELS" - Me.BTT_SHOW_LABELS.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_LABELS.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_LABELS.Text = "Labels" ' 'BTT_SHOW_NO_LABELS ' Me.BTT_SHOW_NO_LABELS.Name = "BTT_SHOW_NO_LABELS" - Me.BTT_SHOW_NO_LABELS.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_NO_LABELS.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_NO_LABELS.Text = "No labels" ' - 'BTT_SELECT_LABELS + 'BTT_SHOW_EXCLUDED_LABELS ' - Me.BTT_SELECT_LABELS.Name = "BTT_SELECT_LABELS" - Me.BTT_SELECT_LABELS.Size = New System.Drawing.Size(144, 22) - Me.BTT_SELECT_LABELS.Text = "Select labels" + Me.BTT_SHOW_EXCLUDED_LABELS.Name = "BTT_SHOW_EXCLUDED_LABELS" + Me.BTT_SHOW_EXCLUDED_LABELS.Size = New System.Drawing.Size(231, 22) + Me.BTT_SHOW_EXCLUDED_LABELS.Text = "Excluded labels" + ' + 'BTT_SHOW_EXCLUDED_LABELS_IGNORE + ' + Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE.Name = "BTT_SHOW_EXCLUDED_LABELS_IGNORE" + Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE.Size = New System.Drawing.Size(231, 22) + Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE.Text = "Ignore excluded labels" ' 'BTT_SHOW_LIMIT_DATES ' Me.BTT_SHOW_LIMIT_DATES.AutoToolTip = True Me.BTT_SHOW_LIMIT_DATES.Name = "BTT_SHOW_LIMIT_DATES" - Me.BTT_SHOW_LIMIT_DATES.Size = New System.Drawing.Size(144, 22) + Me.BTT_SHOW_LIMIT_DATES.Size = New System.Drawing.Size(231, 22) Me.BTT_SHOW_LIMIT_DATES.Text = "Limit dates" Me.BTT_SHOW_LIMIT_DATES.ToolTipText = "Show profiles that haven't downloaded new data since date..." ' @@ -715,6 +716,12 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_TRAY_CLOSE.Size = New System.Drawing.Size(133, 22) Me.BTT_TRAY_CLOSE.Text = "Close" ' + 'BTT_SHOW_SHOW_GROUPS + ' + Me.BTT_SHOW_SHOW_GROUPS.Name = "BTT_SHOW_SHOW_GROUPS" + Me.BTT_SHOW_SHOW_GROUPS.Size = New System.Drawing.Size(231, 22) + Me.BTT_SHOW_SHOW_GROUPS.Text = "Show groups instead of labels" + ' 'MainFrame ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -776,7 +783,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Private WithEvents BTT_SHOW_TEMP As ToolStripMenuItem Private WithEvents BTT_SHOW_FAV As ToolStripMenuItem Private WithEvents BTT_SHOW_LABELS As ToolStripMenuItem - Private WithEvents BTT_SELECT_LABELS As ToolStripMenuItem Private WithEvents BTT_SHOW_NO_LABELS As ToolStripMenuItem Private WithEvents BTT_EDIT_USER As ToolStripButton Private WithEvents BTT_CONTEXT_GROUPS As ToolStripMenuItem @@ -805,4 +811,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Private WithEvents BTT_DOWN_ALL_FULL As ToolStripMenuItem Private WithEvents BTT_DOWN_SITE_FULL As ToolStripMenuItem Private WithEvents BTT_CONTEXT_SCRIPT As ToolStripMenuItem + Private WithEvents BTT_SHOW_EXCLUDED_LABELS As ToolStripMenuItem + Private WithEvents BTT_SHOW_EXCLUDED_LABELS_IGNORE As ToolStripMenuItem + Private WithEvents BTT_SHOW_SHOW_GROUPS As ToolStripMenuItem End Class \ No newline at end of file diff --git a/SCrawler/MainFrame.resx b/SCrawler/MainFrame.resx index e3bd9f7..bc999df 100644 --- a/SCrawler/MainFrame.resx +++ b/SCrawler/MainFrame.resx @@ -159,9 +159,6 @@ False - - False - False diff --git a/SCrawler/MainFrame.vb b/SCrawler/MainFrame.vb index e9fe2f5..163d4ea 100644 --- a/SCrawler/MainFrame.vb +++ b/SCrawler/MainFrame.vb @@ -72,6 +72,7 @@ Public Class MainFrame End With With Settings LIST_PROFILES.View = .ViewMode + LIST_PROFILES.ShowGroups = .UseGrouping ApplyViewPattern(.ViewMode.Value) AddHandler .Labels.NewLabelAdded, AddressOf UpdateLabelsGroups End With @@ -213,15 +214,20 @@ CloseResume: #Region "Toolbar buttons" #Region "Settings" Private Sub BTT_SETTINGS_Click(sender As Object, e As EventArgs) Handles BTT_SETTINGS.Click - Dim mhl% = Settings.MaxLargeImageHeigh.Value - Dim mhs% = Settings.MaxSmallImageHeigh.Value - Using f As New GlobalSettingsForm - f.ShowDialog() - If f.DialogResult = DialogResult.OK Then - If (Not Settings.MaxLargeImageHeigh = mhl Or Not Settings.MaxSmallImageHeigh = mhs) And Settings.ViewModeIsPicture Then RefillList() - TrayIcon.Visible = Settings.CloseToTray - End If - End Using + With Settings + Dim mhl% = .MaxLargeImageHeigh.Value + Dim mhs% = .MaxSmallImageHeigh.Value + Dim sg As Boolean = .ShowGroups + Using f As New GlobalSettingsForm + f.ShowDialog() + If f.DialogResult = DialogResult.OK Then + If ((Not .MaxLargeImageHeigh = mhl Or Not .MaxSmallImageHeigh = mhs) And .ViewModeIsPicture) Or + (Not sg = Settings.ShowGroups And .UseGrouping) Then RefillList() + TrayIcon.Visible = .CloseToTray + LIST_PROFILES.ShowGroups = .UseGrouping + End If + End Using + End With End Sub #End Region #Region "User" @@ -252,7 +258,8 @@ CloseResume: .ScriptUse = f.ScriptUse .ScriptData = f.ScriptData If Not f.MyExchangeOptions Is Nothing Then DirectCast(.Self, UserDataBase).ExchangeOptionsSet(f.MyExchangeOptions) - .Self.Labels.ListAddList(f.UserLabels, LAP.ClearBeforeAdd, LAP.NotContainsOnly) + Settings.Labels.Add(LabelsKeeper.NoParsedUser) + .Self.Labels.ListAddList(f.UserLabels.ListAddValue(LabelsKeeper.NoParsedUser), LAP.ClearBeforeAdd, LAP.NotContainsOnly) .UpdateUserInformation() End If End With @@ -417,7 +424,7 @@ CloseResume: End Using End Sub #End Region -#Region "Labels" +#Region "View menu" Private Sub BTT_SHOW_ALL_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_ALL.Click SetShowButtonsCheckers(ShowingModes.All) End Sub @@ -437,12 +444,35 @@ CloseResume: SetShowButtonsCheckers(ShowingModes.Suspended) End Sub Private Sub BTT_SHOW_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_LABELS.Click - SetShowButtonsCheckers(ShowingModes.Labels) + Dim b As Boolean = OpenLabelsForm(Settings.Labels.Current) + Dim m As ShowingModes + If Settings.Labels.Current.Count = 0 Then + m = Settings.ShowingMode.Value + If m = ShowingModes.Labels Then m = ShowingModes.All + Else + m = ShowingModes.Labels + End If + SetShowButtonsCheckers(m, Settings.ShowingMode.Value = ShowingModes.Labels And m = ShowingModes.Labels And b) End Sub Private Sub BTT_SHOW_NO_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_NO_LABELS.Click SetShowButtonsCheckers(ShowingModes.NoLabels) End Sub - Private Sub SetShowButtonsCheckers(ByVal m As ShowingModes) + Private Sub BTT_SHOW_EXCLUDED_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_EXCLUDED_LABELS.Click + Dim b As Boolean = OpenLabelsForm(Settings.Labels.Excluded) + SetExcludedButtonChecker() + If b Then RefillList() + End Sub + Private Sub BTT_SHOW_EXCLUDED_LABELS_IGNORE_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_EXCLUDED_LABELS_IGNORE.Click + Settings.Labels.ExcludedIgnore.Value = Not Settings.Labels.ExcludedIgnore.Value + If Settings.Labels.Excluded.Count > 0 Then RefillList() + SetExcludedButtonChecker() + End Sub + Private Sub BTT_SHOW_SHOW_GROUPS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_SHOW_GROUPS.Click + Settings.ShowGroupsInsteadLabels.Value = Not Settings.ShowGroupsInsteadLabels.Value + If Settings.ShowingMode.Value = ShowingModes.Labels Then RefillList() + SetShowButtonsCheckers(Settings.ShowingMode.Value) + End Sub + Private Sub SetShowButtonsCheckers(ByVal m As ShowingModes, Optional ByVal ForceRefill As Boolean = False) BTT_SHOW_ALL.Checked = m = ShowingModes.All BTT_SHOW_REGULAR.Checked = m = ShowingModes.Regular BTT_SHOW_TEMP.Checked = m = ShowingModes.Temporary @@ -451,54 +481,34 @@ CloseResume: BTT_SHOW_SUSPENDED.Checked = m = ShowingModes.Suspended BTT_SHOW_LABELS.Checked = m = ShowingModes.Labels BTT_SHOW_NO_LABELS.Checked = m = ShowingModes.NoLabels - BTT_SELECT_LABELS.Enabled = BTT_SHOW_LABELS.Checked - If Not Settings.ShowingMode.Value = m Then - If Not m = ShowingModes.Labels Or Settings.Labels.CurrentSelection.Count > 0 Then - Settings.ShowingMode.Value = m - RefillList() - ElseIf m = ShowingModes.Labels And Settings.Labels.CurrentSelection.Count = 0 Then - OpenLabelsForm() - If Settings.Labels.CurrentSelection.Count > 0 Then - Settings.ShowingMode.Value = m - RefillList() - Else - SetShowButtonsCheckers(Settings.ShowingMode.Value) - Exit Sub - End If - ElseIf m = ShowingModes.NoLabels Then - Settings.ShowingMode.Value = m + BTT_SHOW_SHOW_GROUPS.Checked = Settings.ShowGroupsInsteadLabels + SetExcludedButtonChecker() + With Settings + If Not m = ShowingModes.Labels Then .Labels.Current.Clear() : .Labels.Current.Update() + If Not .ShowingMode.Value = m Or ForceRefill Then + .ShowingMode.Value = m RefillList() + Else + .ShowingMode.Value = m End If - End If - Settings.ShowingMode.Value = m + End With BTT_DOWN_ALL.Enabled = m = ShowingModes.All End Sub - Private Sub BTT_SELECT_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SELECT_LABELS.Click - OpenLabelsForm() + Private Sub SetExcludedButtonChecker() + BTT_SHOW_EXCLUDED_LABELS.Checked = Settings.Labels.Excluded.Count > 0 + BTT_SHOW_EXCLUDED_LABELS_IGNORE.Checked = Settings.Labels.ExcludedIgnore End Sub - Private Sub OpenLabelsForm() - Using f As New LabelsForm(Settings.Labels.CurrentSelection) + Private Function OpenLabelsForm(ByRef ll As XML.Base.XMLValuesCollection(Of String)) As Boolean + Using f As New LabelsForm(ll) With {.WithDeleteButton = True} f.ShowDialog() If f.DialogResult = DialogResult.OK Then - If f.LabelsList.Count > 0 Then - Dim b As Boolean = False - If Settings.Labels.CurrentSelection.Count = 0 Then - b = True - Else - If Settings.Labels.CurrentSelection.Exists(Function(l) Not f.LabelsList.Contains(l)) Then b = True - If Not b AndAlso f.LabelsList.Exists(Function(l) Not Settings.Labels.CurrentSelection.Contains(l)) Then b = True - End If - Settings.Labels.CurrentSelection.ListAddList(f.LabelsList, LAP.ClearBeforeAdd, LAP.NotContainsOnly) - Settings.LatestSelectedLabels.Value = Settings.Labels.CurrentSelection.ListToString(, "|") - If b Then RefillList() - Else - Settings.Labels.CurrentSelection.Clear() - Settings.LatestSelectedLabels.Value = String.Empty - SetShowButtonsCheckers(ShowingModes.All) - End If + With ll : .Clear() : .AddRange(f.LabelsList) : .Update() : End With + Return True + Else + Return False End If End Using - End Sub + End Function Private Sub BTT_SHOW_LIMIT_DATES_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_LIMIT_DATES.Click Dim r As Boolean = False Dim snd As Action(Of Date?) = Sub(ByVal d As Date?) @@ -1073,6 +1083,13 @@ ResumeDownloadingOperation: End Sub Private Sub FocusUser(ByVal Key As String, Optional ByVal ActivateMe As Boolean = False) Dim i% = LIST_PROFILES.Items.IndexOfKey(Key) + If i < 0 Then + i = Settings.Users.FindIndex(Function(u) u.Key = Key) + If i >= 0 Then + UserListUpdate(Settings.Users(i), True) + i = LIST_PROFILES.Items.IndexOfKey(Key) + End If + End If If i >= 0 Then LIST_PROFILES.Select() LIST_PROFILES.SelectedIndices.Clear() diff --git a/SCrawler/My Project/AssemblyInfo.vb b/SCrawler/My Project/AssemblyInfo.vb index eae1770..696a527 100644 --- a/SCrawler/My Project/AssemblyInfo.vb +++ b/SCrawler/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/SCrawler/SettingsCLS.vb b/SCrawler/SettingsCLS.vb index 094a345..666dc48 100644 --- a/SCrawler/SettingsCLS.vb +++ b/SCrawler/SettingsCLS.vb @@ -72,9 +72,11 @@ Friend Class SettingsCLS : Implements IDisposable InfoViewMode = New XMLValue(Of Integer)("InfoViewMode", DownloadedInfoForm.ViewModes.Session, MyXML) ViewMode = New XMLValue(Of Integer)("ViewMode", ViewModes.IconLarge, MyXML) ShowingMode = New XMLValue(Of Integer)("ShowingMode", ShowingModes.All, MyXML) + ShowGroupsInsteadLabels = New XMLValue(Of Boolean)("ShowGroupsInsteadLabels", False, MyXML) + ShowGroups = New XMLValue(Of Boolean)("ShowGroups", True, MyXML) + UseGrouping = New XMLValue(Of Boolean)("UseGrouping", True, MyXML) LatestSavingPath = New XMLValue(Of SFile)("LatestSavingPath", Nothing, MyXML,, New XMLValueBase.ToFilePath) - LatestSelectedLabels = New XMLValue(Of String)("LatestSelectedLabels",, MyXML) LatestSelectedChannel = New XMLValue(Of String)("LatestSelectedChannel",, MyXML) LastUpdatedLimit = New XMLValue(Of Date) LastUpdatedLimit.SetExtended("LastUpdatedLimit",, MyXML) @@ -121,11 +123,11 @@ Friend Class SettingsCLS : Implements IDisposable OpenFolderInOtherProgram = New XMLValueAttribute(Of String, Boolean)("OpenFolderInOtherProgram", "Use",,, MyXML) DeleteToRecycleBin = New XMLValue(Of Boolean)("DeleteToRecycleBin", True, MyXML) + Labels = New LabelsKeeper(MyXML) + MyXML.EndUpdate() If MyXML.ChangesDetected Then MyXML.Sort() : MyXML.UpdateData() - Labels = New LabelsKeeper - If Not LatestSelectedLabels.IsEmptyString Then Labels.CurrentSelection.ListAddList(LatestSelectedLabels.Value.StringToList(Of String, List(Of String))("|")) If BlackListFile.Exists Then BlackList.ListAddList(IO.File.ReadAllLines(BlackListFile), LAP.NotContainsOnly) If BlackList.Count > 0 Then BlackList.RemoveAll(Function(b) Not b.Exists) @@ -229,8 +231,11 @@ Friend Class SettingsCLS : Implements IDisposable If NeedUpdate Then UpdateUsersList() End If If Users.Count > 0 Then - Labels.AddRange(Users.SelectMany(Function(u) u.Labels), False) - If Labels.NewLabelsExists Then Labels.Update() : Labels.NewLabels.Clear() + Dim tul As IEnumerable(Of String) = Users.SelectMany(Function(u) u.Labels) + Labels.AddRange(tul, False) + If Labels.NewLabelsExists Or + (tul.ListExists AndAlso Not tul.Contains(LabelsKeeper.NoParsedUser) AndAlso Labels.Remove(LabelsKeeper.NoParsedUser)) Then _ + Labels.Update() : Labels.NewLabels.Clear() : Labels.Verify() End If Catch ex As Exception End Try @@ -404,6 +409,9 @@ Friend Class SettingsCLS : Implements IDisposable End Get End Property Friend ReadOnly Property ShowingMode As XMLValue(Of Integer) + Friend ReadOnly Property ShowGroups As XMLValue(Of Boolean) + Friend ReadOnly Property UseGrouping As XMLValue(Of Boolean) + Friend ReadOnly Property ShowGroupsInsteadLabels As XMLValue(Of Boolean) Friend ReadOnly Property SelectedSites As XMLValuesCollection(Of String) Private ReadOnly LastUpdatedLimit As XMLValue(Of Date) Friend Property LastUpdatedDate As Date? @@ -417,7 +425,6 @@ Friend Class SettingsCLS : Implements IDisposable #End Region #Region "Latest values" Friend ReadOnly Property LatestSavingPath As XMLValue(Of SFile) - Friend ReadOnly Property LatestSelectedLabels As XMLValue(Of String) Friend ReadOnly Property LatestSelectedChannel As XMLValue(Of String) Friend ReadOnly Property LatestDownloadedSites As XMLValuesCollection(Of String) #End Region