1. 11 May, 2022 1 commit
    • António Fernandes's avatar
      flatpak: Pin gnome-desktop to stable branch · 385d15a7
      António Fernandes authored and António Fernandes's avatar António Fernandes committed
      The master branch introduces incompatible API changes in the
      thumbnailing component.
      
      The previously cherry-picked patch has been reverted because
      it shouldn't have been applied to the stable branch.
      
      Instead, in order to pass the pipeline, use stable dependency.
      
      Fixes #2237
      
      
      (cherry picked from commit ca306b56)
      385d15a7
  2. 10 May, 2022 1 commit
    • Corey Berla's avatar
      file: Fix remote filesystem check · aed076b3
      Corey Berla authored and António Fernandes's avatar António Fernandes committed
      Files are flagged as remote in file->details->filesystem_remote
      through directory-async as folders are browsed.
      nautilus_file_get_filesystem_remote() incorrectly returns FALSE for
      child directories that have not been processed by directory-async
      on a remote filesystem.  This causes the "Count Number of Files in
      Folders" options to not work correctly when set to "On This Computer
      Only".  Rather than unnecessarily process all of the child folders,
      check whether filesystem_info_is_up_to_date==TRUE.  If not,
      check whether the parent is remote instead.
      
      This issue was introduced in 99f55748.
      Previously the prefix of the URI was checked to match a hardcoded list.
      
      Fixes: #2035
      
      
      (cherry picked from commit 2ab0fcbd)
      aed076b3
  3. 19 Mar, 2022 7 commits
    • António Fernandes's avatar
      Release version 41.5 · 3b96fda9
      António Fernandes authored
      3b96fda9
    • Sergio Costas's avatar
      Fix move operation in treeview DnD · a49138e1
      Sergio Costas authored and António Fernandes's avatar António Fernandes committed
      When doing a DnD operation from outside Nautilus into one of
      its windows, if the window is in "iconview mode", Nautilus
      is able to detect when the origin and the destination folders
      are in the same disk volume and do a move in that case, or
      do a copy when they are in different volumes.
      
      Unfortunately, when the window is in "treeview mode", this
      operation doesn't work as expected, and always copy the file(s),
      no matter if the origin and destination folders are or not in
      the same volume.
      
      After tracking the bug, I found that, in "treeview mode", the
      NautilusFile object with the destination folder doesn't have
      defined the filesystem_id property. This makes fail the
      check_same_fs() function, which always returns FALSE. In
      "iconview mode", instead, the object does have that property
      defined, and that's why there it works.
      
      I did a fix proposal, and although it was a safe workaround,
      António Fernandes found a better way to fix it, which is
      this patch.
      
      Fix #2170
      
      
      (cherry picked from commit 222bb41f)
      a49138e1
    • António Fernandes's avatar
      css: Add backdrop style for pathbar · 3e97c197
      António Fernandes authored and António Fernandes's avatar António Fernandes committed
      The difference between @borders and @unfocused_borders colors is barely
      noticeable with the regular stylesheet, but marked with high contrast.
      The same is true for @theme_bg_color vs. @theme_unfocused_bg_color.
      
      So, under the Adwaita spreadsheet, this change is barely noticeable,
      despite being correct and indeed a bugfix.
      
      The main purpose of this patch is to improve HighContrast support.
      3e97c197
    • António Fernandes's avatar
      application: Apply custom styles in HighConstrast · 19a22809
      António Fernandes authored and António Fernandes's avatar António Fernandes committed
      HighContrast and HighContrastInverse have been poorly supported in
      this app for a long time because we ship many custom styles.
      
      However, nowadays HighContrast and HighContrastInverse stylesheets
      are derived from Adwaita stylesheet, so the same custom styles
      can be applied cleanly. Let's do that.
      
      Fixes #1614
      and fixes #1469
      19a22809
    • António Fernandes's avatar
      window-slot-dnd: Ignore data not received on hover · 9f36eaa6
      António Fernandes authored and António Fernandes's avatar António Fernandes committed
      Sometimes, after having called gtk_drag_get_data() on ::drag-motion, we
      only get the data after ::drag-leave.
      
      This is fine if the ::drag-leave is followed by ::drag-drop. Otherwise,
      as ::drag-leave is responsible for cleanup, data arriving afterwards is
      leaking into the next time content is dragged hover the widget, even if
      the dragged content is no longer the same.
      
      Instead, keep track of the hover status and don't save data that's no
      longer relevant.
      9f36eaa6
    • António Fernandes's avatar
      window-slot-dnd: Fix data retrieval failure path · 51594105
      António Fernandes authored and António Fernandes's avatar António Fernandes committed
      When data retrieval fails, ::drag-data-received is emitted with a
      selection of negative length.
      
      We have been treating this case as invalid data, but we never actually
      call gdk_drag_finish() which is mandatory after a drop.
      
      Instead, reset drag_info->have_data to FALSE in this case, and let
      slot_proxy_handle_drop() handle the rest.
      51594105
    • António Fernandes's avatar
      window-slot-dnd: Stop queueing data requests · 095d8829
      António Fernandes authored and António Fernandes's avatar António Fernandes committed
      Each time ::drag-motion is emitted, we call gtk_drag_get_data() if we
      don't have data yet.
      
      If the drag source doesn't provide the data right away, we can end up
      calling gtk_drag_get_data() multiple times. Later, when the data is
      retrieved, we get multiple ::drag-data-received emissions.
      
      Not only is this wasteful, it also breaks an assertion, causing crashes.
      
      Instead, make sure gtk_drag_get_data() is called only once.
      
      Fixes #1535
      095d8829
  4. 16 Mar, 2022 1 commit
  5. 10 Mar, 2022 1 commit
  6. 19 Feb, 2022 2 commits
  7. 11 Feb, 2022 1 commit
    • Ondrej Holy's avatar
      file-operations: Call autoar_compressor_set_passphrase conditionally · 4953a1e2
      Ondrej Holy authored
      The `autoar_compressor_set_passphrase` function is always called currently
      regardless the fact whether password is set, or not. Consequently, the
       "autoar_compressor_set_passphrase: assertion 'self->format == AUTOAR_FORMAT_ZIP'
      failed" critical is printed. Let's call that function only if the passphrase is
      really wanted.
      
      
      (cherry picked from commit 807ff3d7)
      4953a1e2
  8. 30 Jan, 2022 2 commits
  9. 29 Jan, 2022 1 commit
  10. 23 Jan, 2022 1 commit
  11. 12 Jan, 2022 2 commits
  12. 19 Nov, 2021 1 commit
    • António Fernandes's avatar
      pathbar: Avoid leaking stack pages · ab0d2c99
      António Fernandes authored and Ondrej Holy's avatar Ondrej Holy committed
      The templates submenu in the current location popover is recreated
      every time the menu model is updated, but the old widgetry is never
      destroyed.
      
      This results in a memory leak and many warnings in the terminal output.
      
      I couldn't find the root cause, after many investigations. However,
      I've found that unsetting the model actually removes the old widgetry.
      Let's do that as a workaround.
      
      Fixes #1705
      
      
      (cherry picked from commit c56e90ed)
      ab0d2c99
  13. 17 Nov, 2021 1 commit
  14. 14 Nov, 2021 1 commit
    • DillyPickly's avatar
      files-view: Fix "Copy To" from "Starred" folder · 80aca467
      DillyPickly authored and António Fernandes's avatar António Fernandes committed
      "Copy To" or "Move To" dialog starting from the current location.
      
      However, if the current location is starred://, GtkFileChooserDialog
      prompts an error message "The specified location is not supported".
      
      Instead, while in the Starred location, use the actual parent of the
      selected item as a starting location for the "Copy To" dialog.
      
      Fixes: #1243
      
      
      (cherry picked from commit e6c0b65c)
      80aca467
  15. 08 Nov, 2021 2 commits
  16. 06 Nov, 2021 1 commit
  17. 03 Nov, 2021 2 commits
  18. 30 Oct, 2021 6 commits
    • Ondrej Holy's avatar
      Post release version bump · 19082b6e
      Ondrej Holy authored
      19082b6e
    • Ondrej Holy's avatar
      Release version 41.1 · ca5283a5
      Ondrej Holy authored
      ca5283a5
    • António Fernandes's avatar
      files-view: Clean up submenus update code · 4b3f1184
      António Fernandes authored and Ondrej Holy's avatar Ondrej Holy committed
      Use autocleanup. Remove empty lines. Rename symbols. Rearrange early return.
      4b3f1184
    • António Fernandes's avatar
      files-view: Only refresh Scripts menu if needed · 2804732d
      António Fernandes authored and Ondrej Holy's avatar Ondrej Holy committed
      Same rationale as for Templates.
      
      But, in this case, we don't have a cache ready to use.
      
      So, keep a cache of the menu model in the private instance data.
      No need for a GObject property in this case.
      
      Also, remove scripts_present boolean, now that we can directly check
      whether the scripts_menu is present (i.e., not NULL).
      2804732d
    • António Fernandes's avatar
      files-view: Only refresh New Document menu if needed · 4a44f3d9
      António Fernandes authored and Ondrej Holy's avatar Ondrej Holy committed
      Menus are updated very frequently. Each time, we read the Templates
      directory tree and recreate a menu model from which we generate the
      New Document menu that's shared between the background context menu
      and the current location menu in the pathbar.
      
      This is wasteful and may cause noticeable UI lag if the Templates
      directory has got a lot of files and subdirectories.
      
      We already have a file monitor in place which notifies us when the
      content of the Templates directory actually changes, so we can rely
      on it to know when we need to read the directory again, and, in the
      remaining situations, we can use the cached menu model.
      
      Fixes #1069
      Relates to #1705
      4a44f3d9
    • António Fernandes's avatar
      files-view: Clear :templates-menu if it should not be used · a520e270
      António Fernandes authored and Ondrej Holy's avatar Ondrej Holy committed
      If the templates dir is set to Home, then it should not be used.
      We set the priv->templates_present boolean to FALSE in that case,
      but forget to set the :templates-menu property to NULL too.
      
      Fix that corner case issue. Also, drop the useless boolean and
      just check directly whether the menu is present (i.e. not NULL).
      a520e270
  19. 27 Oct, 2021 1 commit
    • António Fernandes's avatar
      trash-bar: Ellipsize subtitle label · 6afce418
      António Fernandes authored
      The subtitle label is long and may be even longer in some locales.
      
      As a result, a wide minimum width is forced on the whole window, which
      is not desirable.
      
      So, make it ellipsize and also add a tooltip.
      
      Fixes #2012
      6afce418
  20. 26 Oct, 2021 2 commits
  21. 25 Oct, 2021 3 commits