Merge Profiles and Session windows into a single window

ProfilesWindow and SessionWindow were two independent top-level windows,
coordinated through a QPointer and manual show/create-or-reuse logic, with
duplicated Help menus and a path where Quit didn't actually quit if a
SessionWindow happened to be open. ProfilesWindow is now an embedded QWidget
shown as a permanent, unclosable "Profiles" tab inside SessionWindow's tab
widget; SessionWindow is the app's sole top-level window. Double-clicking a
profile opens a session tab in the same window instead of finding-or-creating
a second one, and closing all session tabs falls back to the Profiles tab
rather than closing the app.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-07 15:59:53 -06:00
co-authored by Claude Sonnet 5
parent 4b4b7d68f2
commit a89748be67
5 changed files with 82 additions and 86 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
#include "app_icon.h"
#include "profiles_window.h"
#include "session_window.h"
#include <QApplication>
@@ -12,7 +12,7 @@ int main(int argc, char* argv[])
app.setApplicationName(QStringLiteral("OrbitHub"));
app.setWindowIcon(createOrbitHubAppIcon());
ProfilesWindow window;
SessionWindow window;
window.show();
return app.exec();