mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-15 00:02:17 +00:00
88 lines
4.2 KiB
VB.net
88 lines
4.2 KiB
VB.net
' Copyright (C) 2022 Andy
|
|
' This program is free software: you can redistribute it and/or modify
|
|
' it under the terms of the GNU General Public License as published by
|
|
' the Free Software Foundation, either version 3 of the License, or
|
|
' (at your option) any later version.
|
|
'
|
|
' This program is distributed in the hope that it will be useful,
|
|
' but WITHOUT ANY WARRANTY
|
|
Imports PersonalUtilities.Forms
|
|
Imports PersonalUtilities.Forms.Toolbars
|
|
Imports CView = SCrawler.API.Reddit.IRedditView.View
|
|
Imports CPeriod = SCrawler.API.Reddit.IRedditView.Period
|
|
Namespace API.Reddit
|
|
Friend Class RedditViewSettingsForm : Implements IOkCancelToolbar
|
|
Private ReadOnly MyDefs As DefaultFormProps
|
|
Private ReadOnly Property MyOptions As IRedditView
|
|
Friend Sub New(ByRef opt As IRedditView)
|
|
InitializeComponent()
|
|
MyOptions = opt
|
|
MyDefs = New DefaultFormProps
|
|
End Sub
|
|
Private Sub ChannelSettingsForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Try
|
|
Dim n$ = String.Empty
|
|
If TypeOf MyOptions Is Channel Then
|
|
n = $"Channel [{DirectCast(MyOptions, Channel).Name}]"
|
|
ElseIf TypeOf MyOptions Is Base.IUserData Then
|
|
n = $"User [{DirectCast(MyOptions, Base.IUserData).Name}]"
|
|
End If
|
|
If Not n.IsEmptyString Then Text = n
|
|
With MyDefs
|
|
.MyViewInitialize(Me, Settings.Design, True)
|
|
.AddOkCancelToolbar()
|
|
Select Case MyOptions.ViewMode
|
|
Case CView.Hot : OPT_VIEW_MODE_HOT.Checked = True
|
|
Case CView.Top : OPT_VIEW_MODE_TOP.Checked = True
|
|
Case Else : OPT_VIEW_MODE_NEW.Checked = True
|
|
End Select
|
|
Select Case MyOptions.ViewPeriod
|
|
Case CPeriod.Hour : OPT_PERIOD_HOUR.Checked = True
|
|
Case CPeriod.Day : OPT_PERIOD_DAY.Checked = True
|
|
Case CPeriod.Week : OPT_PERIOD_WEEK.Checked = True
|
|
Case CPeriod.Month : OPT_PERIOD_MONTH.Checked = True
|
|
Case CPeriod.Year : OPT_PERIOD_YEAR.Checked = True
|
|
Case Else : OPT_PERIOD_ALL.Checked = True
|
|
End Select
|
|
ChangePeriodEnabled()
|
|
.EndLoaderOperations()
|
|
End With
|
|
Catch ex As Exception
|
|
MyDefs.InvokeLoaderError(ex)
|
|
End Try
|
|
End Sub
|
|
Private Sub OK() Implements IOkCancelToolbar.OK
|
|
With MyOptions
|
|
Select Case True
|
|
Case OPT_VIEW_MODE_HOT.Checked : .ViewMode = CView.Hot
|
|
Case OPT_VIEW_MODE_TOP.Checked : .ViewMode = CView.Top
|
|
Case Else : .ViewMode = CView.New
|
|
End Select
|
|
Select Case True
|
|
Case OPT_PERIOD_HOUR.Checked : .ViewPeriod = CPeriod.Hour
|
|
Case OPT_PERIOD_DAY.Checked : .ViewPeriod = CPeriod.Day
|
|
Case OPT_PERIOD_WEEK.Checked : .ViewPeriod = CPeriod.Week
|
|
Case OPT_PERIOD_MONTH.Checked : .ViewPeriod = CPeriod.Month
|
|
Case OPT_PERIOD_YEAR.Checked : .ViewPeriod = CPeriod.Year
|
|
Case Else : .ViewPeriod = CPeriod.All
|
|
End Select
|
|
End With
|
|
MyDefs.CloseForm()
|
|
End Sub
|
|
Private Sub Cancel() Implements IOkCancelToolbar.Cancel
|
|
MyDefs.CloseForm(DialogResult.Cancel)
|
|
End Sub
|
|
Private Sub OPT_VIEW_MODE_NEW_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_VIEW_MODE_NEW.CheckedChanged
|
|
ChangePeriodEnabled()
|
|
End Sub
|
|
Private Sub OPT_VIEW_MODE_HOT_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_VIEW_MODE_HOT.CheckedChanged
|
|
ChangePeriodEnabled()
|
|
End Sub
|
|
Private Sub OPT_VIEW_MODE_TOP_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_VIEW_MODE_TOP.CheckedChanged
|
|
ChangePeriodEnabled()
|
|
End Sub
|
|
Private Sub ChangePeriodEnabled()
|
|
TP_PERIOD.Enabled = OPT_VIEW_MODE_TOP.Checked
|
|
End Sub
|
|
End Class
|
|
End Namespace |