
'=========================================================================
'クラス名称：メール情報設定ダイアログ
'機能      ：各種メール情報を設定する
'備考      ：なし
'=========================================================================
Public Class frmMailSetting
    Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "

    Public Sub New()
        MyBase.New()

        ' この呼び出しは Windows フォーム デザイナで必要です。
        InitializeComponent()

        ' InitializeComponent() 呼び出しの後に初期化を追加します。

    End Sub

    ' Form は、コンポーネント一覧に後処理を実行するために dispose をオーバーライドします。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    ' Windows フォーム デザイナで必要です。
    Private components As System.ComponentModel.IContainer

    ' メモ : 以下のプロシージャは、Windows フォーム デザイナで必要です。
    'Windows フォーム デザイナを使って変更してください。  
    ' コード エディタを使って変更しないでください。
    Friend WithEvents chkAttach As System.Windows.Forms.CheckBox
    Friend WithEvents btnOK As System.Windows.Forms.Button
    Friend WithEvents btnCancel As System.Windows.Forms.Button
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label3 As System.Windows.Forms.Label
    Friend WithEvents txtSMTP As System.Windows.Forms.TextBox
    Friend WithEvents txtFrom As System.Windows.Forms.TextBox
    Friend WithEvents txtTo As System.Windows.Forms.TextBox
    Friend WithEvents chkMail As System.Windows.Forms.CheckBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.txtSMTP = New System.Windows.Forms.TextBox
        Me.txtFrom = New System.Windows.Forms.TextBox
        Me.txtTo = New System.Windows.Forms.TextBox
        Me.chkAttach = New System.Windows.Forms.CheckBox
        Me.btnOK = New System.Windows.Forms.Button
        Me.btnCancel = New System.Windows.Forms.Button
        Me.Label1 = New System.Windows.Forms.Label
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label3 = New System.Windows.Forms.Label
        Me.chkMail = New System.Windows.Forms.CheckBox
        Me.SuspendLayout()
        '
        'txtSMTP
        '
        Me.txtSMTP.Enabled = False
        Me.txtSMTP.Location = New System.Drawing.Point(128, 40)
        Me.txtSMTP.Name = "txtSMTP"
        Me.txtSMTP.Size = New System.Drawing.Size(208, 19)
        Me.txtSMTP.TabIndex = 0
        Me.txtSMTP.Text = "mail.smtp.ne.jp"
        '
        'txtFrom
        '
        Me.txtFrom.Enabled = False
        Me.txtFrom.Location = New System.Drawing.Point(128, 72)
        Me.txtFrom.Name = "txtFrom"
        Me.txtFrom.Size = New System.Drawing.Size(208, 19)
        Me.txtFrom.TabIndex = 1
        Me.txtFrom.Text = "test@orin.jp"
        '
        'txtTo
        '
        Me.txtTo.Enabled = False
        Me.txtTo.Location = New System.Drawing.Point(128, 104)
        Me.txtTo.Name = "txtTo"
        Me.txtTo.Size = New System.Drawing.Size(208, 19)
        Me.txtTo.TabIndex = 2
        Me.txtTo.Text = "test@orin.jp"
        '
        'chkAttach
        '
        Me.chkAttach.Enabled = False
        Me.chkAttach.Location = New System.Drawing.Point(128, 136)
        Me.chkAttach.Name = "chkAttach"
        Me.chkAttach.Size = New System.Drawing.Size(216, 24)
        Me.chkAttach.TabIndex = 3
        Me.chkAttach.Text = "画像ファイルを添付する"
        '
        'btnOK
        '
        Me.btnOK.Location = New System.Drawing.Point(144, 168)
        Me.btnOK.Name = "btnOK"
        Me.btnOK.Size = New System.Drawing.Size(72, 24)
        Me.btnOK.TabIndex = 4
        Me.btnOK.Text = "OK"
        '
        'btnCancel
        '
        Me.btnCancel.Location = New System.Drawing.Point(240, 168)
        Me.btnCancel.Name = "btnCancel"
        Me.btnCancel.Size = New System.Drawing.Size(72, 24)
        Me.btnCancel.TabIndex = 5
        Me.btnCancel.Text = "キャンセル"
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(8, 40)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(120, 16)
        Me.Label1.TabIndex = 6
        Me.Label1.Text = "SMTPサーバ"
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(8, 72)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(120, 16)
        Me.Label2.TabIndex = 7
        Me.Label2.Text = "送信元メールアドレス"
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(8, 104)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(120, 16)
        Me.Label3.TabIndex = 8
        Me.Label3.Text = "送信先メールアドレス"
        '
        'chkMail
        '
        Me.chkMail.Location = New System.Drawing.Point(16, 8)
        Me.chkMail.Name = "chkMail"
        Me.chkMail.Size = New System.Drawing.Size(232, 24)
        Me.chkMail.TabIndex = 9
        Me.chkMail.Text = "メールで通知する"
        '
        'frmMailSetting
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 12)
        Me.ClientSize = New System.Drawing.Size(360, 206)
        Me.Controls.Add(Me.chkMail)
        Me.Controls.Add(Me.Label3)
        Me.Controls.Add(Me.Label2)
        Me.Controls.Add(Me.Label1)
        Me.Controls.Add(Me.btnCancel)
        Me.Controls.Add(Me.btnOK)
        Me.Controls.Add(Me.chkAttach)
        Me.Controls.Add(Me.txtTo)
        Me.Controls.Add(Me.txtFrom)
        Me.Controls.Add(Me.txtSMTP)
        Me.Name = "frmMailSetting"
        Me.Text = "メール設定"
        Me.ResumeLayout(False)

    End Sub

