• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IJHack / QtPass / 35207089027
93%

Build:
DEFAULT BRANCH: main
Ran 17 Sep 2026 09:55AM UTC
Jobs 1
Files 103
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Sep 2026 09:48AM UTC coverage: 75.517% (+0.1%) from 75.395%
35207089027

push

github

web-flow
Extract StoreTree: the models behind the tree and the index-to-path mapping (#1802)

* Extract StoreTree: the models behind the tree and the index-to-path mapping

MainWindow owned a QFileSystemModel and a StoreModel, spelled
Util::getDir(currentIndex, ..., model, proxyModel, store) eleven times,
repeated the "setStore, then re-derive the root index for the view"
sequence five times, and util.h dragged QFileSystemModel and storemodel.h
into every backend translation unit for that one helper.

StoreTree owns both models and the view setup; setStore() re-roots the
file system model, the proxy and the view together (and drops a filter),
setFilter() keeps the root in step, and dirFor()/fileFor() with their
current* variants are the two path mappings. Util::getDir moves in as
dirFor(); util.h loses the two includes (qtpasssettings.cpp needed its own
QDir/QFile/QFileInfo, which it had been getting through util.h).

One regression the new suite caught while writing it: hiding the size,
type and date columns only works once the proxy has a source model, so
that now happens in setStore() rather than the constructor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

* Sort includes in qtpasssettings.cpp

clang-format wanted the new <QDir>/<QFile>/<QFileInfo> includes in
alphabetical order.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

* StoreTree: set up the header only once the view has columns

setSectionResizeMode(0) and sortByColumn(0) ran in the constructor, when
the proxy had no source model yet and the header no sections. Qt 6.11
shrugs that off; Qt 6.8 indexes an empty section list and tst_mainwindow
died with SIGSEGV in constructionDoesNotCrash on both CI 6.8 builds.
Both calls now sit in setStore() next to the column hiding, which had
already moved there for the same reason, and the test checks... (continued)

64 of 102 new or added lines in 3 files covered. (62.75%)

3 existing lines in 1 file now uncovered.

5845 of 7740 relevant lines covered (75.52%)

73.48 hits per line

Uncovered Changes

Lines Coverage ∆ File
35
45.55
-0.54% src/mainwindow.cpp
2
96.55
src/storetree.cpp
1
0.0
src/storetree.h

Coverage Regressions

Lines Coverage ∆ File
3
45.55
-0.54% src/mainwindow.cpp
Jobs
ID Job ID Ran Files Coverage
1 35207089027.1 17 Sep 2026 09:55AM UTC 103
75.52
GitHub Action Run
Source Files on build 35207089027
  • Tree
  • List 103
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35207089027
  • 0502b4dd on github
  • Prev Build on main (#35204585977)
  • Next Build on main (#35214751654)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc