1. 26 Jul, 2018 1 commit
    • Marco Trevisan's avatar
      search-engine-simple: remove recursive property using query flag instead · 9cb63ff9
      Marco Trevisan authored
      Compute the recursive parameter depending on the query flag for recursivity,
      enabling it only if the query recursive flag is NAUTILUS_QUERY_RECURSIVE_ALWAYS,
      while should be disabled otherwise.
      
      At this point the "recursive" property that was set only for this search engine
      doesn't make any sense anymore and we can safely drop it, together with the
      calls that were done at search-engine level to handle this special case.
      
      We move now the responsibility to to the engine itself, more than to the model.
      9cb63ff9
  2. 18 May, 2018 1 commit
    • Ernestas Kulik's avatar
      general: Clean up headers and their inclusions · e686c297
      Ernestas Kulik authored
      This commit removes redundant header inclusions and tries to optimize
      headers by using forward declarations of types in headers. Such
      optimization should generally make builds speedier in that changes in
      certain headers will not cause unrelated sources to be rebuilt.
      e686c297
  3. 03 Mar, 2018 1 commit
  4. 13 Feb, 2018 1 commit
  5. 24 Aug, 2017 2 commits
  6. 17 Aug, 2017 1 commit
  7. 15 Aug, 2017 1 commit
  8. 09 Aug, 2017 1 commit
  9. 22 Jun, 2017 1 commit
    • Alexandru Pandelea's avatar
      implement fts · 11cbe223
      Alexandru Pandelea authored
      The search text can now also match the contents of a file, besides
      the file name.
      
      This is done with the help of a Tracker query, using fts:match, which
      matces both the contents of a file and the filename.
      
      The user also has the option to choose whether to use or not the
      Full Text Search. This can be done with a preference, which represents
      the default option when opening a new tab/window or from the search
      popover.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=775961
      11cbe223
  10. 30 Aug, 2016 1 commit
  11. 29 Aug, 2016 1 commit
  12. 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
  13. 14 Apr, 2016 2 commits
  14. 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
  15. 02 Feb, 2016 4 commits
    • Carlos Soriano Sánchez's avatar
      search-directory: don't reload search · 0bb0e846
      Carlos Soriano Sánchez authored
      I know that it looks like it makes sense, but don't do it :)
      
      Basically, all the logic for when a the query changes and to
      load a new search directory (and therefore reload) is done outside
      of the engines or the query. So basically don't touch it here.
      
      What I believe is that reload should start the search again, not only
      stop it and invalidate the file attributes of the search directory,
      because as you could see it actually stops the search but doesn't
      restart it.
      
      I think this change of logic that makes reload not work properly on all
      cases was introduced by me when I introduced the concept of restarting
      the search engine internally, not only start and stop.
      
      I will take a deeper look in future.
      0bb0e846
    • Georges Basile Stavracas Neto's avatar
      search-engines: adapt to the new search model · a7ef0f15
      Georges Basile Stavracas Neto authored
      The search engines currently aren't able to perform searches
      against modification or access times. Also, exposes the current
      operation status, i.e. whether it's running or not.
      
      This commit implements it for simple, model & tracker search
      engines.
      a7ef0f15
    • Georges Basile Stavracas Neto's avatar
      search-directory: use the query's recursive flag · e84bc627
      Georges Basile Stavracas Neto authored
      NautilusSearchDirectory decides whether the search
      will be done recursively or not by manually checking
      if the current directory is remote or not.
      
      Since the NautilusQuery::recursive flag already does
      this job through NautilusQueryEditor, the manual check
      is obsolete.
      
      Fix that by using the query's recursive flag instead.
      e84bc627
    • Georges Basile Stavracas Neto's avatar
      query: make NautilusQuery a final class · 2e72a3a0
      Georges Basile Stavracas Neto authored
      NautilusQuery handle all the necessary data
      to perform searches throughout directories.
      
      Currently, there is no NautilusQuery subclass
      in Nautilus code, and - since it's inside
      libnautilus-private - there is no way to subclass
      it.
      
      This commit updates NautilusQuery code be a final
      class.
      2e72a3a0
  16. 22 Jan, 2016 1 commit
    • Carlos Soriano Sánchez's avatar
      search-directory: don't mark as all_files_seen on hits ready · 47a09986
      Carlos Soriano Sánchez authored
      We were marking as all_files_seen when hits were added, so the view
      will react on it and display the files that were recently added.
      
      However, that's not consistent, and the view calls done_loading
      if all files are seen. This has, as a UI effect, removing the floating
      bar, and therefore any hint that the view is still loading/searching.
      
      So let's be consistent here and in the upcoming patch we will fix
      this issue with the search.
      47a09986
  17. 18 Jan, 2016 1 commit
  18. 03 Sep, 2015 2 commits
  19. 02 Sep, 2015 1 commit
  20. 23 Jul, 2015 1 commit
    • Carlos Soriano Sánchez's avatar
      search-directory: make sure to stop the search if no clients · 394fde48
      Carlos Soriano Sánchez authored
      Until now we were not stopping the search if no callbacks from clients
      were present. That happened when the user canceled the search while the
      search directory was waiting for its files metadata, since that async
      call was not canceled.
      
      This was actually making nautilus freeze on situations where the search
      was so expensive that other threads couldn't cope with it.
      
      To fix it, make sure we stop the search if no clients are present as
      callbacks, and make sure we stop the load of the view when we cancel the
      async call in the stop_loadin handler of the view.
      394fde48
  21. 22 Jul, 2015 6 commits
    • Carlos Soriano Sánchez's avatar
      search-directory: give a better name to search_loaded · 5c82a12c
      Carlos Soriano Sánchez authored
      It actually means that there is some data from search engine,
      and that is valid and that is ready to be read.
      Also add an explanation about why we need this property and
      how it works.
      5c82a12c
    • Carlos Soriano Sánchez's avatar
    • Carlos Soriano Sánchez's avatar
    • Carlos Soriano Sánchez's avatar
      search-directory: rename ensure_loaded · 39fe811c
      Carlos Soriano Sánchez authored
      It is confusing with all the finished/done-loading signals
      all around. This actually what it does is mark the directory as
      ready to read from. Also, it connects the pending clients callbacks.
      So also factor out it to make sure the difference of those actions.
      39fe811c
    • Carlos Soriano Sánchez's avatar
      search: done loading signal only if not restarting engine · ff6ccbaf
      Carlos Soriano Sánchez authored
      It was working as:
      - Search directory starts a new search
      - Search engine starts all search providers, each one in its
      own thread.
      - User changes query
      - Search engine stops all search providers
      - Searchs providers, since they are in its own thread, cancel
      in a unknown time.
      - Search directory starts a new search, even before all providers
      are finished.
      - Search engine is marked as need to restart.
      - Search providers finished.
      - Search engine emits finished signal, since all search providers
      now are stopped.
      - Clients doesn't have a way to know if the engine
      actually finished searching the current search, or the previous
      search that the client asked to stop. That might confuse clients
      if they ask for results.
      - Search engine restart the search providers without noticing the
      client, that thinks that the latest search it started was finished
      already.
      
      So to fix this confusion, only report that the engine actually finished
      if the engine is not going to restart the search providers.
      In this way a client can start a batch of consecutive searches without
      the risk of getting search finished signals from previous searches.
      Clients now will always get the search-finished signal of the
      latest search they started.
      ff6ccbaf
    • Carlos Soriano Sánchez's avatar
      search-directory: fix done loading signal emission · 902cac93
      Carlos Soriano Sánchez authored
      We were emitting the done loading signal everytime the search
      directory were ensure loading. But we were ensuring loading in more
      cases than it actually done loading.
      
      We are done loading when the search engine finishes. So only emit
      the done loading signal at that moment.
      902cac93
  22. 28 May, 2015 1 commit
  23. 27 May, 2015 1 commit
  24. 24 Jan, 2015 2 commits
  25. 31 Jan, 2014 1 commit
  26. 29 Oct, 2012 1 commit
  27. 22 Oct, 2012 2 commits