<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/src/search/dolphinfacetswidget.cpp, branch master</title>
<subtitle>Patched KDE Dolphin with Pixel Scaling
</subtitle>
<id>https://fiftyfourth.xyz/git/dolphin/atom?h=master</id>
<link rel='self' href='https://fiftyfourth.xyz/git/dolphin/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/'/>
<updated>2025-04-07T21:09:00Z</updated>
<entry>
<title>Rewrite search integration</title>
<updated>2025-04-07T21:09:00Z</updated>
<author>
<name>Felix Ernst</name>
<email>felixernst@kde.org</email>
</author>
<published>2025-04-07T21:09:00Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=4102ccb80457eea44ea280f0ace2a419602bc34b'/>
<id>urn:sha1:4102ccb80457eea44ea280f0ace2a419602bc34b</id>
<content type='text'>
This huge commit is a nearly complete rewrite of the Dolphin search
code. It implements most of the improved Dolphin search UI/UX as
designed and discussed in a collaborative effort by Kristen McWilliam,
Jin Liu, Andy Betts, Tagwerk, a few others and me.
See https://invent.kde.org/system/dolphin/-/issues/46.

# Notable changes

- A toggle to change the search tool is provided as most contributors
deemed that useful in
https://invent.kde.org/system/dolphin/-/merge_requests/642#note_985112.
- The default search is changed to filenamesearch for maximum
reliability.
- Removing all search parameters will take users back to the view state
prior to starting a search instead of keeping the search results open.
- The UI for choosing file types or modification dates has been made
more powerful with more granularity and more options.
- Most search parameters can be configured from a popup menu which
gives us extra space for extra clarity.
- Labels and help buttons as well as hyperlinks to settings makes sure
the user always knows why some search parameters are unavailable in
some contexts.
- Chips show important search parameters while the popup is closed.
They allow quickly removing filters.
- The titles of the search and the input field placeholder message
change to make clear whether file names or file contents are searched.
- When the user actively switches the search tool, whether content
should be searched, or whether to search everywhere, this is preserved
for the initial state of the search bar when the user opens it the next
time after restarting Dolphin.

# Architecture

- The new DolphinQuery class is independent of the UI and contains all
search parameters modifiable in Dolphin as easy setters and getters.
- DolphinQuery objects are also used to update the states of every
component in the search UI. There is now a clear separation of UI and
search configuration/DolphinQuery.
- DolphinQuery is responsible for exporting to and importing from
search URLs.
- The search UI always reflects the currently configured DolphinQuery
no matter if the user changed the UI to change the DolphinQuery or
loaded a DolphinQuery/older search URL which then is reflected in the
UI.
- I tried to simplify all classes and their interaction between each
other as much as possible.
- I added some tests

BUG: 386754
CCBUG: 435119
CCBUG: 458761
BUG: 446387
BUG: 470136
CCBUG: 471556
CCBUG: 475439
CCBUG: 477969
BUG: 480001
BUG: 483578
BUG: 488047
BUG: 488845
BUG: 500103
FIXED-IN: 25.08
</content>
</entry>
<entry>
<title>Replace qAsConst with std::as_const</title>
<updated>2023-09-10T13:19:13Z</updated>
<author>
<name>Méven Car</name>
<email>meven@kde.org</email>
</author>
<published>2023-09-10T13:19:13Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=b58a346be96f7d0973ed96e52c4cf95463ba244d'/>
<id>urn:sha1:b58a346be96f7d0973ed96e52c4cf95463ba244d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add explicit moc includes to sources for moc-covered headers</title>
<updated>2023-07-05T07:59:18Z</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2023-07-04T20:07:48Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=ed2d352c42a6d517d4f29b3582c0e00aa34fe647'/>
<id>urn:sha1:ed2d352c42a6d517d4f29b3582c0e00aa34fe647</id>
<content type='text'>
* speeds up incremental builds as changes to a header will not always
  need the full mocs_compilation.cpp for all the target's headers rebuild,
  while having a moc file sourced into a source file only adds minor
  extra costs, due to small own code and the used headers usually
  already covered by the source file, being for the same class/struct
* seems to not slow down clean builds, due to empty mocs_compilation.cpp
  resulting in those quickly processed, while the minor extra cost of the
  sourced moc files does not outweigh that in summary.
  Measured times actually improved by some percent points.
  (ideally CMake would just skip empty mocs_compilation.cpp &amp; its object
  file one day)
