Skip to content

Fire 35859 script dialog multi floater - #258

Open
minerjr wants to merge 6 commits into
masterfrom
FIRE-35859-Script-Dialog-Multi-Floater
Open

Fire 35859 script dialog multi floater#258
minerjr wants to merge 6 commits into
masterfrom
FIRE-35859-Script-Dialog-Multi-Floater

Conversation

@minerjr

@minerjr minerjr commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Created new multi-floater which allows to group Script Dialog floaters as an option in the Preferences.

The Script Dialog Multi-Floater (SDMF) supports:

  • Supports hiding by clicking the Close(X) or Minimize(_) the window on the top Window Handle.
    
  •     Able to make re-appear by clicking on any of the chiclet buttons, or the conversation chiclet.
    
  • Separate Close buttons for each Script Dialog docked with the 
    
  • Displaying the sender of Script Dialog on the title bar, as well as the Tab buttons.
    
  • Tear Off the docked script dialog and removing it from the tab controller.
    
  • Re-dock the Script Dialog with the Dock button.
    
  • Re-arrange the tabs to change the order of the Script Dialogs.
    
  • Toggle to the window either from the top row message chiclet button or the tab menu, or conversation menu.
    
  • Close All button which will close all docked Script Dialog floaters. Confirmation request to close all with ignore option.
    
  • When a Script Dialog is docked, the SDMF can either automatically tab over to a newly docked Script Dialog, or maintain current active script dialog.
    
  • In first person view, Script Dialog Dock Window appears the same as a normal Script Dialog.
    
  • The SDMF can resize to fit the largest docked Dialog.
    
  •     Will maintain location of the SDMF.
    
  •     Will scale back down only once all Script Dialogs are closed and the SDMF is opened again with a new Script Dialog.
    
  • When disabled, all original script dialog behaviors still work, including:
    
  •    Docking to Chickets
    
  •    Stacked Dialogs.
    

minerjr added 6 commits July 20, 2026 05:26
Add new Multi-Floater and class for LLScriptFloaters. Allows LLScriptDialogs to dock into a single window instead of the on screen chicklets.
New Class named "FSFloaterScriptDialogContainer" and new UI XML named "floater_fs_script_dialog_container.xml" Based around the IM floater container.

Option in Preferences -> User Interface -> 2D Overlay - "Use Script Dialog dock window" that is used to turn on the feature. If unckecked, all normal behavior will work. When enabled, the Script Dialog Position combobox is disabled as the docked option is forced.

Docked Script Dialog floaters are able to tear off the dock, dock again and close.
Added new fs_script_dialog_container to the skip list so that when full screenit will appear like the script_floater.
Added code to the LLScriptFloaterManager to allow it to reload the Script Dialog floaters.

Used for when the user turns off the ffeature to dock in the window while in the preferences.
…ehavior

Added new flag to the Preferences -> User Interface - 2D Overlay named "Tab to Script Dialog when docked".

When enabled, the current behavior of automatically changing the active tab to the newly added one.

When disabled (defualt value) the current active tab is left alone and the new floater is added, but does not gain focus.
Add "Close All" button to the Script Dialog Multi-floater.

When picked, any floater currently docked in the multi-floater will be closed. Any Script Dialogs that had been torn off will stay.

Confirmation notification specified when the user uses the CLose All button. The user is able to choose to ignore the confirm button.

Added checkes in FSFloaterScriptDialogContainer::computeResizeLimits and FSFloaterScriptDialogContainer::growToFit to compensate for the space used by the Close All button.
Code clean up for the fsfloaterscriptdialogcontainer.h and fsfloaterscriptdialogcontainer.cpp files.

Removed methods that were empty or called base class methods as the code they were based on had additional code that was removed.

Added override to all inherited methods.
@minerjr
minerjr requested review from Ansariel and beqjanus July 20, 2026 08:48
@minerjr minerjr added the enhancement New feature or request label Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Development

Successfully merging this pull request may close these issues.

1 participant