From 4a227e0523391bc026bf96c3c31d44a39cac1701 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Tue, 7 Oct 2025 14:32:48 -0400 Subject: [WARP] Format UI plugin --- plugins/warp/ui/containers.h | 269 ++++++++++++++++++++++--------------------- 1 file changed, 136 insertions(+), 133 deletions(-) (limited to 'plugins/warp/ui/containers.h') diff --git a/plugins/warp/ui/containers.h b/plugins/warp/ui/containers.h index 80ffa12f..d5e82242 100644 --- a/plugins/warp/ui/containers.h +++ b/plugins/warp/ui/containers.h @@ -14,162 +14,165 @@ class WarpSourcesModel final : public QAbstractTableModel { - Q_OBJECT + Q_OBJECT public: - enum Columns : int - { - GuidCol = 0, - PathCol, - WritableCol, - UncommittedCol, - ColumnCount - }; - - explicit WarpSourcesModel(QObject *parent = nullptr) - : QAbstractTableModel(parent) - { - } - - void setContainer(Warp::Ref container) - { - m_container = std::move(container); - reload(); - } - - void reload() - { - // Fetch synchronously (can be adapted to async if needed) - beginResetModel(); - m_rows.clear(); - for (const auto &src: m_container->GetSources()) - { - QString guid = QString::fromStdString(src.ToString()); - QString path = QString::fromStdString(m_container->SourcePath(src).value_or(std::string{})); - bool writable = m_container->IsSourceWritable(src); - bool uncommitted = m_container->IsSourceUncommitted(src); - m_rows.push_back({guid, path, writable, uncommitted}); - } - endResetModel(); - } - - int rowCount(const QModelIndex &parent = QModelIndex()) const override - { - if (parent.isValid()) return 0; - return static_cast(m_rows.size()); - } - - int columnCount(const QModelIndex &parent = QModelIndex()) const override - { - Q_UNUSED(parent); - return ColumnCount; - } - - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; - - QVariant headerData(int section, Qt::Orientation orientation, int role) const override - { - if (orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - switch (section) - { - case GuidCol: return "Source GUID"; - case PathCol: return "Path"; - case WritableCol: return "Writable"; - case UncommittedCol: return "Uncommitted"; - default: return {}; - } - } - return {}; - } + enum Columns : int + { + GuidCol = 0, + PathCol, + WritableCol, + UncommittedCol, + ColumnCount + }; + + explicit WarpSourcesModel(QObject* parent = nullptr) : QAbstractTableModel(parent) {} + + void setContainer(Warp::Ref container) + { + m_container = std::move(container); + reload(); + } + + void reload() + { + // Fetch synchronously (can be adapted to async if needed) + beginResetModel(); + m_rows.clear(); + for (const auto& src : m_container->GetSources()) + { + QString guid = QString::fromStdString(src.ToString()); + QString path = QString::fromStdString(m_container->SourcePath(src).value_or(std::string {})); + bool writable = m_container->IsSourceWritable(src); + bool uncommitted = m_container->IsSourceUncommitted(src); + m_rows.push_back({guid, path, writable, uncommitted}); + } + endResetModel(); + } + + int rowCount(const QModelIndex& parent = QModelIndex()) const override + { + if (parent.isValid()) + return 0; + return static_cast(m_rows.size()); + } + + int columnCount(const QModelIndex& parent = QModelIndex()) const override + { + Q_UNUSED(parent); + return ColumnCount; + } + + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + + QVariant headerData(int section, Qt::Orientation orientation, int role) const override + { + if (orientation == Qt::Horizontal && role == Qt::DisplayRole) + { + switch (section) + { + case GuidCol: + return "Source GUID"; + case PathCol: + return "Path"; + case WritableCol: + return "Writable"; + case UncommittedCol: + return "Uncommitted"; + default: + return {}; + } + } + return {}; + } private: - struct Row - { - QString guid; - QString path; - bool writable; - bool uncommitted; - }; - - std::vector m_rows; - Warp::Ref m_container; + struct Row + { + QString guid; + QString path; + bool writable; + bool uncommitted; + }; + + std::vector m_rows; + Warp::Ref m_container; }; class WarpContainerWidget : public QWidget { - Q_OBJECT + Q_OBJECT public: - explicit WarpContainerWidget(Warp::Ref container, QWidget *parent = nullptr); + explicit WarpContainerWidget(Warp::Ref container, QWidget* parent = nullptr); private: - Warp::Ref m_container; + Warp::Ref m_container; - QTabWidget *m_tabs = nullptr; + QTabWidget* m_tabs = nullptr; - // Sources - QTableView *m_sourcesView = nullptr; - WarpSourcesModel *m_sourcesModel = nullptr; - QWidget* m_sourcesPage = nullptr; - QTimer* m_refreshTimer = nullptr; + // Sources + QTableView* m_sourcesView = nullptr; + WarpSourcesModel* m_sourcesModel = nullptr; + QWidget* m_sourcesPage = nullptr; + QTimer* m_refreshTimer = nullptr; - // Search - WarpSearchWidget *m_searchTab = nullptr; + // Search + WarpSearchWidget* m_searchTab = nullptr; }; class WarpContainersPane : public QWidget { - Q_OBJECT + Q_OBJECT public: - explicit WarpContainersPane(QWidget *parent = nullptr); - - void refresh() - { - // Clear and repopulate from current container list - m_list->clear(); - while (m_stack->count() > 0) - { - QWidget *w = m_stack->widget(0); - m_stack->removeWidget(w); - delete w; - } - m_containers.clear(); - populate(); - if (m_list->count() > 0) - m_list->setCurrentRow(0); - } + explicit WarpContainersPane(QWidget* parent = nullptr); + + void refresh() + { + // Clear and repopulate from current container list + m_list->clear(); + while (m_stack->count() > 0) + { + QWidget* w = m_stack->widget(0); + m_stack->removeWidget(w); + delete w; + } + m_containers.clear(); + populate(); + if (m_list->count() > 0) + m_list->setCurrentRow(0); + } private: - void populate() - { - // Retrieve all available containers - const auto all = Warp::Container::All(); - m_containers = all; // copy vector> - - for (const auto &c: m_containers) - { - const QString name = QString::fromStdString(c->GetName()); - auto *item = new QListWidgetItem(name, m_list); - item->setSizeHint(QSize(item->sizeHint().width(), itemHeightPx())); - auto *widget = new WarpContainerWidget(c, m_stack); - m_stack->addWidget(widget); - } - - // Visual style: behave like a vertical tab bar - // m_list->setFrameShape(QFrame::NoFrame); - // m_list->setSpacing(0); - } - - static int itemHeightPx() - { - // A reasonable, readable height per entry - return 28; - } + void populate() + { + // Retrieve all available containers + const auto all = Warp::Container::All(); + m_containers = all; // copy vector> + + for (const auto& c : m_containers) + { + const QString name = QString::fromStdString(c->GetName()); + auto* item = new QListWidgetItem(name, m_list); + item->setSizeHint(QSize(item->sizeHint().width(), itemHeightPx())); + auto* widget = new WarpContainerWidget(c, m_stack); + m_stack->addWidget(widget); + } + + // Visual style: behave like a vertical tab bar + // m_list->setFrameShape(QFrame::NoFrame); + // m_list->setSpacing(0); + } + + static int itemHeightPx() + { + // A reasonable, readable height per entry + return 28; + } private: - QListWidget *m_list = nullptr; - QStackedWidget *m_stack = nullptr; - std::vector > m_containers; + QListWidget* m_list = nullptr; + QStackedWidget* m_stack = nullptr; + std::vector> m_containers; }; -- cgit v1.3.1