2002-07-29 Federico Mena Quintero <federico@ximian.com>
Fixes#89372.
* shell/main.c (show_nonexistent_files): Oops,
gtk_message_dialog_new() takes a printf() format, so use it - if
our filenames contained percent characters, we would screw up.
(make_canonical_uri): Escape the filename before passing it to
gnome-vfs.
* shell/eog-window.c (eog_window_open_dialog): Likewise.
* shell/util.c (open_failure_dialog): Unescape the URI.
2002-07-29 Federico Mena Quintero <federico@ximian.com>
* libeog/image-view.c (image_view_scroll_event): Reverted
scrollwheel change. No modifiers means zoom, shift+wheel means
scroll, shift+control+wheel means scroll in the other direction.
Rationale: you can already scroll around the image by simply
dragging it around. Zooming is more useful, I think, so that you
can completely navigate around the image without ever touching the
keyboard.
2002-07-24 Federico Mena Quintero <federico@ximian.com>
* configure.in: Bumped version number to 1.0.2.
* collection/Makefile.am: Added the marshal files to
BUILT_SOURCES.
2002-07-09 Federico Mena Quintero <federico@ximian.com>
* idl/Eog.idl (GNOME::EOG::Interpolation): Removed tiles
interpolation, as it does not make sense for EOG.
* viewer/eog-image-view.c (listener_Interpolation_cb): Likewise.
(ui_id_strings_interp_type): Likewise.
(eog_image_view_get_prop): Likewise.
(eog_image_view_set_prop): Likewise.
* viewer/eog-preview.c (eog_preview_update): Likewise.
* viewer/preferences.c (prefs_interpolation): Likewise.
* viewer/eog-image-view-ui.xml: Likewise.
* viewer/eog-image-view.c (eog_image_view_create_ui): Use the
computed number of elements for the interpolation types array, not
a hardcoded constant.
(eog_image_view_create_ui): Convert the interpolation value to a
menu index before using it.
(interp_type_changed_cb): Likewise.
* viewer/eog-control.c (eog_control_construct): Do not add a
property control interface. The preferences code is highly
convoluted and broken, so I'm removing it.
* viewer/eog-imagew-view.c (eog_image_view_get_property_control):
Removed.
* viewer/Makefile.am (eog_image_viewer_SOURCES): Removed
preferences.[ch].
* viewer/preferences.[ch]: Removed.
* shell/eog-shell-ui.xml: Removed the Edit/Preferernces item.
* shell/eog-window.c: Removed the preferences machinery.
* shell/Makefile.am (eog_SOURCES): Removed eog-preferences.[ch].
2002-06-25 Federico Mena Quintero <federico@ximian.com>
Fixes#75889.
* viewer/eog-image-view.c (setup_item_factory): Set up a
GtkItemFactory for the image view's popup menu.
(image_view_button_press_event_cb): Added a button press handler
so that we can present a popup menu.
(eog_image_view_class_init): Created a "close_item_activated"
signal.
* viewer/eog-full-screen.c (eog_full_screen_new): Connect to the
"close_item_activated" signal of the image view.
* libeog/image-view.c (image_view_button_press_event): Use
IMAGE_VIEW_ZOOM_MULTIPLIER.
(image_view_key_press_event): Likewise.
(image_view_set_zoom): Added arguments to specify the zoom anchor.
(image_view_set_zoom): Queue a resize even if we did not need to
change the zoom factor. This makes things work even when 1:1 and
then zoom-fit would produce the same results.
2002-05-30 Federico Mena Quintero <federico@ximian.com>
Fixes#83233. Note that this depends on an updated libbonoboui,
as there was a buglet there that affected this.
* shell/eog-window.c (add_control_to_ui): Do not add the control
frame's widget to the box here, as it will always return the same
socket widget.
(eog_window_construct): Add the control frame's socket to the vbox
here.
Version 0.6
-----------
* There's a totally new Bonobo component which uses the core EOG
code to display things (Martin, Michael). The old component has
been moved into Nautilus.
* Requires Bonobo 0.35, GConf 0.12, gnome-print 0.25 and OAF 0.6.2.
2000-08-18 Federico Mena Quintero <federico@helixcode.com>
Another attempt at fixing auto-sizing; it seems to work now.
Maybe GtkScrollFrame is not *that* broken...
* window.c (window_construct): Do not set the default size of the
window.
(window_init): Set the window policy to allow_shrink.
(auto_size): Set the usize of the image view to our preferred size.
(window_open_image_dialog): Add a grab on the dialog so that the
user cannot invoke commands on the window!
(hide_cb): Remove the grab when the dialog is hidden.
(window_open_image_dialog): Sigh. Add an accel group so that
pressing Escape can close the open dialog.
* gtkscrollframe.c (gtk_scroll_frame_size_request): Do pay
attention to the child's requisition; this restores the code to
its original state.
(gtk_scroll_frame_size_allocate): Make sure the the
child_allocation is nonnegative (bugfix merge from Evolution).
* image-view.c (image_view_size_request): Request a size of zero.
* image-view.c (paint_rectangle): Special-case zoom == 1.0 to
unconditionally use GDK_INTERP_NEAREST. Pixops should optimize
this itself, but things seem to be slower if you use other
interpolation types even when the zoom is 1.0. Also,
short-circuit the fastest case to not create a temporary pixbuf
and thus avoid a memcpy().
(request_paint_area): Short-circuit NEAREST interpolation and zoom
== 1.0 to paint synchronously.
(scroll_to): Use request_paint_area() instead of calling
uta_add_rect() directly. This lets us do the short-circuiting
there.
(ImageViewPrivate): Added a second microtile array for
interpolated drawing.
(remove_dirty_region): Free both utas.
(paint_iteration_idle): Handle both utas. This is the core of
two-pass scrolling: when a rectangle is pulled from the first
uta, add it to the second uta.
(scroll_to): Handle both utas.