1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-17 19:20:49 +00:00

Merge branch 'improvement/allow-option-for-new-windows' into 'master'

Add option to open record editing sub views in new windows instead of exclusive docking.

See merge request OpenMW/openmw!1806
This commit is contained in:
psi29a 2022-05-01 20:24:20 +00:00
commit 699c1db1d8
3 changed files with 17 additions and 0 deletions

View File

@ -156,6 +156,7 @@
Feature #6684: Support NiFltAnimationNode
Feature #6699: Ignored flag
Feature #6706: Save the size of the Options window
Feature #6721: [OpenMW-CS] Add option to open records in new window
Task #6201: Remove the "Note: No relevant classes found. No output generated" warnings
Task #6264: Remove the old classes in animation.cpp
Task #6553: Simplify interpreter instruction registration

View File

@ -93,6 +93,9 @@ void CSMPrefs::State::declare()
"If this option is enabled, types of affected records are selected "
"manually before a command execution.\nOtherwise, all associated "
"records are deleted/reverted immediately.");
declareBool ("subview-new-window", "Open Record in new window", false)
.setTooltip("When editing a record, open the view in a new window,"
" rather than docked in the main view.");
declareCategory ("ID Dialogues");
declareBool ("toolbar", "Show toolbar", true);

View File

@ -25,6 +25,8 @@
#include "../world/subviews.hpp"
#include "../world/scenesubview.hpp"
#include "../world/tablesubview.hpp"
#include "../world/dialoguesubview.hpp"
#include "../world/scriptsubview.hpp"
#include "../tools/subviews.hpp"
@ -661,6 +663,17 @@ void CSVDoc::View::addSubView (const CSMWorld::UniversalId& id, const std::strin
this, SLOT(onRequestFocus(const std::string&)));
}
if (CSMPrefs::State::get()["ID Tables"]["subview-new-window"].isTrue())
{
CSVWorld::DialogueSubView* dialogueView = dynamic_cast<CSVWorld::DialogueSubView*>(view);
if (dialogueView)
dialogueView->setFloating(true);
CSVWorld::ScriptSubView* scriptView = dynamic_cast<CSVWorld::ScriptSubView*>(view);
if (scriptView)
scriptView->setFloating(true);
}
view->show();
if (!hint.empty())