Reflex — File Browser

Reflexv0.1 / Reflexv0.1 / Reflex / system / scripts / themes.mrc

themes.mrc — 5.11 KB — Download this file

alias themes {
  if (!$dialog(themes)) { dialog -mv themes themes }
  else { dialog -v themes themes }
}
dialog themes {
  title "Themes"
  size -1 -1 278 199
  option dbu
  button "Apply Theme", 4, 198 186 41 12, default ok
  button "Cancel", 3, 242 186 33 12, cancel
  button "Theme List", 1, 1 2 69 182
  icon 18, 72 2 204 181,  $mircexe, 0, hide noborder
  combo 5, 1 186 69 50, size drop
  button "", 2, 72 2 203 182, hide
  button "Get Themes", 6, 150 186 46 12
}
on *:dialog:themes:init:0: {
  mdx SetMircVersion $version
  mdx MarkDialog $dname
  mdx SetDialog $dname Icon
  mdx SetControlMDX 1 window > $mdx_dialog
  window -hipB +dx @hide_themes
  did -a $dname 1 grab $window(@hide_themes).hwnd @hide_themes
  nhtmln attach $window(@hide_themes).hwnd
  nhtmln handler themes_handler
  nhtmln navigate $htmdir $+ themes.html
  mdx SetControlMDX 2 window > $mdx_dialog
  window -hipB +dx @hide_addthemes
  did -a $dname 2 grab $window(@hide_addthemes).hwnd @hide_themes
  nhtmln attach $window(@hide_addthemes).hwnd
  nhtmln handler themesadd_handler
  nhtmln navigate about:blank
  did -a themes 5 Default
  var %i = 1
  while ($read($hget(Kte_Data,CurOTheme),s,scheme $+ %i)) { did -a themes 5 $v1 | inc %i }
  did -c themes 5 $iif($hget(Kte_Data, CurScheme),$calc($hget(Kte_Data, CurScheme) + 1),1)
  temp theme_click $remove($hget(Kte_Data,CurOTheme),")
  .timerkte_load_preview -o 1 0 kte_preview_click big
  download -oh themes_list $webstr $+ reflex/themes.rdf $longfn($datdir) $cr themesadd_list
}
on *:dialog:themes:sclick:4: {
  var %f
  if ($temp(theme_click)) { %f = $v1 }
  else { beep | return }
  if ($calc($did(themes,5).sel - 1)) { kte_load -s $+ $v1 %f }
  else { kte_load %f }
}
on *:dialog:themes:sclick:5: {
  did -o $dname 6 1 Get Themes
  did -v $dname 18
  did -h $dname 2
  did -e $dname 4
  .timerkte_load_preview -o 1 0 kte_preview_click big
}
on *:dialog:themes:sclick:6: {
  if ($did($dname,6) == Get Themes) {
    did -o $dname 6 1 Preview Themes
    did -h $dname 18
    did -v $dname 2
    did -b $dname 4
  }
  else { 
    did -o $dname 6 1 Get Themes
    did -v $dname 18
    did -h $dname 2
    did -e $dname 4
  }
}
alias themes_handler {
  nhtmln select $1
  if ($2 == document_complete) { 
    themes_addlist $kte_thmdir
  }
  if ($2 == navigate_begin) && ($gettok($3-,-1,92) != themes.html) { themes_selfile $gettok($3-,-1,35) | return S_CANCEL }
  return S_OK
}
alias themesadd_list {
  nhtmln select $window(@hide_addthemes).hwnd
  nhtmln navigate $htmdir $+ themes.html
}
alias themesadd_handler {
  nhtmln select $1
  if ($2 == document_complete) { 
    if ($gettok($3-,-1,92) == about:blank) {
      nhtmln execScript document.write('Loading Theme List');
    }
    elseif ($gettok($3-,-1,92) == themes.html) {
      var %f = $datdir $+ themes.rdf , %i = 1 , %s
      while ($read(%f,%i)) {
        %s = $v1
        if (!$isdir(C:\IRC\REFLEX~3\Reflex\system\themes\ $+ $gettok(%s,1,124))) {
          nhtmln execScript themenewadd(' $+ $gettok(%s,1,124) $+ ',' $+ $gettok(%s,2,124) $+ ',' $+ $gettok(%s,3,124) $+ ',' $+ $gettok(%s,4,124) $+ ',' $+ $gettok(%s,5,124) $+ ')
        }        
        inc %i
      }
    }
  }
  elseif ($2 == navigate_begin) {
    if ($gettok($3-,-1,46) == mpk) { 
      download -o $gettok($3-,-1,47) $3- $cr themes_munpack 
      return S_CANCEL 
    } 
  }
  return S_OK
}

alias themes_munpack {
  munpack $1-
  if ($dialog(themes)) {
    download -oh themes_list $webstr $+ reflex/themes.rdf $longfn($datdir) $cr themesadd_list
    did -o themes 6 1 Get Themes
    did -v themes 18
    did -h themes 2
    did -e themes 4
    nhtmln select $window(@hide_themes).hwnd
    nhtmln navigate $htmdir $+ themes.html
  }
}

alias themes_addlist {
  nhtmln select $window(@hide_themes).hwnd
  var %s = $findfile($1-, *.mts, 0, 9, themes_addfile $1-)
}

alias themes_addfile {
  if ($1-) {
    nhtmln select $window(@hide_themes).hwnd
    var %name = unknown , %version = 1.0 , %author = unknown
    if ($read($1-,s,name)) { %name = $short($v1,10) }
    if ($read($1-,s,version)) { %version = $short($v1,4) }
    if ($read($1-,s,author)) { %author = $short($v1,16) }
    if ($theme.setting(name) == %name) { nhtmln execScript themeadd(' $+ %name $+ ',' $+ %version $+ ',' $+ %author $+ ','true') }
    elseif ($1- == $temp(theme_click)) { nhtmln execScript themeadd(' $+ %name $+ ',' $+ %version $+ ',' $+ %author $+ ','click') }
    else { nhtmln execScript themeadd(' $+ %name $+ ',' $+ %version $+ ',' $+ %author $+ ','') }
  }
}
alias themes_selfile {
  if ($1 isnum) && ($dialog(themes)) {
    var %f = $findfile($kte_thmdir, *.mts, $1, 9) , %i = 1
    if (!%f) { beep | return }
    temp theme_click %f
    did -r themes 5
    did -a themes 5 Default
    while ($read(%f,s,scheme $+ %i)) { did -a themes 5 $v1 | inc %i }
    did -c themes 5 1

    nhtmln select $window(@hide_themes).hwnd
    nhtmln navigate $htmdir $+ themes.html

    did -o themes 6 1 Get Themes
    did -v themes 18
    did -h themes 2
    did -e themes 4
    .timerkte_load_preview -mo 1 100 kte_preview_click big
  }
}