#include <wx/treectrl.h>
#include <wx/datectrl.h>
#include <wx/timectrl.h>
+#include <wx/stdpaths.h>
#include "lib/cinema.h"
#include "lib/config.h"
#include "kdm_dialog.h"
vertical->Add (targets, 1, wxEXPAND | wxALL, 6);
wxFlexGridSizer* table = new wxFlexGridSizer (3, 2, 6);
- add_label_to_sizer (table, this, "From", true);
+ add_label_to_sizer (table, this, _("From"), true);
_from_date = new wxDatePickerCtrl (this, wxID_ANY);
table->Add (_from_date, 1, wxEXPAND);
_from_time = new wxTimePickerCtrl (this, wxID_ANY);
table->Add (_from_time, 1, wxEXPAND);
- add_label_to_sizer (table, this, "Until", true);
+ add_label_to_sizer (table, this, _("Until"), true);
_until_date = new wxDatePickerCtrl (this, wxID_ANY);
table->Add (_until_date, 1, wxEXPAND);
_until_time = new wxTimePickerCtrl (this, wxID_ANY);
table->Add (_until_time, 1, wxEXPAND);
- add_label_to_sizer (table, this, "Write to", true);
+ _write_to = new wxRadioButton (this, wxID_ANY, _("Write to"));
+ table->Add (_write_to, 1, wxEXPAND);
#ifdef DCPOMATIC_USE_OWN_DIR_PICKER
_folder = new DirPickerCtrl (this);
_folder = new wxDirPickerCtrl (this, wxID_ANY);
#endif
+ _folder->SetPath (wxStandardPaths::Get().GetDocumentsDir());
+
table->Add (_folder, 1, wxEXPAND);
+ table->AddSpacer (0);
+
+ _email = new wxRadioButton (this, wxID_ANY, _("Send by email"));
+ table->Add (_email, 1, wxEXPAND);
+ table->AddSpacer (0);
vertical->Add (table, 0, wxEXPAND | wxALL, 6);
vertical->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
}
- _targets->Connect (wxID_ANY, wxEVT_COMMAND_TREE_SEL_CHANGED, wxCommandEventHandler (KDMDialog::targets_selection_changed), 0, this);
+ _targets->Bind (wxEVT_COMMAND_TREE_SEL_CHANGED, boost::bind (&KDMDialog::setup_sensitivity, this));
- _add_cinema->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (KDMDialog::add_cinema_clicked), 0, this);
- _edit_cinema->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (KDMDialog::edit_cinema_clicked), 0, this);
- _remove_cinema->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (KDMDialog::remove_cinema_clicked), 0, this);
+ _add_cinema->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::add_cinema_clicked, this));
+ _edit_cinema->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::edit_cinema_clicked, this));
+ _remove_cinema->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::remove_cinema_clicked, this));
- _add_screen->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (KDMDialog::add_screen_clicked), 0, this);
- _edit_screen->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (KDMDialog::edit_screen_clicked), 0, this);
- _remove_screen->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (KDMDialog::remove_screen_clicked), 0, this);
+ _add_screen->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::add_screen_clicked, this));
+ _edit_screen->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::edit_screen_clicked, this));
+ _remove_screen->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&KDMDialog::remove_screen_clicked, this));
+
+ _write_to->Bind (wxEVT_COMMAND_RADIOBUTTON_SELECTED, boost::bind (&KDMDialog::setup_sensitivity, this));
+ _email->Bind (wxEVT_COMMAND_RADIOBUTTON_SELECTED, boost::bind (&KDMDialog::setup_sensitivity, this));
setup_sensitivity ();
return c;
}
-void
-KDMDialog::targets_selection_changed (wxCommandEvent &)
-{
- setup_sensitivity ();
-}
-
void
KDMDialog::setup_sensitivity ()
{
_remove_screen->Enable (ss);
wxButton* ok = dynamic_cast<wxButton *> (FindWindowById (wxID_OK));
- ok->Enable (sc || sc);
+ ok->Enable (sc || ss);
+
+ _folder->Enable (_write_to->GetValue ());
}
void
}
void
-KDMDialog::add_cinema_clicked (wxCommandEvent &)
+KDMDialog::add_cinema_clicked ()
{
CinemaDialog* d = new CinemaDialog (this, "Add Cinema");
d->ShowModal ();
}
void
-KDMDialog::edit_cinema_clicked (wxCommandEvent &)
+KDMDialog::edit_cinema_clicked ()
{
if (selected_cinemas().size() != 1) {
return;
}
void
-KDMDialog::remove_cinema_clicked (wxCommandEvent &)
+KDMDialog::remove_cinema_clicked ()
{
if (selected_cinemas().size() != 1) {
return;
}
void
-KDMDialog::add_screen_clicked (wxCommandEvent &)
+KDMDialog::add_screen_clicked ()
{
if (selected_cinemas().size() != 1) {
return;
shared_ptr<Cinema> c = selected_cinemas().front().second;
ScreenDialog* d = new ScreenDialog (this, "Add Screen");
- d->ShowModal ();
+ if (d->ShowModal () != wxID_OK) {
+ return;
+ }
shared_ptr<Screen> s (new Screen (d->name(), d->certificate()));
c->add_screen (s);
}
void
-KDMDialog::edit_screen_clicked (wxCommandEvent &)
+KDMDialog::edit_screen_clicked ()
{
if (selected_screens().size() != 1) {
return;
}
void
-KDMDialog::remove_screen_clicked (wxCommandEvent &)
+KDMDialog::remove_screen_clicked ()
{
if (selected_screens().size() != 1) {
return;
{
return wx_to_std (_folder->GetPath ());
}
+
+bool
+KDMDialog::write_to () const
+{
+ return _write_to->GetValue ();
+}