Commit graph

29 commits

Author SHA1 Message Date
Lucas Rocha c5f0f831e7 make F9 key only cancel slide show and F11 only cancel fullscreen mode.
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-11-01 17:24:19 +00:00
Lucas Rocha c6e0d2b4ce implement a more consistent fullscreen/slide show behavior. Checkbox that
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-10-30 02:52:23 +00:00
Tim P. Gerla ed69d73a90 Patch from Davyd Madeley <davyd@madeley.id.au> to fix some dual-screen
* libeog/eog-full-screen.[ch], shell/eog-window.c:
Patch from Davyd Madeley <davyd@madeley.id.au> to
fix some dual-screen bugs. Fixes bug #309100.
2005-07-25 13:41:25 +00:00
Tor Lillqvist 06e846ef93 Port to Windows, not because there wouldn't be enough good image viewers
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-06-17 20:11:00 +00:00
Jens Finke 7560f58cd3 Added checkbox to disable auto switching of images in slideshow.
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.
2005-04-11 06:11:59 +00:00
Jens Finke 827d74b453 Disable xscreensaver during auto advance slideshows.
2005-03-18  Jens Finke  <jens@triq.net>

	* libeog/eog-full-screen.c (disable_screen_saver),
	(eog_full_screen_show), (eog_full_screen_hide): Disable xscreensaver during
	auto advance slideshows.
2005-03-18 16:32:19 +00:00
Jens Finke bdaa44a847 Merged the experimental-job-mgr branch back to head.
2005-03-14  Jens Finke  <jens@triq.net>

	* Merged the experimental-job-mgr branch back to head.
2005-03-14 20:35:13 +00:00
Jens Finke 4e365711bb New function. (prepare_data): Set first_iter always to the first iter of
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.
2004-09-26 19:12:31 +00:00
Jens Finke 8ac702065b Consider antialiasing setting.
2004-08-17  Jens Finke  <jens@triq.net>

	* libeog/eog-full-screen.c (eog_full_screen_new): Consider antialiasing setting.

	* shell/eog-window.c (interp_type_changed_cb),
	  (transparency_changed_cb),
	  (trans_color_changed_cb): New functions.
	  (eog_window_destroy): Remove gconf listeners.
	  (eog_window_init): Add gconf listeners.
	  (eog_window_update_properties): Read current gconf settings.
2004-08-17 06:04:41 +00:00
Jens Finke 9593f2baa8 Implemented delete function.
2004-07-13  Jens Finke  <jens@triq.net>

	Implemented delete function.

	* libeog/eog-image-list.c (list_insert_sorted_private),
	(eog_image_list_remove_image),
	(remove_image_private): New function.
	(add_image_private): Return inserted position.

	* libeog/eog-wrap-list.c (model_image_removed): Implemented.
	(do_update): Handle N_ITEMS_CHANGED hint.

	* shell/eog-window.c (show_delete_confirm_dialog),
	(delete_image_real),
	(verb_Delete_cb): New functions.

	* shell/gtk-shell-ui.xml: Delete item added.
2004-07-13 19:56:21 +00:00
Jens Finke a558ce2bad Check actual monitor/screen size. Fixes xinerama problems in #137137
2004-04-21  Jens Finke  <jens@triq.net>

	* libeog/eog-full-screen.c (eog_full_screen_instance_init):
	Check actual monitor/screen size. Fixes xinerama problems
	in #137137 partially.
2004-04-21 17:25:35 +00:00
Jens Finke b73eaaaed5 Disable automatic image switching for single images always.
2003-12-14  Jens Finke  <jens@triq.net>

	* libeog/eog-full-screen.c (prepare_data): Disable automatic image
	switching for single images always.
2003-12-14 18:45:50 +00:00
Jens Finke 937feae0b6 New function (verb_SlideShow_cb): Register for hide signal of the
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-24 17:28:00 +00:00
Jens Finke 53346056b0 Adde eog-config-keys.h
2003-11-03  Jens Finke  <jens@triq.net>

	* libeog/Makefile.am (SOURCES): Adde eog-config-keys.h

	* libeog/eog-config-keys.h: New file. Contains definitions for all GConf keys.

	* viewer/eog-image-view.[ch]:
	* shell/eog-preferences.c:
	* shell/main.c
	* libeog/eog-full-screen.c: Use eog-config-keys.h defintions.
2003-11-03 18:01:18 +00:00
Jens Finke 21d3eb3a00 Based on a patch by Shivaram Upadhyayula. Fixex #104805.
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-11-02 17:18:03 +00:00
Jens Finke b460919c2c Improved slideshow component: automatic browsing, upscale flag, endless
2003-10-29  Jens Finke  <jens@triq.net>

	Improved slideshow component: automatic browsing, upscale flag,
	endless loop / single run

	* eog.glade: Reworked the slideshow preferences page.

	* eog.schemas.in: New keys in /apps/eog/full_screen: loop,
	upscale, seconds.

	* libeog/eog-full-screen.c:
	(check_automatic_switch): New function.
	(eog_full_screen_show): Setup timer for automatic browsing.
	(eog_full_screen_hide): Remove timer.
	(show_next_image): Consider loop flag. If set, stop browsing on
	first or last image.
	(eog_full_screen_key_press): Pause/continue automatic browsing
	with 'p' key.
	(eog_full_screen_destroy): Free first iter.
	(eog_full_screen_instance_init): Init new attributes.
	(prepare_data): Remeber first iter.
	(eog_full_screen_new): Obtain configuration values.

	* eog_image_list.[ch] (eog_image_list_iter_equal): New function.

	* eog-preferences.c (spin_button_changed_cb): New function.
	(eog_preferences_show): Connect widgets on slideshow preferences
	page.
