#include "settings_dialog.h"

#include "tracker_config.h"

SettingsDialog::SettingsDialog() : wxDialog(nullptr, wxID_ANY, "Settings") {
  should_check_for_updates_box_ = new wxCheckBox(
      this, wxID_ANY, "Check for updates when the tracker opens");
  hybrid_areas_box_ = new wxCheckBox(
      this, wxID_ANY,
      "Use two colors to show that an area has partial availability");
  show_hunt_panels_box_ = new wxCheckBox(this, wxID_ANY, "Show hunt panels");

  should_check_for_updates_box_->SetValue(
      GetTrackerConfig().should_check_for_updates);
  hybrid_areas_box_->SetValue(GetTrackerConfig().hybrid_areas);
  show_hunt_panels_box_->SetValue(GetTrackerConfig().show_hunt_panels);

  wxBoxSizer* form_sizer = new wxBoxSizer(wxVERTICAL);

  form_sizer->Add(should_check_for_updates_box_, wxSizerFlags().HorzBorder());
  form_sizer->AddSpacer(2);

  form_sizer->Add(hybrid_areas_box_, wxSizerFlags().HorzBorder());
  form_sizer->AddSpacer(2);

  form_sizer->Add(show_hunt_panels_box_, wxSizerFlags().HorzBorder());
  form_sizer->AddSpacer(2);

  form_sizer->Add(CreateButtonSizer(wxOK | wxCANCEL), wxSizerFlags().Center());

  SetSizerAndFit(form_sizer);

  Center();
}