1. 29 Aug, 2016 1 commit
  2. 05 Jul, 2015 1 commit
  3. 04 Jul, 2015 1 commit
  4. 18 Jun, 2015 2 commits
    • Matthias Clasen's avatar
      Use infos from search engine instead of getting them again · 1d63335c
      Matthias Clasen authored
      When the search engine provides hits with GFileInfo, use that
      to add the hits to the model directly, without going through
      another round of async get_info calls.
      To do this, we add a batched variant of the
      _gtk_file_system_model_update_file call that takes lists of
      GFiles and GFileInfos. Again, we can avoid repeated resorting
      that happens when the files are updated individually.
    • Matthias Clasen's avatar
      file system model: Add batched insertion · b2ceadb0
      Matthias Clasen authored
      Add a batched version of gtk_file_system_model_add_and_query_file
      that takes a list of files and avoids resorting the model for each
      individual insertion. The querying is still done one-file-at-a-time,
      so more optimization is certainly possible.
  5. 10 Apr, 2015 1 commit
  6. 12 Dec, 2014 1 commit
  7. 26 Nov, 2014 1 commit
    • Emmanuele Bassi's avatar
      Freeze file system model during editing · cbb29385
      Emmanuele Bassi authored
      If a file system event arrives while GtkFileChooserWidget is asking the
      user to edit the name of a newly created folder, the file system model
      will drop the row with the editable cell, and the user will have to
      start from scratch.
      This makes creating new directories impossible inside a directory with a
      file currently being downloaded, for instance, and it's really unhelpful
      to the user because the editable row simply disappears.
      We already have a mechanism in place to freeze the file system model, so
      we can reuse it between the add_editable() and the remove_editable()
  8. 21 Feb, 2014 1 commit
  9. 19 Feb, 2014 1 commit
  10. 07 Feb, 2014 1 commit
  11. 05 Feb, 2014 1 commit
  12. 28 Jan, 2014 1 commit
  13. 23 Oct, 2013 1 commit
  14. 02 Nov, 2012 1 commit
    • Federico Mena Quintero's avatar
      bgo#687196 - Fix model corruption during file removal · ea3a750f
      Federico Mena Quintero authored
      The main problem is that we were emitting the row-deleted signal for the model in the middle
      of the process that actually deletes the row from the model (remove the row from the array,
      update the model->file_lookup hash table, etc.).  In the model's caller, one of the row-deleted
      callbacks was requesting an iter, which caused the model to revalidate itself - but it did
      this while it was in an inconsistent state.  This led to an assertion failure later when the
      model resorted itself.
      The fix in remove_file() is like this:
      * The filteredness/visibility of the deleted node is not updated.  The
        node will simply be gone; we don't need to update those values at
      * We invalidate just the node that is being deleted.
      * The model->file_lookup hash table is not completely nuked; instead,
        we carefully adjust its indices.
      * The row-deleted signal is only emitted at the very end, when
        deletion is complete and the model is consistent.
      Many thanks to William Hua for doing the detective work on this bug!
      Signed-off-by: Federico Mena Quintero's avatarFederico Mena Quintero <federico@gnome.org>
  15. 01 Nov, 2012 4 commits
  16. 15 Jul, 2012 5 commits
  17. 27 Feb, 2012 1 commit
  18. 16 Dec, 2011 1 commit
  19. 03 Oct, 2011 1 commit
  20. 28 Mar, 2011 1 commit
  21. 24 Aug, 2010 1 commit
  22. 10 Jul, 2010 1 commit
  23. 28 Jun, 2010 3 commits
  24. 02 May, 2010 1 commit
  25. 04 Apr, 2010 2 commits
  26. 29 Mar, 2010 1 commit
  27. 19 Feb, 2010 1 commit
  28. 02 Nov, 2009 1 commit
    • Benjamin Otte's avatar
      Don't keep the filesystem model alive while querying files · ba9f5339
      Benjamin Otte authored
      This allows disposing of the filesystemmodel while the file enumeration
      is still happening.
      As the filechooser does not disconnect its signals because it assumes it
      is the only owner of the model, this also prevents a SEGV when emitting
      the "load-finished" signal in that case.
  29. 15 Oct, 2009 1 commit