Implement Milestone 2 profile schema, dialog, and connect lifecycle

This commit is contained in:
Keith Smith
2026-03-01 09:21:53 -07:00
parent 87b0f60569
commit f8a81ebe36
9 changed files with 488 additions and 92 deletions

View File

@@ -1,6 +1,8 @@
#ifndef ORBITHUB_PROFILES_WINDOW_H
#define ORBITHUB_PROFILES_WINDOW_H
#include "profile_repository.h"
#include <QMainWindow>
#include <QString>
#include <QtGlobal>
@@ -8,6 +10,7 @@
#include <memory>
#include <optional>
#include <QPointer>
#include <unordered_map>
#include <vector>
class QListWidget;
@@ -15,7 +18,6 @@ class QListWidgetItem;
class QLineEdit;
class QPushButton;
class SessionWindow;
class ProfileRepository;
class ProfilesWindow : public QMainWindow
{
@@ -33,10 +35,11 @@ private:
QPushButton* m_deleteButton;
std::vector<QPointer<SessionWindow>> m_sessionWindows;
std::unique_ptr<ProfileRepository> m_repository;
std::unordered_map<qint64, Profile> m_profileCache;
void setupUi();
void loadProfiles(const QString& query = QString());
std::optional<qint64> selectedProfileId() const;
std::optional<Profile> selectedProfile() const;
void createProfile();
void editSelectedProfile();
void deleteSelectedProfile();