/* Copyright (C) 2018 Carl Hetherington This file is part of DCP-o-matic. DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with DCP-o-matic. If not, see . */ #include "initial_setup_dialog.h" #include "static_text.h" #include "lib/config.h" #include InitialSetupDialog::InitialSetupDialog () : wxDialog (0, wxID_ANY, _("DCP-o-matic setup")) { wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL); wxStaticText* text1 = new StaticText (this, wxEmptyString, wxDefaultPosition, wxSize(600, -1)); sizer->Add (text1, 1, wxEXPAND | wxALL, 12); text1->SetLabelMarkup ( _( "Welcome to DCP-o-matic!\n\n" "DCP-o-matic can work in two modes: 'simple' or 'full'.\n\n" "Simple mode is ideal for producing straightforward DCPs without too many confusing " "options.\n\n" "Full mode gives you the most control over the DCPs you make.\n\n" "Please choose which mode you would like to start DCP-o-matic in:" ) ); wxBoxSizer* mode_sizer = new wxBoxSizer (wxVERTICAL); _simple = new wxRadioButton (this, wxID_ANY, _("Simple mode"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); mode_sizer->Add (_simple, 0, wxTOP, 12); _full = new wxRadioButton (this, wxID_ANY, _("Full mode")); mode_sizer->Add (_full, 0, wxTOP, 8); sizer->Add (mode_sizer, 0, wxLEFT, 24); if (Config::instance()->interface_complexity() == Config::INTERFACE_SIMPLE) { _simple->SetValue (true); } else { _full->SetValue (true); } wxStaticText* text2 = new StaticText (this, wxEmptyString, wxDefaultPosition, wxSize(400, -1)); sizer->Add (text2, 0, wxEXPAND | wxALL, 12); text2->SetLabel (_("\nYou can change the mode at any time from the General page of Preferences.")); _simple->Bind (wxEVT_RADIOBUTTON, boost::bind(&InitialSetupDialog::interface_complexity_changed, this)); _full->Bind (wxEVT_RADIOBUTTON, boost::bind(&InitialSetupDialog::interface_complexity_changed, this)); wxSizer* buttons = CreateSeparatedButtonSizer (wxOK); if (buttons) { sizer->Add(buttons, wxSizerFlags().Expand().DoubleBorder()); } sizer->Layout (); SetSizerAndFit (sizer); } void InitialSetupDialog::interface_complexity_changed () { if (_simple->GetValue()) { Config::instance()->set_interface_complexity (Config::INTERFACE_SIMPLE); } else { Config::instance()->set_interface_complexity (Config::INTERFACE_FULL); } }