feat: pagination, back/forward nav, context menu, artist fav, image fix

**Artist portrait**
- Fix CDN URL: images.portrait.{hash,format} →
  https://static.qobuz.com/images/artists/covers/large/{hash}.{format}

**Section alignment**
- Qt::ToolButtonTextOnly on all section toggles so text is truly left-aligned

**Auth 401 race condition**
- qobuz_backend_set_token now uses blocking_lock() instead of spawning an
  async task, guaranteeing the token is set before any subsequent API call

**Pagination (infinite scroll)**
- Release sections load 50 at a time (was 500)
- ArtistSection tracks has_more + loaded count; scrolling to the bottom
  emits loadMoreRequested → ArtistView calls getArtistReleases(offset=N)
- AlbumListView gains addAlbums() for append; setReleases routes to
  setAlbums (offset=0) or appendAlbums (offset>0)

**Back/Forward navigation**
- MainToolBar exposes Back/Forward QActions (go-previous/go-next icons)
- MainWindow keeps a NavPage vector + index; pushNav() on every album/artist
  navigation; goBack/goForward re-navigate without pushing history

**Context menu on now-playing label**
- Right-click on track label in toolbar → "Go to Album" / "Go to Artist"
- MainToolBar stores current track; emits albumRequested/artistRequested
  signals wired to MainWindow's existing handlers

**Artist favourites button**
- ♡ Favourite / ♥ Favourited toggle in artist header
- Calls new addFavArtist / removeFavArtist (Rust + Qt backend wiring)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
joren
2026-03-25 18:25:12 +01:00
parent 963c9ad232
commit 3e96b6d7a8
157 changed files with 64124 additions and 84 deletions

View File