* enables compiler to see all methods of a class in same compilation unit
  to do some sanity checks
* potentially more inlining in general, due to more in the compilation unit
* allows to keep using more forward declarations in the header, as with the
  moc code being sourced into the cpp file there definitions can be ensured
  and often are already for the needs of the normal class methods
</content>
</entry>
<entry>
<title>search: Prevent the search box from enlarging the view</title>
<updated>2023-03-04T10:30:41Z</updated>
<author>
<name>Ismael Asensio</name>
<email>isma.af@gmail.com</email>
</author>
<published>2023-03-03T22:49:19Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=ba60b6ada3121389dcd4ee51aaa9067d681b187a'/>
<id>urn:sha1:ba60b6ada3121389dcd4ee51aaa9067d681b187a</id>
<content type='text'>
By default, the search filters widget calculates its
`minimumSizeHint` as the sum of its components' minimum widths.

This minimum width hint will scale up the widgets hierarchy,
finally imposing a minimum width to the contents view, which
in certain conditions can take the space from the side panels.

Let's set a minimum width hint of 0, so it is the filters widget
which always adapts to the available view size instead.

BUG: 466796
FIXED-IN: 23.04
</content>
</entry>
<entry>
<title>Add clang-format and format code as in Frameworks</title>
<updated>2023-02-05T05:45:38Z</updated>
<author>
<name>Serg Podtynnyi</name>
<email>serg@podtynnyi.com</email>
</author>
<published>2023-02-03T17:14:53Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=38c34eeca315c7be58e65d4d3fb72aaf7b866719'/>
<id>urn:sha1:38c34eeca315c7be58e65d4d3fb72aaf7b866719</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Drop now unneeded QOverload statements</title>
<updated>2021-12-13T08:35:26Z</updated>
<author>
<name>Alexander Lohnau</name>
<email>alexander.lohnau@gmx.de</email>
</author>
<published>2021-11-11T19:27:47Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=fd717b88faab656205c2b5712959f9fd48e433a5'/>
<id>urn:sha1:fd717b88faab656205c2b5712959f9fd48e433a5</id>
<content type='text'>
By defining the KF_DISABLE_DEPRECATED_BEFORE_AND_AT and QT_DISABLE_DEPRECATED_BEFOREvalues,
the deprecated overloads are hidden. This way we only have the un-deprecated one visible.
</content>
</entry>
<entry>
<title>Merge branch 'release/21.04'</title>
<updated>2021-05-13T13:09:42Z</updated>
<author>
<name>Ismael Asensio</name>
<email>isma.af@gmail.com</email>
</author>
<published>2021-05-13T13:09:42Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=4d9ea4261a1f24e299595b897ea790eab1748fe9'/>
<id>urn:sha1:4d9ea4261a1f24e299595b897ea790eab1748fe9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>search/facetswidget: Check for protocol before trying to fetch tags</title>
<updated>2021-05-10T12:05:35Z</updated>
<author>
<name>Ismael Asensio</name>
<email>isma.af@gmail.com</email>
</author>
<published>2021-05-09T19:10:44Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=29636baff0f0cf8d769aa75b1c458b96cf83b828'/>
<id>urn:sha1:29636baff0f0cf8d769aa75b1c458b96cf83b828</id>
<content type='text'>
This was causing an error when trying to list items from the
non-existent `tags:` protocol.

BUG: 435586
FIXED-IN: 21.04.1
</content>
</entry>
<entry>
<title>search: Add action to clear tag selection</title>
<updated>2021-05-03T14:22:21Z</updated>
<author>
<name>Ismael Asensio</name>
<email>isma.af@gmail.com</email>
</author>
<published>2019-11-07T23:48:47Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=65b283a909d098687cbb9df52822439f5f5560b5'/>
<id>urn:sha1:65b283a909d098687cbb9df52822439f5f5560b5</id>
<content type='text'>
BUG: 432719
</content>
</entry>
<entry>
<title>Compile with QT_NO_KEYWORDS</title>
<updated>2020-10-23T18:23:06Z</updated>
<author>
<name>Alexander Lohnau</name>
<email>alexander.lohnau@gmx.de</email>
</author>
<published>2020-10-23T17:51:33Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=97415729c34851df75c77a67f27d6299c00bfbc4'/>
<id>urn:sha1:97415729c34851df75c77a67f27d6299c00bfbc4</id>
<content type='text'>
</content>
</entry>
</feed>
