Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Properly update the icon data before placing the icon, because
positioning might depend on full icon contents on the desktop, whereas
updating contents don't care about position.
When an icon position overflows the desktop area, it is clamped to stay
in the visible area, but this computation depends on accurate icon and
label sizes, which is only available when the icon is fully loaded.
Fix the code to first load the contents and then position instead of
the other way around, which was actually trivial.
Note that visible positions were most often correct anyway for two
reasons:
1. Most of the time icons do not overflow, as they are positioned on
the final desktop size anyway. It however can easily happen
reducing monitor resolution or increasing desktop view zoom.
2. A second layout pass happens most of the time (I'm not yet sure why
and when though), but not when an update is triggered before the
previous one terminated (e.g. quickly hitting F5 twice).
|
|
When zoom changes on a manual layout icon view, the available area
changes and can lead to some icons to either overflow or be able to go
back to their actually saved position.
This is done correctly when the view is reloaded entirely, but not
in response to zoom change, leading to disappearing icons (when zoom
increases) or unexpected empty space (when zoom decreases).
Fix this by re-computing actual positions based on saved positions when
zoom changes, to match what would actually happen when the view gets
loaded.
|
|
|
|
|
|
|
|
This is mostly useful on the desktop (which is the main user of the
free-placement icon view) to be able to lock the layout and avoid
unintentionally moving icons around. Especially useful for less
computer-literate users.
|
|
|
|
|
|
|
|
|
|
|
|
Do not need to extend glib library, since it now incorporates these functions.
Extended date format modifiers are available on glib v2.56.
eel-glib-extensions.h/c:
GDate * eel_g_date_new_tm (struct tm *time_pieces);
char * eel_strdup_strftime (const char *format, struct tm *time_pieces);
gint64 eel_get_system_time (void);
Do not need to test the extensions in eel_self_check_glib_extensions (void).
eel-glib-extensions.c:
static void check_tm_to_g_date (time_t time)
static char * test_strftime (...)
Do not need to check if strftime implements extended date format modifiers on the system (available on glibc v2.27).
configure.ac
|
|
|
|
|
|
to avoid warning with Clang Analyzer
|
|
Fixed make distcheck, see #1129
|
|
|
|
|
|
When the icon container is repopulated (e.g. when using back/forward)
finish_adding_new_icons is called leading to an accessible children-
changed event flood. We can distinguish these unwanted notifications
from desired notifications by comparing the number of new icons to add
with the size of the container's icon set.
|
|
Accessible children-changed events should only be emitted when a user-
triggered action (creation of file, copying an item) causes an item to
be added.
Set container->details->is_loading (which does not seem to be used
anywhere) in caja_icon_container_request_update_all because if the
entire container is being updated, children-changed events should not
be emitted for each updated icon.
|
|
caja_icon_canvas_item_set_property was emitting accessible-name-change
signals whenever the PROP_EDITABLE_TEXT was being set for an icon. This
method is called by caja_icon_container_request_update_all when the icon
view is first loaded. Thus irrelevant events are being emitted (the name
of each icon didn't change, as far as the user is concerned). Furthermore,
this floods assistive technologies any time the user opens a folder with
a large number of files.
Moving the notification out of caja_icon_canvas_item_set_property and
into end_renaming_mode (where ICON_TEXT_CHANGED is also emitted) solves
the problem of floods of irrelevant notifications while still emitting
the signal when the name actually changes.
|
|
|
|
This is one of the condition that needs to trigger an invalidation to
recompute layout at the correct size.
https://bugzilla.gnome.org/show_bug.cgi?id=776896
origin commit:
https://gitlab.gnome.org/GNOME/nautilus/commit/b257699e
|
|
|
|
This commit reverts:
https://github.com/mate-desktop/caja/commit/4c130e22b98bbc1a85747adac3b582e45d34514e
https://github.com/mate-desktop/caja/commit/ac12e6d16f4a51b3327d013781e72cfec17f3624
https://github.com/mate-desktop/caja/commit/17b3c0ca924ffcd4bd06fded98227eba626d4f0b
https://github.com/mate-desktop/caja/commit/42c8d2c3373c25d6e321be6950997c0d7ce44279
And it applies an alternative to fix the deprecated functions:
gdk_screen_get_width
gdk_screen_get_height
gdk_screen_width
gdk_screen_height
|
|
avoid deprecated:
gdk_screen_get_monitor_geometry
gdk_screen_get_monitor_at_window
|
|
|
|
|
|
Minimum of one column
taken from:
https://github.com/linuxmint/nemo/commit/78d4a4f
https://github.com/linuxmint/nemo/commit/21ea094
fix
|
|
relayouting
The GtkScrolledWindow uses the widget prefered size as a guess as to
whether scrollbars are needed or not in the automatic scrollbars case.
If we don't report anything for them we typically get it wrong and cause
two size allocate calls on the child each time, with different sizes.
This (the two sizes speicifically) will cause unnecessary relayouts of
the window.
So, we just report the current size of the layed out icons as the prefered
size. This is somewhat wrong as its depending on previous size_allocation
calls rather than the "ideal" size of the widget, but since the ideal size
is ignored anyway and just used for this it works well.
taken from:
https://git.gnome.org/browse/nautilus/commit/?id=fa6e447
|
|
Fixes partially #506, fixes compiz-reloaded/compiz#40.
|
|
|
|
|
|
atk_set_state calls
|
|
|
|
Fix https://github.com/mate-desktop/caja/issues/671
Apply https://git.gnome.org/browse/nautilus/commit/?id=40be4b85f51fc7b192ef7421b2ede27954997cc8
|
|
|
|
|
|
option
*Remove GTK_VERSION_CHECK (3, 0, 0) and libunique selectors
*Remove GTK2 and libunique specific code.
*Leaves selector for specific GTK3 versions.
*Remove #DEFINES for vbox/hbox previously required for GTK2 compatability
*Keep vbox in caja-spatial-window.c, it is necessary for the desktop to work
*spatial-window vbox issue at https://github.com/mate-desktop/caja/issues/591
|
|
This reverts https://github.com/mate-desktop/caja/commit/1f7ab5d for gtk2
Fixes https://github.com/mate-desktop/caja/issues/659
|
|
Fixes https://github.com/mate-desktop/caja/issues/78
Co-Authored-By: Oliver Joos <[email protected]>
Co-Authored-By: Nelson Benitez Leon <[email protected]>
|
|
Also disable eel accessibility code that is not needed.
Fixes https://github.com/mate-desktop/caja/issues/590
|
|
|
|
taken from:
https://git.gnome.org/browse/nautilus/commit/?id=3a9c6cd
|
|
Some GdkDisplay operations have been deprecated in GDK 3.20.
This commit replaces the deprecated code in eel_canvas_item_grab() and
eel_canvas_item_ungrab() functions with new GdkSeat operations.
https://bugzilla.gnome.org/show_bug.cgi?id=762235
taken from:
https://git.gnome.org/browse/nautilus/commit/?id=225f2cf
|
|
Some GdkDisplay operations have been deprecated in GDK 3.20.
This commit replaces the deprecated code with new GdkSeat
operations.
https://bugzilla.gnome.org/show_bug.cgi?id=762235
taken from:
https://git.gnome.org/browse/nautilus/commit/?id=202a66f
|
|
the background might be not yet set at this point, and when it will
be set, the label colors will be properly set on a signal anyway.
so let's not do the same work twice.
|
|
that is, before 057df2dc1d8ea67b477d696ac6feea8aaf392763
the logic itself is valid, but it was somewhat broken later in a few
attempts to fix the annoying font color bugs. so let's restore it.
|
|
So that themes can tweak the color/background of desktop canvas items
separately.
taken from:
https://git.gnome.org/browse/nautilus/commit/?id=8b676a6
|