2005-11-01 Lucas Rocha <lucasr@cvs.gnome.org>
* libeog/eog-full-screen.c: make F9 key only cancel slide
show and F11 only cancel fullscreen mode.
* shell/eog-window.c (verb_FullScreen_cb): string comparison
with g_ascii_strcasecmp().
2005-10-29 Lucas Rocha <lucasr@cvs.gnome.org>
* eog.glade, eog.schemas.in, libeog/eog-config-keys.h,
libeog/eog-full-screen.c, libeog/eog-full-screen.h,
shell/eog-preferences.c, shell/eog-window.c: implement
a more consistent fullscreen/slide show behavior. Checkbox
that activate/deactivate the automatic image switching removed
from preferences (and from gconf schema) because slide show
always do that. After starting a slide show (F9), the only keys
the user can use are those that stop the show. Fullscreen (F11)
can be activated in a single image or collections. On fullscreen
mode, the user can use keys to switch to next, previous, first
and last images and exiting fullscreen (Fixes bug #317392).
2005-06-17 Tor Lillqvist <tml@novell.com>
Port to Windows, not because there wouldn't be enough good image
viewers on Windows already, but mostly to have a relatively simple
testbed for the libraries that eog uses.
* configure.in: Don't do the X11 checks unless GTK target is
X11. Check for fsync() and sigsetjmp().
* Makefile.am (install-data-local): Workaround MSYS feature.
* shell/Makefile.am
* libeog/Makefile.am
* shell/main.c: Rename DATADIR to EOG_DATADIR as the
mindbogglingly wildly namespace-stomping Windows headers that
gnome-vfs-address.h drags in clash with DATADIR.
* */Makefile.am: Link with LIBJPEG.
* libeog/eog-full-screen.c
* shell/eog-window.c: Conditionalize use of X11 and Unix API. No
attempt to do the corresponding things on Win32 yet, so the
behaviour might not be similar.
* libeog/eog-image-jpeg.c: Unless HAVE_SIGSETJMP, use plain setjmp
and longjmp.
* libeog/test-eog-job.c: Use g_usleep() instead of sleep().
* shell/main.c: Don't call gnome_authentication_manager_init() on
Windows, hasn't been ported yet, if ever.
* shell/recent-files/egg-recent-model.c: Bypass use of lockf() on
Windows.
* shell/recent-files/egg-recent-util.c: Use GetComputerName()
instead of gethostname() on Windows. (There is a gethostname() in
WinSock, but it seems unnecessary to drag in WinSock just for
that.)
2005-04-11 Jens Finke <jens@triq.net>
* eog.glade: Added checkbox to disable auto switching of images in slideshow.
* eog.schemas.in: New key full_screen/auto_advance
* shell/eog-preferences.c (check_auto_advance_toggle_cb): Disable spin button
when unchecked, otherwise enable it.
* libeog/eog-fullscreen.c (eog_full_screen_new): Auto advance of images depend
on auto_advance gconf key, not whether seconds are greater zero.
2004-09-26 Jens Finke <jens@triq.net>
* libeog/eog-full-screen.c (show_nth_image): New function.
(prepare_data): Set first_iter always to the first iter of the
image list.
(eog_full_screen_key_press): Enable Pos1 and End keys to switch
to start/end of the slideshow. Enable PageDown and PageUp keys
for browsing to next/previous image.
2003-11-24 Jens Finke <jens@triq.net>
* collection/eog-collection-view.c (slideshow_hide_cb): New function
(verb_SlideShow_cb): Register for hide signal of the fullscreen widget.
* collection/eog-wrap-list.c (eog_wrap_list_set_current_image):
New function.
* libeog/eog-full-screen.[ch] (eog_full_screen_hide): Don't
destroy widget.
(prepare_data): Set current iter also in the single image case.
(eog_full_screen_get_last_image): New public function.
* libeog/eog-image-list.c (eog_image_list_iter_valid): Check for iter != NULL.
* viewer/eog-image-view.c (verb_FullScreen_cb): Destroy fullscreen
widget on hide signal.
2003-11-02 Jens Finke <jens@triq.net>
Based on a patch by Shivaram Upadhyayula. Fixex #104805.
* acconfig.h: undef HAVE_SUNKEYSYM_H
* configure.in: Ensure that we link against X libs.
* libeog/eog-full-screen.[ch] (eog_full_screen_enable_SunF36): New
function.
(eog_full_screen_key_press): Quit on SunXK_F36.
* viewer/eog-image-view-ui.xml:
* collection/eog-collection-view-ui.xml: Added hidden
slideshow/fullscreen menuitem with SunF36 accel.
* viewer/eog-image-view.c (eog_image_view_create_ui):
* collection/eog-collection-view.c (eog_collection_view_create_ui):
Add callback for hidden fullscreen item on Sun keyboards.
2003-10-25 Jens Finke <jens@triq.net>
Introduced EogImageCache, which caches the last five loaded images
and takes care of free'ing them if the cache overflows.
* libeog/eog-image-cache.[ch]: New files.
* libeog/Makefile.am (SOURCES): Added new files.
* collection/eog-collection-view.c (handle_selection_changed):
Don't free used memory for displayed image explicitly.
* libeog/eog-full-screen.c (show_next_image),
(eog_full_screen_destroy): Dito.
* libeog/eog-image-private.h (eog_image_free_mem_private): New
declaration.
* libeog/eog-image.c (eog_image_dispose): Use eog_image_free_mem
function.
(real_image_load): Add image to cache on successful loading.
(eog_image_load): Inform cache that this is the last recently used
image.
(eog_image_free_mem): Free image resources and remove image from
cache.
(eog_image_free_mem_private): Only free image resources.
2003-04-28 Jens Finke <jens@triq.net>
* libeog/eog-full-screen.c (show_next_image): Free images only if
we have more than three.
(eog_full_screen_instance_init): Actually, do fullscreen again
(erm, forgot my testing code :)
(check_advance_loading): Initiate image loading only, if it hasn't
been loaded yet.
* libeog/eog-image.[ch] (real_image_load): Removed assert for now
so that we don't crash eventually with exif support enabled. Spew
out a warning only. Should be fixed though.
(eog_image_is_loaded): New function.
2003-04-27 Jens Finke <jens@triq.net>
* libeog/eog-full-screen.c: Queue the images to load and load one
by one. Simplified the code.
* libeog/eog-image.[ch] (eog_image_new_uri),
(eog_image_new): Removed load mode parameter.
(eog_image_load): Removed return parameter. Instead, emit load
finished signal if the image is already loaded.
(eog_image_free_mem): Set load status to none.
* libeog/eog-info-view.c (eog_info_view_set_image):
* viewer/eog-image-view.c (load_uri_cb):
* collection/eog-collection-model.c (directory_visit_cb):
(real_file_loading): Removed load mode paramter for eog_image_new.
* libeog/eog-scroll-view.c (eog_scroll_view_set_image): Removed
the special case when an image is already loaded. Submit
LOAD_DEFAULT to eog_image_load.
2003-04-06 Jens Finke <jens@triq.net>
* viewer/eog-full-screen.c (check_cursor_hide),
(eog_full_screen_motion): Use simple counter to determine when the
pointer should be hidden.
2003-04-06 Jens Finke <jens@triq.net>
* libeog/cursors.c: Added invisible cursor data.
(cursor_get): Made it a non public function.
(cursor_set): New function, which directly set the desired cursor
for the widget.
* libeog/cursors.h: New cursor types: CURSOR_INVISBLE and
CURSOR_DEFAULT.
* libeog/eog-full-screen.c: Implemented automatic cursor
hiding. Fixes#92184.
(check_cursor_hide),
(eog_full_screen_motion): New functions.
(eog_full_screen_show): Init cursor hiding stuff.
(eog_full_screen_class_init): Register mouse motion event
callback.
* libeog/eog-scroll-view.c (check_scrollbar_visibility): Set
cursor type according to the state of the scrollbars.
(is_image_movable): New function.
(eog_scroll_view_button_press_event): Use cursor_set, set it only
if the image is movable.
(eog_scroll_view_button_release_event): Use cursor_set.
2003-03-07 Jens Finke <jens@triq.net>
* libeog/eog-wrap-list.c: Reverted previous patch (was quite a bad
idea).
* collection/eog-collection-view.c (verb_SlideShow_cb): Free list
if it comes from the wrap list.
2003-03-07 Jens Finke <jens@triq.net>
* libeog/eog-full-screen.[ch]: Improved the in advance loading of
images. Also frees image data, which is probably not shown
next.
* libeog/eog-scroll-view.c (eog_scroll_view_dispose): Free uta and
remove possibly active idle handler.
* collection/eog-wrap-list.c (eog_wrap_list_get_selected_images):
Just return pointer to internal list.
* collection/eog-collection-view.c (verb_SlideShow_cb): Consider
selections when assembling the list of images for the slide show.
* viewer/eog-image-view.c (verb_FullScreen_cb): Free list.
2003-03-06 Jens Finke <jens@triq.net>
* libeog/eog-full-screen.[ch]: Extended, so that it can cope with
a list of images (slideshow).
* collection/eog-collection-view.c (verb_SlideShow_cb): Adapted to
reworked EogFullScreen.
(create_user_interface): Give wraplist focus by default.
* collection/eog-wrap-list.c (eog_wrap_list_key_press_cb): New
function.
(eog_wrap_list_class_init): Overwrite default key press handler.
(eog_wrap_list_new): Register widget events.
(handle_canvas_click),
(handle_item_event): Grab focus, if widget hasn't.
* viewer/eog-image-view.c (verb_FullScreen_cb): Adapted to
EogFullScreen.
New eog architecture. Moved more stuff into libeog and basically merged
image-view.[ch] and ui-image.[ch]. The result is eog-scroll-view.[ch].
* libeog/ui-image.[ch],
* libeog/image-view.[ch]: Removed.
* libeog/eog-scroll-view.[ch]: New, basic widget for displaying an
EogImage.
* libeog/eog-image-helper.[ch],
* libeog/eog-image.[ch]: Image model, provides all operations on
an image.
* libeog/eog-full-screen.[ch]: Moved from viewer. Uses a
EogScrollView widget for displaying the image.
* libeog/libeog-marshal.list: New, list of callback marshallers.
* libeog/Makefile.am: SOURES file list updated, added
libeog-marshal.[ch] generation.
* libeog/accessible-image-view.[ch]: Use EogScrollView instead of
ImageView. Fixed indention.
* libeog/eog-pixbuf-util.c (eog_pixbuf_flip_vertical): Free
pixbuf.
* libeog/eog-pixbuf-util.h: Added include guards.
* libeog/zoom.[ch] (zoom_image_has_standard_size): Removed.
* viewer/Makefile.am (SOURCES): Removed everything except main.c
and eog-image-view.[ch]
* viewer/eog-image-view.[ch]: Rewritten. This bonobo object serves
as a simple wrapper for an EogScrollView and EogImage and provides
onyl gui and glue code. It implements the PersistFile, Control and
Zoomable interfaces.
* viewer/main.c (eog_image_viewer_factory): Removed EogImage
bonobo stuff.
* shell/eog-window.c (sb_policy_changed): Removed.
(eog_window_init): Don't register for policy changes.
(adapt_window_size): New function.
(property_changed_cb): New window/width, window/height properties.
(adapt_window_size_to_control): Simplified, call
adapt_window_size.
* configure.in: Bumped version to 2.3.0.