From 03210f458abdd5a4d62b711d11c87d6490fde465 Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Sun, 17 May 2026 14:14:31 +0300
Subject: designer: avoid setting accel when setting text

When setting text in TQButton-derived classes it automatically sets
keybord accelerator. Since we don't want it, save the "accel" property
before setting the text and restore it afterwards.

See-also: https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase/pulls/738#issuecomment-86744
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
---
 tools/designer/designer/command.cpp  | 8 ++++++++
 tools/designer/designer/resource.cpp | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/tools/designer/designer/command.cpp b/tools/designer/designer/command.cpp
index 3f461f59f..35431a373 100644
--- a/tools/designer/designer/command.cpp
+++ b/tools/designer/designer/command.cpp
@@ -632,6 +632,11 @@ void SetPropertyCommand::setProperty( const TQVariant &v, const TQString &curren
 	TQVariant ov;
 	if ( propName == "name" || propName == "itemName" )
 	    ov = widget->property( propName );
+	TQVariant originalAccel;
+	if ( propName == "text" && ::tqt_cast<TQButton*>(widget) ) {
+	    // a hack to prevent resetting keyboard accelerator
+	    originalAccel = widget->property( "accel" );
+	}
 	int oldSerNum = -1;
 	if ( v.type() == TQVariant::Pixmap )
 	    oldSerNum = v.toPixmap().serialNumber();
@@ -643,6 +648,9 @@ void SetPropertyCommand::setProperty( const TQVariant &v, const TQString &curren
 	if ( propName == "cursor" ) {
 	    MetaDataBase::setCursor( (TQWidget*)((TQObject *)widget), v.toCursor() );
 	}
+	if ( originalAccel.isValid() ) {
+	    widget->setProperty( "accel", originalAccel );
+	}
 	if ( propName == "name" && widget->isWidgetType() ) {
 	    formWindow()->mainWindow()->objectHierarchy()->namePropertyChanged( ((TQWidget*)(TQObject *)widget), ov );
 	    if ( formWindow()->isMainContainer( widget ) )
diff --git a/tools/designer/designer/resource.cpp b/tools/designer/designer/resource.cpp
index e8f80f393..f42cbb82b 100644
--- a/tools/designer/designer/resource.cpp
+++ b/tools/designer/designer/resource.cpp
@@ -2362,6 +2362,14 @@ void Resource::setObjectProperty( TQObject* obj, const TQString &prop, const TQD
 	}
     }
 
+    if ( prop == "text" && ::tqt_cast<TQButton*>(obj) ) {
+	// a hack to prevent resetting keyboard accelerator
+	TQVariant originalAccel = obj->property( "accel" );
+	obj->setProperty( prop, v );
+	obj->setProperty( "accel", originalAccel );
+	return;
+    }
+
     if ( prop == "sizePolicy" ) {
 	TQSizePolicy sp = v.toSizePolicy();
 	sp.setHeightForWidth( ( (TQWidget*)obj )->sizePolicy().hasHeightForWidth() );
-- 
cgit v1.2.3

