summaryrefslogtreecommitdiff
path: root/libcaja-private/caja-icon-container.c
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2021-03-23 17:47:32 +0100
committerraveit65 <[email protected]>2021-04-13 17:46:57 +0200
commit19791791d66ac55fb6a1cd36aa51c448067081fe (patch)
tree4d518a26c8a785c7696a21d3662188d42686f5d7 /libcaja-private/caja-icon-container.c
parent2149626bef57b8ec1bd3edea537dc4e8e7548d10 (diff)
downloadcaja-19791791d66ac55fb6a1cd36aa51c448067081fe.tar.bz2
caja-19791791d66ac55fb6a1cd36aa51c448067081fe.tar.xz
icon view: Add a directory setting to block moving icons
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.
Diffstat (limited to 'libcaja-private/caja-icon-container.c')
-rw-r--r--libcaja-private/caja-icon-container.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c
index a95edfa3..d4fe27b4 100644
--- a/libcaja-private/caja-icon-container.c
+++ b/libcaja-private/caja-icon-container.c
@@ -2610,7 +2610,7 @@ caja_icon_container_move_icon (CajaIconContainer *container,
}
}
- if (!details->auto_layout)
+ if (!details->auto_layout && !details->lock_icons_position)
{
if (details->keep_aligned && snap)
{
@@ -8688,6 +8688,12 @@ caja_icon_container_is_keep_aligned (CajaIconContainer *container)
return container->details->keep_aligned;
}
+gboolean
+caja_icon_container_is_lock_icons_position (CajaIconContainer *container)
+{
+ return container->details->lock_icons_position;
+}
+
static gboolean
align_icons_callback (gpointer callback_data)
{
@@ -8741,6 +8747,15 @@ caja_icon_container_set_keep_aligned (CajaIconContainer *container,
}
void
+caja_icon_container_set_lock_icons_position (CajaIconContainer *container,
+ gboolean lock_icons_position)
+{
+ g_return_if_fail (CAJA_IS_ICON_CONTAINER (container));
+
+ container->details->lock_icons_position = lock_icons_position;
+}
+
+void
caja_icon_container_set_layout_mode (CajaIconContainer *container,
CajaIconLayoutMode mode)
{