#include "toolbox.h"
#include "event.h"
#include "gadgets.h"
#include "vars.h"
#include "switching.h"
#include "booting.h"
#include "utils.h"

void do_booting_initialise(void)
{
  raise_error(event_register_toolbox_handler(booting_window,ActionButton_Selected,booting_window_click_handler,0));
  /*tmp_config.booting.boot_from_floppy = config.booting.boot_from_floppy = TRUE;*/
}

void setup_booting_window(void)
{
  update_booting_window();
  toolbox_show_object(0,booting_window,0,0,0,0);
}

void update_booting_window(void)
{
   optionbutton_set_state(0,booting_window,BOOTING_ALLOW_FLOPPY_DISC,config.booting.boot_from_floppy);
   optionbutton_set_state(0,booting_window,BOOTING_DISABLE_FLOPPIES,config.booting.disable_floppies);
}

int booting_window_click_handler(int event_code, ToolboxEvent *event, IdBlock *id_block,void *handle)
{
  NotUsed (handle);
  NotUsed (event);
  NotUsed (event_code);
  
  if(id_block->self_component == BOOTING_OK)
  {
    optionbutton_get_state(0,booting_window,BOOTING_ALLOW_FLOPPY_DISC,&tmp_config.booting.boot_from_floppy);
    optionbutton_get_state(0,booting_window,BOOTING_DISABLE_FLOPPIES,&tmp_config.booting.disable_floppies);
    check_for_modified_data((int)&config.booting, (int)&tmp_config.booting, sizeof(config.booting));
    config.booting = tmp_config.booting;
  }

  return(1);
}
