X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_properties_dialog.cc;h=da4243cb4fc6438db1921ccf3550e5770d132e2a;hb=cb216e27231bc618604ec041bab912191dcc668e;hp=5df9ea5cf3f70a1e1d3b7673d5b051a2154a10d7;hpb=291e2fe2e7df95019feba8097b68b31ec64be794;p=dcpomatic.git diff --git a/src/wx/content_properties_dialog.cc b/src/wx/content_properties_dialog.cc index 5df9ea5cf..da4243cb4 100644 --- a/src/wx/content_properties_dialog.cc +++ b/src/wx/content_properties_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,50 +18,73 @@ */ + #include "content_properties_dialog.h" #include "wx_util.h" -#include "lib/raw_convert.h" +#include "static_text.h" #include "lib/content.h" #include "lib/video_content.h" #include "lib/audio_content.h" #include -#include + using std::string; using std::list; using std::pair; using std::map; -using boost::shared_ptr; -using boost::dynamic_pointer_cast; +using std::shared_ptr; +using std::dynamic_pointer_cast; -ContentPropertiesDialog::ContentPropertiesDialog (wxWindow* parent, shared_ptr content) + +ContentPropertiesDialog::ContentPropertiesDialog (wxWindow* parent, shared_ptr film, shared_ptr content) : TableDialog (parent, _("Content Properties"), 2, 1, false) { - map > grouped; - BOOST_FOREACH (UserProperty i, content->user_properties()) { + map> grouped; + for (auto i: content->user_properties(film)) { if (grouped.find(i.category) == grouped.end()) { grouped[i.category] = list (); } grouped[i.category].push_back (i); } - maybe_add_group (grouped, wx_to_std (_("General"))); - maybe_add_group (grouped, wx_to_std (_("Video"))); - maybe_add_group (grouped, wx_to_std (_("Audio"))); - maybe_add_group (grouped, wx_to_std (_("Length"))); + maybe_add_group (grouped, UserProperty::GENERAL); + maybe_add_group (grouped, UserProperty::VIDEO); + maybe_add_group (grouped, UserProperty::AUDIO); + maybe_add_group (grouped, UserProperty::LENGTH); + + /* Nasty hack to stop the bottom property being cut off on Windows / OS X */ + add (wxString(), false); + add (wxString(), false); layout (); } + void -ContentPropertiesDialog::maybe_add_group (map > const & groups, string name) +ContentPropertiesDialog::maybe_add_group (map> const & groups, UserProperty::Category category) { - map >::const_iterator i = groups.find (name); + auto i = groups.find (category); if (i == groups.end()) { return; } - wxStaticText* m = new wxStaticText (this, wxID_ANY, std_to_wx (i->first)); + wxString category_name; + switch (i->first) { + case UserProperty::GENERAL: + category_name = _("General"); + break; + case UserProperty::VIDEO: + category_name = _("Video"); + break; + case UserProperty::AUDIO: + category_name = _("Audio"); + break; + case UserProperty::LENGTH: + category_name = _("Length"); + break; + } + + auto m = new StaticText (this, category_name); wxFont font (*wxNORMAL_FONT); font.SetWeight (wxFONTWEIGHT_BOLD); m->SetFont (font); @@ -71,8 +94,8 @@ ContentPropertiesDialog::maybe_add_group (map > const add (m, false); add_spacer (); - BOOST_FOREACH (UserProperty j, i->second) { - add (std_to_wx (j.key), true); - add (new wxStaticText (this, wxID_ANY, std_to_wx (j.value + " " + j.unit))); + for (auto j: i->second) { + add_label_to_sizer (_table, this, std_to_wx(j.key), true, 0, wxALIGN_TOP); + add (new StaticText (this, std_to_wx (j.value + " " + j.unit))); } }