Commit Graph

5236 Commits

Author SHA1 Message Date
Owen Taylor
38bb62c43d Remove the window from the toplevel_list here rather in destroy. While
Sat Mar 13 15:19:17 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_destroy): Remove
        the window from the toplevel_list here rather in destroy.
        While this is theoretically speaking wrong, it fits
        in better with the current reality that destroyed
        widgets are not reusable. (#126808, Michael Natterer)
2004-03-13 20:45:15 +00:00
Matthias Clasen
b1b58fe3df Don't do anything beyond clearing to the background if there is no active
Sat Mar 13 21:47:47 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellview.c (gtk_cell_view_expose): Don't do anything
	beyond clearing to the background if there is no active row.
	(#137066, reported by Owen Taylor)
2004-03-13 20:44:14 +00:00
Matthias Clasen
74fd8a025d Pop down the list when an item is selected via the keyboard.
Sat Mar 13 21:37:44 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_key_press): Pop down the
	list when an item is selected via the keyboard.
2004-03-13 20:33:45 +00:00
Anders Carlsson
72804ba43e Remove trailing slashes in path names.
2004-03-13  Anders Carlsson  <andersca@gnome.org>

	* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
	(gtk_file_system_unix_get_folder),
	(gtk_file_system_unix_create_folder), (get_parent_dir),
	(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
	Remove trailing slashes in path names.
2004-03-13 19:15:21 +00:00
Owen Taylor
ef5915da35 Make this a total no-op when the new or old parent is destroyed. (#134230,
Sat Mar 13 12:17:16 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
        this a total no-op when the new or old parent is
        destroyed. (#134230, patch from Soeren Sandmann)

        * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
        For foreign windows in our heirarchy, call
        _gdk_windowing_window_destroy_foreign (window) and skip
        all the normal destruction logic.

        * gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c:
        Move code to request destruction of a foreign window
        code into a separate _gdk_windowing_window_destroy_foreign().

        * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize):
        Call GDK_WINDOW_DISPLAY() on the wrapper not on the
        impl. (Also from Soeren's patch)
2004-03-13 18:27:56 +00:00
Owen Taylor
fadaa65145 For GTK_IS_PLUG toplevels, call gdk_window_get_origin() not
Sat Mar 13 10:49:46 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): For
        GTK_IS_PLUG toplevels, call gdk_window_get_origin()
        not gtk_window_get_position, as a hackround for not
        having accurate notification of window position for
        embedded windows. (#136112, Dan Winship)
2004-03-13 16:27:36 +00:00
Owen Taylor
fe3558c786 Revert last change; it causes problems for pastes from other applications;
Sat Mar 13 10:34:03 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c gtk/gtktextbuffer.c: Revert last change;
        it causes problems for pastes from other applications; see
        comments in bugzilla for #81880.
2004-03-13 15:37:18 +00:00
Matthias Clasen
fff3885193 Fix middle button pasting in the TextView (#81880, reported by Evert
Sat Mar 13 02:55:51 2004  Matthias Clasen  <maclas@gmx.de>

	Fix middle button pasting in the TextView  (#81880, reported
	by Evert Verhellen, patch by Paolo Borelli):

	* gtk/gtktextview.c (gtk_text_view_button_press_event): Retrieve
	the insert mark and move the cursor to it making sure of also
	scroll the window if needed.

	* gtk/gtktextbuffer.c (pre_paste_prep): Move the insert mark
	to the insertion point.
2004-03-13 01:54:04 +00:00
Matthias Clasen
3186b9e76b Add a remove implemenatation which restores the cell_view when the custom
Sat Mar 13 01:38:55 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_remove): Add a remove
	implemenatation which restores the cell_view when the custom
	child is removed.  (#136555, Owen Taylor)
2004-03-13 00:36:27 +00:00
Matthias Clasen
60780dc68d Keep the cell_list in a consistent state while iterating over it, since
Sat Mar 13 00:07:51 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_clear):
	Keep the cell_list in a consistent state while iterating over it,
	since clear_attributes() also iterates over it.  (another instance
	of #136585, Morten Welinder)
2004-03-12 23:23:28 +00:00
Owen Taylor
dcb6900c61 Swap GTK_ARROW_LEFT and GTK_ARROW_RIGHT for GTK_TEXT_DIR_LTR. (#129159,
Fri Mar 12 17:20:15 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkarrow.c (gtk_arrow_expose): Swap GTK_ARROW_LEFT
        and GTK_ARROW_RIGHT for GTK_TEXT_DIR_LTR. (#129159,
        Semion Chichelnitsky)

        * gtk/gtkpathbar.c gtk/gtktoolbar.c: Remove no-longer-needed
        gtk_toolbar_direction-changed handlers and explicit
        flipping of GtkArrow widgets.
2004-03-12 22:51:13 +00:00
Soeren Sandmann
543b1c2f78 Clamp the new size to the screen. Part of bug 129020.
Fri Mar 12 23:37:15 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkfilechooserdialog.c
	(file_chooser_widget_default_realized_size_changed): Clamp the
	new size to the screen. Part of bug 129020.
2004-03-12 22:41:32 +00:00
Owen Taylor
1c188e7c2b Create the event_window at the right size using the same logic as in
Fri Mar 12 15:06:44 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkexpander.c (gtk_expander_realize): Create the
        event_window at the right size using the same logic as
        in size_allocate. (#136994, Niklas Knuttson)
2004-03-12 20:48:51 +00:00
Federico Mena Quintero
edf8e6f580 Don't ignore the return value of gtk_widget_activate().
2004-03-12  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkwindow.c (gtk_window_activate_focus): Don't ignore the
	return value of gtk_widget_activate().
	(gtk_window_activate_default): Likewise.  Fixes #137008.

	* gtk/gtkfilechooserdialog.c (response_cb): Act on positive
	response IDs we recognize, rather than bailing out on cancellation
	ones.  Fixes #136237; patch by Olivier Andrieu
	<oliv__a@users.sourceforge.net>.
	(file_chooser_widget_file_activated): If the dialog doesn't have a
	default widget, try to find a suitable response widget on our own.
	People should *really* be using gtk_dialog_set_default_response(),
	but this is to help lazy programmers.

	* gtk/gtkdialog.c (_gtk_dialog_get_response_for_widget): New
	internal function.
	(get_response_data): Add a "create" argument so that we don't
	unconditionally create the response data.
2004-03-12 20:38:54 +00:00
Morten Welinder
ed649f3bff Add new testspinbutton.c
2004-03-12  Morten Welinder  <terra@gnome.org>

	* tests/Makefile.am: Add new testspinbutton.c
2004-03-12 15:49:22 +00:00
Federico Mena Quintero
2de434104e Put the trash icon on the right for LTR locales, or on the left for RTL.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
	Put the trash icon on the right for LTR locales, or on the left
	for RTL.
	(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
	(shortcuts_drag_leave_cb): Test whether the idle is present.
	(shortcuts_drag_data_received_cb): Ahem, don't assert here.
2004-03-12 00:13:16 +00:00
Federico Mena Quintero
b4a6705a8c Put the trash icon on the right for LTR locales, or on the left for RTL.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
	Put the trash icon on the right for LTR locales, or on the left
	for RTL.
	(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
	(shortcuts_drag_leave_cb): Test whether the idle is present.
2004-03-12 00:03:48 +00:00
Owen Taylor
99c074e7cf Clear preedit string and emit preedit_changed as needed on AIX. (#130617,
Thu Mar 11 17:51:10 2004  Owen Taylor  <otaylor@redhat.com>

        * modules/input/gtkimcontextxim.c (preedit_done_callback):
        Clear preedit string and emit preedit_changed as needed
        on AIX. (#130617, Philip K Warren)
2004-03-11 22:57:10 +00:00
Morten Welinder
83384bd070 Plug leak.
2004-03-11  Morten Welinder  <terra@gnome.org>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): Plug leak.
2004-03-11 21:55:59 +00:00
Owen Taylor
5c2b9546d6 Fix attach/attach->parent type. (#136919, Tim Mooney)
Thu Mar 11 16:28:15 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_get_toplevel): Fix attach/attach->parent
        type. (#136919, Tim Mooney)
2004-03-11 21:38:21 +00:00
Jonathan Blandford
865d3dd267 revert earlier change to insert_path so that we test that the directory
Thu Mar 11 16:18:51 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): revert
        earlier change to insert_path so that we test that the directory
        exists.

        * gtk/gtkfilechooserdialog.c
        (gtk_file_chooser_dialog_constructor): move focus.
2004-03-11 21:23:16 +00:00
Matthias Clasen
c20280810a Use the same logic as GtkEntry when calculating border width. (#116368,
Thu Mar 11 22:12:14 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use the same
	logic as GtkEntry when calculating border width.  (#116368, reported
	by Morten Welinder)
2004-03-11 21:10:49 +00:00
Owen Taylor
3e69627146 Use gtk_entry_set_width_chars() rather than gtk_widget_set_size_request().
Thu Mar 11 15:59:05 2004  Owen Taylor  <otaylor@redhat.com>

        * tests/testgtk.c (create_spins): Use gtk_entry_set_width_chars()
        rather than gtk_widget_set_size_request().
2004-03-11 21:06:16 +00:00
Federico Mena Quintero
df0510a89f New function, copied from gtkpathbar.c.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (remove_settings_signal): New
	function, copied from gtkpathbar.c.
	(gtk_file_chooser_default_dispose): Use remove_settings_signal()
	rather than our own code.
	(gtk_file_chooser_default_screen_changed): Use
	remove_settings_signal(); this should handle per-screen settings
	correctly.
2004-03-11 20:03:38 +00:00
Owen Taylor
796d15ef8b Fix a missing return value.
Thu Mar 11 14:07:18 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtklabel.c (gtk_label_focus): Fix a missing return
        value.
2004-03-11 19:10:09 +00:00
Owen Taylor
b5ddc23be3 Back out the put-labels-into-the-standard-focus-chain patches from bug
Thu Mar 11 13:58:24 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmessagedialog.c gtk/gtklabel.c: Back out the
        put-labels-into-the-standard-focus-chain patches
        from bug #59707.

        * gtk/gtklabel.c (gtk_label_focus): Only put the
        label in the tab chain when the control key is pressed.
2004-03-11 19:07:45 +00:00
Federico Mena Quintero
b35220fda0 Use a single OK button, not a Close button, as per the HIG.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (error_message_with_parent): Use a
	single OK button, not a Close button, as per the HIG.

	* gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Likewise.
2004-03-11 18:48:46 +00:00
Federico Mena Quintero
4cfd0030b6 Oops, initialize "action" before jumping. Fixes #136900.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_motion_cb): Oops,
	initialize "action" before jumping.  Fixes #136900.
2004-03-11 18:13:51 +00:00
Mark McLoughlin
a4ab0dd44c don't overwrite application properties. Fixes bug #136802.
2004-03-11  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtksettings.c: (apply_queued_setting): don't overwrite
        application properties. Fixes bug #136802.
2004-03-11 17:54:19 +00:00
Dov Grobgeld
a1707142b8 Added call to gtk_text_layout_update_cursor_line() to solve in problem of
2004-03-11  Dov Grobgeld  <dov@imagic.weizmann.ac.il>

        * gtk/gtktextlayer.c: (gtk_text_layout_set_buffer): Added
        call to gtk_text_layout_update_cursor_line() to solve in
        problem of switching keyboard direction at widget creation:
        bug #136680
2004-03-11 15:42:49 +00:00
Owen Taylor
cce69876e7 Remove stray 'return' statement. (#136855, David L. Cooper II)
Thu Mar 11 10:28:30 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilechooserembed.c (delegate_initial_focus): Remove
        stray 'return' statement. (#136855, David L. Cooper II)
2004-03-11 15:32:01 +00:00
Mark McLoughlin
a794a492f4 Use the PRELIGHT fg color for drawing the expander when prelit. Fixes
2004-03-11  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtkstyle.c: (gtk_default_draw_expander): Use the PRELIGHT
        fg color for drawing the expander when prelit. Fixes problem
        with the HighContrast theme: bug #136789.
2004-03-11 08:19:34 +00:00
Federico Mena Quintero
1135bef0da Fix #135912 and #135913.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	Fix #135912 and #135913.

	* gtk/gtkfilechooserdefault.c
	(shortcuts_filter_model_row_draggable): Implement.
	(shortcuts_model_filter_new): New function, create a
	ShortcutsModelFilterClass derived from GtkTreeModelFilter, so that
	we can implement our own DnD interface methods.
	(shortcuts_model_create): Use shortcuts_model_filter_new().
	(shortcuts_list_create): Enable the shortcuts list as a drag
	source.
	(file_list_source_targets): Renamed from shortcuts_targets.
	(shortcuts_list_create): Change the options for
	gtk_drag_dest_set().  Connect to more drag signals so that we can
	implement drops by hand.
	(shortcuts_drag_data_delete_cb): New handler; just stop the emission.
	(shortcuts_drag_motion_cb): New handler; validate the drop.
	(shortcuts_drag_leave_cb): New handler; unset the drag_dest_row.
	(shortcuts_drag_drop_cb): New handler; just stop the emission and
	remove the idle handler for the drag cursor.
	(shortcuts_add_bookmark_from_path): Add a position argument,
	return a boolean success code.
	(shortcuts_drag_data_received_cb): Handle two cases:  1) Insert
	the bookmarks at the proper position, rather than always appending
	them to the list; 2) alternatively, reorder the bookmarks.
	(struct _GtkFileChooserDefault): New field shortcuts_drag_outside.
	(shortcuts_drag_motion_cb): Turn off impl->shortcuts_drag_outside.
	(shortcuts_drag_leave_cb): Turn on impl->shortcuts_drag_outside in
	an idle handler.
	(shortcuts_drag_end_cb): New handler; remove the selected bookmark.
2004-03-11 06:24:15 +00:00
Jonathan Blandford
976647fdd4 up the width of the entry a tad.
Thu Mar 11 01:08:25 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (location_entry_create): up the
        width of the entry a tad.

        * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): use
        gtk_entry_completion_selection_changed.  Also, unref the
        completion as we were leaking a reference to it.
2004-03-11 06:08:28 +00:00
Federico Mena Quintero
74f3471610 Remove spurious semicolon. Thanks to Kjartan Maraas for pointing it out.
2004-03-10  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkstyle.c (draw_dot): Remove spurious semicolon.  Thanks to
	Kjartan Maraas for pointing it out.
2004-03-11 01:16:09 +00:00
Matthias Clasen
d96974454f Set the background on the action view cell renderer here, not in init, so
Wed Mar 10 23:40:15 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Set the background
	on the action view cell renderer here, not in init, so that a) we catch
	style changes, and b) we get the real style, not the default one.
	Partial fix for #127648, reported by Dave Bordoley.
2004-03-10 22:42:48 +00:00
Tor Lillqvist
6e5d959730 Set also the pointer button bits. (#136636, Dave Neary)
2004-03-10  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
	the pointer button bits. (#136636, Dave Neary)

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
	transparent (input only) windows using SetWindowPos(). (#132331,
	John Ehresman)

	(gdk_window_set_type_hint): For splash screens, remove the resize
	handles, menu, and minimize/maximize/close buttons. (#132896)
2004-03-10 22:20:36 +00:00
Matthias Clasen
ebd1f209e2 Keep the cell_list in a consistent state while iterating over it, since
Wed Mar 10 22:30:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
	cell_list in a consistent state while iterating over it, since
	clear_attributes() also iterates over it.  (#136585, Morten Welinder)
2004-03-10 21:28:10 +00:00
Mark McLoughlin
313c33cb90 don't propagate the expose to the label. The expose handler for
2004-03-10  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtkexpander.c: (gtk_expander_expose): don't propagate
        the expose to the label. The expose handler for GtkContainer
        already does that. Fixes bug #136719. Reported by Dennis
        Cranston, exact cause nailed down by Owen.
2004-03-10 19:11:59 +00:00
Federico Mena Quintero
6e30693cd9 Use an untranslatable "%x" for dates, rather than a custom format. Fixes
2004-03-10  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use an
	untranslatable "%x" for dates, rather than a custom format.  Fixes
	#136357.
2004-03-10 18:35:07 +00:00
Morten Welinder
3f5ec9fe02 Test validity of path here. (shortcuts_insert_path): Don't check here.
2004-03-10  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_add_shortcut_folder): Test validity of
	path here.
	(shortcuts_insert_path): Don't check here.
	(get_file_info): Barf if name-only fails.
2004-03-10 17:55:16 +00:00
Morten Welinder
4061a44401 Add support for --multiple.
2004-03-10  Morten Welinder  <terra@gnome.org>

	* tests/testfilechooser.c (main): Add support for --multiple.
2004-03-10 14:56:28 +00:00
Jonathan Blandford
c630462c18 Support changes in icon themes.
Wed Mar 10 02:41:05 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c: (gtk_path_bar_init), (gtk_path_bar_class_init),
        (remove_settings_signal), (gtk_path_bar_dispose),
        (gtk_path_bar_style_set), (gtk_path_bar_screen_changed),
        (gtk_path_bar_scroll_up), (reload_icons), (change_icon_theme),
        (settings_notify_cb), (gtk_path_bar_check_icon_theme),
        (get_button_image), (gtk_path_bar_update_button_appearance),
        (make_directory_button), (gtk_path_bar_check_parent_path): Support
        changes in icon themes.

        * gtk/gtkpathbar.h: add two elements

        * tests/testfilechooser.c: (main): use gnome-vfs method again to
        get more testing.
2004-03-10 07:42:20 +00:00
Jonathan Blandford
9727b4d2ed added 'Desktop' to the list of volumes. We don't have any more untranlated
Wed Mar 10 01:17:40 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c: added 'Desktop' to the list of volumes.  We
        don't have any more untranlated strings in the dialog.
2004-03-10 06:20:48 +00:00
Jonathan Blandford
5d8863bbac use uri instead of the pathname for UTF-8 safety.
Wed Mar 10 00:24:24 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (error_dialog): use uri instead of
        the pathname for UTF-8 safety.
2004-03-10 05:24:23 +00:00
Jonathan Blandford
382bf3a113 Always check to see if the shortcuts exists. We don't want to put invalid
Wed Mar 10 00:10:47 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Always
        check to see if the shortcuts exists.  We don't want to put
        invalid dirs in the shortcuts pane.
2004-03-10 05:19:29 +00:00
Jonathan Blandford
e76bb1c3c7 remove unneeded shortuts_swin;
Tue Mar  9 16:40:34 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
        remove unneeded shortuts_swin;
2004-03-10 03:43:58 +00:00
Matthias Clasen
8f52057bbc Fix #136614 in a better way:
Wed Mar 10 01:49:27 2004  Matthias Clasen  <maclas@gmx.de>

	Fix #136614 in a better way:

	* gtk/gtkoptionmenu.c (gtk_option_menu_init): Undo the last change.
	* gtk/gtkbutton.c (struct _GtkButtonPrivate): Add a flag, align_set.
	* gtk/gtkbutton.c (gtk_button_init): Initialize align_set to 0.
	* gtk/gtkbutton.c (maybe_set_alignment): Rework to only set the
	alignment if priv->align_set is set.
	* gtk/gtkbutton.c (gtk_button_set_alignment): Set align_set to 1.
2004-03-10 00:46:51 +00:00
Matthias Clasen
83130a7a73 Place grid mode popups left aligned, not right aligned.
Wed Mar 10 01:21:05 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Place
	grid mode popups left aligned, not right aligned.
2004-03-10 00:20:19 +00:00
Matthias Clasen
158158ea04 Avoid centering the label that is reparented from the menuitem. (#136614,
Tue Mar  9 23:09:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkoptionmenu.c (gtk_option_menu_init): Avoid centering
	the label that is reparented from the menuitem.  (#136614, Dennis
	Cranston)
2004-03-09 22:14:30 +00:00