1. 13 Jul, 2018 1 commit
  2. 03 May, 2018 1 commit
    • Joanmarie Diggs's avatar
      Eliminate accessible children-changed event flood on container repopulation · c8744eaf
      Joanmarie Diggs authored
      When the canvas container is repopulated (e.g. when using back/forward,
      or pressing Esc while in a search), finish_adding_new_icons is called
      leading to an accessible-children-changed event flood. We can distinguish
      these unwanted notifications from desired notifications by comparing the
      number of new icons to add with the size of the container's icon set.
      
      Note that we cannot reliably identify this condition by monitoring the
      is-loading property of the view: Loading officially can end while icons
      are still being added. This is especially true in the case of very large
      icon sets, which is the exact scenario we're trying to avoid.
      c8744eaf
  3. 23 Apr, 2018 2 commits
    • Joanmarie Diggs's avatar
      Eliminate accessible children-changed event flood during initial load · a4c27ad2
      Joanmarie Diggs authored
      Accessible children-changed events should not be emitted during the
      initial load of the icon container. They should only be emitted when
      a user-triggered action (creation of file, copying an item) causes
      an item to be added.
      
      User-triggered actions result in nautilus_canvas_container_layout_now
      being called, so set a flag there so that we can distinguish the two
      types of additions in the accessible icon-added callback.
      a4c27ad2
    • Joanmarie Diggs's avatar
      Eliminate accessible children-changed event flood during initial load · 77bc49d1
      Joanmarie Diggs authored
      Accessible children-changed events should not be emitted during the
      initial load of the icon container. They should only be emitted when
      a user-triggered action (creation of file, copying an item) causes
      an item to be added.
      
      User-triggered actions result in nautilus_canvas_container_layout_now
      being called, so set a flag there so that we can distinguish the two
      types of additions in the accessible icon-added callback.
      77bc49d1
  4. 19 Mar, 2018 1 commit
    • Alexandru Fazakas's avatar
      general: Remove include guards in favor of pragma once · 95ecfc8e
      Alexandru Fazakas authored
      The traditional include guards are not as easy to handle
      and require extra thought into the names.
      
      Pragma once is an easier, more contributor friendly approach.
      
      Closes #294
      
      general: Remove include guards in favor of pragma once
      
      The traditional include guards are not as easy to handle
      and require extra thought into the names.
      
      Pragma once is an easier, more contributor friendly approach.
      
      Closes #294
      95ecfc8e
  5. 02 Jan, 2018 1 commit
  6. 15 Jun, 2017 1 commit
    • Jason Gerecke's avatar
      canvas-container: Use rubberband coordinates from original device · ee67066c
      Jason Gerecke authored
      Nautilus assumes that the pointer returned by gdk_seat_get_pointer will
      return the same GdkDevice which started a rubberband action. This is
      not necessarily the case, however. Under Wayland, for example, tablet
      tools have pointers (and GdkDevice's) which are entirely separate from
      the seat's primary mouse-driven pointer. Attempting to use a pen to
      perform rubberband selection will result in the rectangle being drawn
      with the incorrect coordinates.
      
      This patch has the code store the GdkDevice which generated the event
      and provides it in place of the call to gdk_seat_get_pointer.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=783797
      ee67066c
  7. 03 May, 2016 1 commit
    • Ernestas Kulik's avatar
      canvas-container: rework canvas item focusing · dea19799
      Ernestas Kulik authored
       - Currently, atk_focus_tracker_notify() is used, which is deprecated as
         of ATK 2.9.4. Using atk_object_notify_state_change() with
         ATK_STATE_FOCUSED is recommended. The deprecated call was replaced.
      
       - For every selection, the previous one should get unfocused.
         Currently, only the keyboard focus is tracked. That was extended to
         mouse focus with a flag for keyboard focus for indicator rendering.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=762236
      dea19799
  8. 25 Apr, 2016 1 commit
    • Carlos Soriano Sánchez's avatar
      general: merge libnautilus-private to src · 7e24f1b2
      Carlos Soriano Sánchez authored
      And fix make distcheck.
      
      Although libnautilus-private seem self contained, it was actually
      depending on the files on src/ for dnd.
      Not only that, but files in libnautilus-private also were depending on
      dnd files, which you can guess it's wrong.
      
      Before the desktop split, this was working because the files were
      distributed, but now was a problem since we reestructured the code, and
      now nautilus being a library make distcheck stop working.
      
      First solution was try to fix this inter dependency of files, but at
      some point I realized that there was no real point on splitting some of
      those files, because for example, is perfectly fine for dnd to need to
      access the window functions, and it's perfectly fine for the widgets
      in the private library to need to access to all dnd functions.
      
      So seems to me the private library of nautilus is somehow an artificial
      split, which provides more problems than solutions.
      
      We needed libnautilus-private to have a private library that we could
      isolate from extensions, but I don't think it worth given the problems
      it provides, and also, this not so good logical split.
      Right now, since with the desktop split we created a libnautilus to be
      used by the desktop part of nautilus, extensions have access to all
      the API of nautilus. We will think in future how this can be handled if
      we want.
      
      So for now, merge the libnautilus-private into src, and let's rethink
      a better logic to split the code and the private parts of nautilus than
      what we had.
      
      Thanks a lot to Rafael Fonseca for helping in get this done.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=765543
      7e24f1b2
  9. 04 Apr, 2016 1 commit
    • Carlos Soriano Sánchez's avatar
      general: remove vim modelines · 1ffb8ca5
      Carlos Soriano Sánchez authored
      Vim and emacs modelines are used to specify some of the code style in the code.
      However, this is misleading and poorly supported since nautilus had a mix of
      code style for some time.
      Also, the mode lines doesn't specify the whole code style, so we will need to
      use a different tool as well to specify the whole code style.
      For that, we can just use a different tool for everything.
      
      So remove the mode lines, and in a short future we will reestyle the nautilus
      code to have a single code style, and use a tool like editorconfig to specify
      the whole code style.
      1ffb8ca5
  10. 06 Oct, 2015 1 commit
    • Carlos Soriano Sánchez's avatar
      dnd: use GtkPlacesSidebar drop targets hints · 749a8644
      Carlos Soriano Sánchez authored
      Currently the dnd on the sidebar is only triggered when hovering
      above the sidebar itself. However we would like to give some
      feedback all along on the dnd operation.
      For that GtkPlacesSidebar has set_drop_targets_visible public API,
      which was implemented a few months ago and the GtkFileChooser is
      already using.
      
      I just forgot to implement the support for it on Nautilus... even if
      the original work was done for Nautilus, since users will probably
      use dnd more on nautilus than on the file chooser.
      
      I'm not entirely happy with the implementation, since it uses custom
      functions to access the drag data, given that we need them at drag-begin
      time and in random places on the code, since nautilus is doing all the dnd
      work manually and on different places.
      The final result is that drag and drop is still managed mostly on its own
      widgets, in this case list-view and canvas-view, and nautilus-dnd manages
      a central accessor for dnd in nautilus, in this case requesting depending
      on the widget that is the owner of the data, its data through the custom
      functions of that particula widget. All other ways I tried to do it entirely
      with only gtk_drag_* or gdk_drag_* functions were in vanish if no a complete
      refactoring is done, and probably it doesn't worth the effort. Also I
      actually separated the list view dnd code as well, so now at least the
      pattern to handling dnd on nautilus is more or less consistent.
      749a8644
  11. 23 May, 2015 2 commits
  12. 11 Mar, 2015 1 commit
    • Ross Lagerwall's avatar
      Register double-click on button release · 3fe654aa
      Ross Lagerwall authored
      Only perform the double-click action when the second click is released.
      This fixes a strange problem where double-clicking on a
      password-protected webdav share (as exported by gnome-user-share) fails
      to show the password dialog (which gnome-shell does) due to Nautilus
      holding a grab. By only taking action when the click is released,
      Nautilus is not holding a grab and the password dialog is shown.
      
      When it fails, the following is shown in the log:
      gnome-session[20151]: Gjs-Message: JS LOG: pushModal: invocation of begin_modal failed
      
      https://bugzilla.gnome.org/show_bug.cgi?id=745859
      3fe654aa
  13. 22 Dec, 2014 1 commit
  14. 09 Sep, 2014 1 commit
  15. 01 Sep, 2014 2 commits
  16. 30 Aug, 2014 2 commits
  17. 31 Jan, 2014 1 commit
  18. 06 Mar, 2013 1 commit
  19. 04 Oct, 2012 1 commit
    • Cosimo Cecchi's avatar
      canvas-container: remove NautilusCanvasLayoutMode · d6c89019
      Cosimo Cecchi authored
      Since we use the vertical layout only for the desktop these days, remove
      NautilusCanvasLayoutMode completely, and just return TRUE from
      nautilus_canvas_container_layout_is_vertical() if we're a desktop
      container.
      This allows to remove a lot of unused layouting code.
      d6c89019
  20. 07 Aug, 2012 2 commits
  21. 14 Jul, 2012 1 commit
  22. 25 May, 2012 1 commit
  23. 14 Feb, 2012 1 commit
  24. 28 Sep, 2011 1 commit
  25. 07 Sep, 2011 1 commit
  26. 01 Aug, 2011 1 commit
  27. 03 May, 2011 1 commit
    • Alexander Larsson's avatar
      icon-view: Only resort during relayout if necessary · 41c7cb2a
      Alexander Larsson authored
      We don't need to resort unless e.g. a file changed or was added.
      
      Additionally, for weird reason this makes the keyboard focus handling
      work when deleting a file (file after deleted gets focus). This was
      broken due to a relayout happening due to a size_allocate due to
      a style set due to a focus change when going to/from the "are you sure"
      dialog.
      41c7cb2a
  28. 20 Jan, 2011 1 commit
  29. 06 Dec, 2010 1 commit
  30. 09 Oct, 2010 1 commit
  31. 13 Aug, 2010 1 commit
  32. 23 Mar, 2009 1 commit
    • Alexander Larsson's avatar
      Bug 129963 – nautilus locks up during window resize (compact mode) · abc2409e
      Alexander Larsson authored
      2009-03-23  Alexander Larsson  <alexl@redhat.com>
      
      	Bug 129963 – nautilus locks up during window resize (compact mode)
      
              * libnautilus-private/nautilus-icon-container.c:
              * libnautilus-private/nautilus-icon-private.h:
      	Work around possible infinite loop when relayouting by counting
      	the number of iterations. This could happen in certain cases in
      	with the compat mode. We use a clear-counter-at-idle-hack to detect
      	the end of the loop.
      
      
      svn path=/trunk/; revision=15148
      abc2409e
  33. 13 Jan, 2009 1 commit
  34. 06 Oct, 2008 1 commit
    • Cosimo Cecchi's avatar
      Remove unnecessary includes of libgnome · c9aff00e
      Cosimo Cecchi authored
      2008-10-06  Cosimo Cecchi  <cosimoc@gnome.org>
      
              * libnautilus-private/nautilus-customization-data.c:
              * libnautilus-private/nautilus-dnd.c:
              * libnautilus-private/nautilus-file-utilities.c:
              * libnautilus-private/nautilus-file.c:
              * libnautilus-private/nautilus-global-preferences.c:
              * libnautilus-private/nautilus-icon-dnd.c:
              * libnautilus-private/nautilus-icon-private.h:
              * libnautilus-private/nautilus-monitor.c:
              * src/file-manager/fm-desktop-icon-view.c:
              * src/file-manager/fm-ditem-page.c:
              * src/file-manager/fm-error-reporting.h:
              * src/file-manager/fm-list-view.c:
              * src/file-manager/fm-properties-window.c:
              * src/nautilus-history-sidebar.c:
              * src/nautilus-image-properties-page.c:
              * src/nautilus-information-panel.c:
              * src/nautilus-location-bar.c:
              * src/nautilus-location-entry.c:
              * src/nautilus-main.c:
              * src/nautilus-navigation-window-menus.c:
              * src/nautilus-navigation-window.c:
              * src/nautilus-places-sidebar.c:
              * src/nautilus-window-manage-views.c:
              * src/nautilus-window-toolbars.c:
      	Remove unnecessary includes of libgnome
      
      
      svn path=/trunk/; revision=14689
      c9aff00e
  35. 30 Aug, 2008 1 commit
    • Christian Neumair's avatar
      Split out fallback function that determine the rightmost icon on the · 86d50d90
      Christian Neumair authored
      2008-08-30  Christian Neumair  <cneumair@gnome.org>
      
      	* libnautilus-private/nautilus-icon-container.c (get_cmp_point_x),
      	(compare_with_start_row), (compare_with_start_column),
      	(next_row_rightmost), (next_column_bottommost),
      	(same_column_below_highest), (keyboard_home), (keyboard_end),
      	(record_arrow_key_start), (keyboard_arrow_key), (keyboard_right),
      	(keyboard_left), (keyboard_down), (keyboard_up),
      	(button_press_event):
      	Split out fallback function that determine the rightmost icon on the
      	bottom row, which used to be inside same_column_below_highest().
      	Add a similar concept for the vertical layout.
      
      	Vertical layout: Move to the last item when pressing the right arrow
      			 key in the penultimate column, below the last item.
      				next_row_rightmost().
      
      	Horizontal layout: Move to the last item when pressing the down arrow
      			   key in the penultimate row, right to the last item.
      				next_column_bottommost().
      
      	Remove arrow_key_start, and use arrow_key_axis_x/_y, for
      	horizontal/vertical position constraints in
      	compare_with_start_column() and compare_with_start_row().
      
      	Fixes #549686, at least for LTR.
      
      	* libnautilus-private/nautilus-icon-private.h:
      	Remove unused arrow_key_axis and arrow_key_start variables.
      
      svn path=/trunk/; revision=14541
      86d50d90