This commit is contained in:
ghorvath
2010-04-16 10:29:18 +00:00
parent 71b74bbfd2
commit 68c4f03a59
205 changed files with 7112 additions and 15069 deletions

View File

@@ -124,47 +124,78 @@ FilterPanel::FilterPanel () : listener (NULL) {
show_all ();
}
void FilterPanel::setFilter (ExifFilterSettings& defefs) {
void FilterPanel::setFilter (ExifFilterSettings& defefs, bool updateLists) {
curefs = defefs;
for (int i=0; i<conns; i++)
sChange[i].block (true);
// enaFNumber->set_active (curefs.filterFNumber);
fnumberFrom->set_text (ImageMetaData::apertureToString (curefs.fnumberFrom));
fnumberTo->set_text (ImageMetaData::apertureToString (curefs.fnumberTo));
fnumberFrom->set_text (ImageMetaData::apertureToString (defefs.fnumberFrom));
curefs.fnumberFrom = defefs.fnumberFrom;
fnumberTo->set_text (ImageMetaData::apertureToString (defefs.fnumberTo));
curefs.fnumberTo = defefs.fnumberTo;
// enaShutter->set_active (curefs.filterShutter);
shutterFrom->set_text (ImageMetaData::shutterToString (curefs.shutterFrom));
shutterTo->set_text (ImageMetaData::shutterToString (curefs.shutterTo));
shutterFrom->set_text (ImageMetaData::shutterToString (defefs.shutterFrom));
curefs.shutterFrom = defefs.shutterFrom;
shutterTo->set_text (ImageMetaData::shutterToString (defefs.shutterTo));
curefs.shutterTo = defefs.shutterTo;
// enaISO->set_active (curefs.filterISO);
isoFrom->set_text (Glib::ustring::format (curefs.isoFrom));
isoTo->set_text (Glib::ustring::format (curefs.isoTo));
isoFrom->set_text (Glib::ustring::format (defefs.isoFrom));
curefs.isoFrom = defefs.isoFrom;
isoTo->set_text (Glib::ustring::format (defefs.isoTo));
curefs.isoTo = defefs.isoTo;
// enaFocalLen->set_active (curefs.filterFocalLen);
focalFrom->set_text (Glib::ustring::format (curefs.focalFrom));
focalTo->set_text (Glib::ustring::format (curefs.focalTo));
focalFrom->set_text (Glib::ustring::format (defefs.focalFrom));
curefs.focalFrom = defefs.focalFrom;
focalTo->set_text (Glib::ustring::format (defefs.focalTo));
curefs.focalTo = defefs.focalTo;
// enaCamera->set_active (curefs.filterCamera);
Glib::RefPtr<Gtk::TreeSelection> cselection = camera->get_selection ();
int j=0;
for (std::set<std::string>::iterator i = defefs.cameras.begin(); i!=defefs.cameras.end(); i++, j++) {
camera->append_text (*i);
if (curefs.cameras.count (*i)>0)
cselection->select (camera->get_model()->children()[j]);
}
// enaLens->set_active (curefs.filterLens);
Glib::RefPtr<Gtk::TreeSelection> lselection = lens->get_selection ();
j = 0;
for (std::set<std::string>::iterator i = defefs.lenses.begin(); i!=defefs.lenses.end(); i++, j++) {
lens->append_text (*i);
if (curefs.lenses.count (*i)>0)
lselection->select (lens->get_model()->children()[j]);
if( updateLists ){
lens->clear_items();
curefs.lenses.clear();
for (std::set<std::string>::iterator i = defefs.lenses.begin(); i!=defefs.lenses.end(); i++) {
lens->append_text (*i);
curefs.lenses.insert(*i);
}
lselection->select_all();
camera->clear_items();
curefs.cameras.clear();
for (std::set<std::string>::iterator i = defefs.cameras.begin(); i!=defefs.cameras.end(); i++) {
camera->append_text(*i);
curefs.cameras.insert(*i);
}
cselection->select_all();
}else{
for( Gtk::TreeModel::Children::iterator iter = lens->get_model()->children().begin(); iter != lens->get_model()->children().end();iter++){
Glib::ustring v;
iter->get_value(0,v);
if( defefs.lenses.find( v ) != defefs.lenses.end() )
lselection->select( iter );
else
lselection->unselect( iter );
}
for( Gtk::TreeModel::Children::iterator iter = camera->get_model()->children().begin(); iter != camera->get_model()->children().end();iter++){
Glib::ustring v;
iter->get_value(0,v);
if( defefs.cameras.find( v ) != defefs.cameras.end() )
cselection->select(iter);
else
cselection->unselect(iter);
}
}
curefs = defefs;
for (int i=0; i<conns; i++)
sChange[i].block (false);
}