@@ -0,0 +1,218 @@
/****************************************************************************
** Meta object code from reading C++ file 'library.hpp'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.10.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../src/list/library.hpp"
#include <QtCore/qmetatype.h>
#include <QtCore/QList>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'library.hpp' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.10.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN4List7LibraryE_t {};
} // unnamed namespace
template <> constexpr inline auto List::Library::qt_create_metaobjectdata<qt_meta_tag_ZN4List7LibraryE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"List::Library",
"favTracksRequested",
"",
"favAlbumsRequested",
"favArtistsRequested",
"playlistRequested",
"playlistId",
"name",
"userPlaylistsChanged",
"QList<std::pair<qint64,QString>>",
"playlists",
"openPlaylistDeleted",
"onUserPlaylistsLoaded",
"QJsonObject",
"result",
"onItemClicked",
"QTreeWidgetItem*",
"item",
"column",
"onItemDoubleClicked",
"onContextMenuRequested",
"QPoint",
"pos"
};
QtMocHelpers::UintData qt_methods {
// Signal 'favTracksRequested'
QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'favAlbumsRequested'
QtMocHelpers::SignalData<void()>(3, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'favArtistsRequested'
QtMocHelpers::SignalData<void()>(4, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'playlistRequested'
QtMocHelpers::SignalData<void(qint64, const QString &)>(5, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::LongLong, 6 }, { QMetaType::QString, 7 },
}}),
// Signal 'userPlaylistsChanged'
QtMocHelpers::SignalData<void(const QVector<QPair<qint64,QString>> &)>(8, 2, QMC::AccessPublic, QMetaType::Void, {{
{ 0x80000000 | 9, 10 },
}}),
// Signal 'openPlaylistDeleted'
QtMocHelpers::SignalData<void()>(11, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'onUserPlaylistsLoaded'
QtMocHelpers::SlotData<void(const QJsonObject &)>(12, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ 0x80000000 | 13, 14 },
}}),
// Slot 'onItemClicked'
QtMocHelpers::SlotData<void(QTreeWidgetItem *, int)>(15, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ 0x80000000 | 16, 17 }, { QMetaType::Int, 18 },
}}),
// Slot 'onItemDoubleClicked'
QtMocHelpers::SlotData<void(QTreeWidgetItem *, int)>(19, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ 0x80000000 | 16, 17 }, { QMetaType::Int, 18 },
}}),
// Slot 'onContextMenuRequested'
QtMocHelpers::SlotData<void(const QPoint &)>(20, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ 0x80000000 | 21, 22 },
}}),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<Library, qt_meta_tag_ZN4List7LibraryE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject List::Library::staticMetaObject = { {
QMetaObject::SuperData::link<QTreeWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN4List7LibraryE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN4List7LibraryE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN4List7LibraryE_t>.metaTypes,
nullptr
} };
void List::Library::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<Library *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->favTracksRequested(); break;
case 1: _t->favAlbumsRequested(); break;
case 2: _t->favArtistsRequested(); break;
case 3: _t->playlistRequested((*reinterpret_cast<std::add_pointer_t<qint64>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[2]))); break;
case 4: _t->userPlaylistsChanged((*reinterpret_cast<std::add_pointer_t<QList<std::pair<qint64,QString>>>>(_a[1]))); break;
case 5: _t->openPlaylistDeleted(); break;
case 6: _t->onUserPlaylistsLoaded((*reinterpret_cast<std::add_pointer_t<QJsonObject>>(_a[1]))); break;
case 7: _t->onItemClicked((*reinterpret_cast<std::add_pointer_t<QTreeWidgetItem*>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
case 8: _t->onItemDoubleClicked((*reinterpret_cast<std::add_pointer_t<QTreeWidgetItem*>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
case 9: _t->onContextMenuRequested((*reinterpret_cast<std::add_pointer_t<QPoint>>(_a[1]))); break;
default: ;
}
}
if (_c == QMetaObject::IndexOfMethod) {
if (QtMocHelpers::indexOfMethod<void (Library::*)()>(_a, &Library::favTracksRequested, 0))
return;
if (QtMocHelpers::indexOfMethod<void (Library::*)()>(_a, &Library::favAlbumsRequested, 1))
return;
if (QtMocHelpers::indexOfMethod<void (Library::*)()>(_a, &Library::favArtistsRequested, 2))
return;
if (QtMocHelpers::indexOfMethod<void (Library::*)(qint64 , const QString & )>(_a, &Library::playlistRequested, 3))
return;
if (QtMocHelpers::indexOfMethod<void (Library::*)(const QVector<QPair<qint64,QString>> & )>(_a, &Library::userPlaylistsChanged, 4))
return;
if (QtMocHelpers::indexOfMethod<void (Library::*)()>(_a, &Library::openPlaylistDeleted, 5))
return;
}
}
const QMetaObject *List::Library::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *List::Library::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN4List7LibraryE_t>.strings))
return static_cast<void*>(this);
return QTreeWidget::qt_metacast(_clname);
}
int List::Library::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QTreeWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 10)
qt_static_metacall(this, _c, _id, _a);
_id -= 10;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 10)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 10;
}
return _id;
}
// SIGNAL 0
void List::Library::favTracksRequested()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
// SIGNAL 1
void List::Library::favAlbumsRequested()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
// SIGNAL 2
void List::Library::favArtistsRequested()
{
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}
// SIGNAL 3
void List::Library::playlistRequested(qint64 _t1, const QString & _t2)
{
QMetaObject::activate<void>(this, &staticMetaObject, 3, nullptr, _t1, _t2);
}
// SIGNAL 4
void List::Library::userPlaylistsChanged(const QVector<QPair<qint64,QString>> & _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 4, nullptr, _t1);
}
// SIGNAL 5
void List::Library::openPlaylistDeleted()
{
QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}
QT_WARNING_POP

View File

@@ -0,0 +1,401 @@
/home/joren/dev/qobuz-qt/build-viz/qobuz-qt_autogen/SQPBPYYWJ6/moc_library.cpp: /home/joren/dev/qobuz-qt/src/list/library.hpp \
/home/joren/dev/qobuz-qt/build-viz/qobuz-qt_autogen/moc_predefs.h \
/home/joren/dev/qobuz-qt/rust/include/qobuz_backend.h \
/home/joren/dev/qobuz-qt/src/backend/qobuzbackend.hpp \
/home/joren/dev/qobuz-qt/src/util/settings.hpp \
/usr/include/alloca.h \
/usr/include/assert.h \
/usr/include/bits/alltypes.h \
/usr/include/bits/errno.h \
/usr/include/bits/limits.h \
/usr/include/bits/stdint.h \
/usr/include/c++/15.2.0/algorithm \
/usr/include/c++/15.2.0/array \
/usr/include/c++/15.2.0/atomic \
/usr/include/c++/15.2.0/backward/auto_ptr.h \
/usr/include/c++/15.2.0/backward/binders.h \
/usr/include/c++/15.2.0/bit \
/usr/include/c++/15.2.0/bits/algorithmfwd.h \
/usr/include/c++/15.2.0/bits/align.h \
/usr/include/c++/15.2.0/bits/alloc_traits.h \
/usr/include/c++/15.2.0/bits/allocated_ptr.h \
/usr/include/c++/15.2.0/bits/allocator.h \
/usr/include/c++/15.2.0/bits/atomic_base.h \
/usr/include/c++/15.2.0/bits/atomic_lockfree_defines.h \
/usr/include/c++/15.2.0/bits/basic_string.h \
/usr/include/c++/15.2.0/bits/basic_string.tcc \
/usr/include/c++/15.2.0/bits/char_traits.h \
/usr/include/c++/15.2.0/bits/charconv.h \
/usr/include/c++/15.2.0/bits/chrono.h \
/usr/include/c++/15.2.0/bits/concept_check.h \
/usr/include/c++/15.2.0/bits/cpp_type_traits.h \
/usr/include/c++/15.2.0/bits/cxxabi_forced.h \
/usr/include/c++/15.2.0/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.0/bits/enable_special_members.h \
/usr/include/c++/15.2.0/bits/erase_if.h \
/usr/include/c++/15.2.0/bits/exception.h \
/usr/include/c++/15.2.0/bits/exception_defines.h \
/usr/include/c++/15.2.0/bits/exception_ptr.h \
/usr/include/c++/15.2.0/bits/functexcept.h \
/usr/include/c++/15.2.0/bits/functional_hash.h \
/usr/include/c++/15.2.0/bits/hash_bytes.h \
/usr/include/c++/15.2.0/bits/hashtable.h \
/usr/include/c++/15.2.0/bits/hashtable_policy.h \
/usr/include/c++/15.2.0/bits/invoke.h \
/usr/include/c++/15.2.0/bits/ios_base.h \
/usr/include/c++/15.2.0/bits/list.tcc \
/usr/include/c++/15.2.0/bits/locale_classes.h \
/usr/include/c++/15.2.0/bits/locale_classes.tcc \
/usr/include/c++/15.2.0/bits/localefwd.h \
/usr/include/c++/15.2.0/bits/memory_resource.h \
/usr/include/c++/15.2.0/bits/memoryfwd.h \
/usr/include/c++/15.2.0/bits/move.h \
/usr/include/c++/15.2.0/bits/nested_exception.h \
/usr/include/c++/15.2.0/bits/new_allocator.h \
/usr/include/c++/15.2.0/bits/node_handle.h \
/usr/include/c++/15.2.0/bits/ostream_insert.h \
/usr/include/c++/15.2.0/bits/parse_numbers.h \
/usr/include/c++/15.2.0/bits/postypes.h \
/usr/include/c++/15.2.0/bits/predefined_ops.h \
/usr/include/c++/15.2.0/bits/ptr_traits.h \
/usr/include/c++/15.2.0/bits/range_access.h \
/usr/include/c++/15.2.0/bits/refwrap.h \
/usr/include/c++/15.2.0/bits/requires_hosted.h \
/usr/include/c++/15.2.0/bits/shared_ptr.h \
/usr/include/c++/15.2.0/bits/shared_ptr_atomic.h \
/usr/include/c++/15.2.0/bits/shared_ptr_base.h \
/usr/include/c++/15.2.0/bits/specfun.h \
/usr/include/c++/15.2.0/bits/std_abs.h \
/usr/include/c++/15.2.0/bits/std_function.h \
/usr/include/c++/15.2.0/bits/stl_algo.h \
/usr/include/c++/15.2.0/bits/stl_algobase.h \
/usr/include/c++/15.2.0/bits/stl_bvector.h \
/usr/include/c++/15.2.0/bits/stl_construct.h \
/usr/include/c++/15.2.0/bits/stl_function.h \
/usr/include/c++/15.2.0/bits/stl_heap.h \
/usr/include/c++/15.2.0/bits/stl_iterator.h \
/usr/include/c++/15.2.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.0/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.0/bits/stl_list.h \
/usr/include/c++/15.2.0/bits/stl_map.h \
/usr/include/c++/15.2.0/bits/stl_multimap.h \
/usr/include/c++/15.2.0/bits/stl_multiset.h \
/usr/include/c++/15.2.0/bits/stl_numeric.h \
/usr/include/c++/15.2.0/bits/stl_pair.h \
/usr/include/c++/15.2.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/15.2.0/bits/stl_relops.h \
/usr/include/c++/15.2.0/bits/stl_set.h \
/usr/include/c++/15.2.0/bits/stl_tempbuf.h \
/usr/include/c++/15.2.0/bits/stl_tree.h \
/usr/include/c++/15.2.0/bits/stl_uninitialized.h \
/usr/include/c++/15.2.0/bits/stl_vector.h \
/usr/include/c++/15.2.0/bits/stream_iterator.h \
/usr/include/c++/15.2.0/bits/streambuf.tcc \
/usr/include/c++/15.2.0/bits/streambuf_iterator.h \
/usr/include/c++/15.2.0/bits/string_view.tcc \
/usr/include/c++/15.2.0/bits/stringfwd.h \
/usr/include/c++/15.2.0/bits/uniform_int_dist.h \
/usr/include/c++/15.2.0/bits/unique_ptr.h \
/usr/include/c++/15.2.0/bits/unordered_map.h \
/usr/include/c++/15.2.0/bits/unordered_set.h \
/usr/include/c++/15.2.0/bits/uses_allocator.h \
/usr/include/c++/15.2.0/bits/uses_allocator_args.h \
/usr/include/c++/15.2.0/bits/utility.h \
/usr/include/c++/15.2.0/bits/vector.tcc \
/usr/include/c++/15.2.0/bits/version.h \
/usr/include/c++/15.2.0/cassert \
/usr/include/c++/15.2.0/cctype \
/usr/include/c++/15.2.0/cerrno \
/usr/include/c++/15.2.0/chrono \
/usr/include/c++/15.2.0/climits \
/usr/include/c++/15.2.0/clocale \
/usr/include/c++/15.2.0/cmath \
/usr/include/c++/15.2.0/compare \
/usr/include/c++/15.2.0/concepts \
/usr/include/c++/15.2.0/cstddef \
/usr/include/c++/15.2.0/cstdint \
/usr/include/c++/15.2.0/cstdio \
/usr/include/c++/15.2.0/cstdlib \
/usr/include/c++/15.2.0/cstring \
/usr/include/c++/15.2.0/ctime \
/usr/include/c++/15.2.0/cwchar \
/usr/include/c++/15.2.0/debug/assertions.h \
/usr/include/c++/15.2.0/debug/debug.h \
/usr/include/c++/15.2.0/exception \
/usr/include/c++/15.2.0/ext/aligned_buffer.h \
/usr/include/c++/15.2.0/ext/alloc_traits.h \
/usr/include/c++/15.2.0/ext/atomicity.h \
/usr/include/c++/15.2.0/ext/concurrence.h \
/usr/include/c++/15.2.0/ext/numeric_traits.h \
/usr/include/c++/15.2.0/ext/string_conversions.h \
/usr/include/c++/15.2.0/ext/type_traits.h \
/usr/include/c++/15.2.0/functional \
/usr/include/c++/15.2.0/initializer_list \
/usr/include/c++/15.2.0/iosfwd \
/usr/include/c++/15.2.0/iterator \
/usr/include/c++/15.2.0/limits \
/usr/include/c++/15.2.0/list \
/usr/include/c++/15.2.0/map \
/usr/include/c++/15.2.0/memory \
/usr/include/c++/15.2.0/new \
/usr/include/c++/15.2.0/numeric \
/usr/include/c++/15.2.0/optional \
/usr/include/c++/15.2.0/pstl/execution_defs.h \
/usr/include/c++/15.2.0/pstl/glue_numeric_defs.h \
/usr/include/c++/15.2.0/pstl/pstl_config.h \
/usr/include/c++/15.2.0/ratio \
/usr/include/c++/15.2.0/set \
/usr/include/c++/15.2.0/stdexcept \
/usr/include/c++/15.2.0/streambuf \
/usr/include/c++/15.2.0/string \
/usr/include/c++/15.2.0/string_view \
/usr/include/c++/15.2.0/system_error \
/usr/include/c++/15.2.0/tr1/bessel_function.tcc \
/usr/include/c++/15.2.0/tr1/beta_function.tcc \
/usr/include/c++/15.2.0/tr1/ell_integral.tcc \
/usr/include/c++/15.2.0/tr1/exp_integral.tcc \
/usr/include/c++/15.2.0/tr1/gamma.tcc \
/usr/include/c++/15.2.0/tr1/hypergeometric.tcc \
/usr/include/c++/15.2.0/tr1/legendre_function.tcc \
/usr/include/c++/15.2.0/tr1/modified_bessel_func.tcc \
/usr/include/c++/15.2.0/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.0/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.0/tr1/riemann_zeta.tcc \
/usr/include/c++/15.2.0/tr1/special_function_util.h \
/usr/include/c++/15.2.0/tuple \
/usr/include/c++/15.2.0/type_traits \
/usr/include/c++/15.2.0/typeinfo \
/usr/include/c++/15.2.0/unordered_map \
/usr/include/c++/15.2.0/unordered_set \
/usr/include/c++/15.2.0/utility \
/usr/include/c++/15.2.0/variant \
/usr/include/c++/15.2.0/vector \
/usr/include/c++/15.2.0/version \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/atomic_word.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/c++allocator.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/c++config.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/c++locale.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/cpu_defines.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/error_constants.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/gthr-default.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/gthr.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/os_defines.h \
/usr/include/ctype.h \
/usr/include/errno.h \
/usr/include/features.h \
/usr/include/limits.h \
/usr/include/locale.h \
/usr/include/pthread.h \
/usr/include/qt6/QtCore/QJsonObject \
/usr/include/qt6/QtCore/QObject \
/usr/include/qt6/QtCore/QPair \
/usr/include/qt6/QtCore/QSettings \
/usr/include/qt6/QtCore/QString \
/usr/include/qt6/QtCore/QTimer \
/usr/include/qt6/QtCore/QVector \
/usr/include/qt6/QtCore/q17memory.h \
/usr/include/qt6/QtCore/q20functional.h \
/usr/include/qt6/QtCore/q20iterator.h \
/usr/include/qt6/QtCore/q20memory.h \
/usr/include/qt6/QtCore/q20type_traits.h \
/usr/include/qt6/QtCore/q20utility.h \
/usr/include/qt6/QtCore/q23type_traits.h \
/usr/include/qt6/QtCore/q23utility.h \
/usr/include/qt6/QtCore/qabstracteventdispatcher.h \
/usr/include/qt6/QtCore/qabstractitemmodel.h \
/usr/include/qt6/QtCore/qalgorithms.h \
/usr/include/qt6/QtCore/qalloc.h \
/usr/include/qt6/QtCore/qanystringview.h \
/usr/include/qt6/QtCore/qarraydata.h \
/usr/include/qt6/QtCore/qarraydataops.h \
/usr/include/qt6/QtCore/qarraydatapointer.h \
/usr/include/qt6/QtCore/qassert.h \
/usr/include/qt6/QtCore/qatomic.h \
/usr/include/qt6/QtCore/qatomic_cxx11.h \
/usr/include/qt6/QtCore/qbasicatomic.h \
/usr/include/qt6/QtCore/qbasictimer.h \
/usr/include/qt6/QtCore/qbindingstorage.h \
/usr/include/qt6/QtCore/qbytearray.h \
/usr/include/qt6/QtCore/qbytearrayalgorithms.h \
/usr/include/qt6/QtCore/qbytearraylist.h \
/usr/include/qt6/QtCore/qbytearrayview.h \
/usr/include/qt6/QtCore/qcalendar.h \
/usr/include/qt6/QtCore/qcborcommon.h \
/usr/include/qt6/QtCore/qcborvalue.h \
/usr/include/qt6/QtCore/qchar.h \
/usr/include/qt6/QtCore/qcheckedint_impl.h \
/usr/include/qt6/QtCore/qcompare.h \
/usr/include/qt6/QtCore/qcompare_impl.h \
/usr/include/qt6/QtCore/qcomparehelpers.h \
/usr/include/qt6/QtCore/qcompilerdetection.h \
/usr/include/qt6/QtCore/qconfig.h \
/usr/include/qt6/QtCore/qconstructormacros.h \
/usr/include/qt6/QtCore/qcontainerfwd.h \
/usr/include/qt6/QtCore/qcontainerinfo.h \
/usr/include/qt6/QtCore/qcontainertools_impl.h \
/usr/include/qt6/QtCore/qcontiguouscache.h \
/usr/include/qt6/QtCore/qdarwinhelpers.h \
/usr/include/qt6/QtCore/qdatastream.h \
/usr/include/qt6/QtCore/qdatetime.h \
/usr/include/qt6/QtCore/qdeadlinetimer.h \
/usr/include/qt6/QtCore/qdebug.h \
/usr/include/qt6/QtCore/qendian.h \
/usr/include/qt6/QtCore/qeventloop.h \
/usr/include/qt6/QtCore/qexceptionhandling.h \
/usr/include/qt6/QtCore/qflags.h \
/usr/include/qt6/QtCore/qfloat16.h \
/usr/include/qt6/QtCore/qforeach.h \
/usr/include/qt6/QtCore/qfunctionaltools_impl.h \
/usr/include/qt6/QtCore/qfunctionpointer.h \
/usr/include/qt6/QtCore/qgenericatomic.h \
/usr/include/qt6/QtCore/qglobal.h \
/usr/include/qt6/QtCore/qglobalstatic.h \
/usr/include/qt6/QtCore/qhash.h \
/usr/include/qt6/QtCore/qhashfunctions.h \
/usr/include/qt6/QtCore/qiodevicebase.h \
/usr/include/qt6/QtCore/qitemselectionmodel.h \
/usr/include/qt6/QtCore/qiterable.h \
/usr/include/qt6/QtCore/qiterator.h \
/usr/include/qt6/QtCore/qjsondocument.h \
/usr/include/qt6/QtCore/qjsonobject.h \
/usr/include/qt6/QtCore/qjsonparseerror.h \
/usr/include/qt6/QtCore/qjsonvalue.h \
/usr/include/qt6/QtCore/qlatin1stringview.h \
/usr/include/qt6/QtCore/qline.h \
/usr/include/qt6/QtCore/qlist.h \
/usr/include/qt6/QtCore/qlocale.h \
/usr/include/qt6/QtCore/qlogging.h \
/usr/include/qt6/QtCore/qmalloc.h \
/usr/include/qt6/QtCore/qmap.h \
/usr/include/qt6/QtCore/qmargins.h \
/usr/include/qt6/QtCore/qmath.h \
/usr/include/qt6/QtCore/qmetacontainer.h \
/usr/include/qt6/QtCore/qmetatype.h \
/usr/include/qt6/QtCore/qminmax.h \
/usr/include/qt6/QtCore/qnamespace.h \
/usr/include/qt6/QtCore/qnumeric.h \
/usr/include/qt6/QtCore/qobject.h \
/usr/include/qt6/QtCore/qobject_impl.h \
/usr/include/qt6/QtCore/qobjectdefs.h \
/usr/include/qt6/QtCore/qobjectdefs_impl.h \
/usr/include/qt6/QtCore/qoverload.h \
/usr/include/qt6/QtCore/qpair.h \
/usr/include/qt6/QtCore/qpoint.h \
/usr/include/qt6/QtCore/qprocessordetection.h \
/usr/include/qt6/QtCore/qrect.h \
/usr/include/qt6/QtCore/qrefcount.h \
/usr/include/qt6/QtCore/qregularexpression.h \
/usr/include/qt6/QtCore/qscopedpointer.h \
/usr/include/qt6/QtCore/qscopeguard.h \
/usr/include/qt6/QtCore/qset.h \
/usr/include/qt6/QtCore/qsettings.h \
/usr/include/qt6/QtCore/qshareddata.h \
/usr/include/qt6/QtCore/qshareddata_impl.h \
/usr/include/qt6/QtCore/qsharedpointer.h \
/usr/include/qt6/QtCore/qsharedpointer_impl.h \
/usr/include/qt6/QtCore/qsize.h \
/usr/include/qt6/QtCore/qspan.h \
/usr/include/qt6/QtCore/qstdlibdetection.h \
/usr/include/qt6/QtCore/qstring.h \
/usr/include/qt6/QtCore/qstringalgorithms.h \
/usr/include/qt6/QtCore/qstringbuilder.h \
/usr/include/qt6/QtCore/qstringconverter.h \
/usr/include/qt6/QtCore/qstringconverter_base.h \
/usr/include/qt6/QtCore/qstringfwd.h \
/usr/include/qt6/QtCore/qstringlist.h \
/usr/include/qt6/QtCore/qstringmatcher.h \
/usr/include/qt6/QtCore/qstringtokenizer.h \
/usr/include/qt6/QtCore/qstringview.h \
/usr/include/qt6/QtCore/qswap.h \
/usr/include/qt6/QtCore/qsysinfo.h \
/usr/include/qt6/QtCore/qsystemdetection.h \
/usr/include/qt6/QtCore/qtaggedpointer.h \
/usr/include/qt6/QtCore/qtclasshelpermacros.h \
/usr/include/qt6/QtCore/qtconfiginclude.h \
/usr/include/qt6/QtCore/qtconfigmacros.h \
/usr/include/qt6/QtCore/qtcore-config.h \
/usr/include/qt6/QtCore/qtcoreexports.h \
/usr/include/qt6/QtCore/qtcoreglobal.h \
/usr/include/qt6/QtCore/qtdeprecationdefinitions.h \
/usr/include/qt6/QtCore/qtdeprecationmarkers.h \
/usr/include/qt6/QtCore/qtenvironmentvariables.h \
/usr/include/qt6/QtCore/qtextstream.h \
/usr/include/qt6/QtCore/qtformat_impl.h \
/usr/include/qt6/QtCore/qtimer.h \
/usr/include/qt6/QtCore/qtmetamacros.h \
/usr/include/qt6/QtCore/qtnoop.h \
/usr/include/qt6/QtCore/qtpreprocessorsupport.h \
/usr/include/qt6/QtCore/qtresource.h \
/usr/include/qt6/QtCore/qttranslation.h \
/usr/include/qt6/QtCore/qttypetraits.h \
/usr/include/qt6/QtCore/qtversion.h \
/usr/include/qt6/QtCore/qtversionchecks.h \
/usr/include/qt6/QtCore/qtypeinfo.h \
/usr/include/qt6/QtCore/qtypes.h \
/usr/include/qt6/QtCore/qurl.h \
/usr/include/qt6/QtCore/qutf8stringview.h \
/usr/include/qt6/QtCore/quuid.h \
/usr/include/qt6/QtCore/qvariant.h \
/usr/include/qt6/QtCore/qvarlengtharray.h \
/usr/include/qt6/QtCore/qvector.h \
/usr/include/qt6/QtCore/qversiontagging.h \
/usr/include/qt6/QtCore/qxptype_traits.h \
/usr/include/qt6/QtCore/qyieldcpu.h \
/usr/include/qt6/QtGui/qaction.h \
/usr/include/qt6/QtGui/qbitmap.h \
/usr/include/qt6/QtGui/qbrush.h \
/usr/include/qt6/QtGui/qcolor.h \
/usr/include/qt6/QtGui/qcursor.h \
/usr/include/qt6/QtGui/qfont.h \
/usr/include/qt6/QtGui/qfontinfo.h \
/usr/include/qt6/QtGui/qfontmetrics.h \
/usr/include/qt6/QtGui/qfontvariableaxis.h \
/usr/include/qt6/QtGui/qicon.h \
/usr/include/qt6/QtGui/qimage.h \
/usr/include/qt6/QtGui/qkeysequence.h \
/usr/include/qt6/QtGui/qpaintdevice.h \
/usr/include/qt6/QtGui/qpalette.h \
/usr/include/qt6/QtGui/qpixelformat.h \
/usr/include/qt6/QtGui/qpixmap.h \
/usr/include/qt6/QtGui/qpolygon.h \
/usr/include/qt6/QtGui/qregion.h \
/usr/include/qt6/QtGui/qrgb.h \
/usr/include/qt6/QtGui/qrgba64.h \
/usr/include/qt6/QtGui/qtgui-config.h \
/usr/include/qt6/QtGui/qtguiexports.h \
/usr/include/qt6/QtGui/qtguiglobal.h \
/usr/include/qt6/QtGui/qtransform.h \
/usr/include/qt6/QtGui/qvalidator.h \
/usr/include/qt6/QtGui/qwindowdefs.h \
/usr/include/qt6/QtWidgets/QTreeWidget \
/usr/include/qt6/QtWidgets/qabstractitemdelegate.h \
/usr/include/qt6/QtWidgets/qabstractitemview.h \
/usr/include/qt6/QtWidgets/qabstractscrollarea.h \
/usr/include/qt6/QtWidgets/qabstractslider.h \
/usr/include/qt6/QtWidgets/qabstractspinbox.h \
/usr/include/qt6/QtWidgets/qframe.h \
/usr/include/qt6/QtWidgets/qrubberband.h \
/usr/include/qt6/QtWidgets/qsizepolicy.h \
/usr/include/qt6/QtWidgets/qslider.h \
/usr/include/qt6/QtWidgets/qstyle.h \
/usr/include/qt6/QtWidgets/qstyleoption.h \
/usr/include/qt6/QtWidgets/qtabbar.h \
/usr/include/qt6/QtWidgets/qtabwidget.h \
/usr/include/qt6/QtWidgets/qtreeview.h \
/usr/include/qt6/QtWidgets/qtreewidget.h \
/usr/include/qt6/QtWidgets/qtreewidgetitemiterator.h \
/usr/include/qt6/QtWidgets/qtwidgets-config.h \
/usr/include/qt6/QtWidgets/qtwidgetsexports.h \
/usr/include/qt6/QtWidgets/qtwidgetsglobal.h \
/usr/include/qt6/QtWidgets/qwidget.h \
/usr/include/sched.h \
/usr/include/stdarg.h \
/usr/include/stdbool.h \
/usr/include/stddef.h \
/usr/include/stdint.h \
/usr/include/stdio.h \
/usr/include/stdlib.h \
/usr/include/string.h \
/usr/include/strings.h \
/usr/include/time.h \
/usr/include/wchar.h

View File

@@ -0,0 +1,151 @@
/****************************************************************************
** Meta object code from reading C++ file 'tracks.hpp'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.10.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../src/list/tracks.hpp"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'tracks.hpp' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.10.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN4List6TracksE_t {};
} // unnamed namespace
template <> constexpr inline auto List::Tracks::qt_create_metaobjectdata<qt_meta_tag_ZN4List6TracksE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"List::Tracks",
"playTrackRequested",
"",
"trackId",
"addToPlaylistRequested",
"playlistId",
"removeFromPlaylistRequested",
"playlistTrackId"
};
QtMocHelpers::UintData qt_methods {
// Signal 'playTrackRequested'
QtMocHelpers::SignalData<void(qint64)>(1, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::LongLong, 3 },
}}),
// Signal 'addToPlaylistRequested'
QtMocHelpers::SignalData<void(qint64, qint64)>(4, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::LongLong, 3 }, { QMetaType::LongLong, 5 },
}}),
// Signal 'removeFromPlaylistRequested'
QtMocHelpers::SignalData<void(qint64, qint64)>(6, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::LongLong, 5 }, { QMetaType::LongLong, 7 },
}}),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<Tracks, qt_meta_tag_ZN4List6TracksE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject List::Tracks::staticMetaObject = { {
QMetaObject::SuperData::link<QTreeView::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN4List6TracksE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN4List6TracksE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN4List6TracksE_t>.metaTypes,
nullptr
} };
void List::Tracks::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<Tracks *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->playTrackRequested((*reinterpret_cast<std::add_pointer_t<qint64>>(_a[1]))); break;
case 1: _t->addToPlaylistRequested((*reinterpret_cast<std::add_pointer_t<qint64>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<qint64>>(_a[2]))); break;
case 2: _t->removeFromPlaylistRequested((*reinterpret_cast<std::add_pointer_t<qint64>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<qint64>>(_a[2]))); break;
default: ;
}
}
if (_c == QMetaObject::IndexOfMethod) {
if (QtMocHelpers::indexOfMethod<void (Tracks::*)(qint64 )>(_a, &Tracks::playTrackRequested, 0))
return;
if (QtMocHelpers::indexOfMethod<void (Tracks::*)(qint64 , qint64 )>(_a, &Tracks::addToPlaylistRequested, 1))
return;
if (QtMocHelpers::indexOfMethod<void (Tracks::*)(qint64 , qint64 )>(_a, &Tracks::removeFromPlaylistRequested, 2))
return;
}
}
const QMetaObject *List::Tracks::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *List::Tracks::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN4List6TracksE_t>.strings))
return static_cast<void*>(this);
return QTreeView::qt_metacast(_clname);
}
int List::Tracks::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QTreeView::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 3)
qt_static_metacall(this, _c, _id, _a);
_id -= 3;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 3)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 3;
}
return _id;
}
// SIGNAL 0
void List::Tracks::playTrackRequested(qint64 _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 0, nullptr, _t1);
}
// SIGNAL 1
void List::Tracks::addToPlaylistRequested(qint64 _t1, qint64 _t2)
{
QMetaObject::activate<void>(this, &staticMetaObject, 1, nullptr, _t1, _t2);
}
// SIGNAL 2
void List::Tracks::removeFromPlaylistRequested(qint64 _t1, qint64 _t2)
{
QMetaObject::activate<void>(this, &staticMetaObject, 2, nullptr, _t1, _t2);
}
QT_WARNING_POP

View File

@@ -0,0 +1,407 @@
/home/joren/dev/qobuz-qt/build-viz/qobuz-qt_autogen/SQPBPYYWJ6/moc_tracks.cpp: /home/joren/dev/qobuz-qt/src/list/tracks.hpp \
/home/joren/dev/qobuz-qt/build-viz/qobuz-qt_autogen/moc_predefs.h \
/home/joren/dev/qobuz-qt/rust/include/qobuz_backend.h \
/home/joren/dev/qobuz-qt/src/backend/qobuzbackend.hpp \
/home/joren/dev/qobuz-qt/src/model/tracklistmodel.hpp \
/home/joren/dev/qobuz-qt/src/playqueue.hpp \
/usr/include/alloca.h \
/usr/include/assert.h \
/usr/include/bits/alltypes.h \
/usr/include/bits/errno.h \
/usr/include/bits/limits.h \
/usr/include/bits/stdint.h \
/usr/include/c++/15.2.0/algorithm \
/usr/include/c++/15.2.0/array \
/usr/include/c++/15.2.0/atomic \
/usr/include/c++/15.2.0/backward/auto_ptr.h \
/usr/include/c++/15.2.0/backward/binders.h \
/usr/include/c++/15.2.0/bit \
/usr/include/c++/15.2.0/bits/algorithmfwd.h \
/usr/include/c++/15.2.0/bits/align.h \
/usr/include/c++/15.2.0/bits/alloc_traits.h \
/usr/include/c++/15.2.0/bits/allocated_ptr.h \
/usr/include/c++/15.2.0/bits/allocator.h \
/usr/include/c++/15.2.0/bits/atomic_base.h \
/usr/include/c++/15.2.0/bits/atomic_lockfree_defines.h \
/usr/include/c++/15.2.0/bits/basic_string.h \
/usr/include/c++/15.2.0/bits/basic_string.tcc \
/usr/include/c++/15.2.0/bits/char_traits.h \
/usr/include/c++/15.2.0/bits/charconv.h \
/usr/include/c++/15.2.0/bits/chrono.h \
/usr/include/c++/15.2.0/bits/concept_check.h \
/usr/include/c++/15.2.0/bits/cpp_type_traits.h \
/usr/include/c++/15.2.0/bits/cxxabi_forced.h \
/usr/include/c++/15.2.0/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.0/bits/enable_special_members.h \
/usr/include/c++/15.2.0/bits/erase_if.h \
/usr/include/c++/15.2.0/bits/exception.h \
/usr/include/c++/15.2.0/bits/exception_defines.h \
/usr/include/c++/15.2.0/bits/exception_ptr.h \
/usr/include/c++/15.2.0/bits/functexcept.h \
/usr/include/c++/15.2.0/bits/functional_hash.h \
/usr/include/c++/15.2.0/bits/hash_bytes.h \
/usr/include/c++/15.2.0/bits/hashtable.h \
/usr/include/c++/15.2.0/bits/hashtable_policy.h \
/usr/include/c++/15.2.0/bits/invoke.h \
/usr/include/c++/15.2.0/bits/ios_base.h \
/usr/include/c++/15.2.0/bits/list.tcc \
/usr/include/c++/15.2.0/bits/locale_classes.h \
/usr/include/c++/15.2.0/bits/locale_classes.tcc \
/usr/include/c++/15.2.0/bits/localefwd.h \
/usr/include/c++/15.2.0/bits/memory_resource.h \
/usr/include/c++/15.2.0/bits/memoryfwd.h \
/usr/include/c++/15.2.0/bits/move.h \
/usr/include/c++/15.2.0/bits/nested_exception.h \
/usr/include/c++/15.2.0/bits/new_allocator.h \
/usr/include/c++/15.2.0/bits/node_handle.h \
/usr/include/c++/15.2.0/bits/ostream_insert.h \
/usr/include/c++/15.2.0/bits/parse_numbers.h \
/usr/include/c++/15.2.0/bits/postypes.h \
/usr/include/c++/15.2.0/bits/predefined_ops.h \
/usr/include/c++/15.2.0/bits/ptr_traits.h \
/usr/include/c++/15.2.0/bits/random.h \
/usr/include/c++/15.2.0/bits/random.tcc \
/usr/include/c++/15.2.0/bits/range_access.h \
/usr/include/c++/15.2.0/bits/refwrap.h \
/usr/include/c++/15.2.0/bits/requires_hosted.h \
/usr/include/c++/15.2.0/bits/shared_ptr.h \
/usr/include/c++/15.2.0/bits/shared_ptr_atomic.h \
/usr/include/c++/15.2.0/bits/shared_ptr_base.h \
/usr/include/c++/15.2.0/bits/specfun.h \
/usr/include/c++/15.2.0/bits/std_abs.h \
/usr/include/c++/15.2.0/bits/std_function.h \
/usr/include/c++/15.2.0/bits/stl_algo.h \
/usr/include/c++/15.2.0/bits/stl_algobase.h \
/usr/include/c++/15.2.0/bits/stl_bvector.h \
/usr/include/c++/15.2.0/bits/stl_construct.h \
/usr/include/c++/15.2.0/bits/stl_function.h \
/usr/include/c++/15.2.0/bits/stl_heap.h \
/usr/include/c++/15.2.0/bits/stl_iterator.h \
/usr/include/c++/15.2.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.0/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.0/bits/stl_list.h \
/usr/include/c++/15.2.0/bits/stl_map.h \
/usr/include/c++/15.2.0/bits/stl_multimap.h \
/usr/include/c++/15.2.0/bits/stl_multiset.h \
/usr/include/c++/15.2.0/bits/stl_numeric.h \
/usr/include/c++/15.2.0/bits/stl_pair.h \
/usr/include/c++/15.2.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/15.2.0/bits/stl_relops.h \
/usr/include/c++/15.2.0/bits/stl_set.h \
/usr/include/c++/15.2.0/bits/stl_tempbuf.h \
/usr/include/c++/15.2.0/bits/stl_tree.h \
/usr/include/c++/15.2.0/bits/stl_uninitialized.h \
/usr/include/c++/15.2.0/bits/stl_vector.h \
/usr/include/c++/15.2.0/bits/stream_iterator.h \
/usr/include/c++/15.2.0/bits/streambuf.tcc \
/usr/include/c++/15.2.0/bits/streambuf_iterator.h \
/usr/include/c++/15.2.0/bits/string_view.tcc \
/usr/include/c++/15.2.0/bits/stringfwd.h \
/usr/include/c++/15.2.0/bits/uniform_int_dist.h \
/usr/include/c++/15.2.0/bits/unique_ptr.h \
/usr/include/c++/15.2.0/bits/unordered_map.h \
/usr/include/c++/15.2.0/bits/unordered_set.h \
/usr/include/c++/15.2.0/bits/uses_allocator.h \
/usr/include/c++/15.2.0/bits/uses_allocator_args.h \
/usr/include/c++/15.2.0/bits/utility.h \
/usr/include/c++/15.2.0/bits/vector.tcc \
/usr/include/c++/15.2.0/bits/version.h \
/usr/include/c++/15.2.0/cassert \
/usr/include/c++/15.2.0/cctype \
/usr/include/c++/15.2.0/cerrno \
/usr/include/c++/15.2.0/chrono \
/usr/include/c++/15.2.0/climits \
/usr/include/c++/15.2.0/clocale \
/usr/include/c++/15.2.0/cmath \
/usr/include/c++/15.2.0/compare \
/usr/include/c++/15.2.0/concepts \
/usr/include/c++/15.2.0/cstddef \
/usr/include/c++/15.2.0/cstdint \
/usr/include/c++/15.2.0/cstdio \
/usr/include/c++/15.2.0/cstdlib \
/usr/include/c++/15.2.0/cstring \
/usr/include/c++/15.2.0/ctime \
/usr/include/c++/15.2.0/cwchar \
/usr/include/c++/15.2.0/debug/assertions.h \
/usr/include/c++/15.2.0/debug/debug.h \
/usr/include/c++/15.2.0/exception \
/usr/include/c++/15.2.0/ext/aligned_buffer.h \
/usr/include/c++/15.2.0/ext/alloc_traits.h \
/usr/include/c++/15.2.0/ext/atomicity.h \
/usr/include/c++/15.2.0/ext/concurrence.h \
/usr/include/c++/15.2.0/ext/numeric_traits.h \
/usr/include/c++/15.2.0/ext/string_conversions.h \
/usr/include/c++/15.2.0/ext/type_traits.h \
/usr/include/c++/15.2.0/functional \
/usr/include/c++/15.2.0/initializer_list \
/usr/include/c++/15.2.0/iosfwd \
/usr/include/c++/15.2.0/iterator \
/usr/include/c++/15.2.0/limits \
/usr/include/c++/15.2.0/list \
/usr/include/c++/15.2.0/map \
/usr/include/c++/15.2.0/memory \
/usr/include/c++/15.2.0/new \
/usr/include/c++/15.2.0/numeric \
/usr/include/c++/15.2.0/optional \
/usr/include/c++/15.2.0/pstl/execution_defs.h \
/usr/include/c++/15.2.0/pstl/glue_numeric_defs.h \
/usr/include/c++/15.2.0/pstl/pstl_config.h \
/usr/include/c++/15.2.0/random \
/usr/include/c++/15.2.0/ratio \
/usr/include/c++/15.2.0/set \
/usr/include/c++/15.2.0/stdexcept \
/usr/include/c++/15.2.0/streambuf \
/usr/include/c++/15.2.0/string \
/usr/include/c++/15.2.0/string_view \
/usr/include/c++/15.2.0/system_error \
/usr/include/c++/15.2.0/tr1/bessel_function.tcc \
/usr/include/c++/15.2.0/tr1/beta_function.tcc \
/usr/include/c++/15.2.0/tr1/ell_integral.tcc \
/usr/include/c++/15.2.0/tr1/exp_integral.tcc \
/usr/include/c++/15.2.0/tr1/gamma.tcc \
/usr/include/c++/15.2.0/tr1/hypergeometric.tcc \
/usr/include/c++/15.2.0/tr1/legendre_function.tcc \
/usr/include/c++/15.2.0/tr1/modified_bessel_func.tcc \
/usr/include/c++/15.2.0/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.0/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.0/tr1/riemann_zeta.tcc \
/usr/include/c++/15.2.0/tr1/special_function_util.h \
/usr/include/c++/15.2.0/tuple \
/usr/include/c++/15.2.0/type_traits \
/usr/include/c++/15.2.0/typeinfo \
/usr/include/c++/15.2.0/unordered_map \
/usr/include/c++/15.2.0/unordered_set \
/usr/include/c++/15.2.0/utility \
/usr/include/c++/15.2.0/variant \
/usr/include/c++/15.2.0/vector \
/usr/include/c++/15.2.0/version \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/atomic_word.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/c++allocator.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/c++config.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/c++locale.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/cpu_defines.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/error_constants.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/gthr-default.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/gthr.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/opt_random.h \
/usr/include/c++/15.2.0/x86_64-alpine-linux-musl/bits/os_defines.h \
/usr/include/ctype.h \
/usr/include/errno.h \
/usr/include/features.h \
/usr/include/limits.h \
/usr/include/locale.h \
/usr/include/pthread.h \
/usr/include/qt6/QtCore/QAbstractTableModel \
/usr/include/qt6/QtCore/QJsonArray \
/usr/include/qt6/QtCore/QJsonObject \
/usr/include/qt6/QtCore/QObject \
/usr/include/qt6/QtCore/QPair \
/usr/include/qt6/QtCore/QSet \
/usr/include/qt6/QtCore/QString \
/usr/include/qt6/QtCore/QTimer \
/usr/include/qt6/QtCore/QVector \
/usr/include/qt6/QtCore/q17memory.h \
/usr/include/qt6/QtCore/q20functional.h \
/usr/include/qt6/QtCore/q20iterator.h \
/usr/include/qt6/QtCore/q20memory.h \
/usr/include/qt6/QtCore/q20type_traits.h \
/usr/include/qt6/QtCore/q20utility.h \
/usr/include/qt6/QtCore/q23type_traits.h \
/usr/include/qt6/QtCore/q23utility.h \
/usr/include/qt6/QtCore/qabstracteventdispatcher.h \
/usr/include/qt6/QtCore/qabstractitemmodel.h \
/usr/include/qt6/QtCore/qalgorithms.h \
/usr/include/qt6/QtCore/qalloc.h \
/usr/include/qt6/QtCore/qanystringview.h \
/usr/include/qt6/QtCore/qarraydata.h \
/usr/include/qt6/QtCore/qarraydataops.h \
/usr/include/qt6/QtCore/qarraydatapointer.h \
/usr/include/qt6/QtCore/qassert.h \
/usr/include/qt6/QtCore/qatomic.h \
/usr/include/qt6/QtCore/qatomic_cxx11.h \
/usr/include/qt6/QtCore/qbasicatomic.h \
/usr/include/qt6/QtCore/qbasictimer.h \
/usr/include/qt6/QtCore/qbindingstorage.h \
/usr/include/qt6/QtCore/qbytearray.h \
/usr/include/qt6/QtCore/qbytearrayalgorithms.h \
/usr/include/qt6/QtCore/qbytearraylist.h \
/usr/include/qt6/QtCore/qbytearrayview.h \
/usr/include/qt6/QtCore/qcalendar.h \
/usr/include/qt6/QtCore/qcborcommon.h \
/usr/include/qt6/QtCore/qcborvalue.h \
/usr/include/qt6/QtCore/qchar.h \
/usr/include/qt6/QtCore/qcheckedint_impl.h \
/usr/include/qt6/QtCore/qcompare.h \
/usr/include/qt6/QtCore/qcompare_impl.h \
/usr/include/qt6/QtCore/qcomparehelpers.h \
/usr/include/qt6/QtCore/qcompilerdetection.h \
/usr/include/qt6/QtCore/qconfig.h \
/usr/include/qt6/QtCore/qconstructormacros.h \
/usr/include/qt6/QtCore/qcontainerfwd.h \
/usr/include/qt6/QtCore/qcontainerinfo.h \
/usr/include/qt6/QtCore/qcontainertools_impl.h \
/usr/include/qt6/QtCore/qcontiguouscache.h \
/usr/include/qt6/QtCore/qdarwinhelpers.h \
/usr/include/qt6/QtCore/qdatastream.h \
/usr/include/qt6/QtCore/qdatetime.h \
/usr/include/qt6/QtCore/qdeadlinetimer.h \
/usr/include/qt6/QtCore/qdebug.h \
/usr/include/qt6/QtCore/qendian.h \
/usr/include/qt6/QtCore/qeventloop.h \
/usr/include/qt6/QtCore/qexceptionhandling.h \
/usr/include/qt6/QtCore/qflags.h \
/usr/include/qt6/QtCore/qfloat16.h \
/usr/include/qt6/QtCore/qforeach.h \
/usr/include/qt6/QtCore/qfunctionaltools_impl.h \
/usr/include/qt6/QtCore/qfunctionpointer.h \
/usr/include/qt6/QtCore/qgenericatomic.h \
/usr/include/qt6/QtCore/qglobal.h \
/usr/include/qt6/QtCore/qglobalstatic.h \
/usr/include/qt6/QtCore/qhash.h \
/usr/include/qt6/QtCore/qhashfunctions.h \
/usr/include/qt6/QtCore/qiodevicebase.h \
/usr/include/qt6/QtCore/qitemselectionmodel.h \
/usr/include/qt6/QtCore/qiterable.h \
/usr/include/qt6/QtCore/qiterator.h \
/usr/include/qt6/QtCore/qjsonarray.h \
/usr/include/qt6/QtCore/qjsondocument.h \
/usr/include/qt6/QtCore/qjsonobject.h \
/usr/include/qt6/QtCore/qjsonparseerror.h \
/usr/include/qt6/QtCore/qjsonvalue.h \
/usr/include/qt6/QtCore/qlatin1stringview.h \
/usr/include/qt6/QtCore/qline.h \
/usr/include/qt6/QtCore/qlist.h \
/usr/include/qt6/QtCore/qlocale.h \
/usr/include/qt6/QtCore/qlogging.h \
/usr/include/qt6/QtCore/qmalloc.h \
/usr/include/qt6/QtCore/qmap.h \
/usr/include/qt6/QtCore/qmargins.h \
/usr/include/qt6/QtCore/qmath.h \
/usr/include/qt6/QtCore/qmetacontainer.h \
/usr/include/qt6/QtCore/qmetatype.h \
/usr/include/qt6/QtCore/qminmax.h \
/usr/include/qt6/QtCore/qnamespace.h \
/usr/include/qt6/QtCore/qnumeric.h \
/usr/include/qt6/QtCore/qobject.h \
/usr/include/qt6/QtCore/qobject_impl.h \
/usr/include/qt6/QtCore/qobjectdefs.h \
/usr/include/qt6/QtCore/qobjectdefs_impl.h \
/usr/include/qt6/QtCore/qoverload.h \
/usr/include/qt6/QtCore/qpair.h \
/usr/include/qt6/QtCore/qpoint.h \
/usr/include/qt6/QtCore/qprocessordetection.h \
/usr/include/qt6/QtCore/qrect.h \
/usr/include/qt6/QtCore/qrefcount.h \
/usr/include/qt6/QtCore/qregularexpression.h \
/usr/include/qt6/QtCore/qscopedpointer.h \
/usr/include/qt6/QtCore/qscopeguard.h \
/usr/include/qt6/QtCore/qset.h \
/usr/include/qt6/QtCore/qshareddata.h \
/usr/include/qt6/QtCore/qshareddata_impl.h \
/usr/include/qt6/QtCore/qsharedpointer.h \
/usr/include/qt6/QtCore/qsharedpointer_impl.h \
/usr/include/qt6/QtCore/qsize.h \
/usr/include/qt6/QtCore/qspan.h \
/usr/include/qt6/QtCore/qstdlibdetection.h \
/usr/include/qt6/QtCore/qstring.h \
/usr/include/qt6/QtCore/qstringalgorithms.h \
/usr/include/qt6/QtCore/qstringbuilder.h \
/usr/include/qt6/QtCore/qstringconverter.h \
/usr/include/qt6/QtCore/qstringconverter_base.h \
/usr/include/qt6/QtCore/qstringfwd.h \
/usr/include/qt6/QtCore/qstringlist.h \
/usr/include/qt6/QtCore/qstringmatcher.h \
/usr/include/qt6/QtCore/qstringtokenizer.h \
/usr/include/qt6/QtCore/qstringview.h \
/usr/include/qt6/QtCore/qswap.h \
/usr/include/qt6/QtCore/qsysinfo.h \
/usr/include/qt6/QtCore/qsystemdetection.h \
/usr/include/qt6/QtCore/qtaggedpointer.h \
/usr/include/qt6/QtCore/qtclasshelpermacros.h \
/usr/include/qt6/QtCore/qtconfiginclude.h \
/usr/include/qt6/QtCore/qtconfigmacros.h \
/usr/include/qt6/QtCore/qtcore-config.h \
/usr/include/qt6/QtCore/qtcoreexports.h \
/usr/include/qt6/QtCore/qtcoreglobal.h \
/usr/include/qt6/QtCore/qtdeprecationdefinitions.h \
/usr/include/qt6/QtCore/qtdeprecationmarkers.h \
/usr/include/qt6/QtCore/qtenvironmentvariables.h \
/usr/include/qt6/QtCore/qtextstream.h \
/usr/include/qt6/QtCore/qtformat_impl.h \
/usr/include/qt6/QtCore/qtimer.h \
/usr/include/qt6/QtCore/qtmetamacros.h \
/usr/include/qt6/QtCore/qtnoop.h \
/usr/include/qt6/QtCore/qtpreprocessorsupport.h \
/usr/include/qt6/QtCore/qtresource.h \
/usr/include/qt6/QtCore/qttranslation.h \
/usr/include/qt6/QtCore/qttypetraits.h \
/usr/include/qt6/QtCore/qtversion.h \
/usr/include/qt6/QtCore/qtversionchecks.h \
/usr/include/qt6/QtCore/qtypeinfo.h \
/usr/include/qt6/QtCore/qtypes.h \
/usr/include/qt6/QtCore/qurl.h \
/usr/include/qt6/QtCore/qutf8stringview.h \
/usr/include/qt6/QtCore/quuid.h \
/usr/include/qt6/QtCore/qvariant.h \
/usr/include/qt6/QtCore/qvarlengtharray.h \
/usr/include/qt6/QtCore/qvector.h \
/usr/include/qt6/QtCore/qversiontagging.h \
/usr/include/qt6/QtCore/qxptype_traits.h \
/usr/include/qt6/QtCore/qyieldcpu.h \
/usr/include/qt6/QtGui/QFont \
/usr/include/qt6/QtGui/qaction.h \
/usr/include/qt6/QtGui/qbitmap.h \
/usr/include/qt6/QtGui/qbrush.h \
/usr/include/qt6/QtGui/qcolor.h \
/usr/include/qt6/QtGui/qcursor.h \
/usr/include/qt6/QtGui/qfont.h \
/usr/include/qt6/QtGui/qfontinfo.h \
/usr/include/qt6/QtGui/qfontmetrics.h \
/usr/include/qt6/QtGui/qfontvariableaxis.h \
/usr/include/qt6/QtGui/qicon.h \
/usr/include/qt6/QtGui/qimage.h \
/usr/include/qt6/QtGui/qkeysequence.h \
/usr/include/qt6/QtGui/qpaintdevice.h \
/usr/include/qt6/QtGui/qpalette.h \
/usr/include/qt6/QtGui/qpixelformat.h \
/usr/include/qt6/QtGui/qpixmap.h \
/usr/include/qt6/QtGui/qpolygon.h \
/usr/include/qt6/QtGui/qregion.h \
/usr/include/qt6/QtGui/qrgb.h \
/usr/include/qt6/QtGui/qrgba64.h \
/usr/include/qt6/QtGui/qtgui-config.h \
/usr/include/qt6/QtGui/qtguiexports.h \
/usr/include/qt6/QtGui/qtguiglobal.h \
/usr/include/qt6/QtGui/qtransform.h \
/usr/include/qt6/QtGui/qvalidator.h \
/usr/include/qt6/QtGui/qwindowdefs.h \
/usr/include/qt6/QtWidgets/QTreeView \
/usr/include/qt6/QtWidgets/qabstractitemdelegate.h \
/usr/include/qt6/QtWidgets/qabstractitemview.h \
/usr/include/qt6/QtWidgets/qabstractscrollarea.h \
/usr/include/qt6/QtWidgets/qabstractslider.h \
/usr/include/qt6/QtWidgets/qabstractspinbox.h \
/usr/include/qt6/QtWidgets/qframe.h \
/usr/include/qt6/QtWidgets/qrubberband.h \
/usr/include/qt6/QtWidgets/qsizepolicy.h \
/usr/include/qt6/QtWidgets/qslider.h \
/usr/include/qt6/QtWidgets/qstyle.h \
/usr/include/qt6/QtWidgets/qstyleoption.h \
/usr/include/qt6/QtWidgets/qtabbar.h \
/usr/include/qt6/QtWidgets/qtabwidget.h \
/usr/include/qt6/QtWidgets/qtreeview.h \
/usr/include/qt6/QtWidgets/qtwidgets-config.h \
/usr/include/qt6/QtWidgets/qtwidgetsexports.h \
/usr/include/qt6/QtWidgets/qtwidgetsglobal.h \
/usr/include/qt6/QtWidgets/qwidget.h \
/usr/include/sched.h \
/usr/include/stdarg.h \
/usr/include/stdbool.h \
/usr/include/stddef.h \
/usr/include/stdint.h \
/usr/include/stdio.h \
/usr/include/stdlib.h \
/usr/include/string.h \
/usr/include/strings.h \
/usr/include/time.h \
/usr/include/wchar.h