Browse Source

Bring back Window::setTransientParent, used in Carla

Signed-off-by: falkTX <falktx@falktx.com>
pull/321/head
falkTX 2 years ago
parent
commit
7f65db5dd3
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 16 additions and 12 deletions
  1. +8
    -0
      dgl/Window.hpp
  2. +5
    -7
      dgl/src/Window.cpp
  3. +3
    -5
      distrho/src/DistrhoUIInternal.hpp

+ 8
- 0
dgl/Window.hpp View File

@@ -442,6 +442,14 @@ public:
bool automaticallyScale = false,
bool resizeNowIfAutoScaling = true);

/**
Set the transient parent of the window.

Set this for transient children like dialogs, to have them properly associated with their parent window.
This should be not be called for embed windows, or after making the window visible.
*/
void setTransientParent(uintptr_t transientParentWindowHandle);

/** DEPRECATED Use isIgnoringKeyRepeat(). */
DISTRHO_DEPRECATED_BY("isIgnoringKeyRepeat()")
inline bool getIgnoringKeyRepeat() const noexcept { return isIgnoringKeyRepeat(); }


+ 5
- 7
dgl/src/Window.cpp View File

@@ -465,6 +465,11 @@ void Window::setGeometryConstraints(uint minimumWidth,
}
}

void Window::setTransientParent(const uintptr_t transientParentWindowHandle)
{
puglSetTransientParent(pData->view, transientParentWindowHandle);
}

std::vector<ClipboardDataOffer> Window::getClipboardDataOfferTypes()
{
std::vector<ClipboardDataOffer> offerTypes;
@@ -521,13 +526,6 @@ void Window::onFileSelected(const char*)
}
#endif

#if 0
void Window::setTransientWinId(const uintptr_t winId)
{
puglSetTransientFor(pData->view, winId);
}
#endif

// -----------------------------------------------------------------------

END_NAMESPACE_DGL

+ 3
- 5
distrho/src/DistrhoUIInternal.hpp View File

@@ -312,14 +312,12 @@ public:
uiData->window->setTitle(uiTitle);
}

void setWindowTransientWinId(const uintptr_t winId)
void setWindowTransientWinId(const uintptr_t transientParentWindowHandle)
{
#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI
ui->setTransientWindowId(winId);
#elif 0 /* TODO */
glWindow.setTransientWinId(winId);
ui->setTransientWindowId(transientParentWindowHandle);
#else
(void)winId;
uiData->window->setTransientParent(transientParentWindowHandle);
#endif
}



Loading…
Cancel
Save