This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[BUG] Some picture-based buttons are not recognized by Wayland.
#4
Quote: Is there any way to make Hybrid not minimize to the tray?
Yes. disable "Config->View->Design->Minimize to system tray". Smile

Quote:Not all buttons. Just the buttons I mentioned.
That is strange since all buttons, are still buttons and are treated the same.
void ModelGuiMediator::setButtonImage(QPushButton* button, const QIcon* icon, const double& mult) const { if (!button) return; if (!icon) { // Reset button if icon is null button->setFlat(false); button->setIcon(QIcon()); button->setText(button->text()); button->setMinimumSize(QSize(0, 0)); button->setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); button->setStyleSheet(""); return; } // Ensure tooltip exists if (button->toolTip().trimmed().isEmpty()) { button->setToolTip(button->text().trimmed()); } // Remove native padding/margins button->setStyleSheet("QPushButton { " "padding: 0px; " "margin: 0px; " "border: none; " "}"); // Calculate button size button->adjustSize(); const QSize buttonSize = button->size(); QList<QSize> sizes = icon->availableSizes(); if (sizes.isEmpty()) { sizes << buttonSize; // e.g. SVG icons } QFontMetrics fm(button->font()); const double baseScale = static_cast<double>(fm.height() + 7) / button->height(); QSize iconSize = sizes.first().scaled(buttonSize * baseScale, Qt::KeepAspectRatio); if (mult > 0.0) { iconSize = iconSize * mult; } button->setFlat(true); button->setText(QString()); button->setIcon(*icon); button->setIconSize(iconSize); button->setMinimumSize(iconSize); button->setMaximumSize(iconSize); }

Okay, if these two are the only buttons that do not work.
Quote:- start workers (the icon of a guy with the shovel in the 'base' tab)
- preview (the icon of the film frames under 'filtering' tab)
As a side note: the 'Add&Start Queue' can be avoided, by using the 'Add to Queue'-button and then start the "Job Queue" manually. (I never used the 'Add&Start Queue'-button. Smile)
I do not plan spending much time of investigation on why Hybrid doesn't run in some wine environment, but I checked the code and all buttons are buttons to begin with, and the text just gets 'replaced' with an icon (the button is still a button):
void ModelGuiMediator::setButtonImage(QPushButton* button, const QIcon* icon, const double& mult) const { if (!button) return; if (!icon) { // Reset button if icon is null button->setFlat(false); button->setIcon(QIcon()); button->setText(button->text()); button->setMinimumSize(QSize(0, 0)); button->setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); button->setStyleSheet(""); return; } // Ensure tooltip exists if (button->toolTip().trimmed().isEmpty()) { button->setToolTip(button->text().trimmed()); } // Remove native padding/margins button->setStyleSheet("QPushButton { " "padding: 0px; " "margin: 0px; " "border: none; " "}"); // Calculate button size button->adjustSize(); const QSize buttonSize = button->size(); QList<QSize> sizes = icon->availableSizes(); if (sizes.isEmpty()) { sizes << buttonSize; // e.g. SVG icons } QFontMetrics fm(button->font()); const double baseScale = static_cast<double>(fm.height() + 7) / button->height(); QSize iconSize = sizes.first().scaled(buttonSize * baseScale, Qt::KeepAspectRatio); if (mult > 0.0) { iconSize = iconSize * mult; } button->setFlat(true); button->setText(QString()); button->setIcon(*icon); button->setIconSize(iconSize); button->setMinimumSize(iconSize); button->setMaximumSize(iconSize); }
Switching icon/text basically just calls setButtonImage for each button with an icon or without one.
# replace text with icon m_mediator->setButtonImage(m_ui.startQueuePushButton, icons->value(QStringLiteral("startQueue"))); # reset text and remove icon m_ui.startQueuePushButton->setText(QStringLiteral("Add&Start Queue")); m_mediator->setButtonImage(m_ui.startQueuePushButton,nullptr);
Basically all buttons are treated the same, which is why I suspect the button get triggered, but maybe something else gets blocked. (there doesn't seem to be anything special about the two buttons you mentioned)

If you (read the sticky and) create a debug output of trying to press one of these, does the debug output file show any reaction at all?

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Messages In This Thread
RE: Some picture-based buttons are not recognized by Wayland. - by Selur - 08.08.2026, 06:19

Forum Jump:


Users browsing this thread: 1 Guest(s)