[nautilus/wip/ernestask/long-live-the-desktop: 2/7] general: remove desktop support
- From: Ernestas Kulik <ernestask src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/ernestask/long-live-the-desktop: 2/7] general: remove desktop support
- Date: Sat, 16 Dec 2017 15:28:52 +0000 (UTC)
commit dc59212a1440e64afd916af74534455ca75108f2
Author: Ernestas Kulik <ernestask gnome org>
Date: Tue Dec 12 16:56:29 2017 +0200
general: remove desktop support
build-aux/flatpak/org.gnome.Nautilus.json | 1 -
config.h.meson | 1 -
data/.gitignore | 2 -
data/meson.build | 24 -
data/nautilus-autostart.desktop.in | 7 -
data/nautilus-classic.desktop.in | 11 -
data/org.gnome.nautilus.gschema.xml | 56 +-
data/run-uncrustify.sh | 2 +-
docs/nautilus.1 | 7 +-
eel/eel-vfs-extensions.c | 6 -
eel/eel-vfs-extensions.h | 1 -
meson.build | 8 -
meson_options.txt | 3 -
nautilus-desktop/.gitignore | 1 -
nautilus-desktop/main-desktop.c | 49 -
nautilus-desktop/meson.build | 30 -
nautilus-desktop/nautilus-desktop-application.c | 280 --
nautilus-desktop/nautilus-desktop-application.h | 36 -
.../nautilus-desktop-canvas-view-container.c | 215 --
.../nautilus-desktop-canvas-view-container.h | 35 -
nautilus-desktop/nautilus-desktop-canvas-view.c | 794 ------
nautilus-desktop/nautilus-desktop-canvas-view.h | 54 -
nautilus-desktop/nautilus-desktop-directory-file.c | 568 ----
nautilus-desktop/nautilus-desktop-directory-file.h | 53 -
nautilus-desktop/nautilus-desktop-directory.c | 588 ----
nautilus-desktop/nautilus-desktop-directory.h | 58 -
nautilus-desktop/nautilus-desktop-icon-file.c | 550 ----
nautilus-desktop/nautilus-desktop-icon-file.h | 60 -
nautilus-desktop/nautilus-desktop-link-monitor.c | 460 ----
nautilus-desktop/nautilus-desktop-link-monitor.h | 60 -
nautilus-desktop/nautilus-desktop-link.c | 482 ----
nautilus-desktop/nautilus-desktop-link.h | 77 -
nautilus-desktop/nautilus-desktop-metadata.c | 90 -
nautilus-desktop/nautilus-desktop-metadata.h | 43 -
nautilus-desktop/nautilus-desktop-window-slot.c | 69 -
nautilus-desktop/nautilus-desktop-window-slot.h | 36 -
nautilus-desktop/nautilus-desktop-window.c | 533 ----
nautilus-desktop/nautilus-desktop-window.h | 59 -
po/POTFILES.in | 6 -
src/meson.build | 11 +-
src/nautilus-application.c | 4 +-
src/nautilus-bookmark.c | 3 +-
src/nautilus-canvas-container.c | 2806 ++------------------
src/nautilus-canvas-container.h | 34 +-
src/nautilus-canvas-dnd.c | 243 +-
src/nautilus-canvas-private.h | 46 -
src/nautilus-canvas-view.c | 686 +----
src/nautilus-canvas-view.h | 11 +-
src/nautilus-dbus-manager.c | 4 +-
src/nautilus-desktop-item-properties.c | 563 ----
src/nautilus-desktop-item-properties.h | 46 -
src/nautilus-directory-notify.h | 8 -
src/nautilus-directory.c | 64 -
src/nautilus-dnd.c | 83 -
src/nautilus-dnd.h | 3 -
src/nautilus-file-changes-queue.c | 95 +-
src/nautilus-file-changes-queue.h | 4 -
src/nautilus-file-operations.c | 171 +-
src/nautilus-file-operations.h | 8 -
src/nautilus-file-undo-operations.c | 11 +-
src/nautilus-file-utilities.c | 2 +-
src/nautilus-files-view-dnd.c | 105 +-
src/nautilus-files-view-dnd.h | 16 +-
src/nautilus-files-view.c | 128 +-
src/nautilus-files-view.h | 15 +-
src/nautilus-global-preferences.c | 2 -
src/nautilus-global-preferences.h | 14 -
src/nautilus-icon-names.h | 7 -
src/nautilus-lib-self-check-functions.h | 1 -
src/nautilus-link.c | 25 +-
src/nautilus-link.h | 1 -
src/nautilus-list-view.c | 31 +-
src/nautilus-metadata.c | 6 -
src/nautilus-metadata.h | 7 -
src/nautilus-properties-window.c | 17 -
src/nautilus-recent.c | 3 +-
src/nautilus-tree-view-drag-dest.c | 46 +-
src/nautilus-view-icon-controller.c | 7 -
src/nautilus-view.h | 1 -
src/nautilus-window-slot-dnd.c | 3 +-
src/nautilus-window-slot.c | 3 +-
src/nautilus-window.c | 2 +-
src/resources/css/Adwaita.css | 23 -
src/resources/css/nautilus.css | 7 -
.../ui/nautilus-files-view-context-menus.ui | 36 -
test/test-copy.c | 1 -
86 files changed, 396 insertions(+), 10432 deletions(-)
---
diff --git a/build-aux/flatpak/org.gnome.Nautilus.json b/build-aux/flatpak/org.gnome.Nautilus.json
index 87b2792d1..03b667658 100644
--- a/build-aux/flatpak/org.gnome.Nautilus.json
+++ b/build-aux/flatpak/org.gnome.Nautilus.json
@@ -84,7 +84,6 @@
"builddir": true,
"name": "nautilus",
"config-opts": [
- "-Denable-desktop=false",
"-Denable-selinux=false",
"--libdir=/app/lib"
],
diff --git a/config.h.meson b/config.h.meson
index 8014bb678..f1c420bb6 100644
--- a/config.h.meson
+++ b/config.h.meson
@@ -3,7 +3,6 @@
#mesondefine GETTEXT_PACKAGE
#mesondefine HAVE_EXEMPI
#mesondefine HAVE_SELINUX
-#mesondefine ENABLE_DESKTOP
#mesondefine ENABLE_PACKAGEKIT
#mesondefine LOCALEDIR
#mesondefine NAUTILUS_DATADIR
diff --git a/data/.gitignore b/data/.gitignore
index fe14726f1..89808d77c 100644
--- a/data/.gitignore
+++ b/data/.gitignore
@@ -1,7 +1,5 @@
/lineup-parameters
/nautilus-autorun-software.desktop
-/nautilus-autostart.desktop
-/nautilus-classic.desktop
/org.freedesktop.FileManager1.service
/org.gnome.Nautilus.appdata.xml
/org.gnome.Nautilus.desktop
diff --git a/data/meson.build b/data/meson.build
index a67999761..e185428f4 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -22,24 +22,6 @@ desktop_autorun_software = i18n.merge_file ('desktop-autorun-software',
po_dir: po_dir,
type: 'desktop')
-desktop_autostart = i18n.merge_file ('desktop-autostart',
- input: 'nautilus-autostart.desktop.in',
- output: 'nautilus-autostart.desktop',
- install: true,
- install_dir: join_paths (sysconfdir, 'xdg', 'autostart'),
- po_dir: po_dir,
- type: 'desktop')
-
-if get_option ('enable-desktop')
- desktop_classic = i18n.merge_file ('desktop-classic',
- input: 'nautilus-classic.desktop.in',
- output: 'nautilus-classic.desktop',
- install: true,
- install_dir: desktopdir,
- po_dir: po_dir,
- type: 'desktop')
-endif
-
appdata = i18n.merge_file ('appdata',
input: 'org.gnome.Nautilus.appdata.xml.in',
output: 'org.gnome.Nautilus.appdata.xml',
@@ -72,12 +54,6 @@ if desktop_file_validate.found ()
args: [desktop.full_path ()])
test ('validate-desktop-autorun-software', desktop_file_validate,
args: [desktop_autorun_software.full_path ()])
- test ('validate-desktop-autostart', desktop_file_validate,
- args: [desktop_autostart.full_path ()])
- if get_option ('enable-desktop')
- test ('validate-desktop-classic', desktop_file_validate,
- args: [desktop_classic.full_path ()])
- endif
endif
appstream_util = find_program ('appstream-util', required: false)
diff --git a/data/org.gnome.nautilus.gschema.xml b/data/org.gnome.nautilus.gschema.xml
index 4cbb7647b..d4ca8f2a3 100644
--- a/data/org.gnome.nautilus.gschema.xml
+++ b/data/org.gnome.nautilus.gschema.xml
@@ -68,7 +68,6 @@
<child schema="org.gnome.nautilus.compression" name="compression"/>
<child schema="org.gnome.nautilus.icon-view" name="icon-view"/>
<child schema="org.gnome.nautilus.list-view" name="list-view"/>
- <child schema="org.gnome.nautilus.desktop" name="desktop"/>
<child schema="org.gnome.nautilus.window-state" name="window-state"/>
</schema>
@@ -231,7 +230,7 @@
<key type="as" name="captions">
<default>[ 'none', 'none', 'none' ]</default>
<summary>List of possible captions on icons</summary>
- <description>A list of captions below an icon in the icon view and the desktop. The actual number of
captions shown depends on the zoom level. Some possible values are: “size”, “type”, “date_modified”, “owner”,
“group”, “permissions”, and “mime_type”.</description>
+ <description>A list of captions below an icon in the icon view. The actual number of captions shown
depends on the zoom level. Some possible values are: “size”, “type”, “date_modified”, “owner”, “group”,
“permissions”, and “mime_type”.</description>
</key>
<key name="default-zoom-level" enum="org.gnome.nautilus.CanvasZoomLevel">
<default>'large'</default>
@@ -269,59 +268,6 @@
</key>
</schema>
- <schema path="/org/gnome/nautilus/desktop/" id="org.gnome.nautilus.desktop" gettext-domain="nautilus">
- <key type="s" name="font">
- <default l10n="messages" context="desktop-font">''</default>
- <summary>Desktop font</summary>
- <description>The font description used for the icons on the desktop.</description>
- </key>
- <key type="b" name="home-icon-visible">
- <default>true</default>
- <summary>Home icon visible on desktop</summary>
- <description>If this is set to true, an icon linking to the home folder will be put on the
desktop.</description>
- </key>
- <key type="b" name="trash-icon-visible">
- <default>true</default>
- <summary>Trash icon visible on desktop</summary>
- <description>If this is set to true, an icon linking to the Trash will be put on the
desktop.</description>
- </key>
- <key type="b" name="volumes-visible">
- <default>true</default>
- <summary>Show mounted volumes on the desktop</summary>
- <description>If this is set to true, icons linking to mounted volumes will be put on the
desktop.</description>
- </key>
- <key type="b" name="network-icon-visible">
- <default>false</default>
- <summary>Network Servers icon visible on the desktop</summary>
- <description>If this is set to true, an icon linking to the Network Servers view will be put on the
desktop.</description>
- </key>
- <key type="s" name="home-icon-name">
- <default l10n="messages" context="home-icon-name">'Home'</default>
- <summary>Desktop home icon name</summary>
- <description>This name can be set if you want a custom name for the home icon on the
desktop.</description>
- </key>
- <key type="s" name="trash-icon-name">
- <default l10n="messages" context="trash-icon-name">'Trash'</default>
- <summary>Desktop Trash icon name</summary>
- <description>This name can be set if you want a custom name for the Trash icon on the
desktop.</description>
- </key>
- <key type="s" name="network-icon-name">
- <default l10n="messages" context="network-icon-name">'Network Servers'</default>
- <summary>Network servers icon name</summary>
- <description>This name can be set if you want a custom name for the network servers icon on the
desktop.</description>
- </key>
- <key type="i" name="text-ellipsis-limit">
- <default>3</default>
- <summary>Text Ellipsis Limit</summary>
- <description>An integer specifying how parts of overlong file names should be replaced by ellipses on
the desktop. If the number is larger than 0, the file name will not exceed the given number of lines. If the
number is 0 or smaller, no limit is imposed on the number of displayed lines.</description>
- </key>
- <key type="b" name="background-fade">
- <default>true</default>
- <summary>Fade the background on change</summary>
- <description>If set to true, then Nautilus will use a fade effect to change the desktop
background.</description>
- </key>
- </schema>
-
<schema path="/org/gnome/nautilus/window-state/" id="org.gnome.nautilus.window-state"
gettext-domain="nautilus">
<key type="s" name="geometry">
<default>''</default>
diff --git a/data/run-uncrustify.sh b/data/run-uncrustify.sh
index 39bb29006..4f98b5db2 100755
--- a/data/run-uncrustify.sh
+++ b/data/run-uncrustify.sh
@@ -2,7 +2,7 @@
DATA=$(dirname "$BASH_SOURCE")
if [ -x "$DATA/lineup-parameters" ];
then
- for DIR in "$DATA/../"{src,nautilus-desktop,test,libnautilus-extension,eel,nautilus-sendto-extension}
+ for DIR in "$DATA/../"{src,test,libnautilus-extension,eel,nautilus-sendto-extension}
do
for FILE in $(find "$DIR" -name "*.c")
do
diff --git a/docs/nautilus.1 b/docs/nautilus.1
index f274f5836..70304a1d2 100644
--- a/docs/nautilus.1
+++ b/docs/nautilus.1
@@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
-.TH Nautilus 1 "23 September 2016"
+.TH Nautilus 1 "12 December 2017"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -51,11 +51,6 @@ Always open a new window for browsing specified URIs.
Only create windows for explicitly specified URIs.
.TP
-.B \-\-no-desktop
-Never manage the desktop (ignore the GSettings preference). \fBDeprecated\fR - the
-desktop is managed in a separate binary.
-
-.TP
.BR \-q ", " \-\-quit
Quit Nautilus.
diff --git a/eel/eel-vfs-extensions.c b/eel/eel-vfs-extensions.c
index 6c626f7e3..a35e26ed3 100644
--- a/eel/eel-vfs-extensions.c
+++ b/eel/eel-vfs-extensions.c
@@ -67,12 +67,6 @@ eel_uri_is_other_locations (const char *uri)
return g_str_has_prefix (uri, "other-locations:");
}
-gboolean
-eel_uri_is_desktop (const char *uri)
-{
- return g_str_has_prefix (uri, EEL_DESKTOP_URI);
-}
-
char *
eel_make_valid_utf8 (const char *name)
{
diff --git a/eel/eel-vfs-extensions.h b/eel/eel-vfs-extensions.h
index 0ad6b2be5..45d778206 100644
--- a/eel/eel-vfs-extensions.h
+++ b/eel/eel-vfs-extensions.h
@@ -39,7 +39,6 @@ gboolean eel_uri_is_favorites (const char *
gboolean eel_uri_is_trash (const char *uri);
gboolean eel_uri_is_trash_folder (const char *uri);
gboolean eel_uri_is_in_trash (const char *uri);
-gboolean eel_uri_is_desktop (const char *uri);
gboolean eel_uri_is_search (const char *uri);
gboolean eel_uri_is_other_locations (const char *uri);
gboolean eel_uri_is_recent (const char *uri);
diff --git a/meson.build b/meson.build
index 17865c47e..fbc57b034 100644
--- a/meson.build
+++ b/meson.build
@@ -63,10 +63,6 @@ conf.set_quoted ('LOCALEDIR', join_paths (prefix, localedir))
conf.set_quoted ('NAUTILUS_DATADIR', join_paths (datadir, 'nautilus'))
conf.set_quoted ('NAUTILUS_EXTENSIONDIR', join_paths (prefix, extensiondir))
-if get_option ('enable-desktop')
- conf.set10 ('ENABLE_DESKTOP', true)
-endif
-
if get_option ('enable-packagekit')
conf.set10 ('ENABLE_PACKAGEKIT', true)
endif
@@ -106,10 +102,6 @@ if get_option ('enable-gtk-doc')
subdir ('docs')
endif
-if get_option ('enable-desktop')
- subdir ('nautilus-desktop')
-endif
-
if get_option ('enable-nst-extension')
subdir ('nautilus-sendto-extension')
endif
diff --git a/meson_options.txt b/meson_options.txt
index 783061463..21bc5db45 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -7,9 +7,6 @@ option ('enable-nst-extension',
option ('enable-selinux',
type: 'boolean',
value: true)
-option ('enable-desktop',
- type: 'boolean',
- value: true)
option ('enable-packagekit',
type: 'boolean',
value: true)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1da446029..70a535ab4 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -13,11 +13,6 @@ eel/eel-vfs-extensions.c
libnautilus-extension/nautilus-column.c
libnautilus-extension/nautilus-menu-item.c
libnautilus-extension/nautilus-property-page.c
-nautilus-desktop/nautilus-desktop-application.c
-nautilus-desktop/nautilus-desktop-directory-file.c
-nautilus-desktop/nautilus-desktop-icon-file.c
-nautilus-desktop/nautilus-desktop-link.c
-nautilus-desktop/nautilus-desktop-window.c
nautilus-sendto-extension/nautilus-nste.c
src/nautilus-application.c
src/nautilus-autorun-software.c
@@ -33,7 +28,6 @@ src/nautilus-clipboard.c
src/nautilus-column-chooser.c
src/nautilus-column-utilities.c
src/nautilus-compress-dialog-controller.c
-src/nautilus-desktop-item-properties.c
src/nautilus-directory.c
src/nautilus-dnd.c
src/nautilus-error-reporting.c
diff --git a/src/meson.build b/src/meson.build
index aca423ac7..1847f6d48 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,4 +1,3 @@
-built_sources = []
gdbus_sources = []
enums = []
@@ -6,8 +5,6 @@ gdbus_sources += gnome.gdbus_codegen ('nautilus-freedesktop-generated',
join_paths (meson.source_root (), 'data',
'freedesktop-dbus-interfaces.xml'),
interface_prefix: 'org.freedesktop',
namespace: 'NautilusFreedesktop')
-# The header is used in nautilus-desktop.
-built_sources += gdbus_sources
gdbus_sources += gnome.gdbus_codegen ('nautilus-generated',
join_paths (meson.source_root (), 'data', 'dbus-interfaces.xml'),
@@ -36,12 +33,11 @@ resources = gnome.compile_resources ('nautilus-resources',
source_dir: 'resources',
c_name: 'nautilus',
extra_args: '--manual-register')
-built_sources += resources[1]
libnautilus_sources = [
enums,
gdbus_sources,
- resources[0],
+ resources,
'animation/egg-animation.c',
'animation/egg-animation.h',
'animation/egg-frame-source.c',
@@ -66,8 +62,6 @@ libnautilus_sources = [
'nautilus-container-max-width.h',
'nautilus-dbus-manager.c',
'nautilus-dbus-manager.h',
- 'nautilus-desktop-item-properties.c',
- 'nautilus-desktop-item-properties.h',
'nautilus-error-reporting.c',
'nautilus-error-reporting.h',
'nautilus-preferences-window.c',
@@ -295,8 +289,7 @@ libnautilus_include_dirs = include_directories ('.')
libnautilus_dep = declare_dependency (link_with: libnautilus,
include_directories: [nautilus_include_dirs,
libnautilus_include_dirs],
- dependencies: nautilus_deps,
- sources: built_sources)
+ dependencies: nautilus_deps)
nautilus = executable ('nautilus',
'nautilus-main.c',
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index adcb7d3e7..08b8f229e 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -948,9 +948,7 @@ const GOptionEntry options[] =
/* dummy, only for compatibility reasons */
{ "browser", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, NULL,
NULL, NULL },
- { "no-desktop", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, NULL,
- NULL, NULL },
- /* ditto */
+ /* ditto */
{ "geometry", 'g', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, NULL,
N_("Create the initial window with the given geometry."), N_("GEOMETRY") },
{ "version", '\0', 0, G_OPTION_ARG_NONE, NULL,
diff --git a/src/nautilus-bookmark.c b/src/nautilus-bookmark.c
index 5c51fdbc0..0deb72b68 100644
--- a/src/nautilus-bookmark.c
+++ b/src/nautilus-bookmark.c
@@ -213,8 +213,7 @@ nautilus_bookmark_get_is_builtin (NautilusBookmark *bookmark)
}
/* exclude XDG locations which are not in our builtin list */
- if (xdg_type == G_USER_DIRECTORY_DESKTOP &&
- !g_settings_get_boolean (gnome_background_preferences, NAUTILUS_PREFERENCES_SHOW_DESKTOP))
+ if (xdg_type == G_USER_DIRECTORY_DESKTOP)
{
return FALSE;
}
diff --git a/src/nautilus-canvas-container.c b/src/nautilus-canvas-container.c
index b85a2adc2..7a375cea2 100644
--- a/src/nautilus-canvas-container.c
+++ b/src/nautilus-canvas-container.c
@@ -102,21 +102,6 @@
#define LARGE_ICON_GRID_WIDTH 106
#define LARGER_ICON_GRID_WIDTH 128
-/* Desktop layout mode defines */
-#define DESKTOP_PAD_HORIZONTAL 10
-#define DESKTOP_PAD_VERTICAL 10
-#define SNAP_SIZE_X 78
-#define SNAP_SIZE_Y 20
-
-#define SNAP_HORIZONTAL(func, x) ((func ((double) ((x) - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE_X) *
SNAP_SIZE_X) + DESKTOP_PAD_HORIZONTAL)
-#define SNAP_VERTICAL(func, y) ((func ((double) ((y) - DESKTOP_PAD_VERTICAL) / SNAP_SIZE_Y) * SNAP_SIZE_Y) +
DESKTOP_PAD_VERTICAL)
-
-#define SNAP_NEAREST_HORIZONTAL(x) SNAP_HORIZONTAL (floor, x + SNAP_SIZE_X / 2)
-#define SNAP_NEAREST_VERTICAL(y) SNAP_VERTICAL (floor, y + SNAP_SIZE_Y / 2)
-
-#define SNAP_CEIL_HORIZONTAL(x) SNAP_HORIZONTAL (ceil, x)
-#define SNAP_CEIL_VERTICAL(y) SNAP_VERTICAL (ceil, y)
-
/* Copied from NautilusCanvasContainer */
#define NAUTILUS_CANVAS_CONTAINER_SEARCH_DIALOG_TIMEOUT 5
@@ -141,8 +126,6 @@ static void preview_selected_items (NautilusCanvasContainer *container)
static void activate_selected_items (NautilusCanvasContainer *container);
static void activate_selected_items_alternate (NautilusCanvasContainer *container,
NautilusCanvasIcon *icon);
-static void compute_stretch (StretchState *start,
- StretchState *current);
static NautilusCanvasIcon *get_first_selected_icon (NautilusCanvasContainer *container);
static NautilusCanvasIcon *get_nth_selected_icon (NautilusCanvasContainer *container,
int index);
@@ -181,7 +164,6 @@ static int compare_icons_vertical (NautilusCanvasContainer *container,
NautilusCanvasIcon *icon_a,
NautilusCanvasIcon *icon_b);
-static void store_layout_timestamps_now (NautilusCanvasContainer *container);
static void schedule_redo_layout (NautilusCanvasContainer *container);
static const char *nautilus_canvas_container_accessible_action_names[] =
@@ -217,15 +199,10 @@ enum
GET_ICON_URI,
GET_ICON_ACTIVATION_URI,
GET_ICON_DROP_TARGET_URI,
- GET_STORED_ICON_POSITION,
- ICON_POSITION_CHANGED,
- GET_STORED_LAYOUT_TIMESTAMP,
- STORE_LAYOUT_TIMESTAMP,
ICON_RENAME_STARTED,
ICON_RENAME_ENDED,
ICON_STRETCH_STARTED,
ICON_STRETCH_ENDED,
- LAYOUT_CHANGED,
MOVE_COPY_ITEMS,
HANDLE_NETSCAPE_URL,
HANDLE_URI_LIST,
@@ -274,14 +251,6 @@ icon_set_position (NautilusCanvasIcon *icon,
double y)
{
NautilusCanvasContainer *container;
- double pixels_per_unit;
- int container_left, container_top, container_right, container_bottom;
- int x1, x2, y1, y2;
- int container_x, container_y, container_width, container_height;
- EelDRect icon_bounds;
- int item_width, item_height;
- int height_above, width_left;
- int min_x, max_x, min_y, max_y;
if (icon->x == x && icon->y == y)
{
@@ -290,56 +259,6 @@ icon_set_position (NautilusCanvasIcon *icon,
container = NAUTILUS_CANVAS_CONTAINER (EEL_CANVAS_ITEM (icon->item)->canvas);
- if (nautilus_canvas_container_get_is_fixed_size (container))
- {
- /* FIXME: This should be:
- *
- * container_x = GTK_WIDGET (container)->allocation.x;
- * container_y = GTK_WIDGET (container)->allocation.y;
- * container_width = GTK_WIDGET (container)->allocation.width;
- * container_height = GTK_WIDGET (container)->allocation.height;
- *
- * But for some reason the widget allocation is sometimes not done
- * at startup, and the allocation is then only 45x60. which is
- * really bad.
- *
- * For now, we have a cheesy workaround:
- */
- container_x = 0;
- container_y = 0;
- container_width = gdk_screen_width () - container_x
- - container->details->left_margin
- - container->details->right_margin;
- container_height = gdk_screen_height () - container_y
- - container->details->top_margin
- - container->details->bottom_margin;
- pixels_per_unit = EEL_CANVAS (container)->pixels_per_unit;
- /* Clip the position of the icon within our desktop bounds */
- container_left = container_x / pixels_per_unit;
- container_top = container_y / pixels_per_unit;
- container_right = container_left + container_width / pixels_per_unit;
- container_bottom = container_top + container_height / pixels_per_unit;
-
- icon_get_bounding_box (icon, &x1, &y1, &x2, &y2,
- BOUNDS_USAGE_FOR_ENTIRE_ITEM);
- item_width = x2 - x1;
- item_height = y2 - y1;
-
- icon_bounds = nautilus_canvas_item_get_icon_rectangle (icon->item);
-
- /* determine icon rectangle relative to item rectangle */
- height_above = icon_bounds.y0 - y1;
- width_left = icon_bounds.x0 - x1;
-
- min_x = container_left + DESKTOP_PAD_HORIZONTAL + width_left;
- max_x = container_right - DESKTOP_PAD_HORIZONTAL - item_width + width_left;
- x = CLAMP (x, min_x, max_x);
-
- min_y = container_top + height_above + DESKTOP_PAD_VERTICAL;
- max_y = container_bottom - DESKTOP_PAD_VERTICAL - item_height + height_above;
- y = CLAMP (y, min_y, max_y);
- }
-
if (icon->x == ICON_UNPOSITIONED_VALUE)
{
icon->x = 0;
@@ -438,39 +357,9 @@ icon_get_size (NautilusCanvasContainer *container,
{
if (size != NULL)
{
- *size = MAX (nautilus_canvas_container_get_icon_size_for_zoom_level (container->details->zoom_level)
- * icon->scale, NAUTILUS_CANVAS_ICON_SIZE_SMALL);
- }
-}
-
-/* The icon_set_size function is used by the stretching user
- * interface, which currently stretches in a way that keeps the aspect
- * ratio. Later we might have a stretching interface that stretches Y
- * separate from X and we will change this around.
- */
-static void
-icon_set_size (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon,
- guint icon_size,
- gboolean snap,
- gboolean update_position)
-{
- guint old_size;
- double scale;
-
- icon_get_size (container, icon, &old_size);
- if (icon_size == old_size)
- {
- return;
+ *size = MAX (nautilus_canvas_container_get_icon_size_for_zoom_level (container->details->zoom_level),
+ NAUTILUS_CANVAS_ICON_SIZE_SMALL);
}
-
- scale = (double) icon_size /
- nautilus_canvas_container_get_icon_size_for_zoom_level
- (container->details->zoom_level);
- nautilus_canvas_container_move_icon (container, icon,
- icon->x, icon->y,
- scale, FALSE,
- snap, update_position);
}
static void
@@ -485,24 +374,6 @@ icon_raise (NautilusCanvasIcon *icon)
}
static void
-emit_stretch_started (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon)
-{
- g_signal_emit (container,
- signals[ICON_STRETCH_STARTED], 0,
- icon->data);
-}
-
-static void
-emit_stretch_ended (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon)
-{
- g_signal_emit (container,
- signals[ICON_STRETCH_ENDED], 0,
- icon->data);
-}
-
-static void
icon_toggle_selected (NautilusCanvasContainer *container,
NautilusCanvasIcon *icon)
{
@@ -521,26 +392,6 @@ icon_toggle_selected (NautilusCanvasContainer *container,
"highlighted_for_selection", (gboolean) icon->is_selected,
NULL);
- /* If the icon is deselected, then get rid of the stretch handles.
- * No harm in doing the same if the item is newly selected.
- */
- if (icon == container->details->stretch_icon)
- {
- container->details->stretch_icon = NULL;
- nautilus_canvas_item_set_show_stretch_handles (icon->item, FALSE);
- /* snap the icon if necessary */
- if (container->details->keep_aligned)
- {
- nautilus_canvas_container_move_icon (container,
- icon,
- icon->x, icon->y,
- icon->scale,
- FALSE, TRUE, TRUE);
- }
-
- emit_stretch_ended (container, icon);
- }
-
/* Raise each newly-selected icon to the front as it is selected. */
if (icon->is_selected)
{
@@ -787,15 +638,9 @@ reveal_icon (NautilusCanvasContainer *container,
hadj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (container));
vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (container));
- if (nautilus_canvas_container_is_auto_layout (container))
- {
- /* ensure that we reveal the entire row/column */
- icon_get_row_and_column_bounds (container, icon, &bounds);
- }
- else
- {
- item_get_canvas_bounds (EEL_CANVAS_ITEM (icon->item), &bounds);
- }
+ /* ensure that we reveal the entire row/column */
+ icon_get_row_and_column_bounds (container, icon, &bounds);
+
if (bounds.y0 < gtk_adjustment_get_value (vadj))
{
gtk_adjustment_set_value (vadj, bounds.y0);
@@ -1182,28 +1027,8 @@ nautilus_canvas_container_update_scroll_region (NautilusCanvasContainer *contain
pixels_per_unit = EEL_CANVAS (container)->pixels_per_unit;
- if (nautilus_canvas_container_get_is_fixed_size (container))
- {
- /* Set the scroll region to the size of the container allocation */
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- eel_canvas_set_scroll_region
- (EEL_CANVAS (container),
- (double) -container->details->left_margin / pixels_per_unit,
- (double) -container->details->top_margin / pixels_per_unit,
- ((double) (allocation.width - 1)
- - container->details->left_margin
- - container->details->right_margin)
- / pixels_per_unit,
- ((double) (allocation.height - 1)
- - container->details->top_margin
- - container->details->bottom_margin)
- / pixels_per_unit);
- return;
- }
-
reset_scroll_region = container->details->reset_scroll_region_trigger
- || nautilus_canvas_container_is_empty (container)
- || nautilus_canvas_container_is_auto_layout (container);
+ || nautilus_canvas_container_is_empty (container);
/* The trigger is only cleared when container is non-empty, so
* callers can reliably reset the scroll region when an item
@@ -1219,50 +1044,16 @@ nautilus_canvas_container_update_scroll_region (NautilusCanvasContainer *contain
/* Add border at the "end"of the layout (i.e. after the icons), to
* ensure we get some space when scrolled to the end.
- * For horizontal layouts, we add a bottom border.
- * Vertical layout is used by the compact view so the end
- * depends on the RTL setting.
*/
- if (nautilus_canvas_container_is_layout_vertical (container))
- {
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- x1 -= ICON_PAD_LEFT + CONTAINER_PAD_LEFT;
- }
- else
- {
- x2 += ICON_PAD_RIGHT + CONTAINER_PAD_RIGHT;
- }
- }
- else
- {
- y2 += ICON_PAD_BOTTOM + CONTAINER_PAD_BOTTOM;
- }
+ y2 += ICON_PAD_BOTTOM + CONTAINER_PAD_BOTTOM;
/* Auto-layout assumes a 0, 0 scroll origin and at least allocation->width.
* Then we lay out to the right or to the left, so
* x can be < 0 and > allocation */
- if (nautilus_canvas_container_is_auto_layout (container))
- {
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- x1 = MIN (x1, 0);
- x2 = MAX (x2, allocation.width / pixels_per_unit);
- y1 = 0;
- }
- else
- {
- /* Otherwise we add the padding that is at the start of the
- * layout */
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- x2 += ICON_PAD_RIGHT + CONTAINER_PAD_RIGHT;
- }
- else
- {
- x1 -= ICON_PAD_LEFT + CONTAINER_PAD_LEFT;
- }
- y1 -= ICON_PAD_TOP + CONTAINER_PAD_TOP;
- }
+ gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
+ x1 = MIN (x1, 0);
+ x2 = MAX (x2, allocation.width / pixels_per_unit);
+ y1 = 0;
x2 -= 1;
x2 = MAX (x1, x2);
@@ -1541,822 +1332,178 @@ lay_down_icons_horizontal (NautilusCanvasContainer *container,
g_array_free (positions, TRUE);
}
-static void
-snap_position (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon,
- int *x,
- int *y)
-{
- int center_x;
- int baseline_y;
- int icon_width;
- int icon_height;
- int total_width;
- int total_height;
- EelDRect canvas_position;
+static double
+get_mirror_x_position (NautilusCanvasContainer *container,
+ NautilusCanvasIcon *icon,
+ double x)
+{
+ EelDRect icon_bounds;
GtkAllocation allocation;
- canvas_position = nautilus_canvas_item_get_icon_rectangle (icon->item);
- icon_width = canvas_position.x1 - canvas_position.x0;
- icon_height = canvas_position.y1 - canvas_position.y0;
-
gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- total_width = CANVAS_WIDTH (container, allocation);
- total_height = CANVAS_HEIGHT (container, allocation);
-
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- *x = get_mirror_x_position (container, icon, *x);
- }
-
- if (*x + icon_width / 2 < DESKTOP_PAD_HORIZONTAL + SNAP_SIZE_X)
- {
- *x = DESKTOP_PAD_HORIZONTAL + SNAP_SIZE_X - icon_width / 2;
- }
+ icon_bounds = nautilus_canvas_item_get_icon_rectangle (icon->item);
- if (*x + icon_width / 2 > total_width - (DESKTOP_PAD_HORIZONTAL + SNAP_SIZE_X))
- {
- *x = total_width - (DESKTOP_PAD_HORIZONTAL + SNAP_SIZE_X + (icon_width / 2));
- }
+ return CANVAS_WIDTH (container, allocation) - x - (icon_bounds.x1 - icon_bounds.x0);
+}
- if (*y + icon_height < DESKTOP_PAD_VERTICAL + SNAP_SIZE_Y)
- {
- *y = DESKTOP_PAD_VERTICAL + SNAP_SIZE_Y - icon_height;
- }
+static void
+nautilus_canvas_container_set_rtl_positions (NautilusCanvasContainer *container)
+{
+ GList *l;
+ NautilusCanvasIcon *icon;
+ double x;
- if (*y + icon_height > total_height - (DESKTOP_PAD_VERTICAL + SNAP_SIZE_Y))
+ if (!container->details->icons)
{
- *y = total_height - (DESKTOP_PAD_VERTICAL + SNAP_SIZE_Y + (icon_height / 2));
+ return;
}
- center_x = *x + icon_width / 2;
- *x = SNAP_NEAREST_HORIZONTAL (center_x) - (icon_width / 2);
- if (nautilus_canvas_container_is_layout_rtl (container))
+ for (l = container->details->icons; l != NULL; l = l->next)
{
- *x = get_mirror_x_position (container, icon, *x);
+ icon = l->data;
+ x = get_mirror_x_position (container, icon, icon->saved_ltr_x);
+ icon_set_position (icon, x, icon->y);
}
-
-
- /* Find the grid position vertically and place on the proper baseline */
- baseline_y = *y + icon_height;
- baseline_y = SNAP_NEAREST_VERTICAL (baseline_y);
- *y = baseline_y - icon_height;
}
-static int
-compare_icons_by_position (gconstpointer a,
- gconstpointer b)
+static void
+lay_down_icons (NautilusCanvasContainer *container,
+ GList *icons,
+ double start_y)
{
- NautilusCanvasIcon *icon_a, *icon_b;
- int x1, y1, x2, y2;
- int center_a;
- int center_b;
-
- icon_a = (NautilusCanvasIcon *) a;
- icon_b = (NautilusCanvasIcon *) b;
-
- icon_get_bounding_box (icon_a, &x1, &y1, &x2, &y2,
- BOUNDS_USAGE_FOR_DISPLAY);
- center_a = x1 + (x2 - x1) / 2;
- icon_get_bounding_box (icon_b, &x1, &y1, &x2, &y2,
- BOUNDS_USAGE_FOR_DISPLAY);
- center_b = x1 + (x2 - x1) / 2;
-
- return center_a == center_b ?
- icon_a->y - icon_b->y :
- center_a - center_b;
+ lay_down_icons_horizontal (container, icons, start_y);
}
-static PlacementGrid *
-placement_grid_new (NautilusCanvasContainer *container,
- gboolean tight)
+static void
+redo_layout_internal (NautilusCanvasContainer *container)
{
- PlacementGrid *grid;
- int width, height;
- int num_columns;
- int num_rows;
- int i;
- GtkAllocation allocation;
-
- /* Get container dimensions */
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- width = CANVAS_WIDTH (container, allocation);
- height = CANVAS_HEIGHT (container, allocation);
-
- num_columns = width / SNAP_SIZE_X;
- num_rows = height / SNAP_SIZE_Y;
+ gboolean layout_possible;
- if (num_columns == 0 || num_rows == 0)
+ layout_possible = finish_adding_new_icons (container);
+ if (!layout_possible)
{
- return NULL;
+ schedule_redo_layout (container);
+ return;
}
- grid = g_new0 (PlacementGrid, 1);
- grid->tight = tight;
- grid->num_columns = num_columns;
- grid->num_rows = num_rows;
-
- grid->grid_memory = g_new0 (int, (num_rows * num_columns));
- grid->icon_grid = g_new0 (int *, num_columns);
+ if (container->details->needs_resort)
+ {
+ resort (container);
+ container->details->needs_resort = FALSE;
+ }
+ lay_down_icons (container, container->details->icons, 0);
- for (i = 0; i < num_columns; i++)
+ if (nautilus_canvas_container_is_layout_rtl (container))
{
- grid->icon_grid[i] = grid->grid_memory + (i * num_rows);
+ nautilus_canvas_container_set_rtl_positions (container);
}
- return grid;
-}
+ nautilus_canvas_container_update_scroll_region (container);
-static void
-placement_grid_free (PlacementGrid *grid)
-{
- g_free (grid->icon_grid);
- g_free (grid->grid_memory);
- g_free (grid);
+ process_pending_icon_to_reveal (container);
+ nautilus_canvas_container_update_visible_icons (container);
}
static gboolean
-placement_grid_position_is_free (PlacementGrid *grid,
- EelIRect pos)
+redo_layout_callback (gpointer callback_data)
{
- int x, y;
-
- g_assert (pos.x0 >= 0 && pos.x0 < grid->num_columns);
- g_assert (pos.y0 >= 0 && pos.y0 < grid->num_rows);
- g_assert (pos.x1 >= 0 && pos.x1 < grid->num_columns);
- g_assert (pos.y1 >= 0 && pos.y1 < grid->num_rows);
+ NautilusCanvasContainer *container;
- for (x = pos.x0; x <= pos.x1; x++)
- {
- for (y = pos.y0; y <= pos.y1; y++)
- {
- if (grid->icon_grid[x][y] != 0)
- {
- return FALSE;
- }
- }
- }
+ container = NAUTILUS_CANVAS_CONTAINER (callback_data);
+ redo_layout_internal (container);
+ container->details->idle_id = 0;
- return TRUE;
+ return FALSE;
}
static void
-placement_grid_mark (PlacementGrid *grid,
- EelIRect pos)
+unschedule_redo_layout (NautilusCanvasContainer *container)
{
- int x, y;
-
- g_assert (pos.x0 >= 0 && pos.x0 < grid->num_columns);
- g_assert (pos.y0 >= 0 && pos.y0 < grid->num_rows);
- g_assert (pos.x1 >= 0 && pos.x1 < grid->num_columns);
- g_assert (pos.y1 >= 0 && pos.y1 < grid->num_rows);
-
- for (x = pos.x0; x <= pos.x1; x++)
+ if (container->details->idle_id != 0)
{
- for (y = pos.y0; y <= pos.y1; y++)
- {
- grid->icon_grid[x][y] = 1;
- }
+ g_source_remove (container->details->idle_id);
+ container->details->idle_id = 0;
}
}
static void
-canvas_position_to_grid_position (PlacementGrid *grid,
- EelIRect canvas_position,
- EelIRect *grid_position)
+schedule_redo_layout (NautilusCanvasContainer *container)
{
- /* The first causes minimal moving around during a snap, but
- * can end up with partially overlapping icons. The second one won't
- * allow any overlapping, but can cause more movement to happen
- * during a snap. */
- if (grid->tight)
- {
- grid_position->x0 = ceil ((double) (canvas_position.x0 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE_X);
- grid_position->y0 = ceil ((double) (canvas_position.y0 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE_Y);
- grid_position->x1 = floor ((double) (canvas_position.x1 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE_X);
- grid_position->y1 = floor ((double) (canvas_position.y1 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE_Y);
- }
- else
+ if (container->details->idle_id == 0
+ && container->details->has_been_allocated)
{
- grid_position->x0 = floor ((double) (canvas_position.x0 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE_X);
- grid_position->y0 = floor ((double) (canvas_position.y0 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE_Y);
- grid_position->x1 = floor ((double) (canvas_position.x1 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE_X);
- grid_position->y1 = floor ((double) (canvas_position.y1 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE_Y);
+ container->details->idle_id = g_idle_add
+ (redo_layout_callback, container);
}
-
- grid_position->x0 = CLAMP (grid_position->x0, 0, grid->num_columns - 1);
- grid_position->y0 = CLAMP (grid_position->y0, 0, grid->num_rows - 1);
- grid_position->x1 = CLAMP (grid_position->x1, grid_position->x0, grid->num_columns - 1);
- grid_position->y1 = CLAMP (grid_position->y1, grid_position->y0, grid->num_rows - 1);
}
static void
-placement_grid_mark_icon (PlacementGrid *grid,
- NautilusCanvasIcon *icon)
+redo_layout (NautilusCanvasContainer *container)
{
- EelIRect canvas_pos;
- EelIRect grid_pos;
-
- icon_get_bounding_box (icon,
- &canvas_pos.x0, &canvas_pos.y0,
- &canvas_pos.x1, &canvas_pos.y1,
- BOUNDS_USAGE_FOR_LAYOUT);
- canvas_position_to_grid_position (grid,
- canvas_pos,
- &grid_pos);
- placement_grid_mark (grid, grid_pos);
+ unschedule_redo_layout (container);
+ /* We can't lay out if the size hasn't been allocated yet; wait for it to
+ * be and then we will be called again from size_allocate ()
+ */
+ if (container->details->has_been_allocated)
+ {
+ redo_layout_internal (container);
+ }
}
-static void
-find_empty_location (NautilusCanvasContainer *container,
- PlacementGrid *grid,
- NautilusCanvasIcon *icon,
- int start_x,
- int start_y,
- int *x,
- int *y)
-{
- double icon_width, icon_height;
- int canvas_width;
- int canvas_height;
- int height_for_bound_check;
- EelIRect icon_position;
- EelDRect pixbuf_rect;
- gboolean collision;
- GtkAllocation allocation;
+/* Container-level icon handling functions. */
- /* Get container dimensions */
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- canvas_width = CANVAS_WIDTH (container, allocation);
- canvas_height = CANVAS_HEIGHT (container, allocation);
+static gboolean
+button_event_modifies_selection (GdkEventButton *event)
+{
+ return (event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) != 0;
+}
- icon_get_bounding_box (icon,
- &icon_position.x0, &icon_position.y0,
- &icon_position.x1, &icon_position.y1,
- BOUNDS_USAGE_FOR_LAYOUT);
- icon_width = icon_position.x1 - icon_position.x0;
- icon_height = icon_position.y1 - icon_position.y0;
+/* invalidate the cached label sizes for all the icons */
+static void
+invalidate_label_sizes (NautilusCanvasContainer *container)
+{
+ GList *p;
+ NautilusCanvasIcon *icon;
- icon_get_bounding_box (icon,
- NULL, &icon_position.y0,
- NULL, &icon_position.y1,
- BOUNDS_USAGE_FOR_ENTIRE_ITEM);
- height_for_bound_check = icon_position.y1 - icon_position.y0;
+ for (p = container->details->icons; p != NULL; p = p->next)
+ {
+ icon = p->data;
- pixbuf_rect = nautilus_canvas_item_get_icon_rectangle (icon->item);
+ nautilus_canvas_item_invalidate_label_size (icon->item);
+ }
+}
- /* Start the icon on a grid location */
- snap_position (container, icon, &start_x, &start_y);
+static gboolean
+select_range (NautilusCanvasContainer *container,
+ NautilusCanvasIcon *icon1,
+ NautilusCanvasIcon *icon2,
+ gboolean unselect_outside_range)
+{
+ gboolean selection_changed;
+ GList *p;
+ NautilusCanvasIcon *icon;
+ NautilusCanvasIcon *unmatched_icon;
+ gboolean select;
- icon_position.x0 = start_x;
- icon_position.y0 = start_y;
- icon_position.x1 = icon_position.x0 + icon_width;
- icon_position.y1 = icon_position.y0 + icon_height;
+ selection_changed = FALSE;
- do
+ unmatched_icon = NULL;
+ select = FALSE;
+ for (p = container->details->icons; p != NULL; p = p->next)
{
- EelIRect grid_position;
- gboolean need_new_column;
-
- collision = FALSE;
-
- canvas_position_to_grid_position (grid,
- icon_position,
- &grid_position);
-
- need_new_column = icon_position.y0 + height_for_bound_check + DESKTOP_PAD_VERTICAL > canvas_height;
+ icon = p->data;
- if (need_new_column ||
- !placement_grid_position_is_free (grid, grid_position))
+ if (unmatched_icon == NULL)
{
- icon_position.y0 += SNAP_SIZE_Y;
- icon_position.y1 = icon_position.y0 + icon_height;
-
- if (need_new_column)
+ if (icon == icon1)
{
- /* Move to the next column */
- icon_position.y0 = DESKTOP_PAD_VERTICAL + SNAP_SIZE_Y - (pixbuf_rect.y1 - pixbuf_rect.y0);
- while (icon_position.y0 < DESKTOP_PAD_VERTICAL)
- {
- icon_position.y0 += SNAP_SIZE_Y;
- }
- icon_position.y1 = icon_position.y0 + icon_height;
-
- icon_position.x0 += SNAP_SIZE_X;
- icon_position.x1 = icon_position.x0 + icon_width;
- }
-
- collision = TRUE;
- }
- }
- while (collision && (icon_position.x1 < canvas_width));
-
- *x = icon_position.x0;
- *y = icon_position.y0;
-}
-
-static void
-align_icons (NautilusCanvasContainer *container)
-{
- GList *unplaced_icons;
- GList *l;
- PlacementGrid *grid;
-
- unplaced_icons = g_list_copy (container->details->icons);
-
- unplaced_icons = g_list_sort (unplaced_icons,
- compare_icons_by_position);
-
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- unplaced_icons = g_list_reverse (unplaced_icons);
- }
-
- grid = placement_grid_new (container, TRUE);
-
- if (!grid)
- {
- return;
- }
-
- for (l = unplaced_icons; l != NULL; l = l->next)
- {
- NautilusCanvasIcon *icon;
- int x, y;
-
- icon = l->data;
- x = icon->saved_ltr_x;
- y = icon->y;
- find_empty_location (container, grid,
- icon, x, y, &x, &y);
-
- icon_set_position (icon, x, y);
- icon->saved_ltr_x = icon->x;
- placement_grid_mark_icon (grid, icon);
- }
-
- g_list_free (unplaced_icons);
-
- placement_grid_free (grid);
-
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- nautilus_canvas_container_set_rtl_positions (container);
- }
-}
-
-static double
-get_mirror_x_position (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon,
- double x)
-{
- EelDRect icon_bounds;
- GtkAllocation allocation;
-
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- icon_bounds = nautilus_canvas_item_get_icon_rectangle (icon->item);
-
- return CANVAS_WIDTH (container, allocation) - x - (icon_bounds.x1 - icon_bounds.x0);
-}
-
-static void
-nautilus_canvas_container_set_rtl_positions (NautilusCanvasContainer *container)
-{
- GList *l;
- NautilusCanvasIcon *icon;
- double x;
-
- if (!container->details->icons)
- {
- return;
- }
-
- for (l = container->details->icons; l != NULL; l = l->next)
- {
- icon = l->data;
- x = get_mirror_x_position (container, icon, icon->saved_ltr_x);
- icon_set_position (icon, x, icon->y);
- }
-}
-
-static void
-lay_down_icons_vertical_desktop (NautilusCanvasContainer *container,
- GList *icons)
-{
- GList *p, *placed_icons, *unplaced_icons;
- int total, new_length, placed;
- NautilusCanvasIcon *icon;
- int height, max_width, column_width, icon_width, icon_height;
- int x, y, x1, x2, y1, y2;
- EelDRect icon_rect;
- GtkAllocation allocation;
-
- /* We can't get the right allocation if the size hasn't been allocated yet */
- g_return_if_fail (container->details->has_been_allocated);
-
- /* Get container dimensions */
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- height = CANVAS_HEIGHT (container, allocation);
-
- /* Determine which icons have and have not been placed */
- placed_icons = NULL;
- unplaced_icons = NULL;
-
- total = g_list_length (container->details->icons);
- new_length = g_list_length (icons);
- placed = total - new_length;
- if (placed > 0)
- {
- PlacementGrid *grid;
- /* Add only placed icons in list */
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
- if (icon_is_positioned (icon))
- {
- icon_set_position (icon, icon->saved_ltr_x, icon->y);
- placed_icons = g_list_prepend (placed_icons, icon);
- }
- else
- {
- icon->x = 0;
- icon->y = 0;
- unplaced_icons = g_list_prepend (unplaced_icons, icon);
- }
- }
- placed_icons = g_list_reverse (placed_icons);
- unplaced_icons = g_list_reverse (unplaced_icons);
-
- grid = placement_grid_new (container, FALSE);
-
- if (grid)
- {
- for (p = placed_icons; p != NULL; p = p->next)
- {
- placement_grid_mark_icon
- (grid, (NautilusCanvasIcon *) p->data);
- }
-
- /* Place unplaced icons in the best locations */
- for (p = unplaced_icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- icon_rect = nautilus_canvas_item_get_icon_rectangle (icon->item);
-
- /* Start the icon in the first column */
- x = DESKTOP_PAD_HORIZONTAL + (SNAP_SIZE_X / 2) - ((icon_rect.x1 - icon_rect.x0) / 2);
- y = DESKTOP_PAD_VERTICAL + SNAP_SIZE_Y - (icon_rect.y1 - icon_rect.y0);
-
- find_empty_location (container,
- grid,
- icon,
- x, y,
- &x, &y);
-
- icon_set_position (icon, x, y);
- icon->saved_ltr_x = x;
- placement_grid_mark_icon (grid, icon);
- }
-
- placement_grid_free (grid);
- }
-
- g_list_free (placed_icons);
- g_list_free (unplaced_icons);
- }
- else
- {
- /* There are no placed icons. Just lay them down using our rules */
- x = DESKTOP_PAD_HORIZONTAL;
-
- while (icons != NULL)
- {
- int center_x;
- int baseline;
- int icon_height_for_bound_check;
- gboolean should_snap;
-
- should_snap = container->details->keep_aligned;
-
- y = DESKTOP_PAD_VERTICAL;
-
- max_width = 0;
-
- /* Calculate max width for column */
- for (p = icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- icon_get_bounding_box (icon, &x1, &y1, &x2, &y2,
- BOUNDS_USAGE_FOR_LAYOUT);
- icon_width = x2 - x1;
- icon_height = y2 - y1;
-
- icon_get_bounding_box (icon, NULL, &y1, NULL, &y2,
- BOUNDS_USAGE_FOR_ENTIRE_ITEM);
- icon_height_for_bound_check = y2 - y1;
-
- if (should_snap)
- {
- /* Snap the baseline to a grid position */
- icon_rect = nautilus_canvas_item_get_icon_rectangle (icon->item);
- baseline = y + (icon_rect.y1 - icon_rect.y0);
- baseline = SNAP_CEIL_VERTICAL (baseline);
- y = baseline - (icon_rect.y1 - icon_rect.y0);
- }
-
- /* Check and see if we need to move to a new column */
- if (y != DESKTOP_PAD_VERTICAL && y + icon_height_for_bound_check > height)
- {
- break;
- }
-
- if (max_width < icon_width)
- {
- max_width = icon_width;
- }
-
- y += icon_height + DESKTOP_PAD_VERTICAL;
- }
-
- y = DESKTOP_PAD_VERTICAL;
-
- center_x = x + max_width / 2;
- column_width = max_width;
- if (should_snap)
- {
- /* Find the grid column to center on */
- center_x = SNAP_CEIL_HORIZONTAL (center_x);
- column_width = (center_x - x) + (max_width / 2);
- }
-
- /* Lay out column */
- for (p = icons; p != NULL; p = p->next)
- {
- icon = p->data;
- icon_get_bounding_box (icon, &x1, &y1, &x2, &y2,
- BOUNDS_USAGE_FOR_LAYOUT);
- icon_height = y2 - y1;
-
- icon_get_bounding_box (icon, NULL, &y1, NULL, &y2,
- BOUNDS_USAGE_FOR_ENTIRE_ITEM);
- icon_height_for_bound_check = y2 - y1;
-
- icon_rect = nautilus_canvas_item_get_icon_rectangle (icon->item);
-
- if (should_snap)
- {
- baseline = y + (icon_rect.y1 - icon_rect.y0);
- baseline = SNAP_CEIL_VERTICAL (baseline);
- y = baseline - (icon_rect.y1 - icon_rect.y0);
- }
-
- /* Check and see if we need to move to a new column */
- if (y != DESKTOP_PAD_VERTICAL && y > height - icon_height_for_bound_check &&
- /* Make sure we lay out at least one icon per column, to make progress */
- p != icons)
- {
- x += column_width + DESKTOP_PAD_HORIZONTAL;
- break;
- }
-
- icon_set_position (icon,
- center_x - (icon_rect.x1 - icon_rect.x0) / 2,
- y);
-
- icon->saved_ltr_x = icon->x;
- y += icon_height + DESKTOP_PAD_VERTICAL;
- }
- icons = p;
- }
- }
-
- /* These modes are special. We freeze all of our positions
- * after we do the layout.
- */
- /* FIXME bugzilla.gnome.org 42478:
- * This should not be tied to the direction of layout.
- * It should be a separate switch.
- */
- nautilus_canvas_container_freeze_icon_positions (container);
-}
-
-static void
-lay_down_icons (NautilusCanvasContainer *container,
- GList *icons,
- double start_y)
-{
- if (container->details->is_desktop)
- {
- lay_down_icons_vertical_desktop (container, icons);
- }
- else
- {
- lay_down_icons_horizontal (container, icons, start_y);
- }
-}
-
-static void
-redo_layout_internal (NautilusCanvasContainer *container)
-{
- gboolean layout_possible;
-
- layout_possible = finish_adding_new_icons (container);
- if (!layout_possible)
- {
- schedule_redo_layout (container);
- return;
- }
-
- /* Don't do any re-laying-out during stretching. Later we
- * might add smart logic that does this and leaves room for
- * the stretched icon, but if we do it we want it to be fast
- * and only re-lay-out when it's really needed.
- */
- if (container->details->auto_layout
- && container->details->drag_state != DRAG_STATE_STRETCH)
- {
- if (container->details->needs_resort)
- {
- resort (container);
- container->details->needs_resort = FALSE;
- }
- lay_down_icons (container, container->details->icons, 0);
- }
-
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- nautilus_canvas_container_set_rtl_positions (container);
- }
-
- nautilus_canvas_container_update_scroll_region (container);
-
- process_pending_icon_to_reveal (container);
- nautilus_canvas_container_update_visible_icons (container);
-}
-
-static gboolean
-redo_layout_callback (gpointer callback_data)
-{
- NautilusCanvasContainer *container;
-
- container = NAUTILUS_CANVAS_CONTAINER (callback_data);
- redo_layout_internal (container);
- container->details->idle_id = 0;
-
- return FALSE;
-}
-
-static void
-unschedule_redo_layout (NautilusCanvasContainer *container)
-{
- if (container->details->idle_id != 0)
- {
- g_source_remove (container->details->idle_id);
- container->details->idle_id = 0;
- }
-}
-
-static void
-schedule_redo_layout (NautilusCanvasContainer *container)
-{
- if (container->details->idle_id == 0
- && container->details->has_been_allocated)
- {
- container->details->idle_id = g_idle_add
- (redo_layout_callback, container);
- }
-}
-
-static void
-redo_layout (NautilusCanvasContainer *container)
-{
- unschedule_redo_layout (container);
- /* We can't lay out if the size hasn't been allocated yet; wait for it to
- * be and then we will be called again from size_allocate ()
- */
- if (container->details->has_been_allocated)
- {
- redo_layout_internal (container);
- }
-}
-
-static void
-reload_icon_positions (NautilusCanvasContainer *container)
-{
- GList *p, *no_position_icons;
- NautilusCanvasIcon *icon;
- gboolean have_stored_position;
- NautilusCanvasPosition position;
- EelDRect bounds;
- double bottom;
- EelCanvasItem *item;
-
- g_assert (!container->details->auto_layout);
-
- resort (container);
-
- no_position_icons = NULL;
-
- /* Place all the icons with positions. */
- bottom = 0;
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- have_stored_position = FALSE;
- g_signal_emit (container,
- signals[GET_STORED_ICON_POSITION], 0,
- icon->data,
- &position,
- &have_stored_position);
- if (have_stored_position)
- {
- icon_set_position (icon, position.x, position.y);
- item = EEL_CANVAS_ITEM (icon->item);
- nautilus_canvas_item_get_bounds_for_layout (icon->item,
- &bounds.x0,
- &bounds.y0,
- &bounds.x1,
- &bounds.y1);
- eel_canvas_item_i2w (item->parent,
- &bounds.x0,
- &bounds.y0);
- eel_canvas_item_i2w (item->parent,
- &bounds.x1,
- &bounds.y1);
- if (bounds.y1 > bottom)
- {
- bottom = bounds.y1;
- }
- }
- else
- {
- no_position_icons = g_list_prepend (no_position_icons, icon);
- }
- }
- no_position_icons = g_list_reverse (no_position_icons);
-
- /* Place all the other icons. */
- lay_down_icons (container, no_position_icons, bottom + ICON_PAD_BOTTOM);
- g_list_free (no_position_icons);
-}
-
-/* Container-level icon handling functions. */
-
-static gboolean
-button_event_modifies_selection (GdkEventButton *event)
-{
- return (event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) != 0;
-}
-
-/* invalidate the cached label sizes for all the icons */
-static void
-invalidate_label_sizes (NautilusCanvasContainer *container)
-{
- GList *p;
- NautilusCanvasIcon *icon;
-
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- nautilus_canvas_item_invalidate_label_size (icon->item);
- }
-}
-
-static gboolean
-select_range (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon1,
- NautilusCanvasIcon *icon2,
- gboolean unselect_outside_range)
-{
- gboolean selection_changed;
- GList *p;
- NautilusCanvasIcon *icon;
- NautilusCanvasIcon *unmatched_icon;
- gboolean select;
-
- selection_changed = FALSE;
-
- unmatched_icon = NULL;
- select = FALSE;
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- if (unmatched_icon == NULL)
- {
- if (icon == icon1)
- {
- unmatched_icon = icon2;
- select = TRUE;
- }
- else if (icon == icon2)
- {
- unmatched_icon = icon1;
- select = TRUE;
+ unmatched_icon = icon2;
+ select = TRUE;
+ }
+ else if (icon == icon2)
+ {
+ unmatched_icon = icon1;
+ select = TRUE;
}
}
@@ -2406,75 +1553,6 @@ unselect_all (NautilusCanvasContainer *container)
return select_one_unselect_others (container, NULL);
}
-void
-nautilus_canvas_container_move_icon (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon,
- int x,
- int y,
- double scale,
- gboolean raise,
- gboolean snap,
- gboolean update_position)
-{
- NautilusCanvasContainerDetails *details;
- gboolean emit_signal;
- NautilusCanvasPosition position;
-
- details = container->details;
-
- emit_signal = FALSE;
-
- if (scale != icon->scale)
- {
- icon->scale = scale;
- nautilus_canvas_container_update_icon (container, icon);
- if (update_position)
- {
- redo_layout (container);
- emit_signal = TRUE;
- }
- }
-
- if (!details->auto_layout)
- {
- if (details->keep_aligned && snap)
- {
- snap_position (container, icon, &x, &y);
- }
-
- if (x != icon->x || y != icon->y)
- {
- icon_set_position (icon, x, y);
- emit_signal = update_position;
- }
-
- icon->saved_ltr_x = nautilus_canvas_container_is_layout_rtl (container) ? get_mirror_x_position
(container, icon, icon->x) : icon->x;
- }
-
- if (emit_signal)
- {
- position.x = icon->saved_ltr_x;
- position.y = icon->y;
- position.scale = scale;
- g_signal_emit (container,
- signals[ICON_POSITION_CHANGED], 0,
- icon->data, &position);
- }
-
- if (raise)
- {
- icon_raise (icon);
- }
-
- /* FIXME bugzilla.gnome.org 42474:
- * Handling of the scroll region is inconsistent here. In
- * the scale-changing case, redo_layout is called, which updates the
- * scroll region appropriately. In other cases, it's up to the
- * caller to make sure the scroll region is updated. This could
- * lead to hard-to-track-down bugs.
- */
-}
-
/* Implementation of rubberband selection. */
static void
rubberband_select (NautilusCanvasContainer *container,
@@ -2668,76 +1746,16 @@ get_rubber_color (NautilusCanvasContainer *container,
GdkRGBA *bgcolor,
GdkRGBA *bordercolor)
{
- Atom real_type;
- gint result = -1;
- gint real_format;
- gulong items_read = 0;
- gulong items_left = 0;
- gchar *colors;
- Atom representative_colors_atom;
- Display *display;
-
- if (nautilus_canvas_container_get_is_desktop (container))
- {
- representative_colors_atom = gdk_x11_get_xatom_by_name ("_GNOME_BACKGROUND_REPRESENTATIVE_COLORS");
- display = gdk_x11_display_get_xdisplay (gdk_display_get_default ());
-
- gdk_error_trap_push ();
- result = XGetWindowProperty (display,
- GDK_ROOT_WINDOW (),
- representative_colors_atom,
- 0L,
- G_MAXLONG,
- False,
- XA_STRING,
- &real_type,
- &real_format,
- &items_read,
- &items_left,
- (guchar **) &colors);
- gdk_error_trap_pop_ignored ();
- }
-
- if (result == Success && items_read)
- {
- /* by treating the result as a nul-terminated string, we
- * select the first colour in the list.
- */
- GdkRGBA read;
- gdouble shade;
-
- gdk_rgba_parse (&read, colors);
- XFree (colors);
-
- /* Border
- *
- * We shade darker colours to be slightly lighter and
- * lighter ones to be slightly darker.
- */
- shade = read.green < 0.5 ? 1.1 : 0.9;
- bordercolor->red = read.red * shade;
- bordercolor->green = read.green * shade;
- bordercolor->blue = read.blue * shade;
- bordercolor->alpha = 1.0;
-
- /* Background */
- *bgcolor = read;
- bgcolor->alpha = 0.6;
- }
- else
- {
- /* Fallback to the style context if we can't get the Atom */
- GtkStyleContext *context;
+ GtkStyleContext *context;
- context = gtk_widget_get_style_context (GTK_WIDGET (container));
- gtk_style_context_save (context);
- gtk_style_context_add_class (context, GTK_STYLE_CLASS_RUBBERBAND);
+ context = gtk_widget_get_style_context (GTK_WIDGET (container));
+ gtk_style_context_save (context);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_RUBBERBAND);
- gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, bgcolor);
- gtk_style_context_get_border_color (context, GTK_STATE_FLAG_NORMAL, bordercolor);
+ gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, bgcolor);
+ gtk_style_context_get_border_color (context, GTK_STATE_FLAG_NORMAL, bordercolor);
- gtk_style_context_restore (context);
- }
+ gtk_style_context_restore (context);
}
static void
@@ -3339,40 +2357,6 @@ next_row_rightmost (NautilusCanvasContainer *container,
}
static gboolean
-next_column_bottommost (NautilusCanvasContainer *container,
- NautilusCanvasIcon *start_icon,
- NautilusCanvasIcon *best_so_far,
- NautilusCanvasIcon *candidate,
- void *data)
-{
- /* sort out icons that are not on the right of the current column */
- if (compare_with_start_column (container, candidate) >= 0)
- {
- return FALSE;
- }
-
- if (best_so_far != NULL)
- {
- if (compare_icons_horizontal_first (container,
- best_so_far,
- candidate) > 0)
- {
- /* candidate is above best choice, but below the current row */
- return TRUE;
- }
-
- if (compare_icons_vertical_first (container,
- best_so_far,
- candidate) < 0)
- {
- return TRUE;
- }
- }
-
- return best_so_far == NULL;
-}
-
-static gboolean
previous_row_rightmost (NautilusCanvasContainer *container,
NautilusCanvasIcon *start_icon,
NautilusCanvasIcon *best_so_far,
@@ -3477,123 +2461,6 @@ same_column_below_highest (NautilusCanvasContainer *container,
}
static gboolean
-previous_column_highest (NautilusCanvasContainer *container,
- NautilusCanvasIcon *start_icon,
- NautilusCanvasIcon *best_so_far,
- NautilusCanvasIcon *candidate,
- void *data)
-{
- /* sort out icons that are not before the current column */
- if (compare_with_start_column (container, candidate) <= 0)
- {
- return FALSE;
- }
-
- if (best_so_far != NULL)
- {
- if (compare_icons_horizontal (container,
- best_so_far,
- candidate) < 0)
- {
- /* candidate is right of the best choice, but left of the current column */
- return TRUE;
- }
-
- if (compare_icons_vertical (container,
- best_so_far,
- candidate) > 0)
- {
- return TRUE;
- }
- }
-
- return best_so_far == NULL;
-}
-
-
-static gboolean
-next_column_highest (NautilusCanvasContainer *container,
- NautilusCanvasIcon *start_icon,
- NautilusCanvasIcon *best_so_far,
- NautilusCanvasIcon *candidate,
- void *data)
-{
- /* sort out icons that are not after the current column */
- if (compare_with_start_column (container, candidate) >= 0)
- {
- return FALSE;
- }
-
- if (best_so_far != NULL)
- {
- if (compare_icons_horizontal_first (container,
- best_so_far,
- candidate) > 0)
- {
- /* candidate is left of the best choice, but right of the current column */
- return TRUE;
- }
-
- if (compare_icons_vertical_first (container,
- best_so_far,
- candidate) > 0)
- {
- return TRUE;
- }
- }
-
- return best_so_far == NULL;
-}
-
-static gboolean
-previous_column_lowest (NautilusCanvasContainer *container,
- NautilusCanvasIcon *start_icon,
- NautilusCanvasIcon *best_so_far,
- NautilusCanvasIcon *candidate,
- void *data)
-{
- /* sort out icons that are not before the current column */
- if (compare_with_start_column (container, candidate) <= 0)
- {
- return FALSE;
- }
-
- if (best_so_far != NULL)
- {
- if (compare_icons_horizontal_first (container,
- best_so_far,
- candidate) < 0)
- {
- /* candidate is right of the best choice, but left of the current column */
- return TRUE;
- }
-
- if (compare_icons_vertical_first (container,
- best_so_far,
- candidate) < 0)
- {
- return TRUE;
- }
- }
-
- return best_so_far == NULL;
-}
-
-static gboolean
-last_column_lowest (NautilusCanvasContainer *container,
- NautilusCanvasIcon *start_icon,
- NautilusCanvasIcon *best_so_far,
- NautilusCanvasIcon *candidate,
- void *data)
-{
- if (best_so_far == NULL)
- {
- return TRUE;
- }
- return compare_icons_horizontal_first (container, best_so_far, candidate) < 0;
-}
-
-static gboolean
closest_in_90_degrees (NautilusCanvasContainer *container,
NautilusCanvasIcon *start_icon,
NautilusCanvasIcon *best_so_far,
@@ -3725,8 +2592,7 @@ keyboard_move_to (NautilusCanvasContainer *container,
clear_keyboard_rubberband_start (container);
}
else if (event != NULL &&
- ((event->state & GDK_CONTROL_MASK) != 0 ||
- !container->details->auto_layout) &&
+ (event->state & GDK_CONTROL_MASK) != 0 &&
(event->state & GDK_SHIFT_MASK) != 0)
{
/* Do rubberband selection */
@@ -3811,11 +2677,7 @@ keyboard_end (NautilusCanvasContainer *container,
from = find_best_selected_icon (container, NULL,
leftmost_in_top_row,
NULL);
- to = find_best_icon (container, NULL,
- nautilus_canvas_container_is_layout_vertical (container) ?
- last_column_lowest :
- rightmost_in_bottom_row,
- NULL);
+ to = find_best_icon (container, NULL, rightmost_in_bottom_row, NULL);
keyboard_move_to (container, to, from, event);
}
@@ -3898,7 +2760,7 @@ keyboard_arrow_key (NautilusCanvasContainer *container,
to = find_best_icon
(container, from,
- container->details->auto_layout ? better_destination : better_destination_manual,
+ better_destination,
&data);
/* Wrap around to next/previous row/column */
@@ -3929,7 +2791,6 @@ keyboard_arrow_key (NautilusCanvasContainer *container,
* Should select 4.
*/
if (to == NULL &&
- container->details->auto_layout &&
better_destination_fallback_fallback != NULL)
{
to = find_best_icon
@@ -3959,23 +2820,13 @@ keyboard_right (NautilusCanvasContainer *container,
GdkEventKey *event)
{
IsBetterCanvasFunction fallback;
- IsBetterCanvasFunction next_column_fallback;
fallback = NULL;
- if (container->details->auto_layout &&
- !nautilus_canvas_container_is_layout_vertical (container) &&
- !is_rectangle_selection_event (event))
+ if (!is_rectangle_selection_event (event))
{
fallback = next_row_leftmost;
}
- next_column_fallback = NULL;
- if (nautilus_canvas_container_is_layout_vertical (container) &&
- gtk_widget_get_direction (GTK_WIDGET (container)) != GTK_TEXT_DIR_RTL)
- {
- next_column_fallback = next_column_bottommost;
- }
-
/* Right selects the next icon in the same row.
* Control-Right sets the keyboard focus to the next icon in the same row.
*/
@@ -3987,7 +2838,7 @@ keyboard_right (NautilusCanvasContainer *container,
rightmost_in_top_row : leftmost_in_top_row,
same_row_right_side_leftmost,
fallback,
- next_column_fallback,
+ NULL,
closest_in_90_degrees);
}
@@ -3996,23 +2847,13 @@ keyboard_left (NautilusCanvasContainer *container,
GdkEventKey *event)
{
IsBetterCanvasFunction fallback;
- IsBetterCanvasFunction previous_column_fallback;
fallback = NULL;
- if (container->details->auto_layout &&
- !nautilus_canvas_container_is_layout_vertical (container) &&
- !is_rectangle_selection_event (event))
+ if (!is_rectangle_selection_event (event))
{
fallback = previous_row_rightmost;
}
- previous_column_fallback = NULL;
- if (nautilus_canvas_container_is_layout_vertical (container) &&
- gtk_widget_get_direction (GTK_WIDGET (container)) == GTK_TEXT_DIR_RTL)
- {
- previous_column_fallback = previous_column_lowest;
- }
-
/* Left selects the next icon in the same row.
* Control-Left sets the keyboard focus to the next icon in the same row.
*/
@@ -4024,7 +2865,7 @@ keyboard_left (NautilusCanvasContainer *container,
rightmost_in_top_row : leftmost_in_top_row,
same_row_left_side_rightmost,
fallback,
- previous_column_fallback,
+ NULL,
closest_in_90_degrees);
}
@@ -4032,35 +2873,16 @@ static void
keyboard_down (NautilusCanvasContainer *container,
GdkEventKey *event)
{
- IsBetterCanvasFunction fallback;
IsBetterCanvasFunction next_row_fallback;
- fallback = NULL;
- if (container->details->auto_layout &&
- nautilus_canvas_container_is_layout_vertical (container) &&
- !is_rectangle_selection_event (event))
+ next_row_fallback = NULL;
+ if (gtk_widget_get_direction (GTK_WIDGET (container)) == GTK_TEXT_DIR_RTL)
{
- if (gtk_widget_get_direction (GTK_WIDGET (container)) == GTK_TEXT_DIR_RTL)
- {
- fallback = previous_column_highest;
- }
- else
- {
- fallback = next_column_highest;
- }
+ next_row_fallback = next_row_leftmost;
}
-
- next_row_fallback = NULL;
- if (!nautilus_canvas_container_is_layout_vertical (container))
+ else
{
- if (gtk_widget_get_direction (GTK_WIDGET (container)) == GTK_TEXT_DIR_RTL)
- {
- next_row_fallback = next_row_leftmost;
- }
- else
- {
- next_row_fallback = next_row_rightmost;
- }
+ next_row_fallback = next_row_rightmost;
}
/* Down selects the next icon in the same column.
@@ -4073,32 +2895,15 @@ keyboard_down (NautilusCanvasContainer *container,
nautilus_canvas_container_is_layout_rtl (container) ?
rightmost_in_top_row : leftmost_in_top_row,
same_column_below_highest,
- fallback,
+ NULL,
next_row_fallback,
- closest_in_90_degrees);
-}
-
-static void
-keyboard_up (NautilusCanvasContainer *container,
- GdkEventKey *event)
-{
- IsBetterCanvasFunction fallback;
-
- fallback = NULL;
- if (container->details->auto_layout &&
- nautilus_canvas_container_is_layout_vertical (container) &&
- !is_rectangle_selection_event (event))
- {
- if (gtk_widget_get_direction (GTK_WIDGET (container)) == GTK_TEXT_DIR_RTL)
- {
- fallback = next_column_bottommost;
- }
- else
- {
- fallback = previous_column_lowest;
- }
- }
+ closest_in_90_degrees);
+}
+static void
+keyboard_up (NautilusCanvasContainer *container,
+ GdkEventKey *event)
+{
/* Up selects the next icon in the same column.
* Control-Up sets the keyboard focus to the next icon in the same column.
*/
@@ -4109,7 +2914,7 @@ keyboard_up (NautilusCanvasContainer *container,
nautilus_canvas_container_is_layout_rtl (container) ?
rightmost_in_top_row : leftmost_in_top_row,
same_column_above_lowest,
- fallback,
+ NULL,
NULL,
closest_in_90_degrees);
}
@@ -4190,12 +2995,6 @@ destroy (GtkWidget *object)
container->details->idle_id = 0;
}
- if (container->details->stretch_idle_id != 0)
- {
- g_source_remove (container->details->stretch_idle_id);
- container->details->stretch_idle_id = 0;
- }
-
if (container->details->align_idle_id != 0)
{
g_source_remove (container->details->align_idle_id);
@@ -4227,9 +3026,6 @@ finalize (GObject *object)
g_signal_handlers_disconnect_by_func (nautilus_icon_view_preferences,
text_ellipsis_limit_changed_container_callback,
object);
- g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
- text_ellipsis_limit_changed_container_callback,
- object);
g_hash_table_destroy (details->icon_set);
details->icon_set = NULL;
@@ -4457,13 +3253,7 @@ style_updated (GtkWidget *widget)
container = NAUTILUS_CANVAS_CONTAINER (widget);
- /* Don't chain up to parent, if this is a desktop container,
- * because that resets the background of the window.
- */
- if (!nautilus_canvas_container_get_is_desktop (container))
- {
- GTK_WIDGET_CLASS (nautilus_canvas_container_parent_class)->style_updated (widget);
- }
+ GTK_WIDGET_CLASS (nautilus_canvas_container_parent_class)->style_updated (widget);
if (gtk_widget_get_realized (widget))
{
@@ -4702,274 +3492,11 @@ clear_drag_state (NautilusCanvasContainer *container)
}
static gboolean
-start_stretching (NautilusCanvasContainer *container,
- GdkEvent *event)
-{
- NautilusCanvasContainerDetails *details;
- NautilusCanvasIcon *icon;
- GtkWidget *toplevel;
- GdkDisplay *display;
- GtkCornerType corner;
- GdkCursor *cursor;
-
- details = container->details;
- icon = details->stretch_icon;
- display = gtk_widget_get_display (GTK_WIDGET (container));
-
- /* Check if we hit the stretch handles. */
- if (!nautilus_canvas_item_hit_test_stretch_handles (icon->item,
- details->drag_x, details->drag_y,
- &corner))
- {
- return FALSE;
- }
-
- switch (corner)
- {
- case GTK_CORNER_TOP_LEFT:
- {
- cursor = gdk_cursor_new_for_display (display, GDK_TOP_LEFT_CORNER);
- }
- break;
-
- case GTK_CORNER_BOTTOM_LEFT:
- {
- cursor = gdk_cursor_new_for_display (display, GDK_BOTTOM_LEFT_CORNER);
- }
- break;
-
- case GTK_CORNER_TOP_RIGHT:
- {
- cursor = gdk_cursor_new_for_display (display, GDK_TOP_RIGHT_CORNER);
- }
- break;
-
- case GTK_CORNER_BOTTOM_RIGHT:
- {
- cursor = gdk_cursor_new_for_display (display, GDK_BOTTOM_RIGHT_CORNER);
- }
- break;
-
- default:
- {
- cursor = NULL;
- }
- break;
- }
- /* Set up the dragging. */
- details->drag_state = DRAG_STATE_STRETCH;
- eel_canvas_w2c (EEL_CANVAS (container),
- details->drag_x,
- details->drag_y,
- &details->stretch_start.pointer_x,
- &details->stretch_start.pointer_y);
- eel_canvas_w2c (EEL_CANVAS (container),
- icon->x, icon->y,
- &details->stretch_start.icon_x,
- &details->stretch_start.icon_y);
- icon_get_size (container, icon,
- &details->stretch_start.icon_size);
-
- eel_canvas_item_grab (EEL_CANVAS_ITEM (icon->item),
- (GDK_POINTER_MOTION_MASK
- | GDK_BUTTON_RELEASE_MASK),
- cursor,
- event);
- if (cursor)
- {
- g_object_unref (cursor);
- }
-
- /* Ensure the window itself is focused.. */
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (container));
- if (toplevel != NULL && gtk_widget_get_realized (toplevel))
- {
- gdk_window_focus (gtk_widget_get_window (toplevel), GDK_CURRENT_TIME);
- }
-
- return TRUE;
-}
-
-static gboolean
-update_stretch_at_idle (NautilusCanvasContainer *container)
-{
- NautilusCanvasContainerDetails *details;
- NautilusCanvasIcon *icon;
- double world_x, world_y;
- StretchState stretch_state;
-
- details = container->details;
- icon = details->stretch_icon;
-
- if (icon == NULL)
- {
- container->details->stretch_idle_id = 0;
- return FALSE;
- }
-
- eel_canvas_w2c (EEL_CANVAS (container),
- details->world_x, details->world_y,
- &stretch_state.pointer_x, &stretch_state.pointer_y);
-
- compute_stretch (&details->stretch_start,
- &stretch_state);
-
- eel_canvas_c2w (EEL_CANVAS (container),
- stretch_state.icon_x, stretch_state.icon_y,
- &world_x, &world_y);
-
- icon_set_position (icon, world_x, world_y);
- icon_set_size (container, icon, stretch_state.icon_size, FALSE, FALSE);
-
- container->details->stretch_idle_id = 0;
-
- return FALSE;
-}
-
-static void
-continue_stretching (NautilusCanvasContainer *container,
- double world_x,
- double world_y)
-{
- g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container));
-
- container->details->world_x = world_x;
- container->details->world_y = world_y;
-
- if (container->details->stretch_idle_id == 0)
- {
- container->details->stretch_idle_id = g_idle_add ((GSourceFunc) update_stretch_at_idle, container);
- }
-}
-
-static gboolean
-keyboard_stretching (NautilusCanvasContainer *container,
- GdkEventKey *event)
-{
- NautilusCanvasIcon *icon;
- guint size;
-
- icon = container->details->stretch_icon;
-
- if (icon == NULL || !icon->is_selected)
- {
- return FALSE;
- }
-
- icon_get_size (container, icon, &size);
-
- switch (event->keyval)
- {
- case GDK_KEY_equal:
- case GDK_KEY_plus:
- case GDK_KEY_KP_Add:
- {
- icon_set_size (container, icon, size + 5, FALSE, FALSE);
- }
- break;
-
- case GDK_KEY_minus:
- case GDK_KEY_KP_Subtract:
- {
- icon_set_size (container, icon, size - 5, FALSE, FALSE);
- }
- break;
-
- case GDK_KEY_0:
- case GDK_KEY_KP_0:
- {
- nautilus_canvas_container_move_icon (container, icon,
- icon->x, icon->y,
- 1.0,
- FALSE, TRUE, TRUE);
- }
- break;
- }
-
- return TRUE;
-}
-
-static void
-ungrab_stretch_icon (NautilusCanvasContainer *container)
-{
- eel_canvas_item_ungrab (EEL_CANVAS_ITEM (container->details->stretch_icon->item));
-}
-
-static void
-end_stretching (NautilusCanvasContainer *container,
- double world_x,
- double world_y)
-{
- NautilusCanvasPosition position;
- NautilusCanvasIcon *icon;
-
- continue_stretching (container, world_x, world_y);
- ungrab_stretch_icon (container);
-
- /* now that we're done stretching, update the icon's position */
-
- icon = container->details->drag_icon;
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- position.x = icon->saved_ltr_x = get_mirror_x_position (container, icon, icon->x);
- }
- else
- {
- position.x = icon->x;
- }
- position.y = icon->y;
- position.scale = icon->scale;
- g_signal_emit (container,
- signals[ICON_POSITION_CHANGED], 0,
- icon->data, &position);
-
- clear_drag_state (container);
- redo_layout (container);
-}
-
-static gboolean
-undo_stretching (NautilusCanvasContainer *container)
-{
- NautilusCanvasIcon *stretched_icon;
-
- stretched_icon = container->details->stretch_icon;
-
- if (stretched_icon == NULL)
- {
- return FALSE;
- }
-
- if (container->details->drag_state == DRAG_STATE_STRETCH)
- {
- ungrab_stretch_icon (container);
- clear_drag_state (container);
- }
- nautilus_canvas_item_set_show_stretch_handles
- (stretched_icon->item, FALSE);
-
- icon_set_position (stretched_icon,
- container->details->stretch_initial_x,
- container->details->stretch_initial_y);
- icon_set_size (container,
- stretched_icon,
- container->details->stretch_initial_size,
- TRUE,
- TRUE);
-
- container->details->stretch_icon = NULL;
- emit_stretch_ended (container, stretched_icon);
- redo_layout (container);
-
- return TRUE;
-}
-
-static gboolean
button_release_event (GtkWidget *widget,
GdkEventButton *event)
{
NautilusCanvasContainer *container;
NautilusCanvasContainerDetails *details;
- double world_x, world_y;
container = NAUTILUS_CANVAS_CONTAINER (widget);
details = container->details;
@@ -5000,14 +3527,6 @@ button_release_event (GtkWidget *widget,
}
break;
- case DRAG_STATE_STRETCH:
- {
- eel_canvas_window_to_world
- (EEL_CANVAS (container), event->x, event->y, &world_x, &world_y);
- end_stretching (container, world_x, world_y);
- }
- break;
-
default:
{
}
@@ -5079,14 +3598,6 @@ motion_notify_event (GtkWidget *widget,
}
break;
- case DRAG_STATE_STRETCH:
- {
- eel_canvas_window_to_world
- (EEL_CANVAS (container), event->x, event->y, &world_x, &world_y);
- continue_stretching (container, world_x, world_y);
- }
- break;
-
default:
{
}
@@ -5208,27 +3719,6 @@ key_press_event (GtkWidget *widget,
}
break;
- case GDK_KEY_Escape:
- {
- handled = undo_stretching (container);
- }
- break;
-
- case GDK_KEY_plus:
- case GDK_KEY_minus:
- case GDK_KEY_equal:
- case GDK_KEY_KP_Add:
- case GDK_KEY_KP_Subtract:
- case GDK_KEY_0:
- case GDK_KEY_KP_0:
- {
- if (event->state & GDK_CONTROL_MASK)
- {
- handled = keyboard_stretching (container, event);
- }
- }
- break;
-
case GDK_KEY_F10:
{
/* handle Ctrl+F10 because we want to display the
@@ -5332,20 +3822,10 @@ nautilus_canvas_container_constructor (GType type,
construct_params);
container = NAUTILUS_CANVAS_CONTAINER (object);
- if (nautilus_canvas_container_get_is_desktop (container))
- {
- g_signal_connect_swapped (nautilus_desktop_preferences,
- "changed::" NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
- G_CALLBACK (text_ellipsis_limit_changed_container_callback),
- container);
- }
- else
- {
- g_signal_connect_swapped (nautilus_icon_view_preferences,
- "changed::" NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT,
- G_CALLBACK (text_ellipsis_limit_changed_container_callback),
- container);
- }
+ g_signal_connect_swapped (nautilus_icon_view_preferences,
+ "changed::" NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT,
+ G_CALLBACK (text_ellipsis_limit_changed_container_callback),
+ container);
return object;
}
@@ -5441,37 +3921,6 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class)
g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE, 1,
G_TYPE_POINTER);
- signals[ICON_POSITION_CHANGED]
- = g_signal_new ("icon-position-changed",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- icon_position_changed),
- NULL, NULL,
- g_cclosure_marshal_generic,
- G_TYPE_NONE, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- signals[ICON_STRETCH_STARTED]
- = g_signal_new ("icon-stretch-started",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- icon_stretch_started),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
- signals[ICON_STRETCH_ENDED]
- = g_signal_new ("icon-stretch-ended",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- icon_stretch_ended),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
signals[GET_ICON_URI]
= g_signal_new ("get-icon-uri",
G_TYPE_FROM_CLASS (class),
@@ -5510,13 +3959,10 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class)
move_copy_items),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 6,
- G_TYPE_POINTER,
+ G_TYPE_NONE, 3,
G_TYPE_POINTER,
G_TYPE_POINTER,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_NETSCAPE_URL]
= g_signal_new ("handle-netscape-url",
G_TYPE_FROM_CLASS (class),
@@ -5525,12 +3971,10 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class)
handle_netscape_url),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_URI_LIST]
= g_signal_new ("handle-uri-list",
G_TYPE_FROM_CLASS (class),
@@ -5539,12 +3983,10 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class)
handle_uri_list),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_TEXT]
= g_signal_new ("handle-text",
G_TYPE_FROM_CLASS (class),
@@ -5553,12 +3995,10 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class)
handle_text),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_RAW]
= g_signal_new ("handle-raw",
G_TYPE_FROM_CLASS (class),
@@ -5567,86 +4007,42 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class)
handle_raw),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 7,
+ G_TYPE_NONE, 5,
G_TYPE_POINTER,
G_TYPE_INT,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_HOVER] =
g_signal_new ("handle-hover",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- handle_hover),
- NULL, NULL,
- g_cclosure_marshal_generic,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
- signals[GET_CONTAINER_URI]
- = g_signal_new ("get-container-uri",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- get_container_uri),
- NULL, NULL,
- g_cclosure_marshal_generic,
- G_TYPE_STRING, 0);
- signals[CAN_ACCEPT_ITEM]
- = g_signal_new ("can-accept-item",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- can_accept_item),
- NULL, NULL,
- g_cclosure_marshal_generic,
- G_TYPE_INT, 2,
- G_TYPE_POINTER,
- G_TYPE_STRING);
- signals[GET_STORED_ICON_POSITION]
- = g_signal_new ("get-stored-icon-position",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- get_stored_icon_position),
- NULL, NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- signals[GET_STORED_LAYOUT_TIMESTAMP]
- = g_signal_new ("get-stored-layout-timestamp",
+ G_STRUCT_OFFSET (NautilusCanvasContainerClass,
+ handle_hover),
+ NULL, NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE, 1,
+ G_TYPE_STRING);
+ signals[GET_CONTAINER_URI]
+ = g_signal_new ("get-container-uri",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- get_stored_layout_timestamp),
+ get_container_uri),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- signals[STORE_LAYOUT_TIMESTAMP]
- = g_signal_new ("store-layout-timestamp",
+ G_TYPE_STRING, 0);
+ signals[CAN_ACCEPT_ITEM]
+ = g_signal_new ("can-accept-item",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- store_layout_timestamp),
+ can_accept_item),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN, 2,
+ G_TYPE_INT, 2,
G_TYPE_POINTER,
- G_TYPE_POINTER);
- signals[LAYOUT_CHANGED]
- = g_signal_new ("layout-changed",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusCanvasContainerClass,
- layout_changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ G_TYPE_STRING);
signals[BAND_SELECT_STARTED]
= g_signal_new ("band-select-started",
G_TYPE_FROM_CLASS (class),
@@ -5770,7 +4166,6 @@ handle_scale_factor_changed (GObject *object,
static int text_ellipsis_limits[NAUTILUS_CANVAS_ZOOM_LEVEL_N_ENTRIES];
-static int desktop_text_ellipsis_limit;
static gboolean
get_text_ellipsis_limit_for_zoom (char **strs,
@@ -5853,15 +4248,6 @@ text_ellipsis_limit_changed_callback (gpointer callback_data)
}
static void
-desktop_text_ellipsis_limit_changed_callback (gpointer callback_data)
-{
- int pref;
-
- pref = g_settings_get_int (nautilus_desktop_preferences,
NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT);
- desktop_text_ellipsis_limit = pref;
-}
-
-static void
nautilus_canvas_container_init (NautilusCanvasContainer *container)
{
NautilusCanvasContainerDetails *details;
@@ -5870,7 +4256,6 @@ nautilus_canvas_container_init (NautilusCanvasContainer *container)
details = g_new0 (NautilusCanvasContainerDetails, 1);
details->icon_set = g_hash_table_new (g_direct_hash, g_direct_equal);
- details->layout_timestamp = UNDEFINED_TIME;
details->zoom_level = NAUTILUS_CANVAS_ZOOM_LEVEL_STANDARD;
container->details = details;
@@ -5891,12 +4276,6 @@ nautilus_canvas_container_init (NautilusCanvasContainer *container)
NULL);
text_ellipsis_limit_changed_callback (NULL);
- g_signal_connect_swapped (nautilus_icon_view_preferences,
- "changed::" NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
- G_CALLBACK (desktop_text_ellipsis_limit_changed_callback),
- NULL);
- desktop_text_ellipsis_limit_changed_callback (NULL);
-
setup_prefs = TRUE;
}
}
@@ -5993,17 +4372,6 @@ handle_canvas_button_press (NautilusCanvasContainer *container,
details->drag_y = event->y;
details->drag_state = DRAG_STATE_MOVE_OR_COPY;
details->drag_started = FALSE;
-
- /* Check to see if this is a click on the stretch handles.
- * If so, it won't modify the selection.
- */
- if (icon == container->details->stretch_icon)
- {
- if (start_stretching (container, (GdkEvent *) event))
- {
- return TRUE;
- }
- }
}
/* Modify the selection as appropriate. Selection is modified
@@ -6142,8 +4510,6 @@ nautilus_canvas_container_clear (NautilusCanvasContainer *container)
g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container));
details = container->details;
- details->layout_timestamp = UNDEFINED_TIME;
- details->store_layout_timestamps_when_finishing_new_icons = FALSE;
if (details->icons == NULL)
{
@@ -6154,7 +4520,6 @@ nautilus_canvas_container_clear (NautilusCanvasContainer *container)
clear_keyboard_rubberband_start (container);
unschedule_keyboard_icon_reveal (container);
set_pending_icon_to_reveal (container, NULL);
- details->stretch_icon = NULL;
details->drop_target = NULL;
for (p = details->icons; p != NULL; p = p->next)
@@ -6224,24 +4589,8 @@ nautilus_canvas_container_get_first_visible_icon (NautilusCanvasContainer *conta
&x1, &y1, &x2, &y2);
compare_lt = FALSE;
- if (nautilus_canvas_container_is_layout_vertical (container))
- {
- pos = &x1;
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- compare_lt = TRUE;
- better_icon = x1 < x + ICON_PAD_LEFT;
- }
- else
- {
- better_icon = x2 > x + ICON_PAD_LEFT;
- }
- }
- else
- {
- pos = &y1;
- better_icon = y2 > y + ICON_PAD_TOP;
- }
+ pos = &y1;
+ better_icon = y2 > y + ICON_PAD_TOP;
if (better_icon)
{
if (best_icon == NULL)
@@ -6278,11 +4627,10 @@ nautilus_canvas_container_scroll_to_canvas (NautilusCanvasContainer *container,
{
GList *l;
NautilusCanvasIcon *icon;
- GtkAdjustment *hadj, *vadj;
+ GtkAdjustment *vadj;
EelIRect bounds;
GtkAllocation allocation;
- hadj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (container));
vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (container));
gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
@@ -6298,31 +4646,10 @@ nautilus_canvas_container_scroll_to_canvas (NautilusCanvasContainer *container,
if (icon->data == data &&
icon_is_positioned (icon))
{
- if (nautilus_canvas_container_is_auto_layout (container))
- {
- /* ensure that we reveal the entire row/column */
- icon_get_row_and_column_bounds (container, icon, &bounds);
- }
- else
- {
- item_get_canvas_bounds (EEL_CANVAS_ITEM (icon->item), &bounds);
- }
+ /* ensure that we reveal the entire row/column */
+ icon_get_row_and_column_bounds (container, icon, &bounds);
- if (nautilus_canvas_container_is_layout_vertical (container))
- {
- if (nautilus_canvas_container_is_layout_rtl (container))
- {
- gtk_adjustment_set_value (hadj, bounds.x1 - allocation.width);
- }
- else
- {
- gtk_adjustment_set_value (hadj, bounds.x0);
- }
- }
- else
- {
- gtk_adjustment_set_value (vadj, bounds.y0);
- }
+ gtk_adjustment_set_value (vadj, bounds.y0);
}
l = l->next;
@@ -6440,10 +4767,6 @@ icon_destroy (NautilusCanvasContainer *container,
{
set_pending_icon_to_reveal (container, NULL);
}
- if (details->stretch_icon == icon)
- {
- details->stretch_icon = NULL;
- }
icon_free (icon);
@@ -6605,14 +4928,7 @@ nautilus_canvas_container_update_visible_icons (NautilusCanvasContainer *contain
&x1,
&y1);
- if (nautilus_canvas_container_is_layout_vertical (container))
- {
- visible = x1 >= min_x && x0 <= max_x;
- }
- else
- {
- visible = y1 >= min_y && y0 <= max_y;
- }
+ visible = y1 >= min_y && y0 <= max_y;
if (visible)
{
@@ -6632,20 +4948,14 @@ static void
handle_vadjustment_changed (GtkAdjustment *adjustment,
NautilusCanvasContainer *container)
{
- if (!nautilus_canvas_container_is_layout_vertical (container))
- {
- nautilus_canvas_container_update_visible_icons (container);
- }
+ nautilus_canvas_container_update_visible_icons (container);
}
static void
handle_hadjustment_changed (GtkAdjustment *adjustment,
NautilusCanvasContainer *container)
{
- if (nautilus_canvas_container_is_layout_vertical (container))
- {
- nautilus_canvas_container_update_visible_icons (container);
- }
+ nautilus_canvas_container_update_visible_icons (container);
}
@@ -6707,37 +5017,6 @@ nautilus_canvas_container_update_icon (NautilusCanvasContainer *container,
g_free (additional_text);
}
-static gboolean
-assign_icon_position (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon)
-{
- gboolean have_stored_position;
- NautilusCanvasPosition position;
-
- /* Get the stored position. */
- have_stored_position = FALSE;
- position.scale = 1.0;
- g_signal_emit (container,
- signals[GET_STORED_ICON_POSITION], 0,
- icon->data,
- &position,
- &have_stored_position);
- icon->scale = position.scale;
- if (!container->details->auto_layout)
- {
- if (have_stored_position)
- {
- icon_set_position (icon, position.x, position.y);
- icon->saved_ltr_x = icon->x;
- }
- else
- {
- return FALSE;
- }
- }
- return TRUE;
-}
-
static void
finish_adding_icon (NautilusCanvasContainer *container,
NautilusCanvasIcon *icon)
@@ -6754,147 +5033,22 @@ finish_adding_icon (NautilusCanvasContainer *container,
static gboolean
finish_adding_new_icons (NautilusCanvasContainer *container)
{
- GList *p, *new_icons, *no_position_icons, *semi_position_icons;
- NautilusCanvasIcon *icon;
- double bottom;
+ GList *p, *new_icons;
new_icons = container->details->new_icons;
container->details->new_icons = NULL;
/* Position most icons (not unpositioned manual-layout icons). */
new_icons = g_list_reverse (new_icons);
- no_position_icons = semi_position_icons = NULL;
for (p = new_icons; p != NULL; p = p->next)
{
- icon = p->data;
- if (icon->has_lazy_position)
- {
- if (!assign_icon_position (container, icon))
- {
- semi_position_icons = g_list_prepend (semi_position_icons, icon);
- }
- }
- else if (!assign_icon_position (container, icon))
- {
- no_position_icons = g_list_prepend (no_position_icons, icon);
- }
-
- finish_adding_icon (container, icon);
+ finish_adding_icon (container, p->data);
}
g_list_free (new_icons);
- if (semi_position_icons != NULL)
- {
- PlacementGrid *grid;
- time_t now;
- gboolean dummy;
-
- g_assert (!container->details->auto_layout);
-
- semi_position_icons = g_list_reverse (semi_position_icons);
-
- /* This is currently only used on the desktop.
- * Thus, we pass FALSE for tight, like lay_down_icons_tblr */
- grid = placement_grid_new (container, FALSE);
-
- /* we can do nothing, just return */
- if (grid == NULL)
- {
- return FALSE;
- }
-
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- if (icon_is_positioned (icon) && !icon->has_lazy_position)
- {
- placement_grid_mark_icon (grid, icon);
- }
- }
-
- now = time (NULL);
-
- for (p = semi_position_icons; p != NULL; p = p->next)
- {
- NautilusCanvasIcon *icon;
- NautilusCanvasPosition position;
- int x, y;
-
- icon = p->data;
- x = icon->x;
- y = icon->y;
-
- find_empty_location (container, grid,
- icon, x, y, &x, &y);
-
- icon_set_position (icon, x, y);
-
- position.x = icon->x;
- position.y = icon->y;
- position.scale = icon->scale;
- placement_grid_mark_icon (grid, icon);
- g_signal_emit (container, signals[ICON_POSITION_CHANGED], 0,
- icon->data, &position);
- g_signal_emit (container, signals[STORE_LAYOUT_TIMESTAMP], 0,
- icon->data, &now, &dummy);
-
- /* ensure that next time we run this code, the formerly semi-positioned
- * icons are treated as being positioned. */
- icon->has_lazy_position = FALSE;
- }
-
- placement_grid_free (grid);
-
- g_list_free (semi_position_icons);
- }
-
- /* Position the unpositioned manual layout icons. */
- if (no_position_icons != NULL)
- {
- g_assert (!container->details->auto_layout);
-
- sort_icons (container, &no_position_icons);
- if (nautilus_canvas_container_get_is_desktop (container))
- {
- lay_down_icons (container, no_position_icons, CONTAINER_PAD_TOP);
- }
- else
- {
- get_all_icon_bounds (container, NULL, NULL, NULL, &bottom, BOUNDS_USAGE_FOR_LAYOUT);
- lay_down_icons (container, no_position_icons, bottom + ICON_PAD_BOTTOM);
- }
- g_list_free (no_position_icons);
- }
-
- if (container->details->store_layout_timestamps_when_finishing_new_icons)
- {
- store_layout_timestamps_now (container);
- container->details->store_layout_timestamps_when_finishing_new_icons = FALSE;
- }
-
return TRUE;
}
-static gboolean
-is_old_or_unknown_icon_data (NautilusCanvasContainer *container,
- NautilusCanvasIconData *data)
-{
- time_t timestamp;
- gboolean success;
-
- if (container->details->layout_timestamp == UNDEFINED_TIME)
- {
- /* don't know */
- return FALSE;
- }
-
- g_signal_emit (container,
- signals[GET_STORED_LAYOUT_TIMESTAMP], 0,
- data, ×tamp, &success);
- return (!success || timestamp < container->details->layout_timestamp);
-}
-
/**
* nautilus_canvas_container_add:
* @container: A NautilusCanvasContainer
@@ -6931,8 +5085,6 @@ nautilus_canvas_container_add (NautilusCanvasContainer *container,
* if the previous icon position is free. If the position
* is occupied, another position near the last one will
*/
- icon->has_lazy_position = is_old_or_unknown_icon_data (container, data);
- icon->scale = 1.0;
icon->item = NAUTILUS_CANVAS_ITEM
(eel_canvas_item_new (EEL_CANVAS_GROUP (EEL_CANVAS (container)->root),
nautilus_canvas_item_get_type (),
@@ -7223,11 +5375,9 @@ nautilus_canvas_container_get_icons_bounding_box (NautilusCanvasContainer *conta
icon_get_bounding_box ((NautilusCanvasIcon *) node->data,
&x1, &y1, &x2, &y2,
BOUNDS_USAGE_FOR_DISPLAY);
- g_array_index (result, GdkRectangle, index).x = x1 * EEL_CANVAS (container)->pixels_per_unit +
- container->details->left_margin;
+ g_array_index (result, GdkRectangle, index).x = x1 * EEL_CANVAS (container)->pixels_per_unit;
g_array_index (result, GdkRectangle, index).width = (x2 - x1) * EEL_CANVAS
(container)->pixels_per_unit;
- g_array_index (result, GdkRectangle, index).y = y1 * EEL_CANVAS (container)->pixels_per_unit +
- container->details->top_margin;
+ g_array_index (result, GdkRectangle, index).y = y1 * EEL_CANVAS (container)->pixels_per_unit;
g_array_index (result, GdkRectangle, index).height = (y2 - y1) * EEL_CANVAS
(container)->pixels_per_unit;
}
@@ -7498,164 +5648,45 @@ nautilus_canvas_container_get_icon_by_uri (NautilusCanvasContainer *container,
}
static NautilusCanvasIcon *
-get_nth_selected_icon (NautilusCanvasContainer *container,
- int index)
-{
- GList *p;
- NautilusCanvasIcon *icon;
- int selection_count;
-
- g_assert (index > 0);
-
- /* Find the nth selected icon. */
- selection_count = 0;
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
- if (icon->is_selected)
- {
- if (++selection_count == index)
- {
- return icon;
- }
- }
- }
- return NULL;
-}
-
-static NautilusCanvasIcon *
-get_first_selected_icon (NautilusCanvasContainer *container)
-{
- return get_nth_selected_icon (container, 1);
-}
-
-static gboolean
-has_multiple_selection (NautilusCanvasContainer *container)
-{
- return get_nth_selected_icon (container, 2) != NULL;
-}
-
-static gboolean
-all_selected (NautilusCanvasContainer *container)
-{
- GList *p;
- NautilusCanvasIcon *icon;
-
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
- if (!icon->is_selected)
- {
- return FALSE;
- }
- }
- return TRUE;
-}
-
-static gboolean
-has_selection (NautilusCanvasContainer *container)
-{
- return get_nth_selected_icon (container, 1) != NULL;
-}
-
-/**
- * nautilus_canvas_container_show_stretch_handles:
- * @container: An canvas container widget.
- *
- * Makes stretch handles visible on the first selected icon.
- **/
-void
-nautilus_canvas_container_show_stretch_handles (NautilusCanvasContainer *container)
-{
- NautilusCanvasContainerDetails *details;
- NautilusCanvasIcon *icon;
- guint initial_size;
-
- icon = get_first_selected_icon (container);
- if (icon == NULL)
- {
- return;
- }
-
- /* Check if it already has stretch handles. */
- details = container->details;
- if (details->stretch_icon == icon)
- {
- return;
- }
-
- /* Get rid of the existing stretch handles and put them on the new canvas. */
- if (details->stretch_icon != NULL)
- {
- nautilus_canvas_item_set_show_stretch_handles
- (details->stretch_icon->item, FALSE);
- ungrab_stretch_icon (container);
- emit_stretch_ended (container, details->stretch_icon);
- }
- nautilus_canvas_item_set_show_stretch_handles (icon->item, TRUE);
- details->stretch_icon = icon;
-
- icon_get_size (container, icon, &initial_size);
-
- /* only need to keep size in one dimension, since they are constrained to be the same */
- container->details->stretch_initial_x = icon->x;
- container->details->stretch_initial_y = icon->y;
- container->details->stretch_initial_size = initial_size;
-
- emit_stretch_started (container, icon);
-}
-
-/**
- * nautilus_canvas_container_has_stretch_handles
- * @container: An canvas container widget.
- *
- * Returns true if the first selected item has stretch handles.
- **/
-gboolean
-nautilus_canvas_container_has_stretch_handles (NautilusCanvasContainer *container)
-{
- NautilusCanvasIcon *icon;
-
- icon = get_first_selected_icon (container);
- if (icon == NULL)
- {
- return FALSE;
- }
-
- return icon == container->details->stretch_icon;
-}
-
-/**
- * nautilus_canvas_container_is_stretched
- * @container: An canvas container widget.
- *
- * Returns true if the any selected item is stretched to a size other than 1.0.
- **/
-gboolean
-nautilus_canvas_container_is_stretched (NautilusCanvasContainer *container)
+get_nth_selected_icon (NautilusCanvasContainer *container,
+ int index)
{
GList *p;
NautilusCanvasIcon *icon;
+ int selection_count;
+
+ g_assert (index > 0);
+ /* Find the nth selected icon. */
+ selection_count = 0;
for (p = container->details->icons; p != NULL; p = p->next)
{
icon = p->data;
- if (icon->is_selected && icon->scale != 1.0)
+ if (icon->is_selected)
{
- return TRUE;
+ if (++selection_count == index)
+ {
+ return icon;
+ }
}
}
- return FALSE;
+ return NULL;
}
-/**
- * nautilus_canvas_container_unstretch
- * @container: An canvas container widget.
- *
- * Gets rid of any canvas stretching.
- **/
-void
-nautilus_canvas_container_unstretch (NautilusCanvasContainer *container)
+static NautilusCanvasIcon *
+get_first_selected_icon (NautilusCanvasContainer *container)
+{
+ return get_nth_selected_icon (container, 1);
+}
+
+static gboolean
+has_multiple_selection (NautilusCanvasContainer *container)
+{
+ return get_nth_selected_icon (container, 2) != NULL;
+}
+
+static gboolean
+all_selected (NautilusCanvasContainer *container)
{
GList *p;
NautilusCanvasIcon *icon;
@@ -7663,55 +5694,18 @@ nautilus_canvas_container_unstretch (NautilusCanvasContainer *container)
for (p = container->details->icons; p != NULL; p = p->next)
{
icon = p->data;
- if (icon->is_selected)
+ if (!icon->is_selected)
{
- nautilus_canvas_container_move_icon (container, icon,
- icon->x, icon->y,
- 1.0,
- FALSE, TRUE, TRUE);
+ return FALSE;
}
}
+ return TRUE;
}
-static void
-compute_stretch (StretchState *start,
- StretchState *current)
+static gboolean
+has_selection (NautilusCanvasContainer *container)
{
- gboolean right, bottom;
- int x_stretch, y_stretch;
-
- /* FIXME bugzilla.gnome.org 45390: This doesn't correspond to
- * the way the handles are drawn.
- */
- /* Figure out which handle we are dragging. */
- right = start->pointer_x > start->icon_x + (int) start->icon_size / 2;
- bottom = start->pointer_y > start->icon_y + (int) start->icon_size / 2;
-
- /* Figure out how big we should stretch. */
- x_stretch = start->pointer_x - current->pointer_x;
- y_stretch = start->pointer_y - current->pointer_y;
- if (right)
- {
- x_stretch = -x_stretch;
- }
- if (bottom)
- {
- y_stretch = -y_stretch;
- }
- current->icon_size = MAX ((int) start->icon_size + MIN (x_stretch, y_stretch),
- (int) NAUTILUS_CANVAS_ICON_SIZE_SMALL);
-
- /* Figure out where the corner of the icon should be. */
- current->icon_x = start->icon_x;
- if (!right)
- {
- current->icon_x += start->icon_size - current->icon_size;
- }
- current->icon_y = start->icon_y;
- if (!bottom)
- {
- current->icon_y += start->icon_size - current->icon_size;
- }
+ return get_nth_selected_icon (container, 1) != NULL;
}
char *
@@ -7768,164 +5762,13 @@ reset_scroll_region_if_not_empty (NautilusCanvasContainer *container)
}
}
-/* Switch from automatic layout to manual or vice versa.
- * If we switch to manual layout, we restore the icon positions from the
- * last manual layout.
- */
-void
-nautilus_canvas_container_set_auto_layout (NautilusCanvasContainer *container,
- gboolean auto_layout)
-{
- g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container));
- g_return_if_fail (auto_layout == FALSE || auto_layout == TRUE);
-
- if (container->details->auto_layout == auto_layout)
- {
- return;
- }
-
- reset_scroll_region_if_not_empty (container);
- container->details->auto_layout = auto_layout;
-
- if (!auto_layout)
- {
- reload_icon_positions (container);
- nautilus_canvas_container_freeze_icon_positions (container);
- }
-
- container->details->needs_resort = TRUE;
- redo_layout (container);
-
- g_signal_emit (container, signals[LAYOUT_CHANGED], 0);
-}
-
-gboolean
-nautilus_canvas_container_is_keep_aligned (NautilusCanvasContainer *container)
-{
- return container->details->keep_aligned;
-}
-
-static gboolean
-align_icons_callback (gpointer callback_data)
-{
- NautilusCanvasContainer *container;
-
- container = NAUTILUS_CANVAS_CONTAINER (callback_data);
- align_icons (container);
- container->details->align_idle_id = 0;
-
- return FALSE;
-}
-
-static void
-unschedule_align_icons (NautilusCanvasContainer *container)
-{
- if (container->details->align_idle_id != 0)
- {
- g_source_remove (container->details->align_idle_id);
- container->details->align_idle_id = 0;
- }
-}
-
-static void
-schedule_align_icons (NautilusCanvasContainer *container)
-{
- if (container->details->align_idle_id == 0
- && container->details->has_been_allocated)
- {
- container->details->align_idle_id = g_idle_add
- (align_icons_callback, container);
- }
-}
-
-void
-nautilus_canvas_container_set_keep_aligned (NautilusCanvasContainer *container,
- gboolean keep_aligned)
-{
- if (container->details->keep_aligned != keep_aligned)
- {
- container->details->keep_aligned = keep_aligned;
-
- if (keep_aligned && !container->details->auto_layout)
- {
- schedule_align_icons (container);
- }
- else
- {
- unschedule_align_icons (container);
- }
- }
-}
-
-/* Switch from automatic to manual layout, freezing all the icons in their
- * current positions instead of restoring canvas positions from the last manual
- * layout as set_auto_layout does.
- */
-void
-nautilus_canvas_container_freeze_icon_positions (NautilusCanvasContainer *container)
-{
- gboolean changed;
- GList *p;
- NautilusCanvasIcon *icon;
- NautilusCanvasPosition position;
-
- /* This early-exit avoids freezing the icons before they have been properly
- * positioned, since we won't re-layout if auto_layout is FALSE.
- *
- * The container will freeze the icons after it lays them out once we've
- * been allocated (e.g. in lay_out_icons_vertical_desktop).
- */
- if (!container->details->has_been_allocated)
- {
- g_debug ("Not freezing icon positions yet; we haven't been allocated");
- return;
- }
-
- changed = container->details->auto_layout;
- container->details->auto_layout = FALSE;
-
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- position.x = icon->saved_ltr_x;
- position.y = icon->y;
- position.scale = icon->scale;
- g_signal_emit (container, signals[ICON_POSITION_CHANGED], 0,
- icon->data, &position);
- }
-
- if (changed)
- {
- g_signal_emit (container, signals[LAYOUT_CHANGED], 0);
- }
-}
-
/* Re-sort, switching to automatic layout if it was in manual layout. */
void
nautilus_canvas_container_sort (NautilusCanvasContainer *container)
{
- gboolean changed;
-
- changed = !container->details->auto_layout;
- container->details->auto_layout = TRUE;
-
reset_scroll_region_if_not_empty (container);
container->details->needs_resort = TRUE;
redo_layout (container);
-
- if (changed)
- {
- g_signal_emit (container, signals[LAYOUT_CHANGED], 0);
- }
-}
-
-gboolean
-nautilus_canvas_container_is_auto_layout (NautilusCanvasContainer *container)
-{
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container), FALSE);
-
- return container->details->auto_layout;
}
void
@@ -7937,68 +5780,6 @@ nautilus_canvas_container_set_single_click_mode (NautilusCanvasContainer *contai
container->details->single_click_mode = single_click_mode;
}
-/* Return if the canvas container is a fixed size */
-gboolean
-nautilus_canvas_container_get_is_fixed_size (NautilusCanvasContainer *container)
-{
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container), FALSE);
-
- return container->details->is_fixed_size;
-}
-
-/* Set the canvas container to be a fixed size */
-void
-nautilus_canvas_container_set_is_fixed_size (NautilusCanvasContainer *container,
- gboolean is_fixed_size)
-{
- g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container));
-
- container->details->is_fixed_size = is_fixed_size;
-}
-
-gboolean
-nautilus_canvas_container_get_is_desktop (NautilusCanvasContainer *container)
-{
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container), FALSE);
-
- return container->details->is_desktop;
-}
-
-void
-nautilus_canvas_container_set_is_desktop (NautilusCanvasContainer *container,
- gboolean is_desktop)
-{
- g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container));
-
- container->details->is_desktop = is_desktop;
-
- if (is_desktop)
- {
- GtkStyleContext *context;
-
- context = gtk_widget_get_style_context (GTK_WIDGET (container));
- gtk_style_context_add_class (context, "nautilus-desktop");
- }
-}
-
-void
-nautilus_canvas_container_set_margins (NautilusCanvasContainer *container,
- int left_margin,
- int right_margin,
- int top_margin,
- int bottom_margin)
-{
- g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container));
-
- container->details->left_margin = left_margin;
- container->details->right_margin = right_margin;
- container->details->top_margin = top_margin;
- container->details->bottom_margin = bottom_margin;
-
- /* redo layout of icons as the margins have changed */
- schedule_redo_layout (container);
-}
-
/* handle theme changes */
void
@@ -8638,28 +6419,12 @@ nautilus_canvas_container_is_layout_rtl (NautilusCanvasContainer *container)
return (gtk_widget_get_direction (GTK_WIDGET (container)) == GTK_TEXT_DIR_RTL);
}
-gboolean
-nautilus_canvas_container_is_layout_vertical (NautilusCanvasContainer *container)
-{
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (container), FALSE);
-
- /* we only do vertical layout in the desktop nowadays */
- return container->details->is_desktop;
-}
-
int
nautilus_canvas_container_get_max_layout_lines_for_pango (NautilusCanvasContainer *container)
{
int limit;
- if (nautilus_canvas_container_get_is_desktop (container))
- {
- limit = desktop_text_ellipsis_limit;
- }
- else
- {
- limit = text_ellipsis_limits[container->details->zoom_level];
- }
+ limit = text_ellipsis_limits[container->details->zoom_level];
if (limit <= 0)
{
@@ -8674,14 +6439,7 @@ nautilus_canvas_container_get_max_layout_lines (NautilusCanvasContainer *contain
{
int limit;
- if (nautilus_canvas_container_get_is_desktop (container))
- {
- limit = desktop_text_ellipsis_limit;
- }
- else
- {
- limit = text_ellipsis_limits[container->details->zoom_level];
- }
+ limit = text_ellipsis_limits[container->details->zoom_level];
if (limit <= 0)
{
@@ -8690,113 +6448,3 @@ nautilus_canvas_container_get_max_layout_lines (NautilusCanvasContainer *contain
return limit;
}
-
-void
-nautilus_canvas_container_begin_loading (NautilusCanvasContainer *container)
-{
- gboolean dummy;
-
- if (nautilus_canvas_container_get_store_layout_timestamps (container))
- {
- container->details->layout_timestamp = UNDEFINED_TIME;
- g_signal_emit (container,
- signals[GET_STORED_LAYOUT_TIMESTAMP], 0,
- NULL, &container->details->layout_timestamp, &dummy);
- }
-}
-
-static void
-store_layout_timestamps_now (NautilusCanvasContainer *container)
-{
- NautilusCanvasIcon *icon;
- GList *p;
- gboolean dummy;
-
- container->details->layout_timestamp = time (NULL);
- g_signal_emit (container,
- signals[STORE_LAYOUT_TIMESTAMP], 0,
- NULL, &container->details->layout_timestamp, &dummy);
-
- for (p = container->details->icons; p != NULL; p = p->next)
- {
- icon = p->data;
-
- g_signal_emit (container,
- signals[STORE_LAYOUT_TIMESTAMP], 0,
- icon->data, &container->details->layout_timestamp, &dummy);
- }
-}
-
-
-void
-nautilus_canvas_container_end_loading (NautilusCanvasContainer *container,
- gboolean all_icons_added)
-{
- if (all_icons_added &&
- nautilus_canvas_container_get_store_layout_timestamps (container))
- {
- if (container->details->new_icons == NULL)
- {
- store_layout_timestamps_now (container);
- }
- else
- {
- container->details->store_layout_timestamps_when_finishing_new_icons = TRUE;
- }
- }
-}
-
-gboolean
-nautilus_canvas_container_get_store_layout_timestamps (NautilusCanvasContainer *container)
-{
- return container->details->store_layout_timestamps;
-}
-
-
-void
-nautilus_canvas_container_set_store_layout_timestamps (NautilusCanvasContainer *container,
- gboolean store_layout_timestamps)
-{
- container->details->store_layout_timestamps = store_layout_timestamps;
-}
-
-
-#if !defined (NAUTILUS_OMIT_SELF_CHECK)
-
-static char *
-check_compute_stretch (int icon_x,
- int icon_y,
- int icon_size,
- int start_pointer_x,
- int start_pointer_y,
- int end_pointer_x,
- int end_pointer_y)
-{
- StretchState start, current;
-
- start.icon_x = icon_x;
- start.icon_y = icon_y;
- start.icon_size = icon_size;
- start.pointer_x = start_pointer_x;
- start.pointer_y = start_pointer_y;
- current.pointer_x = end_pointer_x;
- current.pointer_y = end_pointer_y;
-
- compute_stretch (&start, ¤t);
-
- return g_strdup_printf ("%d,%d:%d",
- current.icon_x,
- current.icon_y,
- current.icon_size);
-}
-
-void
-nautilus_self_check_canvas_container (void)
-{
- EEL_CHECK_STRING_RESULT (check_compute_stretch (0, 0, 64, 0, 0, 0, 0), "0,0:64");
- EEL_CHECK_STRING_RESULT (check_compute_stretch (0, 0, 64, 64, 64, 65, 65), "0,0:65");
- EEL_CHECK_STRING_RESULT (check_compute_stretch (0, 0, 64, 64, 64, 65, 64), "0,0:64");
- EEL_CHECK_STRING_RESULT (check_compute_stretch (100, 100, 64, 105, 105, 40, 40), "35,35:129");
-}
-
-#endif /* ! NAUTILUS_OMIT_SELF_CHECK */
diff --git a/src/nautilus-canvas-container.h b/src/nautilus-canvas-container.h
index 635349d7e..63cec4b6b 100644
--- a/src/nautilus-canvas-container.h
+++ b/src/nautilus-canvas-container.h
@@ -86,7 +86,6 @@ typedef struct {
GdkEventButton *event);
void (* move_copy_items) (NautilusCanvasContainer *container,
const GList *item_uris,
- GdkPoint *relative_item_points,
const char *target_uri,
GdkDragAction action,
int x,
@@ -194,10 +193,6 @@ typedef struct {
void (* icon_position_changed) (NautilusCanvasContainer *container,
NautilusCanvasIconData *data,
const NautilusCanvasPosition *position);
- void (* icon_stretch_started) (NautilusCanvasContainer *container,
- NautilusCanvasIconData *data);
- void (* icon_stretch_ended) (NautilusCanvasContainer *container,
- NautilusCanvasIconData *data);
int (* preview) (NautilusCanvasContainer *container,
NautilusCanvasIconData *data,
gboolean start_flag);
@@ -238,14 +233,6 @@ void nautilus_canvas_container_begin_loading (Nauti
void nautilus_canvas_container_end_loading (NautilusCanvasContainer
*container,
gboolean
all_icons_added);
-/* control the layout */
-gboolean nautilus_canvas_container_is_auto_layout (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_set_auto_layout (NautilusCanvasContainer
*container,
- gboolean
auto_layout);
-
-gboolean nautilus_canvas_container_is_keep_aligned (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_set_keep_aligned (NautilusCanvasContainer
*container,
- gboolean
keep_aligned);
void nautilus_canvas_container_sort (NautilusCanvasContainer
*container);
void nautilus_canvas_container_freeze_icon_positions (NautilusCanvasContainer
*container);
@@ -270,10 +257,6 @@ void nautilus_canvas_container_set_selection (Nauti
GList *selection);
GArray * nautilus_canvas_container_get_selected_icon_locations (NautilusCanvasContainer *view);
GArray * nautilus_canvas_container_get_selected_icons_bounding_box (NautilusCanvasContainer
*container);
-gboolean nautilus_canvas_container_has_stretch_handles (NautilusCanvasContainer
*container);
-gboolean nautilus_canvas_container_is_stretched (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_show_stretch_handles (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_unstretch (NautilusCanvasContainer
*container);
/* options */
NautilusCanvasZoomLevel nautilus_canvas_container_get_zoom_level (NautilusCanvasContainer
*view);
@@ -283,12 +266,6 @@ void nautilus_canvas_container_set_single_click_mode (Nauti
gboolean
single_click_mode);
void nautilus_canvas_container_enable_linger_selection (NautilusCanvasContainer *view,
gboolean enable);
-gboolean nautilus_canvas_container_get_is_fixed_size (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_set_is_fixed_size (NautilusCanvasContainer
*container,
- gboolean
is_fixed_size);
-gboolean nautilus_canvas_container_get_is_desktop (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_set_is_desktop (NautilusCanvasContainer
*container,
- gboolean
is_desktop);
void nautilus_canvas_container_reset_scroll_region (NautilusCanvasContainer
*container);
void nautilus_canvas_container_set_font (NautilusCanvasContainer
*container,
const char *font);
@@ -301,24 +278,17 @@ char* nautilus_canvas_container_get_icon_description (Nauti
NautilusCanvasIconData
*data);
gboolean nautilus_canvas_container_is_layout_rtl (NautilusCanvasContainer
*container);
-gboolean nautilus_canvas_container_is_layout_vertical (NautilusCanvasContainer *container);
gboolean nautilus_canvas_container_get_store_layout_timestamps (NautilusCanvasContainer
*container);
-void nautilus_canvas_container_set_store_layout_timestamps (NautilusCanvasContainer
*container,
- gboolean
store_layout);
void nautilus_canvas_container_widget_to_file_operation_position (NautilusCanvasContainer
*container,
GdkPoint
*position);
guint nautilus_canvas_container_get_icon_size_for_zoom_level (NautilusCanvasZoomLevel
zoom_level);
-#define CANVAS_WIDTH(container,allocation) ((allocation.width \
- - container->details->left_margin \
- - container->details->right_margin) \
+#define CANVAS_WIDTH(container,allocation) (allocation.width \
/ EEL_CANVAS (container)->pixels_per_unit)
-#define CANVAS_HEIGHT(container,allocation) ((allocation.height \
- - container->details->top_margin \
- - container->details->bottom_margin) \
+#define CANVAS_HEIGHT(container,allocation) (allocation.height \
/ EEL_CANVAS (container)->pixels_per_unit)
#endif /* NAUTILUS_CANVAS_CONTAINER_H */
diff --git a/src/nautilus-canvas-dnd.c b/src/nautilus-canvas-dnd.c
index 7ef7dd56e..a9521e0d7 100644
--- a/src/nautilus-canvas-dnd.c
+++ b/src/nautilus-canvas-dnd.c
@@ -87,8 +87,7 @@ static char *nautilus_canvas_container_find_drop_target (NautilusCanvasContainer
GdkDragContext *context,
int x,
int y,
- gboolean *icon_hit,
- gboolean rewrite_desktop);
+ gboolean *icon_hit);
static EelCanvasItem *
create_selection_shadow (NautilusCanvasContainer *container,
@@ -252,7 +251,7 @@ icon_get_data_binder (NautilusCanvasIcon *icon,
uri = nautilus_canvas_container_get_icon_uri (container, icon);
file = nautilus_file_get_by_uri (uri);
- if (!eel_uri_is_desktop (uri) && !nautilus_file_is_nautilus_link (file))
+ if (!nautilus_file_is_nautilus_link (file))
{
g_free (uri);
uri = nautilus_canvas_container_get_icon_activation_uri (container, icon);
@@ -482,7 +481,7 @@ set_direct_save_uri (GtkWidget *widget,
filename = get_direct_save_filename (context);
drop_target = nautilus_canvas_container_find_drop_target (NAUTILUS_CANVAS_CONTAINER (widget),
- context, x, y, NULL, TRUE);
+ context, x, y, NULL);
if (drop_target && eel_uri_is_trash (drop_target))
{
@@ -537,14 +536,7 @@ get_data_on_first_target_we_support (GtkWidget *widget,
gtk_target_list_add_text_targets (drop_types_list_root, NAUTILUS_ICON_DND_TEXT);
}
- if (nautilus_canvas_container_get_is_desktop (NAUTILUS_CANVAS_CONTAINER (widget)))
- {
- list = drop_types_list_root;
- }
- else
- {
- list = drop_types_list;
- }
+ list = drop_types_list;
target = gtk_drag_dest_find_target (widget, context, list);
if (target != GDK_NONE)
@@ -685,14 +677,8 @@ nautilus_canvas_container_selection_items_local (NautilusCanvasContainer *contai
/* get the URI associated with the container */
container_uri_string = get_container_uri (container);
- if (eel_uri_is_desktop (container_uri_string))
- {
- result = nautilus_drag_items_on_desktop (items);
- }
- else
- {
- result = nautilus_drag_items_local (container_uri_string, items);
- }
+ result = nautilus_drag_items_local (container_uri_string, items);
+
g_free (container_uri_string);
return result;
@@ -713,13 +699,12 @@ receive_dropped_netscape_url (NautilusCanvasContainer *container,
return;
}
- drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL, TRUE);
+ drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL);
g_signal_emit_by_name (container, "handle-netscape-url",
encoded_url,
drop_target,
- gdk_drag_context_get_selected_action (context),
- x, y);
+ gdk_drag_context_get_selected_action (context));
g_free (drop_target);
}
@@ -739,13 +724,12 @@ receive_dropped_uri_list (NautilusCanvasContainer *container,
return;
}
- drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL, TRUE);
+ drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL);
g_signal_emit_by_name (container, "handle-uri-list",
uri_list,
drop_target,
- gdk_drag_context_get_selected_action (context),
- x, y);
+ gdk_drag_context_get_selected_action (context));
g_free (drop_target);
}
@@ -765,13 +749,12 @@ receive_dropped_text (NautilusCanvasContainer *container,
return;
}
- drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL, TRUE);
+ drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL);
g_signal_emit_by_name (container, "handle-text",
text,
drop_target,
- gdk_drag_context_get_selected_action (context),
- x, y);
+ gdk_drag_context_get_selected_action (context));
g_free (drop_target);
}
@@ -793,15 +776,14 @@ receive_dropped_raw (NautilusCanvasContainer *container,
return;
}
- drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL, TRUE);
+ drop_target = nautilus_canvas_container_find_drop_target (container, context, x, y, NULL);
g_signal_emit_by_name (container, "handle-raw",
raw_data,
length,
drop_target,
direct_save_uri,
- gdk_drag_context_get_selected_action (context),
- x, y);
+ gdk_drag_context_get_selected_action (context));
g_free (drop_target);
}
@@ -910,87 +892,13 @@ stop_auto_scroll (NautilusCanvasContainer *container)
}
static void
-handle_local_move (NautilusCanvasContainer *container,
- double world_x,
- double world_y)
-{
- GList *moved_icons, *p;
- NautilusDragSelectionItem *item;
- NautilusCanvasIcon *icon;
- NautilusFile *file;
- char screen_string[32];
- GdkScreen *screen;
- time_t now;
-
- if (container->details->auto_layout)
- {
- return;
- }
-
- time (&now);
-
- /* Move and select the icons. */
- moved_icons = NULL;
- for (p = container->details->dnd_info->drag_info.selection_list; p != NULL; p = p->next)
- {
- item = p->data;
-
- icon = nautilus_canvas_container_get_icon_by_uri
- (container, item->uri);
-
- if (icon == NULL)
- {
- /* probably dragged from another screen. Add it to
- * this screen
- */
-
- file = nautilus_file_get_by_uri (item->uri);
-
- screen = gtk_widget_get_screen (GTK_WIDGET (container));
- g_snprintf (screen_string, sizeof (screen_string), "%d",
- gdk_screen_get_number (screen));
- nautilus_file_set_metadata (file,
- NAUTILUS_METADATA_KEY_SCREEN,
- NULL, screen_string);
- nautilus_file_set_time_metadata (file,
- NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP, now);
-
- nautilus_canvas_container_add (container, NAUTILUS_CANVAS_ICON_DATA (file));
-
- icon = nautilus_canvas_container_get_icon_by_uri
- (container, item->uri);
- }
-
- if (item->got_icon_position)
- {
- nautilus_canvas_container_move_icon
- (container, icon,
- world_x + item->icon_x, world_y + item->icon_y,
- icon->scale,
- TRUE, TRUE, TRUE);
- }
- moved_icons = g_list_prepend (moved_icons, icon);
- }
- nautilus_canvas_container_select_list_unselect_others
- (container, moved_icons);
- /* Might have been moved in a way that requires adjusting scroll region. */
- nautilus_canvas_container_update_scroll_region (container);
- g_list_free (moved_icons);
-}
-
-static void
handle_nonlocal_move (NautilusCanvasContainer *container,
GdkDragAction action,
- int x,
- int y,
const char *target_uri,
gboolean icon_hit)
{
GList *source_uris, *p;
- GArray *source_item_locations = NULL;
gboolean free_target_uri, is_rtl;
- int index, item_x;
- GtkAllocation allocation;
if (container->details->dnd_info->drag_info.selection_list == NULL)
{
@@ -1007,50 +915,13 @@ handle_nonlocal_move (NautilusCanvasContainer *container,
is_rtl = nautilus_canvas_container_is_layout_rtl (container);
- if (!icon_hit && eel_uri_is_desktop (target_uri))
- {
- /* Drop onto a container. Pass along the item points to allow placing
- * the items in their same relative positions in the new container.
- */
- source_item_locations = g_array_new (FALSE, TRUE, sizeof (GdkPoint));
- source_item_locations = g_array_set_size (source_item_locations,
- g_list_length
(container->details->dnd_info->drag_info.selection_list));
-
- for (index = 0, p = container->details->dnd_info->drag_info.selection_list;
- p != NULL; index++, p = p->next)
- {
- item_x = ((NautilusDragSelectionItem *) p->data)->icon_x;
- if (is_rtl)
- {
- item_x = -item_x - ((NautilusDragSelectionItem *) p->data)->icon_width;
- }
- g_array_index (source_item_locations, GdkPoint, index).x = item_x;
- g_array_index (source_item_locations, GdkPoint, index).y =
- ((NautilusDragSelectionItem *) p->data)->icon_y;
- }
- }
-
free_target_uri = FALSE;
- /* Rewrite internal desktop URIs to the normal target uri */
- if (eel_uri_is_desktop (target_uri))
- {
- target_uri = nautilus_get_desktop_directory_uri ();
- free_target_uri = TRUE;
- }
-
- if (is_rtl)
- {
- gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
- x = CANVAS_WIDTH (container, allocation) - x;
- }
/* start the copy */
g_signal_emit_by_name (container, "move-copy-items",
source_uris,
- source_item_locations,
target_uri,
- action,
- x, y);
+ action);
if (free_target_uri)
{
@@ -1058,10 +929,6 @@ handle_nonlocal_move (NautilusCanvasContainer *container,
}
g_list_free (source_uris);
- if (source_item_locations != NULL)
- {
- g_array_free (source_item_locations, TRUE);
- }
}
static char *
@@ -1069,8 +936,7 @@ nautilus_canvas_container_find_drop_target (NautilusCanvasContainer *container,
GdkDragContext *context,
int x,
int y,
- gboolean *icon_hit,
- gboolean rewrite_desktop)
+ gboolean *icon_hit)
{
NautilusCanvasIcon *drop_target_icon;
double world_x, world_y;
@@ -1131,24 +997,16 @@ nautilus_canvas_container_find_drop_target (NautilusCanvasContainer *container,
if (container_uri != NULL)
{
- if (rewrite_desktop && eel_uri_is_desktop (container_uri))
+ gboolean can;
+ file = nautilus_file_get_by_uri (container_uri);
+ can = nautilus_drag_can_accept_info (file,
+ container->details->dnd_info->drag_info.data_type,
+ container->details->dnd_info->drag_info.selection_list);
+ g_object_unref (file);
+ if (!can)
{
g_free (container_uri);
- container_uri = nautilus_get_desktop_directory_uri ();
- }
- else
- {
- gboolean can;
- file = nautilus_file_get_by_uri (container_uri);
- can = nautilus_drag_can_accept_info (file,
- container->details->dnd_info->drag_info.data_type,
- container->details->dnd_info->drag_info.selection_list);
- g_object_unref (file);
- if (!can)
- {
- g_free (container_uri);
- container_uri = NULL;
- }
+ container_uri = NULL;
}
}
@@ -1185,19 +1043,8 @@ nautilus_canvas_container_receive_dropped_icons (NautilusCanvasContainer *contai
if (real_action == GDK_ACTION_ASK)
{
- /* FIXME bugzilla.gnome.org 42485: This belongs in FMDirectoryView, not here. */
- /* Check for special case items in selection list */
- if (nautilus_drag_selection_includes_special_link
(container->details->dnd_info->drag_info.selection_list))
- {
- /* We only want to move the trash */
- action = GDK_ACTION_MOVE;
- }
- else
- {
- action = GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK;
- }
- real_action = nautilus_drag_drop_action_ask
- (GTK_WIDGET (container), action);
+ action = GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK;
+ real_action = nautilus_drag_drop_action_ask (GTK_WIDGET (container), action);
}
if (real_action > 0)
@@ -1208,25 +1055,19 @@ nautilus_canvas_container_receive_dropped_icons (NautilusCanvasContainer *contai
&world_x, &world_y);
drop_target = nautilus_canvas_container_find_drop_target (container,
- context, x, y, &icon_hit, FALSE);
+ context, x, y, &icon_hit);
local_move_only = FALSE;
if (!icon_hit && real_action == GDK_ACTION_MOVE)
{
- /* we can just move the canvas positions if the move ended up in
- * the item's parent container
- */
local_move_only = nautilus_canvas_container_selection_items_local
(container, container->details->dnd_info->drag_info.selection_list);
}
- if (local_move_only)
+ /* If the move is local, there is nothing to do. */
+ if (!local_move_only)
{
- handle_local_move (container, world_x, world_y);
- }
- else
- {
- handle_nonlocal_move (container, real_action, world_x, world_y, drop_target, icon_hit);
+ handle_nonlocal_move (container, real_action, drop_target, icon_hit);
}
}
@@ -1266,7 +1107,7 @@ nautilus_canvas_container_get_drop_action (NautilusCanvasContainer *container,
*action = 0;
drop_target = nautilus_canvas_container_find_drop_target (container,
- context, x, y, &icon_hit, FALSE);
+ context, x, y, &icon_hit);
if (drop_target == NULL)
{
return;
@@ -1674,11 +1515,6 @@ check_hover_timer (NautilusCanvasContainer *container,
return;
}
- if (nautilus_canvas_container_get_is_desktop (container))
- {
- return;
- }
-
remove_hover_timer (dnd_info);
settings = gtk_widget_get_settings (GTK_WIDGET (container));
@@ -1720,7 +1556,7 @@ drag_motion_callback (GtkWidget *widget,
{
char *uri;
uri = nautilus_canvas_container_find_drop_target (NAUTILUS_CANVAS_CONTAINER (widget),
- context, x, y, NULL, TRUE);
+ context, x, y, NULL);
check_hover_timer (NAUTILUS_CANVAS_CONTAINER (widget), uri);
g_free (uri);
start_dnd_highlight (widget);
@@ -1931,19 +1767,11 @@ drag_data_received_callback (GtkWidget *widget,
selection_data[0] == 'F' &&
drag_info->direct_save_uri != NULL)
{
- GdkPoint p;
GFile *location;
location = g_file_new_for_uri (drag_info->direct_save_uri);
nautilus_file_changes_queue_file_added (location);
- p.x = x;
- p.y = y;
- nautilus_file_changes_queue_schedule_position_set (
- location,
- p,
- gdk_screen_get_number (
- gtk_widget_get_screen (widget)));
g_object_unref (location);
nautilus_file_changes_consume_changes (TRUE);
success = TRUE;
@@ -1980,12 +1808,7 @@ nautilus_canvas_dnd_init (NautilusCanvasContainer *container)
* (But not a source, as drags starting from this widget will be
* implemented by dealing with events manually.)
*/
- n_elements = G_N_ELEMENTS (drop_types);
- if (!nautilus_canvas_container_get_is_desktop (container))
- {
- /* Don't set up rootwindow drop */
- n_elements -= 1;
- }
+ n_elements = G_N_ELEMENTS (drop_types) - 1;
gtk_drag_dest_set (GTK_WIDGET (container),
0,
drop_types, n_elements,
diff --git a/src/nautilus-canvas-private.h b/src/nautilus-canvas-private.h
index 0f3ad706b..e9ae3b638 100644
--- a/src/nautilus-canvas-private.h
+++ b/src/nautilus-canvas-private.h
@@ -47,9 +47,6 @@ typedef struct {
* to the nautilus metafile.
*/
double saved_ltr_x;
-
- /* Scale factor (stretches icon). */
- double scale;
/* Position in the view */
int position;
@@ -62,8 +59,6 @@ typedef struct {
/* Whether this item is visible in the view. */
eel_boolean_bit is_visible : 1;
-
- eel_boolean_bit has_lazy_position : 1;
} NautilusCanvasIcon;
@@ -130,11 +125,6 @@ struct NautilusCanvasContainerDetails {
/* Starting icon for keyboard rubberbanding. */
NautilusCanvasIcon *keyboard_rubberband_start;
- /* Current icon with stretch handles, so we have only one. */
- NautilusCanvasIcon *stretch_icon;
- double stretch_initial_x, stretch_initial_y;
- guint stretch_initial_size;
-
/* Last highlighted drop target. */
NautilusCanvasIcon *drop_target;
@@ -165,7 +155,6 @@ struct NautilusCanvasContainerDetails {
int drag_x, drag_y;
DragState drag_state;
gboolean drag_started;
- StretchState stretch_start;
gboolean icon_selected_on_button_down;
gboolean double_clicked;
@@ -177,9 +166,6 @@ struct NautilusCanvasContainerDetails {
/* Idle ID. */
guint idle_id;
- /* Idle handler for stretch code */
- guint stretch_idle_id;
-
/* Align idle id */
guint align_idle_id;
@@ -201,10 +187,6 @@ struct NautilusCanvasContainerDetails {
/* Mode settings. */
gboolean single_click_mode;
- gboolean auto_layout;
-
- /* Should the container keep icons aligned to a grid */
- gboolean keep_aligned;
/* Set to TRUE after first allocation has been done */
gboolean has_been_allocated;
@@ -212,24 +194,8 @@ struct NautilusCanvasContainerDetails {
int size_allocation_count;
guint size_allocation_count_id;
- /* Is the container fixed or resizable */
- gboolean is_fixed_size;
-
- /* Is the container for a desktop window */
- gboolean is_desktop;
-
/* Ignore the visible area the next time the scroll region is recomputed */
gboolean reset_scroll_region_trigger;
-
- /* The position we are scaling to on stretch */
- double world_x;
- double world_y;
-
- /* margins to follow, used for the desktop panel avoidance */
- int left_margin;
- int right_margin;
- int top_margin;
- int bottom_margin;
/* a11y items used by canvas items */
guint a11y_item_action_idle_handler;
@@ -238,23 +204,11 @@ struct NautilusCanvasContainerDetails {
eel_boolean_bit is_loading : 1;
eel_boolean_bit needs_resort : 1;
eel_boolean_bit selection_needs_resort : 1;
-
- eel_boolean_bit store_layout_timestamps : 1;
- eel_boolean_bit store_layout_timestamps_when_finishing_new_icons : 1;
- time_t layout_timestamp;
};
/* Private functions shared by mutiple files. */
NautilusCanvasIcon *nautilus_canvas_container_get_icon_by_uri (NautilusCanvasContainer
*container,
const char *uri);
-void nautilus_canvas_container_move_icon (NautilusCanvasContainer *container,
- NautilusCanvasIcon *icon,
- int x,
- int y,
- double scale,
- gboolean raise,
- gboolean snap,
- gboolean update_position);
void nautilus_canvas_container_select_list_unselect_others (NautilusCanvasContainer *container,
GList *icons);
char * nautilus_canvas_container_get_icon_uri (NautilusCanvasContainer *container,
diff --git a/src/nautilus-canvas-view.c b/src/nautilus-canvas-view.c
index 5b2683b44..71187cfc3 100644
--- a/src/nautilus-canvas-view.c
+++ b/src/nautilus-canvas-view.c
@@ -56,17 +56,6 @@
#include <sys/wait.h>
#include <unistd.h>
-enum
-{
- PROP_SUPPORTS_AUTO_LAYOUT = 1,
- PROP_SUPPORTS_SCALING,
- PROP_SUPPORTS_KEEP_ALIGNED,
- PROP_SUPPORTS_MANUAL_LAYOUT,
- NUM_PROPERTIES
-};
-
-static GParamSpec *properties[NUM_PROPERTIES] = { NULL, };
-
typedef gboolean (*SortCriterionMatchFunc) (NautilusFile *file);
typedef struct
@@ -86,8 +75,10 @@ typedef enum
MENU_ITEM_TYPE_TREE
} MenuItemType;
-typedef struct
+struct _NautilusCanvasView
{
+ NautilusFilesView parent_instance;
+
GList *icons_not_positioned;
guint react_to_canvas_change_idle_id;
@@ -96,18 +87,13 @@ typedef struct
GtkWidget *canvas_container;
- gboolean supports_auto_layout;
- gboolean supports_manual_layout;
- gboolean supports_scaling;
- gboolean supports_keep_aligned;
-
/* FIXME: Needed for async operations. Suposedly we would use cancellable and gtask,
* sadly gtkclipboard doesn't support that.
* We follow this pattern for checking validity of the object in the views.
* Ideally we would connect to a weak reference and do a cancellable.
*/
gboolean destroyed;
-} NautilusCanvasViewPrivate;
+};
/* Note that the first item in this list is the default sort,
* and that the items show up in the menu in the order they
@@ -186,19 +172,17 @@ static const SortCriterion sort_criteria[] =
}
};
-G_DEFINE_TYPE_WITH_PRIVATE (NautilusCanvasView, nautilus_canvas_view, NAUTILUS_TYPE_FILES_VIEW);
+G_DEFINE_TYPE (NautilusCanvasView, nautilus_canvas_view, NAUTILUS_TYPE_FILES_VIEW);
static void nautilus_canvas_view_set_directory_sort_by (NautilusCanvasView *canvas_view,
NautilusFile *file,
const SortCriterion *sort);
static void nautilus_canvas_view_update_click_mode (NautilusCanvasView *canvas_view);
-static gboolean nautilus_canvas_view_supports_scaling (NautilusCanvasView *canvas_view);
static void nautilus_canvas_view_reveal_selection (NautilusFilesView *view);
static const SortCriterion *get_sort_criterion_by_metadata_text (const char *metadata_text,
gboolean reversed);
static const SortCriterion *get_sort_criterion_by_sort_type (NautilusFileSortType sort_type,
gboolean reversed);
-static void switch_to_manual_layout (NautilusCanvasView *view);
static const SortCriterion *get_default_sort_order (NautilusFile *file);
static void nautilus_canvas_view_clear (NautilusFilesView *view);
static void on_clipboard_owner_changed (GtkClipboard *clipboard,
@@ -209,18 +193,16 @@ static void
nautilus_canvas_view_destroy (GtkWidget *object)
{
NautilusCanvasView *canvas_view;
- NautilusCanvasViewPrivate *priv;
GtkClipboard *clipboard;
canvas_view = NAUTILUS_CANVAS_VIEW (object);
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
nautilus_canvas_view_clear (NAUTILUS_FILES_VIEW (object));
- if (priv->react_to_canvas_change_idle_id != 0)
+ if (canvas_view->react_to_canvas_change_idle_id != 0)
{
- g_source_remove (priv->react_to_canvas_change_idle_id);
- priv->react_to_canvas_change_idle_id = 0;
+ g_source_remove (canvas_view->react_to_canvas_change_idle_id);
+ canvas_view->react_to_canvas_change_idle_id = 0;
}
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
@@ -228,10 +210,10 @@ nautilus_canvas_view_destroy (GtkWidget *object)
on_clipboard_owner_changed,
canvas_view);
- if (priv->icons_not_positioned)
+ if (canvas_view->icons_not_positioned)
{
- nautilus_file_list_free (priv->icons_not_positioned);
- priv->icons_not_positioned = NULL;
+ nautilus_file_list_free (canvas_view->icons_not_positioned);
+ canvas_view->icons_not_positioned = NULL;
}
GTK_WIDGET_CLASS (nautilus_canvas_view_parent_class)->destroy (object);
@@ -240,11 +222,7 @@ nautilus_canvas_view_destroy (GtkWidget *object)
static NautilusCanvasContainer *
get_canvas_container (NautilusCanvasView *canvas_view)
{
- NautilusCanvasViewPrivate *priv;
-
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
-
- return NAUTILUS_CANVAS_CONTAINER (priv->canvas_container);
+ return NAUTILUS_CANVAS_CONTAINER (canvas_view->canvas_container);
}
NautilusCanvasContainer *
@@ -253,81 +231,15 @@ nautilus_canvas_view_get_canvas_container (NautilusCanvasView *canvas_view)
return get_canvas_container (canvas_view);
}
-static gboolean
-nautilus_canvas_view_supports_manual_layout (NautilusCanvasView *view)
-{
- NautilusCanvasViewPrivate *priv;
-
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_VIEW (view), FALSE);
-
- priv = nautilus_canvas_view_get_instance_private (view);
-
- return priv->supports_manual_layout;
-}
-
-static gboolean
-get_stored_icon_position_callback (NautilusCanvasContainer *container,
- NautilusFile *file,
- NautilusCanvasPosition *position,
- NautilusCanvasView *canvas_view)
-{
- char *position_string, *scale_string;
- gboolean position_good;
- char c;
-
- g_assert (NAUTILUS_IS_CANVAS_CONTAINER (container));
- g_assert (NAUTILUS_IS_FILE (file));
- g_assert (position != NULL);
- g_assert (NAUTILUS_IS_CANVAS_VIEW (canvas_view));
-
- if (!nautilus_canvas_view_supports_manual_layout (canvas_view))
- {
- return FALSE;
- }
-
- /* Get the current position of this canvas from the metadata. */
- position_string = nautilus_file_get_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_POSITION, "");
- position_good = sscanf
- (position_string, " %d , %d %c",
- &position->x, &position->y, &c) == 2;
- g_free (position_string);
-
- /* If it is the desktop directory, maybe the gnome-libs metadata has information about it */
-
- /* Disable scaling if not on the desktop */
- if (nautilus_canvas_view_supports_scaling (canvas_view))
- {
- /* Get the scale of the canvas from the metadata. */
- scale_string = nautilus_file_get_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_SCALE, "1");
- position->scale = g_ascii_strtod (scale_string, NULL);
- if (errno != 0)
- {
- position->scale = 1.0;
- }
-
- g_free (scale_string);
- }
- else
- {
- position->scale = 1.0;
- }
-
- return position_good;
-}
-
static void
update_sort_criterion (NautilusCanvasView *canvas_view,
const SortCriterion *sort,
gboolean set_metadata)
{
NautilusFile *file;
- NautilusCanvasViewPrivate *priv;
const SortCriterion *overrided_sort_criterion;
file = nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view));
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
/* Make sure we use the default one and not one that the user used previously
* of the change to not allow sorting on search and recent, or the
@@ -336,7 +248,7 @@ update_sort_criterion (NautilusCanvasView *canvas_view,
{
overrided_sort_criterion = get_default_sort_order (file);
}
- else if (sort != NULL && priv->sort != sort)
+ else if (sort != NULL && canvas_view->sort != sort)
{
overrided_sort_criterion = sort;
if (set_metadata)
@@ -352,27 +264,7 @@ update_sort_criterion (NautilusCanvasView *canvas_view,
return;
}
- priv->sort = overrided_sort_criterion;
-}
-
-void
-nautilus_canvas_view_clean_up_by_name (NautilusCanvasView *canvas_view)
-{
- NautilusCanvasContainer *canvas_container;
-
- canvas_container = get_canvas_container (canvas_view);
-
- update_sort_criterion (canvas_view, &sort_criteria[0], FALSE);
-
- nautilus_canvas_container_sort (canvas_container);
- nautilus_canvas_container_freeze_icon_positions (canvas_container);
-}
-
-static gboolean
-nautilus_canvas_view_using_auto_layout (NautilusCanvasView *canvas_view)
-{
- return nautilus_canvas_container_is_auto_layout
- (get_canvas_container (canvas_view));
+ canvas_view->sort = overrided_sort_criterion;
}
static void
@@ -497,42 +389,6 @@ nautilus_canvas_view_file_changed (NautilusFilesView *view,
NAUTILUS_CANVAS_ICON_DATA (file));
}
-static gboolean
-nautilus_canvas_view_supports_auto_layout (NautilusCanvasView *view)
-{
- NautilusCanvasViewPrivate *priv;
-
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_VIEW (view), FALSE);
-
- priv = nautilus_canvas_view_get_instance_private (view);
-
- return priv->supports_auto_layout;
-}
-
-static gboolean
-nautilus_canvas_view_supports_scaling (NautilusCanvasView *view)
-{
- NautilusCanvasViewPrivate *priv;
-
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_VIEW (view), FALSE);
-
- priv = nautilus_canvas_view_get_instance_private (view);
-
- return priv->supports_scaling;
-}
-
-static gboolean
-nautilus_canvas_view_supports_keep_aligned (NautilusCanvasView *view)
-{
- NautilusCanvasViewPrivate *priv;
-
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_VIEW (view), FALSE);
-
- priv = nautilus_canvas_view_get_instance_private (view);
-
- return priv->supports_keep_aligned;
-}
-
static const SortCriterion *
nautilus_canvas_view_get_directory_sort_by (NautilusCanvasView *canvas_view,
NautilusFile *file)
@@ -541,11 +397,6 @@ nautilus_canvas_view_get_directory_sort_by (NautilusCanvasView *canvas_view,
g_autofree char *sort_by = NULL;
gboolean reversed;
- if (!nautilus_canvas_view_supports_auto_layout (canvas_view))
- {
- return get_sort_criterion_by_metadata_text ("name", FALSE);
- }
-
default_sort = get_default_sort_order (file);
g_return_val_if_fail (default_sort != NULL, NULL);
@@ -592,11 +443,6 @@ nautilus_canvas_view_set_directory_sort_by (NautilusCanvasView *canvas_view,
{
const SortCriterion *default_sort_criterion;
- if (!nautilus_canvas_view_supports_auto_layout (canvas_view))
- {
- return;
- }
-
default_sort_criterion = get_default_sort_order (file);
g_return_if_fail (default_sort_criterion != NULL);
@@ -610,78 +456,6 @@ nautilus_canvas_view_set_directory_sort_by (NautilusCanvasView *canvas_view,
sort->reverse_order);
}
-static gboolean
-get_default_directory_keep_aligned (void)
-{
- return TRUE;
-}
-
-static gboolean
-nautilus_canvas_view_get_directory_keep_aligned (NautilusCanvasView *canvas_view,
- NautilusFile *file)
-{
- if (!nautilus_canvas_view_supports_keep_aligned (canvas_view))
- {
- return FALSE;
- }
-
- return nautilus_file_get_boolean_metadata
- (file,
- NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED,
- get_default_directory_keep_aligned ());
-}
-
-static void
-nautilus_canvas_view_set_directory_keep_aligned (NautilusCanvasView *canvas_view,
- NautilusFile *file,
- gboolean keep_aligned)
-{
- if (!nautilus_canvas_view_supports_keep_aligned (canvas_view))
- {
- return;
- }
-
- nautilus_file_set_boolean_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED,
- get_default_directory_keep_aligned (),
- keep_aligned);
-}
-
-static gboolean
-nautilus_canvas_view_get_directory_auto_layout (NautilusCanvasView *canvas_view,
- NautilusFile *file)
-{
- if (!nautilus_canvas_view_supports_auto_layout (canvas_view))
- {
- return FALSE;
- }
-
- if (!nautilus_canvas_view_supports_manual_layout (canvas_view))
- {
- return TRUE;
- }
-
- return nautilus_file_get_boolean_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_VIEW_AUTO_LAYOUT, TRUE);
-}
-
-static void
-nautilus_canvas_view_set_directory_auto_layout (NautilusCanvasView *canvas_view,
- NautilusFile *file,
- gboolean auto_layout)
-{
- if (!nautilus_canvas_view_supports_auto_layout (canvas_view) ||
- !nautilus_canvas_view_supports_manual_layout (canvas_view))
- {
- return;
- }
-
- nautilus_file_set_boolean_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_VIEW_AUTO_LAYOUT,
- TRUE,
- auto_layout);
-}
-
static const SortCriterion *
get_sort_criterion_by_metadata_text (const char *metadata_text,
gboolean reversed)
@@ -761,8 +535,6 @@ nautilus_canvas_view_begin_loading (NautilusFilesView *view)
uri = nautilus_file_get_uri (file);
canvas_container = GTK_WIDGET (get_canvas_container (canvas_view));
- nautilus_canvas_container_begin_loading (NAUTILUS_CANVAS_CONTAINER (canvas_container));
-
g_free (uri);
/* Set the sort mode.
@@ -772,18 +544,6 @@ nautilus_canvas_view_begin_loading (NautilusFilesView *view)
sort = nautilus_canvas_view_get_directory_sort_by (canvas_view, file);
update_sort_criterion (canvas_view, sort, FALSE);
- nautilus_canvas_container_set_keep_aligned
- (get_canvas_container (canvas_view),
- nautilus_canvas_view_get_directory_keep_aligned (canvas_view, file));
-
- /* We must set auto-layout last, because it invokes the layout_changed
- * callback, which works incorrectly if the other layout criteria are
- * not already set up properly (see bug 6500, e.g.)
- */
- nautilus_canvas_container_set_auto_layout
- (get_canvas_container (canvas_view),
- nautilus_canvas_view_get_directory_auto_layout (canvas_view, file));
-
/* We could have changed to the trash directory or to searching, and then
* we need to update the menus */
nautilus_files_view_update_context_menus (view);
@@ -795,15 +555,14 @@ on_clipboard_contents_received (GtkClipboard *clipboard,
GtkSelectionData *selection_data,
gpointer user_data)
{
- NautilusCanvasViewPrivate *priv;
- NautilusCanvasView *view = NAUTILUS_CANVAS_VIEW (user_data);
+ NautilusCanvasView *canvas_view;
- priv = nautilus_canvas_view_get_instance_private (view);
+ canvas_view = NAUTILUS_CANVAS_VIEW (user_data);
- if (priv->destroyed)
+ if (canvas_view->destroyed)
{
/* We've been destroyed since call */
- g_object_unref (view);
+ g_object_unref (canvas_view);
return;
}
@@ -814,7 +573,7 @@ on_clipboard_contents_received (GtkClipboard *clipboard,
uris = nautilus_clipboard_get_uri_list_from_selection_data (selection_data);
files = nautilus_file_list_from_uri_list (uris);
- nautilus_canvas_container_set_highlighted_for_clipboard (get_canvas_container (view),
+ nautilus_canvas_container_set_highlighted_for_clipboard (get_canvas_container (canvas_view),
files);
nautilus_file_list_free (files);
@@ -822,11 +581,11 @@ on_clipboard_contents_received (GtkClipboard *clipboard,
}
else
{
- nautilus_canvas_container_set_highlighted_for_clipboard (get_canvas_container (view),
+ nautilus_canvas_container_set_highlighted_for_clipboard (get_canvas_container (canvas_view),
NULL);
}
- g_object_unref (view);
+ g_object_unref (canvas_view);
}
static void
@@ -854,8 +613,6 @@ nautilus_canvas_view_end_loading (NautilusFilesView *view,
NautilusCanvasView *canvas_view;
canvas_view = NAUTILUS_CANVAS_VIEW (view);
- nautilus_canvas_container_end_loading (nautilus_canvas_view_get_canvas_container (canvas_view),
- all_files_seen);
update_clipboard_status (canvas_view);
}
@@ -984,28 +741,6 @@ nautilus_canvas_view_get_selection (NautilusFilesView *view)
}
static void
-action_keep_aligned (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
-{
- NautilusFile *file;
- NautilusCanvasView *canvas_view;
- gboolean keep_aligned;
-
- canvas_view = NAUTILUS_CANVAS_VIEW (user_data);
- file = nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view));
- keep_aligned = g_variant_get_boolean (state);
-
- nautilus_canvas_view_set_directory_keep_aligned (canvas_view,
- file,
- keep_aligned);
- nautilus_canvas_container_set_keep_aligned (get_canvas_container (canvas_view),
- keep_aligned);
-
- g_simple_action_set_state (action, state);
-}
-
-static void
action_sort_order_changed (GSimpleAction *action,
GVariant *value,
gpointer user_data)
@@ -1019,20 +754,11 @@ action_sort_order_changed (GSimpleAction *action,
sort_criterion = get_sort_criterion_by_action_target_name (target_name);
g_assert (sort_criterion != NULL);
- /* Note that id might be a toggle item.
- * Ignore non-sort ids so that they don't cause sorting.
- */
- if (sort_criterion->sort_type == NAUTILUS_FILE_SORT_NONE)
- {
- switch_to_manual_layout (user_data);
- }
- else
- {
- update_sort_criterion (user_data, sort_criterion, TRUE);
- nautilus_canvas_container_sort (get_canvas_container (user_data));
- nautilus_canvas_view_reveal_selection (NAUTILUS_FILES_VIEW (user_data));
- }
+ update_sort_criterion (user_data, sort_criterion, TRUE);
+
+ nautilus_canvas_container_sort (get_canvas_container (user_data));
+ nautilus_canvas_view_reveal_selection (NAUTILUS_FILES_VIEW (user_data));
g_simple_action_set_state (action, value);
}
@@ -1061,48 +787,8 @@ action_zoom_to_level (GSimpleAction *action,
}
}
-static void
-switch_to_manual_layout (NautilusCanvasView *canvas_view)
-{
- NautilusCanvasViewPrivate *priv;
-
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
-
- if (!nautilus_canvas_view_using_auto_layout (canvas_view) ||
- !nautilus_files_view_is_editable (NAUTILUS_FILES_VIEW (canvas_view)))
- {
- return;
- }
-
- priv->sort = &sort_criteria[0];
-
- nautilus_canvas_container_set_auto_layout
- (get_canvas_container (canvas_view), FALSE);
-}
-
-static void
-layout_changed_callback (NautilusCanvasContainer *container,
- NautilusCanvasView *canvas_view)
-{
- NautilusFile *file;
-
- g_assert (NAUTILUS_IS_CANVAS_VIEW (canvas_view));
- g_assert (container == get_canvas_container (canvas_view));
-
- file = nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view));
-
- if (file != NULL)
- {
- nautilus_canvas_view_set_directory_auto_layout
- (canvas_view,
- file,
- nautilus_canvas_view_using_auto_layout (canvas_view));
- }
-}
-
const GActionEntry canvas_view_entries[] =
{
- { "keep-aligned", NULL, NULL, "true", action_keep_aligned },
{ "sort", NULL, "s", "'name'", action_sort_order_changed },
{ "zoom-to-level", NULL, NULL, "1", action_zoom_to_level }
};
@@ -1168,56 +854,42 @@ static void
nautilus_canvas_view_update_actions_state (NautilusFilesView *view)
{
GActionGroup *view_action_group;
+ GVariant *sort_state;
GAction *action;
- gboolean keep_aligned;
NautilusCanvasView *canvas_view;
- NautilusCanvasViewPrivate *priv;
canvas_view = NAUTILUS_CANVAS_VIEW (view);
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
NAUTILUS_FILES_VIEW_CLASS (nautilus_canvas_view_parent_class)->update_actions_state (view);
view_action_group = nautilus_files_view_get_action_group (view);
- if (nautilus_canvas_view_supports_auto_layout (canvas_view))
- {
- GVariant *sort_state;
-
- /* When we change the sort action state, even using the same value, it triggers
- * the sort action changed handler, which reveals the selection, since we expect
- * the selection to be visible when the user changes the sort order. But we may
- * need to update the actions state for others reason than an actual sort change,
- * so we need to prevent to trigger the sort action changed handler for those cases.
- * To achieve this, check if the action state value actually changed before setting
- * it
- */
- sort_state = g_action_group_get_action_state (view_action_group, "sort");
-
- if (g_strcmp0 (g_variant_get_string (sort_state, NULL),
- priv->sort->action_target_name) != 0)
- {
- g_action_group_change_action_state (view_action_group,
- "sort",
- g_variant_new_string (priv->sort->action_target_name));
- }
- g_variant_unref (sort_state);
+ /* When we change the sort action state, even using the same value, it triggers
+ * the sort action changed handler, which reveals the selection, since we expect
+ * the selection to be visible when the user changes the sort order. But we may
+ * need to update the actions state for others reason than an actual sort change,
+ * so we need to prevent to trigger the sort action changed handler for those cases.
+ * To achieve this, check if the action state value actually changed before setting
+ * it
+ */
+ sort_state = g_action_group_get_action_state (view_action_group, "sort");
+
+ if (g_strcmp0 (g_variant_get_string (sort_state, NULL),
+ canvas_view->sort->action_target_name) != 0)
+ {
+ g_action_group_change_action_state (view_action_group,
+ "sort",
+ g_variant_new_string (canvas_view->sort->action_target_name));
}
action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), "sort");
g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
!showing_recent_directory (view) &&
!showing_search_directory (view));
- action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), "keep-aligned");
- g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
- priv->supports_keep_aligned);
- if (priv->supports_keep_aligned)
- {
- keep_aligned = nautilus_canvas_container_is_keep_aligned (get_canvas_container (canvas_view));
- g_action_change_state (action, g_variant_new_boolean (keep_aligned));
- }
update_sort_action_state_hint (canvas_view);
+
+ g_variant_unref (sort_state);
}
static void
@@ -1308,14 +980,6 @@ nautilus_canvas_view_invert_selection (NautilusFilesView *view)
(get_canvas_container (NAUTILUS_CANVAS_VIEW (view)));
}
-static gboolean
-nautilus_canvas_view_using_manual_layout (NautilusFilesView *view)
-{
- g_return_val_if_fail (NAUTILUS_IS_CANVAS_VIEW (view), FALSE);
-
- return !nautilus_canvas_view_using_auto_layout (NAUTILUS_CANVAS_VIEW (view));
-}
-
static void
nautilus_canvas_view_widget_to_file_operation_position (NautilusFilesView *view,
GdkPoint *position)
@@ -1445,15 +1109,11 @@ nautilus_canvas_view_compare_files (NautilusCanvasView *canvas_view,
NautilusFile *a,
NautilusFile *b)
{
- NautilusCanvasViewPrivate *priv;
-
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
-
return nautilus_file_compare_for_sort
- (a, b, priv->sort->sort_type,
+ (a, b, canvas_view->sort->sort_type,
/* Use type-unsafe cast for performance */
nautilus_files_view_should_sort_directories_first ((NautilusFilesView *) canvas_view),
- priv->sort->reverse_order);
+ canvas_view->sort->reverse_order);
}
static int
@@ -1496,37 +1156,6 @@ canvas_container_context_click_background_callback (NautilusCanvasContainer *con
nautilus_files_view_pop_up_background_context_menu (NAUTILUS_FILES_VIEW (canvas_view), event);
}
-static void
-icon_position_changed_callback (NautilusCanvasContainer *container,
- NautilusFile *file,
- const NautilusCanvasPosition *position,
- NautilusCanvasView *canvas_view)
-{
- char *position_string;
- char scale_string[G_ASCII_DTOSTR_BUF_SIZE];
-
- g_assert (NAUTILUS_IS_CANVAS_VIEW (canvas_view));
- g_assert (container == get_canvas_container (canvas_view));
- g_assert (NAUTILUS_IS_FILE (file));
-
- /* Store the new position of the canvas in the metadata. */
- if (!nautilus_canvas_view_using_auto_layout (canvas_view))
- {
- position_string = g_strdup_printf
- ("%d,%d", position->x, position->y);
- nautilus_file_set_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_POSITION,
- NULL, position_string);
- g_free (position_string);
- }
-
-
- g_ascii_dtostr (scale_string, sizeof (scale_string), position->scale);
- nautilus_file_set_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_SCALE,
- "1.0", scale_string);
-}
-
static char *
get_icon_uri_callback (NautilusCanvasContainer *container,
NautilusFile *file,
@@ -1621,11 +1250,7 @@ nautilus_canvas_view_sort_directories_first_changed (NautilusFilesView *director
canvas_view = NAUTILUS_CANVAS_VIEW (directory_view);
- if (nautilus_canvas_view_using_auto_layout (canvas_view))
- {
- nautilus_canvas_container_sort
- (get_canvas_container (canvas_view));
- }
+ nautilus_canvas_container_sort (get_canvas_container (canvas_view));
}
static gboolean
@@ -1647,17 +1272,14 @@ canvas_view_get_container_uri (NautilusCanvasContainer *container,
static void
canvas_view_move_copy_items (NautilusCanvasContainer *container,
const GList *item_uris,
- GArray *relative_item_points,
const char *target_dir,
int copy_action,
- int x,
- int y,
NautilusFilesView *view)
{
nautilus_clipboard_clear_if_colliding_uris (GTK_WIDGET (view),
item_uris);
- nautilus_files_view_move_copy_items (view, item_uris, relative_item_points, target_dir,
- copy_action, x, y);
+ nautilus_files_view_move_copy_items (view, item_uris, target_dir,
+ copy_action);
}
static void
@@ -1675,95 +1297,16 @@ nautilus_canvas_view_update_click_mode (NautilusCanvasView *canvas_view)
click_mode == NAUTILUS_CLICK_POLICY_SINGLE);
}
-static gboolean
-get_stored_layout_timestamp (NautilusCanvasContainer *container,
- NautilusCanvasIconData *icon_data,
- time_t *timestamp,
- NautilusCanvasView *view)
-{
- NautilusFile *file;
- NautilusDirectory *directory;
-
- if (icon_data == NULL)
- {
- directory = nautilus_files_view_get_model (NAUTILUS_FILES_VIEW (view));
- if (directory == NULL)
- {
- return FALSE;
- }
-
- file = nautilus_directory_get_corresponding_file (directory);
- *timestamp = nautilus_file_get_time_metadata (file,
- NAUTILUS_METADATA_KEY_ICON_VIEW_LAYOUT_TIMESTAMP);
- nautilus_file_unref (file);
- }
- else
- {
- *timestamp = nautilus_file_get_time_metadata (NAUTILUS_FILE (icon_data),
- NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP);
- }
-
- return TRUE;
-}
-
-static gboolean
-store_layout_timestamp (NautilusCanvasContainer *container,
- NautilusCanvasIconData *icon_data,
- const time_t *timestamp,
- NautilusCanvasView *view)
-{
- NautilusFile *file;
- NautilusDirectory *directory;
-
- if (icon_data == NULL)
- {
- directory = nautilus_files_view_get_model (NAUTILUS_FILES_VIEW (view));
- if (directory == NULL)
- {
- return FALSE;
- }
-
- file = nautilus_directory_get_corresponding_file (directory);
- nautilus_file_set_time_metadata (file,
- NAUTILUS_METADATA_KEY_ICON_VIEW_LAYOUT_TIMESTAMP,
- (time_t) *timestamp);
- nautilus_file_unref (file);
- }
- else
- {
- nautilus_file_set_time_metadata (NAUTILUS_FILE (icon_data),
- NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP,
- (time_t) *timestamp);
- }
-
- return TRUE;
-}
-
-static NautilusCanvasContainer *
-create_canvas_container (NautilusCanvasView *canvas_view)
-{
- return NAUTILUS_CANVAS_VIEW_CLASS (G_OBJECT_GET_CLASS (canvas_view))->create_canvas_container
(canvas_view);
-}
-
-static NautilusCanvasContainer *
-real_create_canvas_container (NautilusCanvasView *canvas_view)
-{
- return nautilus_canvas_view_container_new (canvas_view);
-}
-
static void
initialize_canvas_container (NautilusCanvasView *canvas_view,
NautilusCanvasContainer *canvas_container)
{
GtkWidget *content_widget;
- NautilusCanvasViewPrivate *priv;
-
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
content_widget = nautilus_files_view_get_content_widget (NAUTILUS_FILES_VIEW (canvas_view));
- priv->canvas_container = GTK_WIDGET (canvas_container);
+ canvas_view->canvas_container = GTK_WIDGET (canvas_container);
g_object_add_weak_pointer (G_OBJECT (canvas_container),
- (gpointer *) &priv->canvas_container);
+ (gpointer *) &canvas_view->canvas_container);
gtk_widget_set_can_focus (GTK_WIDGET (canvas_container), TRUE);
@@ -1781,8 +1324,6 @@ initialize_canvas_container (NautilusCanvasView *canvas_view,
G_CALLBACK (canvas_container_context_click_selection_callback), canvas_view, 0);
g_signal_connect_object (canvas_container, "context-click-background",
G_CALLBACK (canvas_container_context_click_background_callback), canvas_view,
0);
- g_signal_connect_object (canvas_container, "icon-position-changed",
- G_CALLBACK (icon_position_changed_callback), canvas_view, 0);
g_signal_connect_object (canvas_container, "selection-changed",
G_CALLBACK (selection_changed_callback), canvas_view, 0);
/* FIXME: many of these should move into fm-canvas-container as virtual methods */
@@ -1798,21 +1339,6 @@ initialize_canvas_container (NautilusCanvasView *canvas_view,
G_CALLBACK (canvas_view_get_container_uri), canvas_view, 0);
g_signal_connect_object (canvas_container, "can-accept-item",
G_CALLBACK (canvas_view_can_accept_item), canvas_view, 0);
- g_signal_connect_object (canvas_container, "get-stored-icon-position",
- G_CALLBACK (get_stored_icon_position_callback), canvas_view, 0);
- g_signal_connect_object (canvas_container, "layout-changed",
- G_CALLBACK (layout_changed_callback), canvas_view, 0);
- g_signal_connect_object (canvas_container, "icon-stretch-started",
- G_CALLBACK (nautilus_files_view_update_context_menus), canvas_view,
- G_CONNECT_SWAPPED);
- g_signal_connect_object (canvas_container, "icon-stretch-ended",
- G_CALLBACK (nautilus_files_view_update_context_menus), canvas_view,
- G_CONNECT_SWAPPED);
-
- g_signal_connect_object (canvas_container, "get-stored-layout-timestamp",
- G_CALLBACK (get_stored_layout_timestamp), canvas_view, 0);
- g_signal_connect_object (canvas_container, "store-layout-timestamp",
- G_CALLBACK (store_layout_timestamp), canvas_view, 0);
gtk_container_add (GTK_CONTAINER (content_widget),
GTK_WIDGET (canvas_container));
@@ -1830,12 +1356,10 @@ canvas_view_handle_netscape_url (NautilusCanvasContainer *container,
const char *encoded_url,
const char *target_uri,
GdkDragAction action,
- int x,
- int y,
NautilusCanvasView *view)
{
nautilus_files_view_handle_netscape_url_drop (NAUTILUS_FILES_VIEW (view),
- encoded_url, target_uri, action, x, y);
+ encoded_url, target_uri, action);
}
static void
@@ -1843,12 +1367,10 @@ canvas_view_handle_uri_list (NautilusCanvasContainer *container,
const char *item_uris,
const char *target_uri,
GdkDragAction action,
- int x,
- int y,
NautilusCanvasView *view)
{
nautilus_files_view_handle_uri_list_drop (NAUTILUS_FILES_VIEW (view),
- item_uris, target_uri, action, x, y);
+ item_uris, target_uri, action);
}
static void
@@ -1856,12 +1378,10 @@ canvas_view_handle_text (NautilusCanvasContainer *container,
const char *text,
const char *target_uri,
GdkDragAction action,
- int x,
- int y,
NautilusCanvasView *view)
{
nautilus_files_view_handle_text_drop (NAUTILUS_FILES_VIEW (view),
- text, target_uri, action, x, y);
+ text, target_uri, action);
}
static void
@@ -1871,12 +1391,10 @@ canvas_view_handle_raw (NautilusCanvasContainer *container,
const char *target_uri,
const char *direct_save_uri,
GdkDragAction action,
- int x,
- int y,
NautilusCanvasView *view)
{
nautilus_files_view_handle_raw_drop (NAUTILUS_FILES_VIEW (view),
- raw_data, length, target_uri, direct_save_uri, action, x, y);
+ raw_data, length, target_uri, direct_save_uri, action);
}
static void
@@ -1935,60 +1453,12 @@ nautilus_canvas_view_get_id (NautilusFilesView *view)
}
static void
-nautilus_canvas_view_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- NautilusCanvasView *canvas_view;
- NautilusCanvasViewPrivate *priv;
-
- canvas_view = NAUTILUS_CANVAS_VIEW (object);
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
-
- switch (prop_id)
- {
- case PROP_SUPPORTS_AUTO_LAYOUT:
- {
- priv->supports_auto_layout = g_value_get_boolean (value);
- }
- break;
-
- case PROP_SUPPORTS_MANUAL_LAYOUT:
- {
- priv->supports_manual_layout = g_value_get_boolean (value);
- }
- break;
-
- case PROP_SUPPORTS_SCALING:
- {
- priv->supports_scaling = g_value_get_boolean (value);
- }
- break;
-
- case PROP_SUPPORTS_KEEP_ALIGNED:
- {
- priv->supports_keep_aligned = g_value_get_boolean (value);
- }
- break;
-
- default:
- {
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- }
- break;
- }
-}
-
-static void
nautilus_canvas_view_dispose (GObject *object)
{
NautilusCanvasView *canvas_view;
- NautilusCanvasViewPrivate *priv;
canvas_view = NAUTILUS_CANVAS_VIEW (object);
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
- priv->destroyed = TRUE;
+ canvas_view->destroyed = TRUE;
g_signal_handlers_disconnect_by_func (nautilus_preferences,
default_sort_order_changed_callback,
@@ -2014,13 +1484,10 @@ nautilus_canvas_view_class_init (NautilusCanvasViewClass *klass)
nautilus_files_view_class = NAUTILUS_FILES_VIEW_CLASS (klass);
oclass = G_OBJECT_CLASS (klass);
- oclass->set_property = nautilus_canvas_view_set_property;
oclass->dispose = nautilus_canvas_view_dispose;
GTK_WIDGET_CLASS (klass)->destroy = nautilus_canvas_view_destroy;
- klass->create_canvas_container = real_create_canvas_container;
-
nautilus_files_view_class->add_files = nautilus_canvas_view_add_files;
nautilus_files_view_class->begin_loading = nautilus_canvas_view_begin_loading;
nautilus_files_view_class->bump_zoom_level = nautilus_canvas_view_bump_zoom_level;
@@ -2046,58 +1513,23 @@ nautilus_canvas_view_class_init (NautilusCanvasViewClass *klass)
nautilus_files_view_class->click_policy_changed = nautilus_canvas_view_click_policy_changed;
nautilus_files_view_class->update_actions_state = nautilus_canvas_view_update_actions_state;
nautilus_files_view_class->sort_directories_first_changed =
nautilus_canvas_view_sort_directories_first_changed;
- nautilus_files_view_class->using_manual_layout = nautilus_canvas_view_using_manual_layout;
nautilus_files_view_class->widget_to_file_operation_position =
nautilus_canvas_view_widget_to_file_operation_position;
nautilus_files_view_class->get_view_id = nautilus_canvas_view_get_id;
nautilus_files_view_class->get_first_visible_file = canvas_view_get_first_visible_file;
nautilus_files_view_class->scroll_to_file = canvas_view_scroll_to_file;
-
- properties[PROP_SUPPORTS_AUTO_LAYOUT] =
- g_param_spec_boolean ("supports-auto-layout",
- "Supports auto layout",
- "Whether this view supports auto layout",
- TRUE,
- G_PARAM_WRITABLE |
- G_PARAM_CONSTRUCT_ONLY);
- properties[PROP_SUPPORTS_MANUAL_LAYOUT] =
- g_param_spec_boolean ("supports-manual-layout",
- "Supports manual layout",
- "Whether this view supports manual layout",
- FALSE,
- G_PARAM_WRITABLE |
- G_PARAM_CONSTRUCT_ONLY);
- properties[PROP_SUPPORTS_SCALING] =
- g_param_spec_boolean ("supports-scaling",
- "Supports scaling",
- "Whether this view supports scaling",
- FALSE,
- G_PARAM_WRITABLE |
- G_PARAM_CONSTRUCT_ONLY);
- properties[PROP_SUPPORTS_KEEP_ALIGNED] =
- g_param_spec_boolean ("supports-keep-aligned",
- "Supports keep aligned",
- "Whether this view supports keep aligned",
- FALSE,
- G_PARAM_WRITABLE |
- G_PARAM_CONSTRUCT_ONLY);
-
- g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
}
static void
nautilus_canvas_view_init (NautilusCanvasView *canvas_view)
{
- NautilusCanvasViewPrivate *priv;
NautilusCanvasContainer *canvas_container;
GActionGroup *view_action_group;
GtkClipboard *clipboard;
- priv = nautilus_canvas_view_get_instance_private (canvas_view);
-
- priv->sort = &sort_criteria[0];
- priv->destroyed = FALSE;
+ canvas_view->sort = &sort_criteria[0];
+ canvas_view->destroyed = FALSE;
- canvas_container = create_canvas_container (canvas_view);
+ canvas_container = nautilus_canvas_view_container_new (canvas_view);
initialize_canvas_container (canvas_view, canvas_container);
g_signal_connect_swapped (nautilus_preferences,
diff --git a/src/nautilus-canvas-view.h b/src/nautilus-canvas-view.h
index 799cc932d..86fbc2ea5 100644
--- a/src/nautilus-canvas-view.h
+++ b/src/nautilus-canvas-view.h
@@ -32,20 +32,11 @@ G_BEGIN_DECLS
#define NAUTILUS_TYPE_CANVAS_VIEW nautilus_canvas_view_get_type()
-G_DECLARE_DERIVABLE_TYPE (NautilusCanvasView, nautilus_canvas_view, NAUTILUS, CANVAS_VIEW, NautilusFilesView)
-
-struct _NautilusCanvasViewClass {
- NautilusFilesViewClass parent_class;
-
- NautilusCanvasContainer * (* create_canvas_container) (NautilusCanvasView *canvas_view);
-};
+G_DECLARE_FINAL_TYPE (NautilusCanvasView, nautilus_canvas_view, NAUTILUS, CANVAS_VIEW, NautilusFilesView)
int nautilus_canvas_view_compare_files (NautilusCanvasView *canvas_view,
NautilusFile *a,
NautilusFile *b);
-void nautilus_canvas_view_filter_by_screen (NautilusCanvasView *canvas_view,
- gboolean filter);
-void nautilus_canvas_view_clean_up_by_name (NautilusCanvasView *canvas_view);
NautilusFilesView * nautilus_canvas_view_new (NautilusWindowSlot *slot);
diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c
index 77d00d615..ae09247e7 100644
--- a/src/nautilus-dbus-manager.c
+++ b/src/nautilus-dbus-manager.c
@@ -112,9 +112,7 @@ handle_copy_uris (NautilusDBusFileOperations *object,
g_file_new_for_uri (sources[idx]));
}
- nautilus_file_operations_copy (source_files, NULL,
- dest_dir,
- NULL, NULL, NULL);
+ nautilus_file_operations_copy (source_files, dest_dir, NULL, NULL, NULL);
g_list_free_full (source_files, g_object_unref);
g_object_unref (dest_dir);
diff --git a/src/nautilus-directory-notify.h b/src/nautilus-directory-notify.h
index a55a8363f..92130e749 100644
--- a/src/nautilus-directory-notify.h
+++ b/src/nautilus-directory-notify.h
@@ -32,13 +32,6 @@ typedef struct {
GFile *to;
} GFilePair;
-typedef struct {
- GFile *location;
- gboolean set;
- GdkPoint point;
- int screen;
-} NautilusFileChangesQueuePosition;
-
/* Almost-public change notification calls */
void nautilus_directory_notify_files_added (GList *files);
void nautilus_directory_notify_files_moved (GList *file_pairs);
@@ -52,7 +45,6 @@ void nautilus_directory_schedule_metadata_remove (GList *files);
void nautilus_directory_schedule_metadata_copy_by_uri (GList *uri_pairs);
void nautilus_directory_schedule_metadata_move_by_uri (GList *uri_pairs);
void nautilus_directory_schedule_metadata_remove_by_uri (GList *uris);
-void nautilus_directory_schedule_position_set (GList *position_setting_list);
/* Change notification hack.
* This is called when code modifies the file and it needs to trigger
diff --git a/src/nautilus-directory.c b/src/nautilus-directory.c
index 26a5c4b76..884135ca3 100644
--- a/src/nautilus-directory.c
+++ b/src/nautilus-directory.c
@@ -1679,70 +1679,6 @@ nautilus_directory_notify_files_moved (GList *file_pairs)
g_list_free (new_files_list);
}
-void
-nautilus_directory_schedule_position_set (GList *position_setting_list)
-{
- GList *p;
- const NautilusFileChangesQueuePosition *item;
- NautilusFile *file;
- char str[64];
- time_t now;
-
- time (&now);
-
- for (p = position_setting_list; p != NULL; p = p->next)
- {
- item = (NautilusFileChangesQueuePosition *) p->data;
-
- file = nautilus_file_get (item->location);
-
- if (item->set)
- {
- g_snprintf (str, sizeof (str), "%d,%d", item->point.x, item->point.y);
- }
- else
- {
- str[0] = 0;
- }
- nautilus_file_set_metadata
- (file,
- NAUTILUS_METADATA_KEY_ICON_POSITION,
- NULL,
- str);
-
- if (item->set)
- {
- nautilus_file_set_time_metadata
- (file,
- NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP,
- now);
- }
- else
- {
- nautilus_file_set_time_metadata
- (file,
- NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP,
- UNDEFINED_TIME);
- }
-
- if (item->set)
- {
- g_snprintf (str, sizeof (str), "%d", item->screen);
- }
- else
- {
- str[0] = 0;
- }
- nautilus_file_set_metadata
- (file,
- NAUTILUS_METADATA_KEY_SCREEN,
- NULL,
- str);
-
- nautilus_file_unref (file);
- }
-}
-
gboolean
nautilus_directory_contains_file (NautilusDirectory *directory,
NautilusFile *file)
diff --git a/src/nautilus-dnd.c b/src/nautilus-dnd.c
index 575d12f2a..4ead3f831 100644
--- a/src/nautilus-dnd.c
+++ b/src/nautilus-dnd.c
@@ -332,42 +332,6 @@ nautilus_drag_items_local (const char *target_uri_string,
((NautilusDragSelectionItem *) selection_list->data)->uri);
}
-gboolean
-nautilus_drag_items_on_desktop (const GList *selection_list)
-{
- char *uri;
- GFile *desktop, *item, *parent;
- gboolean result;
-
- /* check if the first item on the list is in trash.
- * FIXME:
- * we should really test each item but that would be slow for large selections
- * and currently dropped items can only be from the same container
- */
- uri = ((NautilusDragSelectionItem *) selection_list->data)->uri;
- if (eel_uri_is_desktop (uri))
- {
- return TRUE;
- }
-
- desktop = nautilus_get_desktop_location ();
-
- item = g_file_new_for_uri (uri);
- parent = g_file_get_parent (item);
- g_object_unref (item);
-
- result = FALSE;
-
- if (parent)
- {
- result = g_file_equal (desktop, parent);
- g_object_unref (parent);
- }
- g_object_unref (desktop);
-
- return result;
-}
-
GdkDragAction
nautilus_drag_default_drop_action_for_netscape_url (GdkDragContext *context)
{
@@ -535,14 +499,6 @@ nautilus_drag_default_drop_action_for_icons (GdkDragContext *context,
dropped_file = ((NautilusDragSelectionItem *) items->data)->file;
target_file = nautilus_file_get_by_uri (target_uri_string);
- if (eel_uri_is_desktop (dropped_uri) &&
- !eel_uri_is_desktop (target_uri_string))
- {
- /* Desktop items only move on the desktop */
- *action = 0;
- return;
- }
-
/*
* Check for trash URI. We do a find_directory for any Trash directory.
* Passing 0 permissions as gnome-vfs would override the permissions
@@ -567,26 +523,6 @@ nautilus_drag_default_drop_action_for_icons (GdkDragContext *context,
nautilus_file_unref (target_file);
return;
}
- else if (eel_uri_is_desktop (target_uri_string))
- {
- target = nautilus_get_desktop_location ();
-
- nautilus_file_unref (target_file);
- target_file = nautilus_file_get (target);
-
- if (eel_uri_is_desktop (dropped_uri))
- {
- /* Only move to Desktop icons */
- if (actions & GDK_ACTION_MOVE)
- {
- *action = GDK_ACTION_MOVE;
- }
-
- g_object_unref (target);
- nautilus_file_unref (target_file);
- return;
- }
- }
else if (target_file != NULL && nautilus_file_is_archive (target_file))
{
*action = GDK_ACTION_COPY;
@@ -1050,22 +986,3 @@ nautilus_drag_autoscroll_stop (NautilusDragInfo *drag_info)
drag_info->auto_scroll_timeout_id = 0;
}
}
-
-gboolean
-nautilus_drag_selection_includes_special_link (GList *selection_list)
-{
- GList *node;
- char *uri;
-
- for (node = selection_list; node != NULL; node = node->next)
- {
- uri = ((NautilusDragSelectionItem *) node->data)->uri;
-
- if (eel_uri_is_desktop (uri))
- {
- return TRUE;
- }
- }
-
- return FALSE;
-}
diff --git a/src/nautilus-dnd.h b/src/nautilus-dnd.h
index d4d3bb853..551b21278 100644
--- a/src/nautilus-dnd.h
+++ b/src/nautilus-dnd.h
@@ -106,7 +106,6 @@ gboolean nautilus_drag_items_local (const char
*target_uri,
const GList
*selection_list);
gboolean nautilus_drag_uris_local (const char
*target_uri,
const GList
*source_uri_list);
-gboolean nautilus_drag_items_on_desktop (const GList
*selection_list);
void nautilus_drag_default_drop_action_for_icons (GdkDragContext
*context,
const char
*target_uri,
const GList
*items,
@@ -138,8 +137,6 @@ void nautilus_drag_autoscroll_start
(NautilusDragInfo *drag_info,
gpointer
user_data);
void nautilus_drag_autoscroll_stop (NautilusDragInfo
*drag_info);
-gboolean nautilus_drag_selection_includes_special_link (GList
*selection_list);
-
NautilusDragInfo * nautilus_drag_get_source_data (GdkDragContext
*context);
GList * nautilus_drag_file_list_from_selection_list (const GList
*selection_list);
diff --git a/src/nautilus-file-changes-queue.c b/src/nautilus-file-changes-queue.c
index 44c2d55c3..8f042fa7f 100644
--- a/src/nautilus-file-changes-queue.c
+++ b/src/nautilus-file-changes-queue.c
@@ -29,8 +29,6 @@ typedef enum
CHANGE_FILE_CHANGED,
CHANGE_FILE_REMOVED,
CHANGE_FILE_MOVED,
- CHANGE_POSITION_SET,
- CHANGE_POSITION_REMOVE
} NautilusFileChangeKind;
typedef struct
@@ -147,38 +145,6 @@ nautilus_file_changes_queue_file_moved (GFile *from,
nautilus_file_changes_queue_add_common (queue, new_item);
}
-void
-nautilus_file_changes_queue_schedule_position_set (GFile *location,
- GdkPoint point,
- int screen)
-{
- NautilusFileChange *new_item;
- NautilusFileChangesQueue *queue;
-
- queue = nautilus_file_changes_queue_get ();
-
- new_item = g_new (NautilusFileChange, 1);
- new_item->kind = CHANGE_POSITION_SET;
- new_item->from = g_object_ref (location);
- new_item->point = point;
- new_item->screen = screen;
- nautilus_file_changes_queue_add_common (queue, new_item);
-}
-
-void
-nautilus_file_changes_queue_schedule_position_remove (GFile *location)
-{
- NautilusFileChange *new_item;
- NautilusFileChangesQueue *queue;
-
- queue = nautilus_file_changes_queue_get ();
-
- new_item = g_new (NautilusFileChange, 1);
- new_item->kind = CHANGE_POSITION_REMOVE;
- new_item->from = g_object_ref (location);
- nautilus_file_changes_queue_add_common (queue, new_item);
-}
-
static NautilusFileChange *
nautilus_file_changes_queue_get_change (NautilusFileChangesQueue *queue)
{
@@ -234,21 +200,6 @@ pairs_list_free (GList *pairs)
g_list_free_full (pairs, g_free);
}
-static void
-position_set_list_free (GList *list)
-{
- GList *p;
- NautilusFileChangesQueuePosition *item;
-
- for (p = list; p != NULL; p = p->next)
- {
- item = p->data;
- g_object_unref (item->location);
- }
- /* delete the list and the now empty structs */
- g_list_free_full (list, g_free);
-}
-
/* go through changes in the change queue, send ones with the same kind
* in a list to the different nautilus_directory_notify calls
*/
@@ -257,9 +208,7 @@ nautilus_file_changes_consume_changes (gboolean consume_all)
{
NautilusFileChange *change;
GList *additions, *changes, *deletions, *moves;
- GList *position_set_requests;
GFilePair *pair;
- NautilusFileChangesQueuePosition *position_set;
guint chunk_count;
NautilusFileChangesQueue *queue;
gboolean flush_needed;
@@ -269,7 +218,6 @@ nautilus_file_changes_consume_changes (gboolean consume_all)
changes = NULL;
deletions = NULL;
moves = NULL;
- position_set_requests = NULL;
queue = nautilus_file_changes_queue_get ();
@@ -292,27 +240,17 @@ nautilus_file_changes_consume_changes (gboolean consume_all)
else
{
flush_needed = additions != NULL
- && change->kind != CHANGE_FILE_ADDED
- && change->kind != CHANGE_POSITION_SET
- && change->kind != CHANGE_POSITION_REMOVE;
+ && change->kind != CHANGE_FILE_ADDED;
flush_needed |= changes != NULL
&& change->kind != CHANGE_FILE_CHANGED;
flush_needed |= moves != NULL
- && change->kind != CHANGE_FILE_MOVED
- && change->kind != CHANGE_POSITION_SET
- && change->kind != CHANGE_POSITION_REMOVE;
+ && change->kind != CHANGE_FILE_MOVED;
flush_needed |= deletions != NULL
&& change->kind != CHANGE_FILE_REMOVED;
- flush_needed |= position_set_requests != NULL
- && change->kind != CHANGE_POSITION_SET
- && change->kind != CHANGE_POSITION_REMOVE
- && change->kind != CHANGE_FILE_ADDED
- && change->kind != CHANGE_FILE_MOVED;
-
flush_needed |= !consume_all && chunk_count >= CONSUME_CHANGES_MAX_CHUNK;
/* we have reached the chunk maximum */
}
@@ -352,13 +290,6 @@ nautilus_file_changes_consume_changes (gboolean consume_all)
g_list_free_full (changes, g_object_unref);
changes = NULL;
}
- if (position_set_requests != NULL)
- {
- position_set_requests = g_list_reverse (position_set_requests);
- nautilus_directory_schedule_position_set (position_set_requests);
- position_set_list_free (position_set_requests);
- position_set_requests = NULL;
- }
}
if (change == NULL)
@@ -397,28 +328,6 @@ nautilus_file_changes_consume_changes (gboolean consume_all)
}
break;
- case CHANGE_POSITION_SET:
- {
- position_set = g_new (NautilusFileChangesQueuePosition, 1);
- position_set->location = change->from;
- position_set->set = TRUE;
- position_set->point = change->point;
- position_set->screen = change->screen;
- position_set_requests = g_list_prepend (position_set_requests,
- position_set);
- }
- break;
-
- case CHANGE_POSITION_REMOVE:
- {
- position_set = g_new (NautilusFileChangesQueuePosition, 1);
- position_set->location = change->from;
- position_set->set = FALSE;
- position_set_requests = g_list_prepend (position_set_requests,
- position_set);
- }
- break;
-
default:
{
g_assert_not_reached ();
diff --git a/src/nautilus-file-changes-queue.h b/src/nautilus-file-changes-queue.h
index aa75238c6..f851b4cbf 100644
--- a/src/nautilus-file-changes-queue.h
+++ b/src/nautilus-file-changes-queue.h
@@ -28,10 +28,6 @@ void nautilus_file_changes_queue_file_changed (GFile *lo
void nautilus_file_changes_queue_file_removed (GFile *location);
void nautilus_file_changes_queue_file_moved (GFile *from,
GFile *to);
-void nautilus_file_changes_queue_schedule_position_set (GFile *location,
- GdkPoint point,
- int screen);
-void nautilus_file_changes_queue_schedule_position_remove (GFile *location);
void nautilus_file_changes_consume_changes (gboolean consume_all);
diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c
index 546acf835..b5a235f31 100644
--- a/src/nautilus-file-operations.c
+++ b/src/nautilus-file-operations.c
@@ -89,8 +89,6 @@ typedef struct
GFile *destination;
GFile *desktop_location;
GFile *fake_display_source;
- GdkPoint *icon_positions;
- int n_icon_positions;
GHashTable *debuting_files;
gchar *target_name;
NautilusCopyCallback done_callback;
@@ -116,8 +114,6 @@ typedef struct
GFile *src;
char *src_data;
int length;
- GdkPoint position;
- gboolean has_position;
GFile *created_file;
NautilusCreateCallback done_callback;
gpointer done_callback_data;
@@ -4439,7 +4435,6 @@ static void copy_move_file (CopyMoveJob *job,
SourceInfo *source_info,
TransferInfo *transfer_info,
GHashTable *debuting_files,
- GdkPoint *point,
gboolean overwrite,
gboolean *skipped_file,
gboolean readonly_source_fs);
@@ -4671,7 +4666,7 @@ retry:
src_file = g_file_get_child (src,
g_file_info_get_name (info));
copy_move_file (copy_job, src_file, *dest, same_fs, FALSE, &dest_fs_type,
- source_info, transfer_info, NULL, NULL, FALSE, &local_skipped_file,
+ source_info, transfer_info, NULL, FALSE, &local_skipped_file,
readonly_source_fs);
if (local_skipped_file)
@@ -5071,7 +5066,6 @@ copy_move_file (CopyMoveJob *copy_job,
SourceInfo *source_info,
TransferInfo *transfer_info,
GHashTable *debuting_files,
- GdkPoint *position,
gboolean overwrite,
gboolean *skipped_file,
gboolean readonly_source_fs)
@@ -5263,14 +5257,6 @@ retry:
if (debuting_files)
{
dest_uri = g_file_get_uri (dest);
- if (position)
- {
- nautilus_file_changes_queue_schedule_position_set (dest, *position, job->screen_num);
- }
- else if (eel_uri_is_desktop (dest_uri))
- {
- nautilus_file_changes_queue_schedule_position_remove (dest);
- }
g_hash_table_replace (debuting_files, g_object_ref (dest), GINT_TO_POINTER (TRUE));
}
@@ -5594,7 +5580,6 @@ copy_files (CopyMoveJob *job,
GFile *src;
gboolean same_fs;
int i;
- GdkPoint *point;
gboolean skipped_file;
gboolean unique_names;
GFile *dest;
@@ -5631,16 +5616,6 @@ copy_files (CopyMoveJob *job,
{
src = l->data;
- if (i < job->n_icon_positions)
- {
- point = &job->icon_positions[i];
- }
- else
- {
- point = NULL;
- }
-
-
same_fs = FALSE;
if (dest_fs_id)
{
@@ -5663,7 +5638,7 @@ copy_files (CopyMoveJob *job,
&dest_fs_type,
source_info, transfer_info,
job->debuting_files,
- point, FALSE, &skipped_file,
+ FALSE, &skipped_file,
readonly_source_fs);
g_object_unref (dest);
@@ -5704,7 +5679,6 @@ copy_task_done (GObject *source_object,
g_object_unref (job->desktop_location);
}
g_hash_table_unref (job->debuting_files);
- g_free (job->icon_positions);
g_free (job->target_name);
g_clear_object (&job->fake_display_source);
@@ -5814,7 +5788,6 @@ nautilus_file_operations_copy_file (GFile *source_file,
void
nautilus_file_operations_copy (GList *files,
- GArray *relative_item_points,
GFile *target_dir,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
@@ -5832,14 +5805,6 @@ nautilus_file_operations_copy (GList *files,
/* Need to indicate the destination for the operation notification open
* button. */
nautilus_progress_info_set_destination (((CommonJob *) job)->progress, target_dir);
- if (relative_item_points != NULL &&
- relative_item_points->len > 0)
- {
- job->icon_positions =
- g_memdup (relative_item_points->data,
- sizeof (GdkPoint) * relative_item_points->len);
- job->n_icon_positions = relative_item_points->len;
- }
job->debuting_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref,
NULL);
inhibit_power_manager ((CommonJob *) job, _("Copying Files"));
@@ -5890,29 +5855,17 @@ typedef struct
{
GFile *file;
gboolean overwrite;
- gboolean has_position;
- GdkPoint position;
} MoveFileCopyFallback;
static MoveFileCopyFallback *
move_copy_file_callback_new (GFile *file,
- gboolean overwrite,
- GdkPoint *position)
+ gboolean overwrite)
{
MoveFileCopyFallback *fallback;
fallback = g_new (MoveFileCopyFallback, 1);
fallback->file = file;
fallback->overwrite = overwrite;
- if (position)
- {
- fallback->has_position = TRUE;
- fallback->position = *position;
- }
- else
- {
- fallback->has_position = FALSE;
- }
return fallback;
}
@@ -5939,7 +5892,6 @@ move_file_prepare (CopyMoveJob *move_job,
gboolean same_fs,
char **dest_fs_type,
GHashTable *debuting_files,
- GdkPoint *position,
GList **fallback_files,
int files_left)
{
@@ -6028,14 +5980,6 @@ retry:
nautilus_file_changes_queue_file_moved (src, dest);
dest_uri = g_file_get_uri (dest);
- if (position)
- {
- nautilus_file_changes_queue_schedule_position_set (dest, *position, job->screen_num);
- }
- else if (eel_uri_is_desktop (dest_uri))
- {
- nautilus_file_changes_queue_schedule_position_remove (dest);
- }
if (job->undo_info != NULL)
{
@@ -6159,8 +6103,7 @@ retry:
g_error_free (error);
fallback = move_copy_file_callback_new (src,
- overwrite,
- position);
+ overwrite);
*fallback_files = g_list_prepend (*fallback_files, fallback);
}
else if (IS_IO_ERROR (error, CANCELLED))
@@ -6228,7 +6171,6 @@ move_files_prepare (CopyMoveJob *job,
GFile *src;
gboolean same_fs;
int i;
- GdkPoint *point;
int total, left;
common = &job->common;
@@ -6244,16 +6186,6 @@ move_files_prepare (CopyMoveJob *job,
{
src = l->data;
- if (i < job->n_icon_positions)
- {
- point = &job->icon_positions[i];
- }
- else
- {
- point = NULL;
- }
-
-
same_fs = FALSE;
if (dest_fs_id)
{
@@ -6263,7 +6195,6 @@ move_files_prepare (CopyMoveJob *job,
move_file_prepare (job, src, job->destination,
same_fs, dest_fs_type,
job->debuting_files,
- point,
fallbacks,
left);
report_preparing_move_progress (job, total, --left);
@@ -6286,7 +6217,6 @@ move_files (CopyMoveJob *job,
GFile *src;
gboolean same_fs;
int i;
- GdkPoint *point;
gboolean skipped_file;
MoveFileCopyFallback *fallback;
common = &job->common;
@@ -6301,15 +6231,6 @@ move_files (CopyMoveJob *job,
fallback = l->data;
src = fallback->file;
- if (fallback->has_position)
- {
- point = &fallback->position;
- }
- else
- {
- point = NULL;
- }
-
same_fs = FALSE;
if (dest_fs_id)
{
@@ -6323,7 +6244,7 @@ move_files (CopyMoveJob *job,
same_fs, FALSE, dest_fs_type,
source_info, transfer_info,
job->debuting_files,
- point, fallback->overwrite, &skipped_file, FALSE);
+ fallback->overwrite, &skipped_file, FALSE);
i++;
if (skipped_file)
@@ -6353,7 +6274,6 @@ move_task_done (GObject *source_object,
g_list_free_full (job->files, g_object_unref);
g_object_unref (job->destination);
g_hash_table_unref (job->debuting_files);
- g_free (job->icon_positions);
finalize_common ((CommonJob *) job);
@@ -6435,7 +6355,6 @@ aborted:
void
nautilus_file_operations_move (GList *files,
- GArray *relative_item_points,
GFile *target_dir,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
@@ -6453,14 +6372,6 @@ nautilus_file_operations_move (GList *files,
/* Need to indicate the destination for the operation notification open
* button. */
nautilus_progress_info_set_destination (((CommonJob *) job)->progress, target_dir);
- if (relative_item_points != NULL &&
- relative_item_points->len > 0)
- {
- job->icon_positions =
- g_memdup (relative_item_points->data,
- sizeof (GdkPoint) * relative_item_points->len);
- job->n_icon_positions = relative_item_points->len;
- }
job->debuting_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref,
NULL);
inhibit_power_manager ((CommonJob *) job, _("Moving Files"));
@@ -6549,7 +6460,6 @@ link_file (CopyMoveJob *job,
GFile *dest_dir,
char **dest_fs_type,
GHashTable *debuting_files,
- GdkPoint *position,
int files_left)
{
GFile *src_dir;
@@ -6608,14 +6518,6 @@ retry:
nautilus_file_changes_queue_file_added (dest);
dest_uri = g_file_get_uri (dest);
- if (position)
- {
- nautilus_file_changes_queue_schedule_position_set (dest, *position, common->screen_num);
- }
- else if (eel_uri_is_desktop (dest_uri))
- {
- nautilus_file_changes_queue_schedule_position_remove (dest);
- }
return;
}
@@ -6738,7 +6640,6 @@ link_task_done (GObject *source_object,
g_list_free_full (job->files, g_object_unref);
g_object_unref (job->destination);
g_hash_table_unref (job->debuting_files);
- g_free (job->icon_positions);
finalize_common ((CommonJob *) job);
@@ -6754,7 +6655,6 @@ link_task_thread_func (GTask *task,
CopyMoveJob *job;
CommonJob *common;
GFile *src;
- GdkPoint *point;
g_autofree char *dest_fs_type = NULL;
int total, left;
int i;
@@ -6785,19 +6685,9 @@ link_task_thread_func (GTask *task,
{
src = l->data;
- if (i < job->n_icon_positions)
- {
- point = &job->icon_positions[i];
- }
- else
- {
- point = NULL;
- }
-
-
link_file (job, src, job->destination,
&dest_fs_type, job->debuting_files,
- point, left);
+ left);
report_preparing_link_progress (job, total, --left);
i++;
}
@@ -6805,7 +6695,6 @@ link_task_thread_func (GTask *task,
void
nautilus_file_operations_link (GList *files,
- GArray *relative_item_points,
GFile *target_dir,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
@@ -6822,14 +6711,6 @@ nautilus_file_operations_link (GList *files,
/* Need to indicate the destination for the operation notification open
* button. */
nautilus_progress_info_set_destination (((CommonJob *) job)->progress, target_dir);
- if (relative_item_points != NULL &&
- relative_item_points->len > 0)
- {
- job->icon_positions =
- g_memdup (relative_item_points->data,
- sizeof (GdkPoint) * relative_item_points->len);
- job->n_icon_positions = relative_item_points->len;
- }
job->debuting_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref,
NULL);
if (!nautilus_file_undo_manager_is_operating ())
@@ -6851,7 +6732,6 @@ nautilus_file_operations_link (GList *files,
void
nautilus_file_operations_duplicate (GList *files,
- GArray *relative_item_points,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
gpointer done_callback_data)
@@ -6871,14 +6751,6 @@ nautilus_file_operations_duplicate (GList *files,
/* Need to indicate the destination for the operation notification open
* button. */
nautilus_progress_info_set_destination (((CommonJob *) job)->progress, parent);
- if (relative_item_points != NULL &&
- relative_item_points->len > 0)
- {
- job->icon_positions =
- g_memdup (relative_item_points->data,
- sizeof (GdkPoint) * relative_item_points->len);
- job->n_icon_positions = relative_item_points->len;
- }
job->debuting_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref,
NULL);
if (!nautilus_file_undo_manager_is_operating ())
@@ -7107,7 +6979,6 @@ callback_for_move_to_trash (GHashTable *debuting_uris,
void
nautilus_file_operations_copy_move (const GList *item_uris,
- GArray *relative_item_points,
const char *target_dir,
GdkDragAction copy_action,
GtkWidget *parent_view,
@@ -7166,14 +7037,12 @@ nautilus_file_operations_copy_move (const GList *item_uris,
g_file_equal (src_dir, dest)))
{
nautilus_file_operations_duplicate (locations,
- relative_item_points,
parent_window,
done_callback, done_callback_data);
}
else
{
nautilus_file_operations_copy (locations,
- relative_item_points,
dest,
parent_window,
done_callback, done_callback_data);
@@ -7201,7 +7070,6 @@ nautilus_file_operations_copy_move (const GList *item_uris,
else
{
nautilus_file_operations_move (locations,
- relative_item_points,
dest,
parent_window,
done_callback, done_callback_data);
@@ -7210,7 +7078,6 @@ nautilus_file_operations_copy_move (const GList *item_uris,
else
{
nautilus_file_operations_link (locations,
- relative_item_points,
dest,
parent_window,
done_callback, done_callback_data);
@@ -7473,14 +7340,6 @@ retry:
job->created_file = g_object_ref (dest);
nautilus_file_changes_queue_file_added (dest);
dest_uri = g_file_get_uri (dest);
- if (job->has_position)
- {
- nautilus_file_changes_queue_schedule_position_set (dest, job->position, common->screen_num);
- }
- else if (eel_uri_is_desktop (dest_uri))
- {
- nautilus_file_changes_queue_schedule_position_remove (dest);
- }
}
else
{
@@ -7656,7 +7515,6 @@ retry:
void
nautilus_file_operations_new_folder (GtkWidget *parent_view,
- GdkPoint *target_point,
const char *parent_dir,
const char *folder_name,
NautilusCreateCallback done_callback,
@@ -7678,11 +7536,6 @@ nautilus_file_operations_new_folder (GtkWidget *parent_view,
job->dest_dir = g_file_new_for_uri (parent_dir);
job->filename = g_strdup (folder_name);
job->make_dir = TRUE;
- if (target_point != NULL)
- {
- job->position = *target_point;
- job->has_position = TRUE;
- }
if (!nautilus_file_undo_manager_is_operating ())
{
@@ -7696,7 +7549,6 @@ nautilus_file_operations_new_folder (GtkWidget *parent_view,
void
nautilus_file_operations_new_file_from_template (GtkWidget *parent_view,
- GdkPoint *target_point,
const char *parent_dir,
const char *target_filename,
const char *template_uri,
@@ -7717,11 +7569,6 @@ nautilus_file_operations_new_file_from_template (GtkWidget *parent_
job->done_callback = done_callback;
job->done_callback_data = done_callback_data;
job->dest_dir = g_file_new_for_uri (parent_dir);
- if (target_point != NULL)
- {
- job->position = *target_point;
- job->has_position = TRUE;
- }
job->filename = g_strdup (target_filename);
if (template_uri)
@@ -7741,7 +7588,6 @@ nautilus_file_operations_new_file_from_template (GtkWidget *parent_
void
nautilus_file_operations_new_file (GtkWidget *parent_view,
- GdkPoint *target_point,
const char *parent_dir,
const char *target_filename,
const char *initial_contents,
@@ -7763,11 +7609,6 @@ nautilus_file_operations_new_file (GtkWidget *parent_view,
job->done_callback = done_callback;
job->done_callback_data = done_callback_data;
job->dest_dir = g_file_new_for_uri (parent_dir);
- if (target_point != NULL)
- {
- job->position = *target_point;
- job->has_position = TRUE;
- }
job->src_data = g_memdup (initial_contents, length);
job->length = length;
job->filename = g_strdup (target_filename);
diff --git a/src/nautilus-file-operations.h b/src/nautilus-file-operations.h
index a479ee6e0..e8c6ed393 100644
--- a/src/nautilus-file-operations.h
+++ b/src/nautilus-file-operations.h
@@ -52,7 +52,6 @@ typedef void (* NautilusExtractCallback) (GList *outputs,
/* FIXME: int copy_action should be an enum */
void nautilus_file_operations_copy_move (const GList *item_uris,
- GArray *relative_item_points,
const char *target_dir_uri,
GdkDragAction copy_action,
GtkWidget *parent_view,
@@ -67,13 +66,11 @@ void nautilus_file_operations_copy_file (GFile *source_file,
gpointer done_callback_data);
void nautilus_file_operations_empty_trash (GtkWidget *parent_view);
void nautilus_file_operations_new_folder (GtkWidget *parent_view,
- GdkPoint *target_point,
const char *parent_dir_uri,
const char *folder_name,
NautilusCreateCallback done_callback,
gpointer done_callback_data);
void nautilus_file_operations_new_file (GtkWidget *parent_view,
- GdkPoint *target_point,
const char *parent_dir,
const char *target_filename,
const char *initial_contents,
@@ -81,7 +78,6 @@ void nautilus_file_operations_new_file (GtkWidget *parent_vie
NautilusCreateCallback done_callback,
gpointer data);
void nautilus_file_operations_new_file_from_template (GtkWidget *parent_view,
- GdkPoint *target_point,
const char *parent_dir,
const char *target_filename,
const char *template_uri,
@@ -124,24 +120,20 @@ void nautilus_file_operations_mount_volume_full (GtkWindow
GObject *mount_callback_data_object);
void nautilus_file_operations_copy (GList *files,
- GArray *relative_item_points,
GFile *target_dir,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
gpointer done_callback_data);
void nautilus_file_operations_move (GList *files,
- GArray *relative_item_points,
GFile *target_dir,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
gpointer done_callback_data);
void nautilus_file_operations_duplicate (GList *files,
- GArray *relative_item_points,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
gpointer done_callback_data);
void nautilus_file_operations_link (GList *files,
- GArray *relative_item_points,
GFile *target_dir,
GtkWindow *parent_window,
NautilusCopyCallback done_callback,
diff --git a/src/nautilus-file-undo-operations.c b/src/nautilus-file-undo-operations.c
index e971274ef..73ad6ff05 100644
--- a/src/nautilus-file-undo-operations.c
+++ b/src/nautilus-file-undo-operations.c
@@ -541,7 +541,6 @@ ext_create_link_redo_func (NautilusFileUndoInfoExt *self,
GtkWindow *parent_window)
{
nautilus_file_operations_link (g_queue_peek_head_link (self->priv->sources),
- NULL,
self->priv->dest_dir,
parent_window,
file_undo_info_transfer_callback,
@@ -553,7 +552,6 @@ ext_duplicate_redo_func (NautilusFileUndoInfoExt *self,
GtkWindow *parent_window)
{
nautilus_file_operations_duplicate (g_queue_peek_head_link (self->priv->sources),
- NULL,
parent_window,
file_undo_info_transfer_callback,
self);
@@ -564,7 +562,6 @@ ext_copy_redo_func (NautilusFileUndoInfoExt *self,
GtkWindow *parent_window)
{
nautilus_file_operations_copy (g_queue_peek_head_link (self->priv->sources),
- NULL,
self->priv->dest_dir,
parent_window,
file_undo_info_transfer_callback,
@@ -576,7 +573,6 @@ ext_move_restore_redo_func (NautilusFileUndoInfoExt *self,
GtkWindow *parent_window)
{
nautilus_file_operations_move (g_queue_peek_head_link (self->priv->sources),
- NULL,
self->priv->dest_dir,
parent_window,
file_undo_info_transfer_callback,
@@ -629,7 +625,6 @@ ext_move_undo_func (NautilusFileUndoInfoExt *self,
GtkWindow *parent_window)
{
nautilus_file_operations_move (g_queue_peek_head_link (self->priv->destinations),
- NULL,
self->priv->src_dir,
parent_window,
file_undo_info_transfer_callback,
@@ -822,7 +817,7 @@ create_from_template_redo_func (NautilusFileUndoInfoCreate *self,
parent = g_file_get_parent (self->priv->target_file);
parent_uri = g_file_get_uri (parent);
new_name = g_file_get_parse_name (self->priv->target_file);
- nautilus_file_operations_new_file_from_template (NULL, NULL,
+ nautilus_file_operations_new_file_from_template (NULL,
parent_uri, new_name,
self->priv->template,
create_callback, self);
@@ -843,7 +838,7 @@ create_folder_redo_func (NautilusFileUndoInfoCreate *self,
name = g_file_get_basename (self->priv->target_file);
parent = g_file_get_parent (self->priv->target_file);
parent_uri = g_file_get_uri (parent);
- nautilus_file_operations_new_folder (NULL, NULL, parent_uri, name,
+ nautilus_file_operations_new_folder (NULL, parent_uri, name,
create_callback, self);
g_free (name);
@@ -862,7 +857,7 @@ create_empty_redo_func (NautilusFileUndoInfoCreate *self,
parent = g_file_get_parent (self->priv->target_file);
parent_uri = g_file_get_uri (parent);
new_name = g_file_get_parse_name (self->priv->target_file);
- nautilus_file_operations_new_file (NULL, NULL, parent_uri,
+ nautilus_file_operations_new_file (NULL, parent_uri,
new_name,
self->priv->template,
self->priv->length,
diff --git a/src/nautilus-file-utilities.c b/src/nautilus-file-utilities.c
index 65b50fa14..e0524038f 100644
--- a/src/nautilus-file-utilities.c
+++ b/src/nautilus-file-utilities.c
@@ -946,7 +946,7 @@ ensure_dirs_task_ready_cb (GObject *_source,
locations = locations_from_file_list (files);
nautilus_file_operations_move
- (locations, NULL,
+ (locations,
original_dir_location,
data->parent_window,
NULL, NULL);
diff --git a/src/nautilus-files-view-dnd.c b/src/nautilus-files-view-dnd.c
index 656229728..ca4714ee6 100644
--- a/src/nautilus-files-view-dnd.c
+++ b/src/nautilus-files-view-dnd.c
@@ -43,39 +43,12 @@
#define GET_ANCESTOR(obj) \
GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (obj), GTK_TYPE_WINDOW))
-static inline void
-view_widget_to_file_operation_position (NautilusFilesView *view,
- GdkPoint *position)
-{
- NautilusFilesViewClass *class = NAUTILUS_FILES_VIEW_GET_CLASS (view);
-
- if (class->widget_to_file_operation_position != NULL)
- {
- class->widget_to_file_operation_position (view, position);
- }
-}
-
-static void
-view_widget_to_file_operation_position_xy (NautilusFilesView *view,
- int *x,
- int *y)
-{
- GdkPoint position;
-
- position.x = *x;
- position.y = *y;
- view_widget_to_file_operation_position (view, &position);
- *x = position.x;
- *y = position.y;
-}
-
typedef struct
{
NautilusFilesView *view;
char *link_name;
char *target_uri;
char *url;
- GdkPoint point;
} NetscapeUrlDropLink;
static void
@@ -142,7 +115,6 @@ handle_netscape_url_drop_link_cb (GObject *source_object,
link_display_name,
icon_name,
data->url,
- &data->point,
screen_num,
TRUE);
@@ -161,13 +133,10 @@ void
nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
const char *encoded_url,
const char *target_uri,
- GdkDragAction action,
- int x,
- int y)
+ GdkDragAction action)
{
char *url, *title;
char *link_name;
- GArray *points = NULL;
char **bits;
GList *uri_list = NULL;
GFile *f;
@@ -209,8 +178,6 @@ nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
f = g_file_new_for_uri (url);
- view_widget_to_file_operation_position_xy (view, &x, &y);
-
/* We don't support GDK_ACTION_ASK or GDK_ACTION_PRIVATE
* and we don't support combinations either. */
if ((action != GDK_ACTION_DEFAULT) &&
@@ -241,8 +208,6 @@ nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
data = g_slice_new0 (NetscapeUrlDropLink);
data->link_name = link_name;
- data->point.x = x;
- data->point.y = y;
data->view = g_object_ref (view);
data->target_uri = g_strdup (target_uri);
data->url = g_strdup (url);
@@ -256,22 +221,13 @@ nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
}
else
{
- GdkPoint tmp_point = { 0, 0 };
-
- if (eel_uri_is_desktop (target_uri))
- {
- /* pass in a 1-item array of icon positions, relative to x, y */
- points = g_array_new (FALSE, TRUE, sizeof (GdkPoint));
- g_array_append_val (points, tmp_point);
- }
uri_list = g_list_append (uri_list, url);
- nautilus_files_view_move_copy_items (view, uri_list, points,
+ nautilus_files_view_move_copy_items (view, uri_list,
target_uri,
- action, x, y);
+ action);
g_list_free (uri_list);
- g_array_free (points, TRUE);
}
g_object_unref (f);
@@ -282,16 +238,13 @@ void
nautilus_files_view_handle_uri_list_drop (NautilusFilesView *view,
const char *item_uris,
const char *target_uri,
- GdkDragAction action,
- int x,
- int y)
+ GdkDragAction action)
{
gchar **uri_list;
GList *real_uri_list = NULL;
char *container_uri;
const char *real_target_uri;
int n_uris, i;
- GArray *points;
if (item_uris == NULL)
{
@@ -348,32 +301,13 @@ nautilus_files_view_handle_uri_list_drop (NautilusFilesView *view,
}
real_target_uri = target_uri != NULL ? target_uri : container_uri;
- if (n_uris == 1 && eel_uri_is_desktop (real_target_uri))
- {
- GdkPoint tmp_point = { 0, 0 };
-
- /* pass in a 1-item array of icon positions, relative to x, y */
- points = g_array_new (FALSE, TRUE, sizeof (GdkPoint));
- g_array_append_val (points, tmp_point);
- }
- else
- {
- points = NULL;
- }
-
- view_widget_to_file_operation_position_xy (view, &x, &y);
- nautilus_files_view_move_copy_items (view, real_uri_list, points,
+ nautilus_files_view_move_copy_items (view, real_uri_list,
real_target_uri,
- action, x, y);
+ action);
g_list_free_full (real_uri_list, g_free);
- if (points != NULL)
- {
- g_array_free (points, TRUE);
- }
-
g_free (container_uri);
}
@@ -455,13 +389,10 @@ void
nautilus_files_view_handle_text_drop (NautilusFilesView *view,
const char *text,
const char *target_uri,
- GdkDragAction action,
- int x,
- int y)
+ GdkDragAction action)
{
int length;
char *container_uri;
- GdkPoint pos;
char *filename;
if (text == NULL)
@@ -480,10 +411,6 @@ nautilus_files_view_handle_text_drop (NautilusFilesView *view,
length = strlen (text);
- pos.x = x;
- pos.y = y;
- view_widget_to_file_operation_position (view, &pos);
-
/* try to get text to use as a filename */
filename = get_drop_filename (text);
@@ -491,8 +418,7 @@ nautilus_files_view_handle_text_drop (NautilusFilesView *view,
target_uri != NULL ? target_uri : container_uri,
filename,
text,
- length,
- &pos);
+ length);
g_free (filename);
g_free (container_uri);
}
@@ -503,13 +429,10 @@ nautilus_files_view_handle_raw_drop (NautilusFilesView *view,
int length,
const char *target_uri,
const char *direct_save_uri,
- GdkDragAction action,
- int x,
- int y)
+ GdkDragAction action)
{
char *container_uri, *filename;
GFile *direct_save_full;
- GdkPoint pos;
if (raw_data == NULL)
{
@@ -525,10 +448,6 @@ nautilus_files_view_handle_raw_drop (NautilusFilesView *view,
g_assert (container_uri != NULL);
}
- pos.x = x;
- pos.y = y;
- view_widget_to_file_operation_position (view, &pos);
-
filename = NULL;
if (direct_save_uri != NULL)
{
@@ -545,7 +464,7 @@ nautilus_files_view_handle_raw_drop (NautilusFilesView *view,
nautilus_files_view_new_file_with_initial_contents (
view, target_uri != NULL ? target_uri : container_uri,
- filename, raw_data, length, &pos);
+ filename, raw_data, length);
g_free (container_uri);
g_free (filename);
@@ -580,9 +499,9 @@ nautilus_files_view_drop_proxy_received_uris (NautilusFilesView *view,
nautilus_clipboard_clear_if_colliding_uris (GTK_WIDGET (view),
source_uri_list);
- nautilus_files_view_move_copy_items (view, source_uri_list, NULL,
+ nautilus_files_view_move_copy_items (view, source_uri_list,
target_uri != NULL ? target_uri : container_uri,
- action, 0, 0);
+ action);
g_free (container_uri);
}
diff --git a/src/nautilus-files-view-dnd.h b/src/nautilus-files-view-dnd.h
index 1680e0a19..0b946d994 100644
--- a/src/nautilus-files-view-dnd.h
+++ b/src/nautilus-files-view-dnd.h
@@ -32,29 +32,21 @@
void nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
const char *encoded_url,
const char *target_uri,
- GdkDragAction action,
- int x,
- int y);
+ GdkDragAction action);
void nautilus_files_view_handle_uri_list_drop (NautilusFilesView *view,
const char *item_uris,
const char *target_uri,
- GdkDragAction action,
- int x,
- int y);
+ GdkDragAction action);
void nautilus_files_view_handle_text_drop (NautilusFilesView *view,
const char *text,
const char *target_uri,
- GdkDragAction action,
- int x,
- int y);
+ GdkDragAction action);
void nautilus_files_view_handle_raw_drop (NautilusFilesView *view,
const char *raw_data,
int length,
const char *target_uri,
const char *direct_save_uri,
- GdkDragAction action,
- int x,
- int y);
+ GdkDragAction action);
void nautilus_files_view_handle_hover (NautilusFilesView *view,
const char *target_uri);
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 2d5465aee..beb5cdf38 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -689,14 +689,6 @@ nautilus_files_view_reveal_selection (NautilusFilesView *view)
NAUTILUS_FILES_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->reveal_selection (view);
}
-static gboolean
-nautilus_files_view_using_manual_layout (NautilusFilesView *view)
-{
- g_return_val_if_fail (NAUTILUS_IS_FILES_VIEW (view), FALSE);
-
- return NAUTILUS_FILES_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->using_manual_layout (view);
-}
-
/**
* nautilus_files_view_get_toolbar_menu_sections:
* @view: a #NautilusFilesView
@@ -1170,11 +1162,6 @@ get_view_directory (NautilusFilesView *view)
priv = nautilus_files_view_get_instance_private (view);
uri = nautilus_directory_get_uri (priv->model);
- if (eel_uri_is_desktop (uri))
- {
- g_free (uri);
- uri = nautilus_get_desktop_directory_uri ();
- }
f = g_file_new_for_uri (uri);
path = g_file_get_path (f);
g_object_unref (f);
@@ -1874,10 +1861,8 @@ new_folder_done (GFile *new_folder,
nautilus_files_view_move_copy_items (directory_view,
uris,
- NULL,
target_uri,
- GDK_ACTION_MOVE,
- 0, 0);
+ GDK_ACTION_MOVE);
g_list_free_full (uris, g_free);
g_free (target_uri);
}
@@ -1935,29 +1920,6 @@ new_folder_data_new (NautilusFilesView *directory_view,
return data;
}
-static GdkPoint *
-context_menu_to_file_operation_position (NautilusFilesView *view)
-{
- NautilusFilesViewPrivate *priv;
-
- g_return_val_if_fail (NAUTILUS_IS_FILES_VIEW (view), NULL);
-
- priv = nautilus_files_view_get_instance_private (view);
-
- if (nautilus_files_view_using_manual_layout (view)
- && priv->context_menu_position.x >= 0
- && priv->context_menu_position.y >= 0)
- {
- NAUTILUS_FILES_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->widget_to_file_operation_position
- (view, &priv->context_menu_position);
- return &priv->context_menu_position;
- }
- else
- {
- return NULL;
- }
-}
-
static GdkRectangle *
nautilus_files_view_compute_rename_popover_pointing_to (NautilusFilesView *view)
{
@@ -2042,7 +2004,6 @@ new_folder_dialog_controller_on_name_accepted (NautilusFileNameWidgetController
NautilusFilesView *view;
NautilusFilesViewPrivate *priv;
NewFolderData *data;
- GdkPoint *position = NULL;
g_autofree gchar *parent_uri = NULL;
g_autofree gchar *name = NULL;
NautilusFile *parent;
@@ -2066,12 +2027,8 @@ new_folder_dialog_controller_on_name_accepted (NautilusFileNameWidgetController
parent_uri = nautilus_files_view_get_backing_uri (view);
parent = nautilus_file_get_by_uri (parent_uri);
- if (eel_uri_is_desktop (parent_uri))
- {
- position = context_menu_to_file_operation_position (view);
- }
nautilus_file_operations_new_folder (GTK_WIDGET (view),
- position, parent_uri, name,
+ parent_uri, name,
new_folder_done, data);
g_clear_object (&priv->new_folder_controller);
@@ -2388,8 +2345,7 @@ nautilus_files_view_new_file_with_initial_contents (NautilusFilesView *view,
const char *parent_uri,
const char *filename,
const char *initial_contents,
- int length,
- GdkPoint *pos)
+ int length)
{
NewFolderData *data;
@@ -2397,13 +2353,8 @@ nautilus_files_view_new_file_with_initial_contents (NautilusFilesView *view,
data = setup_new_folder_data (view);
- if (pos == NULL)
- {
- pos = context_menu_to_file_operation_position (view);
- }
-
nautilus_file_operations_new_file (GTK_WIDGET (view),
- pos, parent_uri, filename,
+ parent_uri, filename,
initial_contents, length,
new_folder_done, data);
}
@@ -2413,7 +2364,6 @@ nautilus_files_view_new_file (NautilusFilesView *directory_view,
const char *parent_uri,
NautilusFile *source)
{
- GdkPoint *pos;
NewFolderData *data;
char *source_uri;
char *container_uri;
@@ -2431,22 +2381,18 @@ nautilus_files_view_new_file (NautilusFilesView *directory_view,
parent_uri != NULL ? parent_uri : container_uri,
NULL,
NULL,
- 0,
- NULL);
+ 0);
g_free (container_uri);
return;
}
g_return_if_fail (nautilus_file_is_local (source));
- pos = context_menu_to_file_operation_position (directory_view);
-
data = setup_new_folder_data (directory_view);
source_uri = nautilus_file_get_uri (source);
nautilus_file_operations_new_file_from_template (GTK_WIDGET (directory_view),
- pos,
parent_uri != NULL ? parent_uri : container_uri,
NULL,
source_uri,
@@ -2629,9 +2575,8 @@ handle_clipboard_data (NautilusFilesView *view,
if (item_uris != NULL && destination_uri != NULL)
{
- nautilus_files_view_move_copy_items (view, item_uris, NULL, destination_uri,
- action,
- 0, 0);
+ nautilus_files_view_move_copy_items (view, item_uris, destination_uri,
+ action);
/* If items are cut then remove from clipboard */
if (action == GDK_ACTION_MOVE)
@@ -4738,25 +4683,6 @@ nautilus_files_view_get_content_widget (NautilusFilesView *view)
return priv->scrolled_window;
}
-static void
-offset_drop_points (GArray *relative_item_points,
- int x_offset,
- int y_offset)
-{
- guint index;
-
- if (relative_item_points == NULL)
- {
- return;
- }
-
- for (index = 0; index < relative_item_points->len; index++)
- {
- g_array_index (relative_item_points, GdkPoint, index).x += x_offset;
- g_array_index (relative_item_points, GdkPoint, index).y += y_offset;
- }
-}
-
static gboolean
nautilus_files_view_special_link_in_selection (NautilusFilesView *view,
GList *selection)
@@ -5265,7 +5191,6 @@ get_strings_for_environment_variables (NautilusFilesView *view,
*/
directory_uri = nautilus_directory_get_uri (priv->model);
if (g_str_has_prefix (directory_uri, "file:") ||
- eel_uri_is_desktop (directory_uri) ||
eel_uri_is_trash (directory_uri))
{
*file_paths = get_file_paths_as_newline_delimited_string (view, selected_files);
@@ -5279,11 +5204,6 @@ get_strings_for_environment_variables (NautilusFilesView *view,
*uris = get_file_uris_as_newline_delimited_string (view, selected_files);
*uri = nautilus_directory_get_uri (priv->model);
- if (eel_uri_is_desktop (*uri))
- {
- g_free (*uri);
- *uri = nautilus_get_desktop_directory_uri ();
- }
}
/*
@@ -5967,9 +5887,8 @@ on_destination_dialog_response (GtkDialog *dialog,
}
uris = g_list_reverse (uris);
- nautilus_files_view_move_copy_items (copy_data->view, uris, NULL, target_uri,
- copy_data->is_move ? GDK_ACTION_MOVE : GDK_ACTION_COPY,
- 0, 0);
+ nautilus_files_view_move_copy_items (copy_data->view, uris, target_uri,
+ copy_data->is_move ? GDK_ACTION_MOVE : GDK_ACTION_COPY);
g_list_free_full (uris, g_free);
g_free (target_uri);
@@ -6163,9 +6082,8 @@ action_create_links_in_place (GSimpleAction *action,
destination_uri = nautilus_files_view_get_backing_uri (view);
- nautilus_files_view_move_copy_items (view, item_uris, NULL, destination_uri,
- GDK_ACTION_LINK,
- 0, 0);
+ nautilus_files_view_move_copy_items (view, item_uris, destination_uri,
+ GDK_ACTION_LINK);
g_list_free_full (item_uris, g_free);
nautilus_file_list_free (selection);
@@ -6746,7 +6664,6 @@ action_set_as_wallpaper (GSimpleAction *action,
g_object_unref (target);
uris = g_list_prepend (NULL, nautilus_file_get_uri (file));
nautilus_file_operations_copy_move (uris,
- NULL,
target_uri,
GDK_ACTION_COPY,
GTK_WIDGET (user_data),
@@ -8861,14 +8778,6 @@ nautilus_files_view_should_show_file (NautilusFilesView *view,
priv->show_foreign_files);
}
-static gboolean
-real_using_manual_layout (NautilusFilesView *view)
-{
- g_return_val_if_fail (NAUTILUS_IS_FILES_VIEW (view), FALSE);
-
- return FALSE;
-}
-
void
nautilus_files_view_ignore_hidden_file_preferences (NautilusFilesView *view)
{
@@ -8917,21 +8826,11 @@ nautilus_files_view_get_uri (NautilusFilesView *view)
void
nautilus_files_view_move_copy_items (NautilusFilesView *view,
const GList *item_uris,
- GArray *relative_item_points,
const char *target_uri,
- int copy_action,
- int x,
- int y)
+ int copy_action)
{
NautilusFile *target_file;
- g_assert (relative_item_points == NULL
- || relative_item_points->len == 0
- || g_list_length ((GList *) item_uris) == relative_item_points->len);
-
- /* add the drop location to the icon offsets */
- offset_drop_points (relative_item_points, x, y);
-
target_file = nautilus_file_get_existing_by_uri (target_uri);
/* special-case "command:" here instead of starting a move/copy */
if (target_file != NULL && nautilus_file_is_launcher (target_file))
@@ -8985,7 +8884,7 @@ nautilus_files_view_move_copy_items (NautilusFilesView *view,
nautilus_file_unref (target_file);
nautilus_file_operations_copy_move
- (item_uris, relative_item_points,
+ (item_uris,
target_uri, copy_action, GTK_WIDGET (view),
copy_move_done_callback, pre_copy_move (view));
}
@@ -9579,7 +9478,6 @@ nautilus_files_view_class_init (NautilusFilesViewClass *klass)
G_TYPE_NONE, 0);
klass->get_backing_uri = real_get_backing_uri;
- klass->using_manual_layout = real_using_manual_layout;
klass->get_window = nautilus_files_view_get_window;
klass->update_context_menus = real_update_context_menus;
klass->update_actions_state = real_update_actions_state;
diff --git a/src/nautilus-files-view.h b/src/nautilus-files-view.h
index 7689f98d7..8b49b346c 100644
--- a/src/nautilus-files-view.h
+++ b/src/nautilus-files-view.h
@@ -196,13 +196,6 @@ struct _NautilusFilesViewClass {
NautilusFile *a,
NautilusFile *b);
- /* using_manual_layout is a function pointer that subclasses may
- * override to control whether or not items can be freely positioned
- * on the user-visible area.
- * Note that this value is not guaranteed to be constant within the
- * view's lifecycle. */
- gboolean (* using_manual_layout) (NautilusFilesView *view);
-
/* is_empty is a function pointer that subclasses must
* override to report whether the view contains any items.
*/
@@ -305,17 +298,13 @@ guint nautilus_files_view_get_view_id (NautilusView
char * nautilus_files_view_get_backing_uri (NautilusFilesView *view);
void nautilus_files_view_move_copy_items (NautilusFilesView *view,
const GList *item_uris,
- GArray
*relative_item_points,
const char *target_uri,
- int copy_action,
- int x,
- int y);
+ int copy_action);
void nautilus_files_view_new_file_with_initial_contents (NautilusFilesView *view,
const char *parent_uri,
const char *filename,
const char *initial_contents,
- int length,
- GdkPoint *pos);
+ int length);
/* selection handling */
void nautilus_files_view_activate_selection (NautilusFilesView *view);
diff --git a/src/nautilus-global-preferences.c b/src/nautilus-global-preferences.c
index 94326b94a..d24db28c3 100644
--- a/src/nautilus-global-preferences.c
+++ b/src/nautilus-global-preferences.c
@@ -36,7 +36,6 @@ GSettings *nautilus_preferences;
GSettings *nautilus_compression_preferences;
GSettings *nautilus_icon_view_preferences;
GSettings *nautilus_list_view_preferences;
-GSettings *nautilus_desktop_preferences;
GSettings *nautilus_window_state;
GSettings *gtk_filechooser_preferences;
GSettings *gnome_lockdown_preferences;
@@ -61,7 +60,6 @@ nautilus_global_preferences_init (void)
nautilus_window_state = g_settings_new ("org.gnome.nautilus.window-state");
nautilus_icon_view_preferences = g_settings_new ("org.gnome.nautilus.icon-view");
nautilus_list_view_preferences = g_settings_new ("org.gnome.nautilus.list-view");
- nautilus_desktop_preferences = g_settings_new ("org.gnome.nautilus.desktop");
/* Some settings such as show hidden files are shared between Nautilus and GTK file chooser */
gtk_filechooser_preferences = g_settings_new_with_path ("org.gtk.Settings.FileChooser",
"/org/gtk/settings/file-chooser/");
diff --git a/src/nautilus-global-preferences.h b/src/nautilus-global-preferences.h
index 7c19ba1fd..3bfa87731 100644
--- a/src/nautilus-global-preferences.h
+++ b/src/nautilus-global-preferences.h
@@ -101,7 +101,6 @@ typedef enum
/* ellipsization preferences */
#define NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT "text-ellipsis-limit"
-#define NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT "text-ellipsis-limit"
/* List View */
#define NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL "default-zoom-level"
@@ -139,25 +138,12 @@ typedef enum
NAUTILUS_SIMPLE_SEARCH_BAR
} NautilusSearchBarMode;
-#define NAUTILUS_PREFERENCES_DESKTOP_FONT "font"
-#define NAUTILUS_PREFERENCES_DESKTOP_HOME_VISIBLE "home-icon-visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME "home-icon-name"
-#define NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE "trash-icon-visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME "trash-icon-name"
-#define NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE "volumes-visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_NETWORK_VISIBLE "network-icon-visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME "network-icon-name"
-#define NAUTILUS_PREFERENCES_DESKTOP_BACKGROUND_FADE "background-fade"
-
/* bulk rename utility */
#define NAUTILUS_PREFERENCES_BULK_RENAME_TOOL "bulk-rename-tool"
/* Lockdown */
#define NAUTILUS_PREFERENCES_LOCKDOWN_COMMAND_LINE "disable-command-line"
-/* Desktop background */
-#define NAUTILUS_PREFERENCES_SHOW_DESKTOP "show-desktop-icons"
-
/* Recent files */
#define NAUTILUS_PREFERENCES_RECENT_FILES_ENABLED "remember-recent-files"
diff --git a/src/nautilus-icon-names.h b/src/nautilus-icon-names.h
index 64574662c..f6f75a953 100644
--- a/src/nautilus-icon-names.h
+++ b/src/nautilus-icon-names.h
@@ -21,13 +21,6 @@
#define NAUTILUS_ICON_FOLDER_TEMPLATES "folder-templates-symbolic"
#define NAUTILUS_ICON_FOLDER_VIDEOS "folder-videos-symbolic"
-/* Icons for desktop */
-#define NAUTILUS_DESKTOP_ICON_DESKTOP "user-desktop"
-#define NAUTILUS_DESKTOP_ICON_TRASH "user-trash"
-#define NAUTILUS_DESKTOP_ICON_TRASH_FULL "user-trash-full"
-#define NAUTILUS_DESKTOP_ICON_HOME "user-home"
-#define NAUTILUS_DESKTOP_ICON_NETWORK "network-workgroup"
-
/* Fullcolor icons */
#define NAUTILUS_ICON_FULLCOLOR_FOLDER "folder"
#define NAUTILUS_ICON_FULLCOLOR_FOLDER_REMOTE "folder-remote"
diff --git a/src/nautilus-lib-self-check-functions.h b/src/nautilus-lib-self-check-functions.h
index c326c60fd..77dcd2152 100644
--- a/src/nautilus-lib-self-check-functions.h
+++ b/src/nautilus-lib-self-check-functions.h
@@ -40,7 +40,6 @@ void nautilus_run_lib_self_checks (void);
macro (nautilus_self_check_file_operations) \
macro (nautilus_self_check_directory) \
macro (nautilus_self_check_file) \
- macro (nautilus_self_check_canvas_container) \
/* Add new self-check functions to the list above this line. */
/* Generate prototypes for all the functions. */
diff --git a/src/nautilus-link.c b/src/nautilus-link.c
index a16efa212..6ef96144b 100644
--- a/src/nautilus-link.c
+++ b/src/nautilus-link.c
@@ -189,7 +189,6 @@ nautilus_link_local_create (const char *directory_uri,
const char *display_name,
const char *image,
const char *target_uri,
- const GdkPoint *point,
int screen,
gboolean unique_filename)
{
@@ -197,7 +196,6 @@ nautilus_link_local_create (const char *directory_uri,
char *contents;
GFile *file;
GList dummy_list;
- NautilusFileChangesQueuePosition item;
g_autofree char *link_name = NULL;
g_autoptr (GFile) directory = NULL;
@@ -212,14 +210,7 @@ nautilus_link_local_create (const char *directory_uri,
return FALSE;
}
- if (eel_uri_is_desktop (directory_uri))
- {
- real_directory_uri = nautilus_get_desktop_directory_uri ();
- }
- else
- {
- real_directory_uri = g_strdup (directory_uri);
- }
+ real_directory_uri = g_strdup (directory_uri);
link_name = g_strdup_printf ("%s.desktop", base_name);
directory = g_file_new_for_uri (real_directory_uri);
@@ -268,20 +259,6 @@ nautilus_link_local_create (const char *directory_uri,
dummy_list.prev = NULL;
nautilus_directory_notify_files_added (&dummy_list);
- if (point != NULL)
- {
- item.location = file;
- item.set = TRUE;
- item.point.x = point->x;
- item.point.y = point->y;
- item.screen = screen;
- dummy_list.data = &item;
- dummy_list.next = NULL;
- dummy_list.prev = NULL;
-
- nautilus_directory_schedule_position_set (&dummy_list);
- }
-
g_object_unref (file);
return TRUE;
}
diff --git a/src/nautilus-link.h b/src/nautilus-link.h
index 72d9c1743..ceb1e5076 100644
--- a/src/nautilus-link.h
+++ b/src/nautilus-link.h
@@ -29,7 +29,6 @@ gboolean nautilus_link_local_create (const char
const char *display_name,
const char *image,
const char *target_uri,
- const GdkPoint *point,
int screen,
gboolean unique_filename);
gboolean nautilus_link_local_set_text (const char *uri,
diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c
index 89e54cb09..0e2d678b3 100644
--- a/src/nautilus-list-view.c
+++ b/src/nautilus-list-view.c
@@ -1304,12 +1304,10 @@ list_view_handle_netscape_url (NautilusTreeViewDragDest *dest,
const char *encoded_url,
const char *target_uri,
GdkDragAction action,
- int x,
- int y,
NautilusListView *view)
{
nautilus_files_view_handle_netscape_url_drop (NAUTILUS_FILES_VIEW (view),
- encoded_url, target_uri, action, x, y);
+ encoded_url, target_uri, action);
}
static void
@@ -1317,12 +1315,10 @@ list_view_handle_uri_list (NautilusTreeViewDragDest *dest,
const char *item_uris,
const char *target_uri,
GdkDragAction action,
- int x,
- int y,
NautilusListView *view)
{
nautilus_files_view_handle_uri_list_drop (NAUTILUS_FILES_VIEW (view),
- item_uris, target_uri, action, x, y);
+ item_uris, target_uri, action);
}
static void
@@ -1330,12 +1326,10 @@ list_view_handle_text (NautilusTreeViewDragDest *dest,
const char *text,
const char *target_uri,
GdkDragAction action,
- int x,
- int y,
NautilusListView *view)
{
nautilus_files_view_handle_text_drop (NAUTILUS_FILES_VIEW (view),
- text, target_uri, action, x, y);
+ text, target_uri, action);
}
static void
@@ -1345,13 +1339,11 @@ list_view_handle_raw (NautilusTreeViewDragDest *dest,
const char *target_uri,
const char *direct_save_uri,
GdkDragAction action,
- int x,
- int y,
NautilusListView *view)
{
nautilus_files_view_handle_raw_drop (NAUTILUS_FILES_VIEW (view),
raw_data, length, target_uri, direct_save_uri,
- action, x, y);
+ action);
}
static void
@@ -1367,8 +1359,6 @@ move_copy_items_callback (NautilusTreeViewDragDest *dest,
const GList *item_uris,
const char *target_uri,
guint action,
- int x,
- int y,
gpointer user_data)
{
NautilusFilesView *view = user_data;
@@ -1377,10 +1367,8 @@ move_copy_items_callback (NautilusTreeViewDragDest *dest,
item_uris);
nautilus_files_view_move_copy_items (view,
item_uris,
- NULL,
target_uri,
- action,
- x, y);
+ action);
}
static void
@@ -3489,14 +3477,6 @@ nautilus_list_view_compare_files (NautilusFilesView *view,
return nautilus_list_model_compare_func (list_view->details->model, file1, file2);
}
-static gboolean
-nautilus_list_view_using_manual_layout (NautilusFilesView *view)
-{
- g_return_val_if_fail (NAUTILUS_IS_LIST_VIEW (view), FALSE);
-
- return FALSE;
-}
-
static void
nautilus_list_view_dispose (GObject *object)
{
@@ -3803,7 +3783,6 @@ nautilus_list_view_class_init (NautilusListViewClass *class)
nautilus_files_view_class->compare_files = nautilus_list_view_compare_files;
nautilus_files_view_class->sort_directories_first_changed =
nautilus_list_view_sort_directories_first_changed;
nautilus_files_view_class->end_file_changes = nautilus_list_view_end_file_changes;
- nautilus_files_view_class->using_manual_layout = nautilus_list_view_using_manual_layout;
nautilus_files_view_class->get_view_id = nautilus_list_view_get_id;
nautilus_files_view_class->get_first_visible_file = nautilus_list_view_get_first_visible_file;
nautilus_files_view_class->scroll_to_file = list_view_scroll_to_file;
diff --git a/src/nautilus-metadata.c b/src/nautilus-metadata.c
index bee04e7ca..db176fb64 100644
--- a/src/nautilus-metadata.c
+++ b/src/nautilus-metadata.c
@@ -24,12 +24,8 @@ static char *used_metadata_names[] =
{
NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_COLOR,
NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_IMAGE,
- NAUTILUS_METADATA_KEY_ICON_VIEW_AUTO_LAYOUT,
NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_BY,
NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED,
- NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED,
- NAUTILUS_METADATA_KEY_ICON_VIEW_LAYOUT_TIMESTAMP,
- NAUTILUS_METADATA_KEY_DESKTOP_ICON_SIZE,
NAUTILUS_METADATA_KEY_LIST_VIEW_SORT_COLUMN,
NAUTILUS_METADATA_KEY_LIST_VIEW_SORT_REVERSED,
NAUTILUS_METADATA_KEY_LIST_VIEW_VISIBLE_COLUMNS,
@@ -44,8 +40,6 @@ static char *used_metadata_names[] =
NAUTILUS_METADATA_KEY_SIDEBAR_BACKGROUND_IMAGE,
NAUTILUS_METADATA_KEY_SIDEBAR_BUTTONS,
NAUTILUS_METADATA_KEY_ANNOTATION,
- NAUTILUS_METADATA_KEY_ICON_POSITION,
- NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP,
NAUTILUS_METADATA_KEY_ICON_SCALE,
NAUTILUS_METADATA_KEY_CUSTOM_ICON,
NAUTILUS_METADATA_KEY_CUSTOM_ICON_NAME,
diff --git a/src/nautilus-metadata.h b/src/nautilus-metadata.h
index c4a303ec5..5232315f2 100644
--- a/src/nautilus-metadata.h
+++ b/src/nautilus-metadata.h
@@ -34,13 +34,8 @@
#define NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_COLOR "folder-background-color"
#define NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_IMAGE "folder-background-image"
-#define NAUTILUS_METADATA_KEY_ICON_VIEW_AUTO_LAYOUT "nautilus-icon-view-auto-layout"
#define NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_BY "nautilus-icon-view-sort-by"
#define NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED "nautilus-icon-view-sort-reversed"
-#define NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED "nautilus-icon-view-keep-aligned"
-#define NAUTILUS_METADATA_KEY_ICON_VIEW_LAYOUT_TIMESTAMP "nautilus-icon-view-layout-timestamp"
-
-#define NAUTILUS_METADATA_KEY_DESKTOP_ICON_SIZE "nautilus-desktop-icon-size"
#define NAUTILUS_METADATA_KEY_LIST_VIEW_SORT_COLUMN "nautilus-list-view-sort-column"
#define NAUTILUS_METADATA_KEY_LIST_VIEW_SORT_REVERSED "nautilus-list-view-sort-reversed"
@@ -58,8 +53,6 @@
#define NAUTILUS_METADATA_KEY_SIDEBAR_BACKGROUND_IMAGE "nautilus-sidebar-background-image"
#define NAUTILUS_METADATA_KEY_SIDEBAR_BUTTONS "nautilus-sidebar-buttons"
-#define NAUTILUS_METADATA_KEY_ICON_POSITION "nautilus-icon-position"
-#define NAUTILUS_METADATA_KEY_ICON_POSITION_TIMESTAMP "nautilus-icon-position-timestamp"
#define NAUTILUS_METADATA_KEY_ANNOTATION "annotation"
#define NAUTILUS_METADATA_KEY_ICON_SCALE "icon-scale"
#define NAUTILUS_METADATA_KEY_CUSTOM_ICON "custom-icon"
diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
index 40ad2554d..173f3dfd0 100644
--- a/src/nautilus-properties-window.c
+++ b/src/nautilus-properties-window.c
@@ -23,7 +23,6 @@
#include "nautilus-properties-window.h"
-#include "nautilus-desktop-item-properties.h"
#include "nautilus-error-reporting.h"
#include "nautilus-mime-actions.h"
@@ -3155,22 +3154,6 @@ create_basic_page (NautilusPropertiesWindow *window)
gtk_widget_grab_focus (GTK_WIDGET (window->details->name_field));
}
- if (nautilus_desktop_item_properties_should_show (window->details->target_files))
- {
- GtkSizeGroup *label_size_group;
- GtkWidget *box;
-
- label_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
- gtk_size_group_add_widget (label_size_group,
- GTK_WIDGET (window->details->name_label));
- box = nautilus_desktop_item_properties_make_box (label_size_group,
- window->details->target_files);
-
- gtk_grid_attach_next_to (window->details->basic_grid, box,
- GTK_WIDGET (window->details->name_label),
- GTK_POS_BOTTOM, 2, 1);
- }
-
if (should_show_file_type (window))
{
append_title_and_ellipsizing_value (window, grid,
diff --git a/src/nautilus-recent.c b/src/nautilus-recent.c
index ab50fef8f..08253e01f 100644
--- a/src/nautilus-recent.c
+++ b/src/nautilus-recent.c
@@ -51,8 +51,7 @@ nautilus_recent_add_file (NautilusFile *file,
/* do not add trash:// etc */
if (eel_uri_is_trash (uri) ||
eel_uri_is_search (uri) ||
- eel_uri_is_recent (uri) ||
- eel_uri_is_desktop (uri))
+ eel_uri_is_recent (uri))
{
g_free (uri);
return;
diff --git a/src/nautilus-tree-view-drag-dest.c b/src/nautilus-tree-view-drag-dest.c
index 42868e3bd..7a15d7170 100644
--- a/src/nautilus-tree-view-drag-dest.c
+++ b/src/nautilus-tree-view-drag-dest.c
@@ -752,17 +752,8 @@ receive_uris (NautilusTreeViewDragDest *dest,
if (real_action == GDK_ACTION_ASK)
{
- if (nautilus_drag_selection_includes_special_link (dest->details->drag_list))
- {
- /* We only want to move the trash */
- action = GDK_ACTION_MOVE;
- }
- else
- {
- action = GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK;
- }
- real_action = nautilus_drag_drop_action_ask
- (GTK_WIDGET (dest->details->tree_view), action);
+ action = GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK;
+ real_action = nautilus_drag_drop_action_ask (GTK_WIDGET (dest->details->tree_view), action);
}
/* We only want to copy external uris */
@@ -890,8 +881,7 @@ receive_dropped_raw (NautilusTreeViewDragDest *dest,
g_signal_emit (dest, signals[HANDLE_RAW], 0,
raw_data, length, drop_target,
dest->details->direct_save_uri,
- gdk_drag_context_get_selected_action (context),
- x, y);
+ gdk_drag_context_get_selected_action (context));
g_free (drop_target);
}
@@ -1275,12 +1265,10 @@ nautilus_tree_view_drag_dest_class_init (NautilusTreeViewDragDestClass *class)
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_POINTER,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_NETSCAPE_URL] =
g_signal_new ("handle-netscape-url",
G_TYPE_FROM_CLASS (class),
@@ -1289,12 +1277,10 @@ nautilus_tree_view_drag_dest_class_init (NautilusTreeViewDragDestClass *class)
handle_netscape_url),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_URI_LIST] =
g_signal_new ("handle-uri-list",
G_TYPE_FROM_CLASS (class),
@@ -1303,12 +1289,10 @@ nautilus_tree_view_drag_dest_class_init (NautilusTreeViewDragDestClass *class)
handle_uri_list),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_TEXT] =
g_signal_new ("handle-text",
G_TYPE_FROM_CLASS (class),
@@ -1317,12 +1301,10 @@ nautilus_tree_view_drag_dest_class_init (NautilusTreeViewDragDestClass *class)
handle_text),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 5,
+ G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_RAW] =
g_signal_new ("handle-raw",
G_TYPE_FROM_CLASS (class),
@@ -1331,14 +1313,12 @@ nautilus_tree_view_drag_dest_class_init (NautilusTreeViewDragDestClass *class)
handle_raw),
NULL, NULL,
g_cclosure_marshal_generic,
- G_TYPE_NONE, 7,
+ G_TYPE_NONE, 5,
G_TYPE_POINTER,
G_TYPE_INT,
G_TYPE_STRING,
G_TYPE_STRING,
- GDK_TYPE_DRAG_ACTION,
- G_TYPE_INT,
- G_TYPE_INT);
+ GDK_TYPE_DRAG_ACTION);
signals[HANDLE_HOVER] =
g_signal_new ("handle-hover",
G_TYPE_FROM_CLASS (class),
diff --git a/src/nautilus-view-icon-controller.c b/src/nautilus-view-icon-controller.c
index f6199ba13..1b7007982 100644
--- a/src/nautilus-view-icon-controller.c
+++ b/src/nautilus-view-icon-controller.c
@@ -705,12 +705,6 @@ real_compare_files (NautilusFilesView *files_view,
return 0;
}
-static gboolean
-real_using_manual_layout (NautilusFilesView *files_view)
-{
- return FALSE;
-}
-
static void
real_end_loading (NautilusFilesView *files_view,
gboolean all_files_seen)
@@ -912,7 +906,6 @@ nautilus_view_icon_controller_class_init (NautilusViewIconControllerClass *klass
files_view_class->compare_files = real_compare_files;
files_view_class->sort_directories_first_changed = real_sort_directories_first_changed;
files_view_class->end_file_changes = real_end_file_changes;
- files_view_class->using_manual_layout = real_using_manual_layout;
files_view_class->end_loading = real_end_loading;
files_view_class->get_view_id = real_get_view_id;
files_view_class->get_first_visible_file = real_get_first_visible_file;
diff --git a/src/nautilus-view.h b/src/nautilus-view.h
index 0f8170764..dcd39e0ad 100644
--- a/src/nautilus-view.h
+++ b/src/nautilus-view.h
@@ -30,7 +30,6 @@ enum
{
NAUTILUS_VIEW_GRID_ID,
NAUTILUS_VIEW_LIST_ID,
- NAUTILUS_VIEW_DESKTOP_ID,
NAUTILUS_VIEW_EMPTY_ID,
NAUTILUS_VIEW_OTHER_LOCATIONS_ID,
NAUTILUS_VIEW_INVALID_ID,
diff --git a/src/nautilus-window-slot-dnd.c b/src/nautilus-window-slot-dnd.c
index b8dd87a07..fea76bf8c 100644
--- a/src/nautilus-window-slot-dnd.c
+++ b/src/nautilus-window-slot-dnd.c
@@ -448,8 +448,7 @@ slot_proxy_handle_drop (GtkWidget *widget,
nautilus_files_view_handle_netscape_url_drop (target_view,
drag_info->data.netscape_url,
target_uri,
- gdk_drag_context_get_selected_action (context),
- 0, 0);
+ gdk_drag_context_get_selected_action (context));
}
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index d364115a9..b8452e817 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -226,8 +226,7 @@ real_handles_location (NautilusWindowSlot *self,
uri = g_file_get_uri(location);
file = nautilus_file_get (location);
- handles_location = !nautilus_file_is_other_locations (file) &&
- !eel_uri_is_desktop (uri);
+ handles_location = !nautilus_file_is_other_locations (file);
nautilus_file_unref (file);
return handles_location;
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index ccf274644..5106dc463 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -1286,7 +1286,7 @@ places_sidebar_drag_perform_drop_cb (GtkPlacesSidebar *sidebar,
dest_uri = g_file_get_uri (dest_file);
source_uri_list = build_uri_list_from_gfile_list (source_file_list);
- nautilus_file_operations_copy_move (source_uri_list, NULL, dest_uri, action, GTK_WIDGET (sidebar), NULL,
NULL);
+ nautilus_file_operations_copy_move (source_uri_list, dest_uri, action, GTK_WIDGET (sidebar), NULL, NULL);
g_free (dest_uri);
g_list_free_full (source_uri_list, g_free);
diff --git a/src/resources/css/Adwaita.css b/src/resources/css/Adwaita.css
index 789b89d2b..098d0914a 100644
--- a/src/resources/css/Adwaita.css
+++ b/src/resources/css/Adwaita.css
@@ -18,29 +18,6 @@
color: mix (@theme_selected_fg_color, @theme_selected_bg_color, 0.20);
}
-.nautilus-desktop.nautilus-canvas-item {
- color: @theme_selected_fg_color;
- text-shadow: 1px 1px black;
-}
-
-.nautilus-desktop.nautilus-canvas-item:active {
- color: @theme_text_color;
-}
-
-.nautilus-desktop.nautilus-canvas-item:selected {
- color: @theme_selected_fg_color;
-}
-
-.nautilus-desktop.nautilus-canvas-item:active,
-.nautilus-desktop.nautilus-canvas-item:hover,
-.nautilus-desktop.nautilus-canvas-item:selected {
- text-shadow: none;
-}
-
-.nautilus-desktop.nautilus-canvas-item:selected:backdrop {
- color: @theme_unfocused_selected_fg_color;
-}
-
/* Toolbar */
/* Here we use the .button background-image colors from Adwaita, but ligthen them,
diff --git a/src/resources/css/nautilus.css b/src/resources/css/nautilus.css
index 4f875e1e2..a85df669a 100644
--- a/src/resources/css/nautilus.css
+++ b/src/resources/css/nautilus.css
@@ -3,13 +3,6 @@
-gtk-outline-radius: 20px;
}
-.nautilus-desktop-window,
-.nautilus-desktop-window paned,
-.nautilus-desktop-window notebook,
-.nautilus-desktop-window notebook > stack {
- background: transparent;
-}
-
.nautilus-menu-sort-heading {
min-height: 26px;
padding-left: 5px;
diff --git a/src/resources/ui/nautilus-files-view-context-menus.ui
b/src/resources/ui/nautilus-files-view-context-menus.ui
index ba392663c..0b0a365cd 100644
--- a/src/resources/ui/nautilus-files-view-context-menus.ui
+++ b/src/resources/ui/nautilus-files-view-context-menus.ui
@@ -38,25 +38,6 @@
</item>
</section>
<section>
- <item>
- <attribute name="label" translatable="yes">_Keep aligned</attribute>
- <attribute name="action">view.keep-aligned</attribute>
- <attribute name="hidden-when">action-disabled</attribute>
- </item>
- <item>
- <attribute name="label" translatable="yes">Organize _Desktop by Name</attribute>
- <attribute name="action">view.organize-desktop-by-name</attribute>
- <attribute name="hidden-when">action-disabled</attribute>
- </item>
- </section>
- <section>
- <item>
- <attribute name="label" translatable="yes">Change _Background</attribute>
- <attribute name="action">view.change-background</attribute>
- <attribute name="hidden-when">action-disabled</attribute>
- </item>
- </section>
- <section>
<attribute name="id">extensions</attribute>
</section>
</menu>
@@ -191,11 +172,6 @@
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
- <attribute name="label" translatable="yes">Empty Trash</attribute>
- <attribute name="action">view.empty-trash</attribute>
- <attribute name="hidden-when">action-disabled</attribute>
- </item>
- <item>
<attribute name="label" translatable="yes">_Restore From Trash</attribute>
<attribute name="action">view.restore-from-trash</attribute>
<attribute name="hidden-when">action-disabled</attribute>
@@ -203,18 +179,6 @@
</section>
<section>
<item>
- <attribute name="label" translatable="yes">Resize Icon…</attribute>
- <attribute name="action">view.stretch</attribute>
- <attribute name="hidden-when">action-disabled</attribute>
- </item>
- <item>
- <attribute name="label" translatable="yes">Restore Icon’s Original Size</attribute>
- <attribute name="action">view.unstretch</attribute>
- <attribute name="hidden-when">action-disabled</attribute>
- </item>
- </section>
- <section>
- <item>
<attribute name="label" translatable="yes">Rena_me…</attribute>
<attribute name="action">view.rename</attribute>
</item>
diff --git a/test/test-copy.c b/test/test-copy.c
index c927e47b1..45cb8d168 100644
--- a/test/test-copy.c
+++ b/test/test-copy.c
@@ -75,7 +75,6 @@ main (int argc,
manager = nautilus_progress_info_manager_dup_singleton ();
nautilus_file_operations_copy (sources,
- NULL /* GArray *relative_item_points */,
dest,
GTK_WINDOW (window),
copy_done, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]