void LoadPreference (String key)
{
switch (key) {
case Preferences.MAIN_WINDOW_MAXIMIZED:
if (Preferences.Get<bool> (key))
main_window.Maximize ();
else
main_window.Unmaximize ();
break;
case Preferences.MAIN_WINDOW_X:
case Preferences.MAIN_WINDOW_Y:
main_window.Move (Preferences.Get<int> (Preferences.MAIN_WINDOW_X),
Preferences.Get<int> (Preferences.MAIN_WINDOW_Y));
break;
case Preferences.MAIN_WINDOW_WIDTH:
case Preferences.MAIN_WINDOW_HEIGHT:
if (Preferences.Get<int> (Preferences.MAIN_WINDOW_WIDTH) > 0 &&
Preferences.Get<int> (Preferences.MAIN_WINDOW_HEIGHT) > 0)
main_window.Resize (Preferences.Get<int> (Preferences.MAIN_WINDOW_WIDTH),
Preferences.Get<int> (Preferences.MAIN_WINDOW_HEIGHT));
break;
case Preferences.SHOW_TOOLBAR:
if (display_toolbar.Active != Preferences.Get<bool> (key))
display_toolbar.Active = Preferences.Get<bool> (key);
break;
case Preferences.SHOW_SIDEBAR:
if (display_sidebar.Active != Preferences.Get<bool> (key))
display_sidebar.Active = Preferences.Get<bool> (key);
break;
case Preferences.SHOW_TIMELINE:
if (display_timeline.Active != Preferences.Get<bool> (key))
display_timeline.Active = Preferences.Get<bool> (key);
break;
case Preferences.SHOW_FILMSTRIP:
if (display_filmstrip.Active != Preferences.Get<bool> (key)) {
display_filmstrip.Active = Preferences.Get<bool> (key);
}
break;
case Preferences.SHOW_TAGS:
if (display_tags_menu_item.Active != Preferences.Get<bool> (key))
display_tags_menu_item.Active = Preferences.Get<bool> (key);
break;
case Preferences.SHOW_DATES:
if (display_dates_menu_item.Active != Preferences.Get<bool> (key))
display_dates_menu_item.Active = Preferences.Get<bool> (key);
//display_dates_menu_item.Toggle ();
break;
case Preferences.SHOW_RATINGS:
if (display_ratings_menu_item.Active != Preferences.Get<bool> (key))
display_ratings_menu_item.Active = Preferences.Get<bool> (key);
break;
case Preferences.GROUP_ADAPTOR_ORDER_ASC:
group_selector.Adaptor.OrderAscending = Preferences.Get<bool> (key);
reverse_order.Active = Preferences.Get<bool> (key);
query.TimeOrderAsc = group_selector.Adaptor.OrderAscending;
break;
case Preferences.GLASS_POSITION:
if (query.Count > 0) {
// If the database has changed since this pref was saved, this could cause
// an exception to be thrown.
try {
IPhoto photo = group_selector.Adaptor.PhotoFromIndex (Preferences.Get<int> (key));
if (photo != null)
JumpTo (query.IndexOf (photo));
} catch (Exception) {
}
}
icon_view.GrabFocus ();
break;
case Preferences.SIDEBAR_POSITION:
if (main_hpaned.Position != Preferences.Get<int> (key))
main_hpaned.Position = Preferences.Get<int> (key);
break;
case Preferences.TAG_ICON_SIZE:
int s = Preferences.Get<int> (key);
tag_icon_hidden.Active = (s == (int)Tag.IconSize.Hidden);
tag_icon_small.Active = (s == (int)Tag.IconSize.Small);
tag_icon_medium.Active = (s == (int)Tag.IconSize.Medium);
tag_icon_large.Active = (s == (int)Tag.IconSize.Large);
break;
case Preferences.ZOOM:
icon_view.Zoom = Preferences.Get<double> (key);
break;
case Preferences.METADATA_EMBED_IN_IMAGE:
write_metadata = Preferences.Get<bool> (key);
break;
case Preferences.GNOME_MAILTO_ENABLED:
send_mail.Visible = Preferences.Get<bool> (key);
break;
}
}