#End Region

    ' メール情報管理クラス
    Private mailer As MailSender

    '*********************************************************************
    '関数名称  ：初期化処理
    '機能      ：メール情報設定ダイアログを初期化する
    '引数      ：sender
    '            e
    '戻り値    ：なし
    '備考      ：メール情報設定ダイアログが生成されたときに呼び出される
    '*********************************************************************
    Private Sub frmMailSetting_Load(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles MyBase.Load
        ' 現在の設定値を読み込む
        mailer = MailSender.GetInstance
        txtSMTP.Text = mailer.SMTPServer
        txtFrom.Text = mailer.MailFrom
        txtTo.Text = mailer.MailTo
        chkAttach.Checked = mailer.attachFlag
        chkMail.Checked = mailer.sendFlag
        setEnabled()
    End Sub

    '*********************************************************************
    '関数名称  ：設定反映処理
    '機能      ：設定を反映しダイアログを閉じる
    '引数      ：sender
    '            e
    '戻り値    ：なし
    '備考      ：OKボタンが押されたときに呼び出される
    '*********************************************************************
    Private Sub btnOK_Click(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles btnOK.Click
        ' 設定値を反映して終了
        mailer.SMTPServer = txtSMTP.Text
        mailer.MailFrom = txtFrom.Text
        mailer.MailTo = txtTo.Text
        mailer.attachFlag = chkAttach.Checked
        mailer.sendFlag = chkMail.Checked
        Me.Close()
    End Sub

    '*********************************************************************
    '関数名称  ：終了処理
    '機能      ：設定を反映せずにダイアログを閉じる
    '引数      ：sender
    '            e
    '戻り値    ：なし
    '備考      ：キャンセルボタンが押されたときに呼び出される
    '*********************************************************************
    Private Sub btnCancel_Click(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles btnCancel.Click
        ' 設定を反映せずに終了
        Me.Close()
    End Sub

    '*********************************************************************
    '関数名称  ：メール機能設定
    '機能      ：メール機能を有効にした場合，各コントローラを有効にする
    '引数      ：sender
    '            e
    '戻り値    ：なし
    '備考      ：メール機能チェックボックスがクリックされたときに呼び出される
    '*********************************************************************
    Private Sub chkMail_CheckedChanged(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles chkMail.CheckedChanged
        setEnabled()
    End Sub

    '*********************************************************************
    '関数名称  ：コントローラ設定
    '機能      ：メール機能を有効にした場合，各コントローラを有効にする
    '引数      ：なし
    '戻り値    ：なし
    '備考      ：なし
    '*********************************************************************
    Private Sub setEnabled()
        If (chkMail.Checked = True) Then
            txtSMTP.Enabled = True
            txtFrom.Enabled = True
            txtTo.Enabled = True
            chkAttach.Enabled = True
        Else
            txtSMTP.Enabled = False
            txtFrom.Enabled = False
            txtTo.Enabled = False
            chkAttach.Enabled = False
        End If
    End Sub

End Class
