about summary refs log tree commit diff stats
path: root/assets
Commit message (Expand)AuthorAgeFilesLines
* Folded in new cross tower areasStar Rauchenberger2023-09-071-0/+8
* Panelsanity supportStar Rauchenberger2023-08-251-0/+132
* Fixed fake pilgrimageStar Rauchenberger2023-08-081-0/+8
* Add Orange Tower BasementStar Rauchenberger2023-06-181-0/+2
* The Bold and The Red no longer overlapStar Rauchenberger2023-05-091-2/+2
* Detect fake pilgrimageStar Rauchenberger2023-05-061-0/+21
* Added support for variable THE MASTERStar Rauchenberger2023-05-051-0/+2
* It's called The Wanderer nowStar Rauchenberger2023-05-051-1/+1
* Map + popups reflect checked locationsStar Rauchenberger2023-05-022-0/+0
* Added areas to mapStar Rauchenberger2023-05-021-0/+129
* Added map backgroundStar Rauchenberger2023-05-011-0/+0
c.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#include "connection_dialog.h"

#include "tracker_config.h"

ConnectionDialog::ConnectionDialog()
    : wxDialog(nullptr, wxID_ANY, "Connect to Archipelago") {
  server_box_ =
      new wxTextCtrl(this, -1, GetTrackerConfig().connection_details.ap_server,
                     wxDefaultPosition, {300, -1});
  player_box_ =
      new wxTextCtrl(this, -1, GetTrackerConfig().connection_details.ap_player,
                     wxDefaultPosition, {300, -1});
  password_box_ = new wxTextCtrl(
      this, -1, GetTrackerConfig().connection_details.ap_password,
      wxDefaultPosition, {300, -1});

  wxFlexGridSizer* form_sizer = new wxFlexGridSizer(2, 10, 10);

  form_sizer->Add(
      new wxStaticText(this, -1, "Server:"),
      wxSizerFlags().Align(wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT));
  form_sizer->Add(server_box_, wxSizerFlags().Expand());
  form_sizer->Add(
      new wxStaticText(this, -1, "Player:"),
      wxSizerFlags().Align(wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT));
  form_sizer->Add(player_box_, wxSizerFlags().Expand());
  form_sizer->Add(
      new wxStaticText(this, -1, "Password:"),
      wxSizerFlags().Align(wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT));
  form_sizer->Add(password_box_, wxSizerFlags().Expand());

  history_list_ = new wxListBox(this, -1);
  for (const ConnectionDetails& details : GetTrackerConfig().connection_history) {
    wxString display_text;
    display_text << details.ap_player;
    display_text << " (";
    display_text << details.ap_server;
    display_text << ")";

    history_list_->Append(display_text);
  }

  history_list_->Bind(wxEVT_LISTBOX, &ConnectionDialog::OnOldConnectionChosen, this);

  wxBoxSizer* mid_sizer = new wxBoxSizer(wxHORIZONTAL);
  mid_sizer->Add(form_sizer, wxSizerFlags().Proportion(3).Expand());
  mid_sizer->AddSpacer(10);
  mid_sizer->Add(history_list_, wxSizerFlags().Proportion(2).Expand());

  wxBoxSizer* top_sizer = new wxBoxSizer(wxVERTICAL);
  top_sizer->Add(new wxStaticText(
                     this, -1, "Enter the details to connect to Archipelago."),
                 wxSizerFlags().Align(wxALIGN_LEFT).DoubleBorder());
  top_sizer->Add(mid_sizer, wxSizerFlags().DoubleBorder().Expand());
  top_sizer->Add(CreateButtonSizer(wxOK | wxCANCEL), wxSizerFlags().Border().Center());

  SetSizerAndFit(top_sizer);

  Center();
  server_box_->SetFocus();
}

void ConnectionDialog::OnOldConnectionChosen(wxCommandEvent& e) {
  if (e.IsSelection()) {
    const ConnectionDetails& details = GetTrackerConfig().connection_history.at(e.GetSelection());
    server_box_->SetValue(details.ap_server);
    player_box_->SetValue(details.ap_player);
    password_box_->SetValue(details.ap_password);
  }
}