20#ifndef LIBREPCB_EDITOR_LIBRARIESMODEL_H
21#define LIBREPCB_EDITOR_LIBRARIESMODEL_H
55 public slint::Model<ui::LibraryInfoData> {
66 QObject* parent =
nullptr) noexcept;
70 ui::LibraryListData
getUiData() const noexcept;
79 std::optional<ui::LibraryInfoData>
row_data(
std::
size_t i) const override;
81 const ui::LibraryInfoData& data) noexcept override;
Access to a LibrePCB API endpoint.
Definition apiendpoint.h:45
This class represents absolute, well-formatted paths to files or directories.
Definition filepath.h:127
The Library class represents a library directory.
Definition library.h:46
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
The Version class represents a version number in the format "1.42.7".
Definition version.h:58
The Workspace class represents a workspace with all its data (library, projects, settings,...
Definition workspace.h:54
The LibrariesModel class.
Definition librariesmodel.h:55
QStringList mInstalledLibsErrors
Either local or remote.
Definition librariesmodel.h:112
void checkMissingDependenciesOfLibs() noexcept
Definition librariesmodel.cpp:485
QHash< Uuid, ApiEndpoint::Library > mOnlineLibs
Definition librariesmodel.h:113
void aboutToUninstallLibrary(const FilePath &fp)
QList< std::shared_ptr< LibraryDownload > > mDownloadsInProgress
Definition librariesmodel.h:124
void highlightLibraryOnNextRescan(const FilePath &fp) noexcept
Definition librariesmodel.cpp:140
void cancel() noexcept
Definition librariesmodel.cpp:220
static bool isMarkedForUpdate(const ui::LibraryInfoData &lib) noexcept
Definition librariesmodel.cpp:548
void uiDataChanged(ui::LibraryListData data)
QHash< Uuid, bool > mCheckStates
Definition librariesmodel.h:116
std::vector< ui::LibraryInfoData > mMergedLibs
Definition librariesmodel.h:115
void onlineIconReceived(const Uuid &uuid, const QByteArray &data) noexcept
Definition librariesmodel.cpp:391
void requestMissingOnlineIcons() noexcept
Definition librariesmodel.cpp:375
Mode
Definition librariesmodel.h:60
bool isLibraryChecked(const ui::LibraryInfoData &lib) const noexcept
Definition librariesmodel.cpp:537
void errorWhileFetchingLibraryList(QString errorMsg) noexcept
Definition librariesmodel.cpp:405
void ensurePopulated(bool withIcons) noexcept
Definition librariesmodel.cpp:123
void apiEndpointOperationFinished() noexcept
Definition librariesmodel.cpp:415
void uncheckLibsWithUnmetDependencies() noexcept
Definition librariesmodel.cpp:511
void updateLibraries(bool resetHighlight=true) noexcept
Definition librariesmodel.cpp:272
bool mRequestIcons
Definition librariesmodel.h:118
void updateCheckStates(bool notify) noexcept
Definition librariesmodel.cpp:472
QStringList mOnlineLibsErrors
Definition librariesmodel.h:114
QHash< Uuid, QPixmap > mIcons
Definition librariesmodel.h:119
void onlineLibraryListReceived(QList< ApiEndpoint::Library > libs) noexcept
Definition librariesmodel.cpp:358
std::size_t row_count() const override
Definition librariesmodel.cpp:237
ui::LibraryListData getUiData() const noexcept
Definition librariesmodel.cpp:68
std::vector< ui::LibraryInfoData > mInstalledLibs
Definition librariesmodel.h:111
LibrariesModel(const LibrariesModel &other)=delete
void applyChanges() noexcept
Definition librariesmodel.cpp:144
std::optional< ui::LibraryInfoData > row_data(std::size_t i) const override
Definition librariesmodel.cpp:241
Workspace & mWorkspace
Definition librariesmodel.h:109
static bool isMarkedForUninstall(const ui::LibraryInfoData &lib) noexcept
Definition librariesmodel.cpp:553
std::optional< std::size_t > indexOf(const Uuid &uuid) noexcept
Definition librariesmodel.cpp:558
void onlineVersionsAvailable(const QHash< Uuid, Version > &versions)
void set_row_data(std::size_t i, const ui::LibraryInfoData &data) noexcept override
Definition librariesmodel.cpp:247
void setOnlineVersions(const QHash< Uuid, Version > &versions) noexcept
Definition librariesmodel.cpp:97
const Mode mMode
Definition librariesmodel.h:110
void updateMergedLibraries() noexcept
Definition librariesmodel.cpp:426
QHash< slint::SharedString, slint::SharedString > mOnlineVersions
Definition librariesmodel.h:120
static bool isMarkedForInstall(const ui::LibraryInfoData &lib) noexcept
Definition librariesmodel.cpp:543
void requestOnlineLibraries() noexcept
Definition librariesmodel.cpp:340
std::optional< FilePath > mHighlightedLib
Definition librariesmodel.h:121
QList< std::shared_ptr< ApiEndpoint > > mApiEndpointsInProgress
Definition librariesmodel.h:123
The LibraryDownload class.
Definition librarydownload.h:48
Definition occmodel.cpp:77