414
422
EOG_CONF_UI_IMAGE_COLLECTION_POSITION,
415
423
NULL, TRUE, NULL);
417
if (mode_entry->value != NULL && mode_entry->value->type == GCONF_VALUE_INT) {
418
position = gconf_value_get_int (mode_entry->value);
425
if (G_LIKELY (mode_entry != NULL)) {
426
if (mode_entry->value != NULL &&
427
mode_entry->value->type == GCONF_VALUE_INT) {
428
position = gconf_value_get_int (mode_entry->value);
430
gconf_entry_unref (mode_entry);
421
433
mode_entry = gconf_client_get_entry (priv->client,
422
434
EOG_CONF_UI_IMAGE_COLLECTION_RESIZABLE,
423
435
NULL, TRUE, NULL);
425
if (mode_entry->value != NULL && mode_entry->value->type == GCONF_VALUE_BOOL) {
426
resizable = gconf_value_get_bool (mode_entry->value);
437
if (G_LIKELY (mode_entry != NULL)) {
438
if (mode_entry->value != NULL &&
439
mode_entry->value->type == GCONF_VALUE_BOOL) {
440
resizable = gconf_value_get_bool (mode_entry->value);
442
gconf_entry_unref (mode_entry);
429
445
if (priv->collection_position == position &&
2400
2419
eog_dialog_show (EOG_DIALOG (pref_dlg));
2422
#define EOG_TB_EDITOR_DLG_RESET_RESPONSE 128
2404
2425
eog_window_cmd_edit_toolbar_cb (GtkDialog *dialog, gint response, gpointer data)
2406
2427
EogWindow *window = EOG_WINDOW (data);
2408
egg_editable_toolbar_set_edit_mode
2409
(EGG_EDITABLE_TOOLBAR (window->priv->toolbar), FALSE);
2411
eog_application_save_toolbars_model (EOG_APP);
2413
gtk_widget_destroy (GTK_WIDGET (dialog));
2429
if (response == EOG_TB_EDITOR_DLG_RESET_RESPONSE) {
2430
EggToolbarsModel *model;
2431
EggToolbarEditor *editor;
2433
editor = g_object_get_data (G_OBJECT (dialog),
2434
"EggToolbarEditor");
2436
g_return_if_fail (editor != NULL);
2438
egg_editable_toolbar_set_edit_mode
2439
(EGG_EDITABLE_TOOLBAR (window->priv->toolbar), FALSE);
2441
eog_application_reset_toolbars_model (EOG_APP);
2442
model = eog_application_get_toolbars_model (EOG_APP);
2443
egg_editable_toolbar_set_model
2444
(EGG_EDITABLE_TOOLBAR (window->priv->toolbar), model);
2445
egg_toolbar_editor_set_model (editor, model);
2447
/* Toolbar would be uneditable now otherwise */
2448
egg_editable_toolbar_set_edit_mode
2449
(EGG_EDITABLE_TOOLBAR (window->priv->toolbar), TRUE);
2451
egg_editable_toolbar_set_edit_mode
2452
(EGG_EDITABLE_TOOLBAR (window->priv->toolbar), FALSE);
2454
eog_application_save_toolbars_model (EOG_APP);
2456
gtk_widget_destroy (GTK_WIDGET (dialog));
4020
4071
screen = gtk_widget_get_screen (GTK_WIDGET (window));
4022
window->priv = EOG_WINDOW_GET_PRIVATE (window);
4073
priv = window->priv = EOG_WINDOW_GET_PRIVATE (window);
4024
window->priv->client = gconf_client_get_default ();
4075
priv->client = gconf_client_get_default ();
4026
4077
gconf_client_add_dir (window->priv->client, EOG_CONF_DIR,
4027
4078
GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
4029
gconf_client_notify_add (window->priv->client,
4030
EOG_CONF_VIEW_INTERPOLATE,
4031
eog_window_interp_type_changed_cb,
4032
window, NULL, NULL);
4034
gconf_client_notify_add (window->priv->client,
4035
EOG_CONF_VIEW_SCROLL_WHEEL_ZOOM,
4036
eog_window_scroll_wheel_zoom_changed_cb,
4037
window, NULL, NULL);
4039
gconf_client_notify_add (window->priv->client,
4040
EOG_CONF_VIEW_ZOOM_MULTIPLIER,
4041
eog_window_zoom_multiplier_changed_cb,
4042
window, NULL, NULL);
4044
gconf_client_notify_add (window->priv->client,
4045
EOG_CONF_VIEW_TRANSPARENCY,
4046
eog_window_transparency_changed_cb,
4047
window, NULL, NULL);
4049
gconf_client_notify_add (window->priv->client,
4050
EOG_CONF_VIEW_TRANS_COLOR,
4051
eog_window_trans_color_changed_cb,
4052
window, NULL, NULL);
4054
gconf_client_notify_add (window->priv->client,
4055
EOG_CONF_UI_SCROLL_BUTTONS,
4056
eog_window_scroll_buttons_changed_cb,
4057
window, NULL, NULL);
4059
gconf_client_notify_add (window->priv->client,
4060
EOG_CONF_UI_IMAGE_COLLECTION_POSITION,
4061
eog_window_collection_mode_changed_cb,
4062
window, NULL, NULL);
4064
gconf_client_notify_add (window->priv->client,
4065
EOG_CONF_UI_IMAGE_COLLECTION_RESIZABLE,
4066
eog_window_collection_mode_changed_cb,
4067
window, NULL, NULL);
4069
gconf_client_notify_add (window->priv->client,
4070
EOG_CONF_DESKTOP_CAN_SAVE,
4071
eog_window_can_save_changed_cb,
4072
window, NULL, NULL);
4080
priv->client_notifications[EOG_WINDOW_NOTIFY_INTERPOLATE] =
4081
gconf_client_notify_add (window->priv->client,
4082
EOG_CONF_VIEW_INTERPOLATE,
4083
eog_window_interp_type_changed_cb,
4084
window, NULL, NULL);
4086
priv->client_notifications[EOG_WINDOW_NOTIFY_SCROLLWHEEL_ZOOM] =
4087
gconf_client_notify_add (window->priv->client,
4088
EOG_CONF_VIEW_SCROLL_WHEEL_ZOOM,
4089
eog_window_scroll_wheel_zoom_changed_cb,
4090
window, NULL, NULL);
4092
priv->client_notifications[EOG_WINDOW_NOTIFY_ZOOM_MULTIPLIER] =
4093
gconf_client_notify_add (window->priv->client,
4094
EOG_CONF_VIEW_ZOOM_MULTIPLIER,
4095
eog_window_zoom_multiplier_changed_cb,
4096
window, NULL, NULL);
4098
priv->client_notifications[EOG_WINDOW_NOTIFY_TRANSPARENCY] =
4099
gconf_client_notify_add (window->priv->client,
4100
EOG_CONF_VIEW_TRANSPARENCY,
4101
eog_window_transparency_changed_cb,
4102
window, NULL, NULL);
4104
priv->client_notifications[EOG_WINDOW_NOTIFY_TRANS_COLOR] =
4105
gconf_client_notify_add (window->priv->client,
4106
EOG_CONF_VIEW_TRANS_COLOR,
4107
eog_window_trans_color_changed_cb,
4108
window, NULL, NULL);
4110
priv->client_notifications[EOG_WINDOW_NOTIFY_SCROLL_BUTTONS] =
4111
gconf_client_notify_add (window->priv->client,
4112
EOG_CONF_UI_SCROLL_BUTTONS,
4113
eog_window_scroll_buttons_changed_cb,
4114
window, NULL, NULL);
4116
priv->client_notifications[EOG_WINDOW_NOTIFY_COLLECTION_POS] =
4117
gconf_client_notify_add (window->priv->client,
4118
EOG_CONF_UI_IMAGE_COLLECTION_POSITION,
4119
eog_window_collection_mode_changed_cb,
4120
window, NULL, NULL);
4122
priv->client_notifications[EOG_WINDOW_NOTIFY_COLLECTION_RESIZABLE] =
4123
gconf_client_notify_add (window->priv->client,
4124
EOG_CONF_UI_IMAGE_COLLECTION_RESIZABLE,
4125
eog_window_collection_mode_changed_cb,
4126
window, NULL, NULL);
4128
priv->client_notifications[EOG_WINDOW_NOTIFY_CAN_SAVE] =
4129
gconf_client_notify_add (window->priv->client,
4130
EOG_CONF_DESKTOP_CAN_SAVE,
4131
eog_window_can_save_changed_cb,
4132
window, NULL, NULL);
4074
4134
window->priv->store = NULL;
4075
4135
window->priv->image = NULL;
4280
4357
if (tbcontainer->focus_child != NULL)
4359
if (!GTK_WIDGET_VISIBLE (EOG_WINDOW (widget)->priv->nav)) {
4360
eog_window_cmd_go_prev (NULL, EOG_WINDOW (widget));
4366
if (tbcontainer->focus_child != NULL)
4368
if (!GTK_WIDGET_VISIBLE (EOG_WINDOW (widget)->priv->nav)) {
4369
eog_window_cmd_go_next (NULL, EOG_WINDOW (widget));
4282
4373
case GDK_Page_Up:
4283
if (!eog_scroll_view_scrollbars_visible (EOG_SCROLL_VIEW (EOG_WINDOW (widget)->priv->view))) {
4284
eog_thumb_view_select_single (EOG_THUMB_VIEW (EOG_WINDOW (widget)->priv->thumbview),
4285
EOG_THUMB_VIEW_SELECT_LEFT);
4289
if (EOG_WINDOW (widget)->priv->mode == EOG_WINDOW_MODE_SLIDESHOW) {
4290
slideshow_set_timeout (EOG_WINDOW (widget));
4296
if (tbcontainer->focus_child != NULL)
4298
4374
case GDK_Page_Down:
4299
4375
if (!eog_scroll_view_scrollbars_visible (EOG_SCROLL_VIEW (EOG_WINDOW (widget)->priv->view))) {
4300
eog_thumb_view_select_single (EOG_THUMB_VIEW (EOG_WINDOW (widget)->priv->thumbview),
4301
EOG_THUMB_VIEW_SELECT_RIGHT);
4376
handle_selection = TRUE;
4381
if (handle_selection == TRUE && result == FALSE) {
4382
gtk_widget_grab_focus (GTK_WIDGET (EOG_WINDOW (widget)->priv->thumbview));
4384
result = gtk_widget_event (GTK_WIDGET (EOG_WINDOW (widget)->priv->thumbview),
4385
(GdkEvent *) event);
4305
4387
if (EOG_WINDOW (widget)->priv->mode == EOG_WINDOW_MODE_SLIDESHOW) {
4306
4388
slideshow_set_timeout (EOG_WINDOW (widget));
4312
4392
if (result == FALSE && GTK_WIDGET_CLASS (eog_window_parent_class)->key_press_event) {
4313
4393
result = (* GTK_WIDGET_CLASS (eog_window_parent_class)->key_press_event) (widget, event);
4688
4771
return window->priv->ui_mgr;
4775
eog_window_get_mode (EogWindow *window)
4777
g_return_val_if_fail (EOG_IS_WINDOW (window), EOG_WINDOW_MODE_UNKNOWN);
4779
return window->priv->mode;
4783
eog_window_set_mode (EogWindow *window, EogWindowMode mode)
4785
g_return_if_fail (EOG_IS_WINDOW (window));
4787
if (window->priv->mode == mode)
4791
case EOG_WINDOW_MODE_NORMAL:
4792
eog_window_stop_fullscreen (window,
4793
window->priv->mode == EOG_WINDOW_MODE_SLIDESHOW);
4795
case EOG_WINDOW_MODE_FULLSCREEN:
4796
eog_window_run_fullscreen (window, FALSE);
4798
case EOG_WINDOW_MODE_SLIDESHOW:
4799
eog_window_run_fullscreen (window, TRUE);
4801
case EOG_WINDOW_MODE_UNKNOWN:
4692
4807
eog_window_get_store (EogWindow *window)