2003-10-29 18:12:58 +00:00
Jens Finke a8139ed689 Removed.
2003-10-26  Jens Finke  <jens@triq.net>

	* collection/eog-collection-model.[ch]: Removed.

	* collection/Makefile.am (SOURCES): Removed eog-collection-mode.[ch].

	* collection/eog-collection-view.c:
	* collection/eog-wrap-list.c:
	Replaced EogCollectionModel with EogImageList.

	* libeog/Makefile.am (SOURCES): Added eog-image-list.[ch].

	* libeog/eog-image-list.[ch]: New files.

	* libeog/eog-full-screen.[ch]: Uses new EogImageList object. Large
	refactoring, simplified code.

	* libeog/libeog-marshal.list: Added two declarations.

	* collection/eog-collection-view.c (verb_SlideShow_cb):
	* viewer/eog-image-view.c (verb_FullScreen_cb): Adapted to new
	EogFullScreen API.
2003-10-26 16:47:51 +00:00
Jens Finke 9ca0c7e5ff Introduced EogImageCache, which caches the last five loaded images and
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-10-25 15:57:36 +00:00
Jens Finke 3457074189 Free images only if we have more than three.
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-28 19:14:29 +00:00
Jens Finke e250bd1011 Queue the images to load and load one by one. Simplified the code.
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-27 10:43:01 +00:00
Jens Finke 2504aa4d44 Remove cursor hide timeout handler.
2003-04-27  Jens Finke  <jens@triq.net>

	* libeog/eog-full-screen.c (eog_full_screen_destroy): Remove
	cursor hide timeout handler.
2003-04-27 09:26:02 +00:00
Jens Finke 8a01b2e27e Use simple counter to determine when the pointer should be hidden.
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 19:14:27 +00:00
Jens Finke a2083a183d Added invisible cursor data. (cursor_get): Made it a non public function.
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-04-06 09:51:46 +00:00
Jens Finke f3084fd13c Enable 'As background' radio button.
2003-03-30  Jens Finke  <jens@triq.net>

	* eog.glade: Enable 'As background' radio button.

	* eog.schemas.in: Updated transparency indicator description.

	* libeog/eog-full-screen.c (eog_full_screen_new): Set black
	background style for scroll view widget.

	* libeog/eog-image.c (real_image_load): Use GError with
	GdkPixbufLoader.

	* libeog/eog-scroll-view.c (paint_background): Use
	gdk_window_clear_area.
	(paint_rectangle): Calculate background color correctly for
	transparent parts.
	(eog_scroll_view_style_set): New function.
	(style_set_event): Removed.

	* shell/eog-preferences.c (eog_preferences_show): Connect
	background_radio button.
2003-03-30 16:09:08 +00:00
Jens Finke b630933230 Reverted previous patch (was quite a bad idea).
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 12:58:56 +00:00
Jens Finke 8480d3121a Improved the in advance loading of images. Also frees image data, which is
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-07 12:45:56 +00:00
Jens Finke 9f5a15f8d5 Extended, so that it can cope with a list of images (slideshow).
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.
2003-03-06 12:08:27 +00:00
Jens Finke fc32029fb8 Fixed compiler warnings in libeog.
2003-03-01  Jens Finke  <jens@triq.net>

	Fixed compiler warnings in libeog.

	* libeog/accessible-image-view-factory.h: Declare get type
	function for accessible image view _factory_.

	* libeog/accessible-image-view.c
	(accessible_image_view_get_image_size):
	s/scroll_view/eog_scroll_view.

	* libeog/eog-full-screen.c (eog_full_screen_show),
	(eog_full_screen_new): Removed unused variables.

	* libeog/eog-image.c (eog_image_save): Use g_return_val_if_fail.
	(eog_image_get_caption): Return NULL if uri is NULL.

	* libeog/eog-image.h: Declare eog_image_error_quark function.

	* libeog/eog-pixbuf-util.c (eog_pixbuf_flip_horizontal),
	(eog_pixbuf_flip_vertical): Removed unused variables.
	(eog_pixbuf_rotate_90_cw),
	(eog_pixbuf_rotate_90_ccw): Return NULL if pixbuf is NULL.

	* libeog/eog-scroll-view.c (update_scrollbar_values): Removed
	unused variables.
	(paint_rectangle): Added default case on bgr style to initialize
	check_1 and check_2 variables.
	(set_zoom): Made static, removed unused variable.
	(set_zoom_fit), (eog_scroll_view_set_transparency),
	(eog_scroll_view_new): Removed unused variables.
2003-03-01 13:45:25 +00:00
Jens Finke 905a8b5d28 2003-02-14 Jens Finke
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.
2003-02-14 15:41:42 +00:00
Renamed from viewer/eog-full-screen.c (Browse further)