Skip to content

AAC-Native UI: Full UI Architecture Skeleton#5

Open
trancer1994 wants to merge 27 commits into
aac-pr6-folder-renamefrom
aac-ui-implementation
Open

AAC-Native UI: Full UI Architecture Skeleton#5
trancer1994 wants to merge 27 commits into
aac-pr6-folder-renamefrom
aac-ui-implementation

Conversation

@trancer1994

Copy link
Copy Markdown
Owner

This PR introduces the full AAC-native replacement UI architecture for the TeamTalk Qt client. It defines all major screens, navigation flow, and state-driven transitions without yet implementing networking, audio, or channel/user data. The goal is to establish a clear, maintainable UI structure that future PRs can progressively wire up to real functionality.

Included

  • New main screens:
    • Server list view (existing: ServerListWidget)
    • Public servers placeholder view (PublicServerListWidget)
    • Connection view (ConnectionView)
    • Channel list view (ChannelView)
    • In-channel view (InChannelView)
    • Settings dialog (SettingsDialog)
  • Basic models:
    • ServerEntry
    • ServerListModel
  • State integration:
    • UiState enum and basic transitions for:
      • Server list → Connecting → Channel list → In-channel → back again
    • Wiring between UI widgets and the existing state machine introduced earlier
  • Navigation:
    • Central widget swapping in MainWindow based on UI state
  • Placeholders:
    • Text chat placeholder in InChannelView
    • Placeholder tabs in SettingsDialog
    • Connection status text in ConnectionView
    • Public server list placeholder in PublicServerListWidget

Not included

  • Any actual networking or TeamTalk protocol calls
  • Real channel list population
  • Real user list population
  • Audio device handling
  • Voice transmit/mute logic
  • Server discovery beyond what TeamTalk already exposes
  • Full AAC styling (button size, spacing, theme, scanning order); these will follow in later PRs once the structure is agreed.

Purpose
The purpose of this PR is to expose the complete AAC-native UI structure as a coherent whole, so reviewers can see:

  • All major screens
  • The intended navigation flow
  • How the replacement UI fits into the existing client
  • How the state machine drives UI transitions

Future PRs will:

  • Connect the state machine to the actual TeamTalk backend
  • Populate channels and users
  • Implement transmit/mute behavior
  • Add AAC-native sizing, spacing, and input models (switch/scanning/eye-tracking support)
  • Refine accessibility and theming.

Notes for reviewers

  • All new screens are intentionally minimal and UI-only.
  • The focus here is on layout, separation of responsibilities, and predictable navigation.
    Note to developers: anytime I refer to "functionality" in my commits, it is either minimal or placeholder.
    I will edit this request if I find any files are missing, or anything needs improving, or if I otherwise get feedback.

…te_adapter.h to Client/qtTeamTalkaac/ui/state/ui_state_adapter.h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant