| 808 | } |
| 809 | |
| 810 | static FloatingWindowFlags flagsForFloatingWindow(FloatingWindowFlags requestedFlags) |
| 811 | { |
| 812 | if (!(requestedFlags & FloatingWindowFlag::FromGlobalConfig)) { |
| 813 | // User requested specific flags for this floating window |
| 814 | return requestedFlags; |
| 815 | } |
| 816 | |
| 817 | // Use from KDDockWidgets::Config instead. This is app-wide and not per window. |
| 818 | |
| 819 | FloatingWindowFlags flags = {}; |
| 820 | |
| 821 | if ((Config::self().flags() & Config::Flag_TitleBarHasMinimizeButton) |
| 822 | == Config::Flag_TitleBarHasMinimizeButton) |
| 823 | flags |= FloatingWindowFlag::TitleBarHasMinimizeButton; |
| 824 | |
| 825 | if (Config::self().flags() & Config::Flag_TitleBarHasMaximizeButton) |
| 826 | flags |= FloatingWindowFlag::TitleBarHasMaximizeButton; |
| 827 | |
| 828 | if (Config::self().flags() & Config::Flag_KeepAboveIfNotUtilityWindow) |
| 829 | flags |= FloatingWindowFlag::KeepAboveIfNotUtilityWindow; |
| 830 | |
| 831 | if (Config::self().flags() & Config::Flag_NativeTitleBar) |
| 832 | flags |= FloatingWindowFlag::NativeTitleBar; |
| 833 | |
| 834 | if (Config::self().flags() & Config::Flag_HideTitleBarWhenTabsVisible) |
| 835 | flags |= FloatingWindowFlag::HideTitleBarWhenTabsVisible; |
| 836 | |
| 837 | if (Config::self().flags() & Config::Flag_AlwaysTitleBarWhenFloating) |
| 838 | flags |= FloatingWindowFlag::AlwaysTitleBarWhenFloating; |
| 839 | |
| 840 | if (Config::self().internalFlags() & Config::InternalFlag_DontUseParentForFloatingWindows) |
| 841 | flags |= FloatingWindowFlag::DontUseParentForFloatingWindows; |
| 842 | |
| 843 | if (Config::self().internalFlags() & Config::InternalFlag_DontUseQtToolWindowsForFloatingWindows) |
| 844 | flags |= FloatingWindowFlag::UseQtWindow; |
| 845 | |
| 846 | return flags; |
| 847 | } |
| 848 | |
| 849 | FloatingWindow::Private::Private(FloatingWindowFlags requestedFlags, FloatingWindow *q) |
| 850 | : m_flags(flagsForFloatingWindow(requestedFlags)) |
no test coverage detected