Implement SQLite-backed profile CRUD in Profiles window

This commit is contained in:
Keith Smith
2026-03-01 09:06:34 -07:00
parent fba7336f69
commit 09c54313af
2 changed files with 147 additions and 37 deletions

View File

@@ -3,7 +3,10 @@
#include <QMainWindow>
#include <QString>
#include <QtGlobal>
#include <memory>
#include <optional>
#include <QPointer>
#include <vector>
@@ -12,6 +15,7 @@ class QListWidgetItem;
class QLineEdit;
class QPushButton;
class SessionWindow;
class ProfileRepository;
class ProfilesWindow : public QMainWindow
{
@@ -19,6 +23,7 @@ class ProfilesWindow : public QMainWindow
public:
explicit ProfilesWindow(QWidget* parent = nullptr);
~ProfilesWindow() override;
private:
QLineEdit* m_searchBox;
@@ -27,10 +32,14 @@ private:
QPushButton* m_editButton;
QPushButton* m_deleteButton;
std::vector<QPointer<SessionWindow>> m_sessionWindows;
std::unique_ptr<ProfileRepository> m_repository;
void setupUi();
void populateSampleProfiles();
void filterProfiles(const QString& query);
void loadProfiles(const QString& query = QString());
std::optional<qint64> selectedProfileId() const;
void createProfile();
void editSelectedProfile();
void deleteSelectedProfile();
void openSessionForItem(QListWidgetItem* item);
};