#
# This file is a part of the NsCDE - Not so Common Desktop Environment
# Author: Hegel3DReloaded
# Licence: GPLv3
#

WindowTitle {FPCheckMailApplet}
WindowSize 56 56
Colorset 23

Init
Begin
   Set $LetterStateUp = 0
   Set $MailCnt = 0

   Key F1 A 2 1 {KeyHelp}
   Key Help A 2 1 {KeyHelp}
End

Widget 1
   Property
   Position 0 0
   Size 56 56
   Type ItemDraw
   Flags NoReliefString
   Icon NsCDE/Mail.s.xpm
   Main
      Case message of
      SingleClic :
      Begin
         SendSignal 1 1
      End
      1 :
      Begin
         If $LetterStateUp == 1 Then
         Begin
            ChangeIcon 1 NsCDE/Mail.s.xpm
            Set $LetterStateUp = 0
            HideWidget 2
         End

         HideWidget 3
         Set $MailCnt = 0

         Do {f_CheckMail}

         ChangeColorset 1 24
         Do {f_UnclickScript 450 CheckMailApplet 1 3 unclick}
      End
      2 :
      Begin
         # Extract command and account name from string received
         # from SendToModule
         Set $CheckLetterUp = (StrCopy (LastString) 1 8)
         Set $CheckLetterDown = (StrCopy (LastString) 1 10)
         # If command from SendToModule is "LetterUp", extract
         # account name from the rest of string into LetterUpArg2
         If $CheckLetterUp == {LetterUp} Then
         Begin
            Set $LetterUpArg2 = (StrCopy (LastString) 10 18)
         End

         # Check if command was LetterUp
         If $CheckLetterUp == {LetterUp} Then
         Begin
            Set $MailCnt = (Add $MailCnt 1)
            ChangeTitle 3 $MailCnt
            ShowWidget 3

            # Change Icon to raised letter if current state is
            # not raised icon already, change title of LetterUpArg2
            # and show widget 2 which contains account name
            If $LetterStateUp == 0 Then
            Begin
               ChangeIcon 1 NsCDE/NewMail.s.xpm
               Set $LetterStateUp = 1
               If $LetterUpArg2 <> {} Then
               Begin
                  ChangeTitle 2 $LetterUpArg2
                  ShowWidget 2
               End
            End
            Else
            Begin
               # If Letter icon is raised one already, then
               # only change account name
               If (GetTitle 2) <> $LetterUpArg2 Then
               Begin
                  If $LetterUpArg2 <> {} Then
                  Begin
                     ChangeTitle 2 $LetterUpArg2
                  End
               End
            End
         End

         # If command LetterDown has been received via SendToModule
         # change icon to closed mailbox and hide widget with account
         # name
         If $CheckLetterDown == {LetterDown} Then
         Begin
            If $LetterStateUp == 1 Then
            Begin
               ChangeIcon 1 NsCDE/Mail.s.xpm
               Set $LetterStateUp = 0
               HideWidget 2
            End
         End
      End
      3 :
      # Focus hilight stuff on the front panel
      Begin
         If (LastString) == {unclick} Then
         Begin
            ChangeColorset 1 23
         End
      End
End

Widget 2
   Property
   Position 5 39
   Size 0 0
   Type ItemDraw
   Flags NoReliefString Hidden
   BackColor {#949494949494}
   ForeColor {#000000000000}
   Title { xxxxxxxx }
   Font "xft:::pixelsize=9"
   Main
      Case message of
      SingleClic :
      Begin
      End
      1 :
      Begin
         Do {f_DisplayURL "Check Mail Applet" /usr/local/share/doc/nscde/html/NsCDE-CheckMailApplet.html}
      End
End

Widget 3
   Property
   Position 2 2
   Size 0 0
   Type ItemDraw
   Flags NoReliefString Left Hidden
   BackColor {#ffff00000000}
   ForeColor {#ffffffffffff}
   Title {000}
   Font "xft:::pixelsize=9"
   Main
      Case message of
      SingleClic :
      Begin
      End
End

