Added PM_LineEditIconMargin pixel metric handling to support custom
icon margins in line edit widgets. The implementation checks for a
"_d_dtk_lineeditIconMargin" property on the widget and returns the
custom margin value if valid. This allows applications to specify
precise icon spacing in line edit fields for better UI customization and
visual consistency.
Influence:
1. Test line edit widgets with custom icon margin property set
2. Verify default behavior when no custom margin is specified
3. Test with various valid margin values (positive integers)
4. Verify behavior with invalid margin values (negative numbers, invalid
types)
5. Check UI layout consistency with custom icon margins applied
feat: 添加支持自定义行编辑图标边距
添加了 PM_LineEditIconMargin 像素度量处理,以支持在行编辑部件中自定义图
标边距。该实现检查部件上的 "_d_dtk_lineeditIconMargin" 属性,如果有效则
返回自定义边距值。这允许应用程序为行编辑字段指定精确的图标间距,以实现更
好的 UI 定制和视觉一致性。
Influence:
1. 测试设置了自定义图标边距属性的行编辑部件
2. 验证未指定自定义边距时的默认行为
3. 使用各种有效边距值(正整数)进行测试
4. 验证无效边距值(负数、无效类型)时的行为
5. 检查应用自定义图标边距后的 UI 布局一致性
PMS: BUG-334965
1. Enhanced dialog width calculation to respect maximum width constraint
2. Added dynamic height calculation based on layout's total height for
the given width
3. Removed unused event filter for title and message labels that handled
font changes
4. The event filter was unnecessary as Qt's layout system already
handles text wrapping properly
Influence:
1. Test dialog resizing with various content lengths
2. Verify dialog respects maximum width settings
3. Check that text wrapping works correctly in title and message labels
4. Test dialog appearance with different font sizes
5. Ensure dialog maintains minimum size requirements
fix: 改进对话框尺寸计算并移除未使用的事件过滤器
1. 增强对话框宽度计算以遵循最大宽度约束
2. 添加基于布局总高度的动态高度计算
3. 移除用于标题和消息标签字体变化的未使用事件过滤器
4. 该事件过滤器不再必要,因为Qt的布局系统已能正确处理文本换行
Influence:
1. 测试不同内容长度时的对话框调整大小
2. 验证对话框遵循最大宽度设置
3. 检查标题和消息标签中的文本换行是否正确工作
4. 测试不同字体大小下的对话框外观
5. 确保对话框保持最小尺寸要求
PMS: BUG-331061
Changed setFixedHeight to setMinimumHeight for feature item widgets to
handle varying text content more flexibly. Previously used fixed height
could cause layout issues when description text required more vertical
space than the hardcoded values allowed.
This change ensures that feature items can expand vertically when needed
to accommodate longer descriptions while maintaining the minimum height
requirements for standard content.
Influence:
1. Test feature display dialog with short descriptions (should maintain
original height)
2. Test with longer descriptions that require more vertical space
(should expand properly)
3. Verify layout consistency across different description lengths
4. Check that the minimum height constraints are still respected
fix: 调整特性项目控件高度计算
将特性项目控件的高度设置从固定高度改为最小高度,以更灵活地处理不同长度
的文本内容。之前使用的固定高度在描述文本需要更多垂直空间时可能导致布局
问题。
此更改确保特性项目在需要显示较长描述时可以垂直扩展,同时为标准内容保持最
小高度要求。
Influence:
1. 测试特性显示对话框在短描述时的显示(应保持原有高度)
2. 测试需要更多垂直空间的长描述(应能正确扩展)
3. 验证不同描述长度下的布局一致性
4. 检查最小高度约束是否仍然有效
PMS: BUG-311285
Fix dialog size not updating when system font changes
Add font change event handling to recalculate dialog size
Ensure proper layout when font size or family changes
Influence:
1. Test dialog appearance when system font settings change
2. Verify dialog size adapts correctly to different font sizes
3. Check layout integrity after font changes
4. Test with various font families and sizes
fix: 处理对话框中的字体变更事件
修复系统字体变更时对话框大小不更新的问题
添加字体变更事件处理以重新计算对话框大小
确保字体大小或字体家族变更时的正确布局
Influence:
1. 测试系统字体设置变更时对话框的显示效果
2. 验证对话框大小是否正确适应不同的字体大小
3. 检查字体变更后的布局完整性
4. 测试不同字体家族和大小的显示效果
PMS: BUG-331061
Fixed incorrect button order in the settings dialog by changing
insertButton index from 1 to 0 for cancel button. This ensures the
cancel button is placed at the correct position in the button layout,
preventing potential UI issues and improving user interface consistency.
Influence:
1. Verify settings dialog button layout is correct
2. Test cancel button functionality in settings dialog
3. Check button accessibility names are properly set
4. Confirm dialog interaction flows work as expected
fix: 修复设置对话框中按钮顺序问题
修复了设置对话框中按钮顺序错误的问题,将取消按钮的insertButton索引从1改
为0。这确保了取消按钮在按钮布局中处于正确位置,防止了潜在的UI问题并提高
了用户界面的一致性。
Influence:
1. 验证设置对话框按钮布局是否正确
2. 测试设置对话框中取消按钮的功能
3. 检查按钮的可访问性名称是否正确设置
4. 确认对话框交互流程正常工作
PMS: BUG-338153
1. Removed manual palette setting for item background transparency
2. Added item spacing configuration with zero spacing
3. Set background type with rounded background and no normal state
4. These changes simplify the styling approach and use DStyle's built-
in capabilities
Log: Improved navigation widget visual appearance with better spacing
and background styling
Influence:
1. Verify navigation items display correctly with proper spacing
2. Check background rendering in different states (hover, selected)
3. Test navigation selection behavior remains consistent
4. Verify visual consistency with other UI components
5. Test navigation widget in different themes
feat: 改进导航部件样式
1. 移除了手动设置项目背景透明度的调色板配置
2. 添加了零间距的项目间距配置
3. 设置了圆角背景且无正常状态的背景类型
4. 这些更改简化了样式方法,使用 DStyle 的内置功能
Log: 改进了导航部件的视觉外观,具有更好的间距和背景样式
Influence:
1. 验证导航项目是否正确显示,间距合适
2. 检查不同状态(悬停、选中)下的背景渲染
3. 测试导航选择行为是否保持一致
4. 验证与其他UI组件的视觉一致性
5. 测试不同主题下的导航部件显示
PMS: BUG-310829
Fixed an issue where DCi icon state was not properly cleared
when setting other icon types (QIcon, QStyle::StandardPixmap,
DStyle::StandardPixmap). This could cause incorrect icon rendering when
switching between different icon types.
The changes ensure that when setting a non-DCi icon, the DCi icon state
is properly reset to avoid conflicts between different icon systems.
When setting a DCi icon, the QAbstractButton icon is cleared to prevent
interference.
Log: Fixed icon display issues when switching between different icon
types
Influence:
1. Test switching between QIcon, standard pixmap icons, and DCi icons
2. Verify icons display correctly after type changes
3. Test button appearance in different states (normal, hover, pressed)
4. Check icon rendering consistency across different button types
fix: 设置其他图标类型时正确清除 DCi 图标状态
修复了在设置其他图标类型(QIcon、QStyle::StandardPixmap、
DStyle::StandardPixmap)时未正确清除 DCi 图标状态的问题。这可能导致在不
同图标类型之间切换时出现错误的图标渲染。
这些更改确保在设置非 DCi 图标时,DCi 图标状态被正确重置,以避免不同图
标系统之间的冲突。当设置 DCi 图标时,QAbstractButton 图标被清除以防止
干扰。
Log: 修复在不同图标类型之间切换时的图标显示问题
Influence:
1. 测试在 QIcon、标准像素图标和 DCi 图标之间的切换
2. 验证类型更改后图标正确显示
3. 测试按钮在不同状态(正常、悬停、按下)下的外观
4. 检查不同按钮类型之间的图标渲染一致性
PMS: BUG-337027
Added supportWindowEffect() function to check for both compositing and
blur window capabilities
Updated color picker button enable state to require both composite and
blur window support
Added connection to handle hasBlurWindowChanged signal for dynamic
enable state updates
This change ensures the color picker button is only enabled when both
compositing and blur window effects are supported by the window manager,
providing better user experience by preventing the button from being
enabled in environments where the picker functionality wouldn't work
properly due to missing window effects.
Log: Color picker button now requires both compositing and blur window
support to be enabled
Influence:
1. Test color picker button enable/disable state when changing window
manager compositing settings
2. Verify button state when blur window support is enabled/disabled
3. Test in environments with different window manager capabilities
4. Verify picker functionality works correctly when button is enabled
feat: 增强窗口效果支持检测
新增 supportWindowEffect() 函数检查合成和模糊窗口支持能力
更新颜色选择器按钮启用状态,要求同时具备合成和模糊窗口支持
添加处理 hasBlurWindowChanged 信号的连接,实现动态启用状态更新
此更改确保颜色选择器按钮仅在窗口管理器同时支持合成和模糊窗口效果时启用,
提供更好的用户体验,防止在缺少窗口效果的环境中启用按钮而导致功能无法正常
工作。
Log: 颜色选择器按钮现在需要同时支持合成和模糊窗口效果才能启用
Influence:
1. 测试更改窗口管理器合成设置时颜色选择器按钮的启用/禁用状态
2. 验证模糊窗口支持启用/禁用时的按钮状态
3. 在不同窗口管理器能力的环境中进行测试
4. 验证按钮启用时选择器功能正常工作
PMS: BUG-329555
The search icon button in DSearchEdit had inconsistent foreground
colors because the action button was drawn by Qt without using the
control's palette foreground color. This change replaces QAction with
QWidgetAction to ensure the search icon inherits the correct palette
colors from the parent widget.
Changed QAction to QWidgetAction and created a DIconButton widget as the
default widget for the action. This allows the search icon to properly
inherit the palette foreground color from DSearchEdit instead of using
Qt's default styling. Also updated all visibility control calls to use
defaultWidget()->setVisible() instead of action->setVisible().
Log: Fixed search icon color inconsistency in search edit controls
Influence:
1. Test search edit control in different themes to verify icon color
consistency
2. Verify search icon visibility transitions during focus changes
3. Test search functionality remains unchanged
4. Check accessibility name is preserved for the icon button
5. Verify placeholder text behavior during mode transitions
fix: 修复DSearchEdit中搜索图标颜色不一致问题
DSearchEdit中的搜索图标按钮存在前景色不一致的问题,因为操作按钮由Qt绘
制,没有使用控件的调色板前景色。本次修改将QAction替换为QWidgetAction,确
保搜索图标正确继承父部件的调色板颜色。
将QAction改为QWidgetAction,并创建DIconButton小部件作为操作的
默认小部件。这使得搜索图标能够正确从DSearchEdit继承调色板前景
色,而不是使用Qt的默认样式。同时更新了所有可见性控制调用,使用
defaultWidget()->setVisible()代替action->setVisible()。
Log: 修复搜索编辑控件中搜索图标颜色不一致问题
Influence:
1. 在不同主题下测试搜索编辑控件,验证图标颜色一致性
2. 验证焦点变化时搜索图标可见性转换
3. 测试搜索功能保持不变
4. 检查图标按钮的无障碍名称是否保留
5. 验证模式转换时的占位符文本行为
PMS: BUG-315583
Added safety checks to prevent accessing invalid tab indices
1. Added Q_ASSERT(tab) in layoutTab to ensure tab pointer is valid
2. Added d->validIndex(selected) check in paintEvent before accessing
selected tab
3. Prevents crashes when tab index might be out of bounds during layout
or painting operations
fix: 修复标签索引越界可能导致的崩溃问题
添加安全检查防止访问无效的标签索引
1. 在layoutTab中添加Q_ASSERT(tab)确保标签指针有效
2. 在paintEvent中添加d->validIndex(selected)检查,确保在访问选中标签前索
引有效
3. 防止在布局或绘制操作中因标签索引越界而导致崩溃
PMS: BUG-331085
* i18n: Translate dtkwidget.ts in ja
70% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ja'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
---------
Log:
* i18n: Translate dtkwidget.ts in ms
100% translated source file: 'dtkwidget.ts'
on 'ms'.
* i18n: Translate dtkwidget.ts in nl
100% translated source file: 'dtkwidget.ts'
on 'nl'.
* i18n: Translate dtkwidget.ts in fi
100% translated source file: 'dtkwidget.ts'
on 'fi'.
* i18n: Translate dtkwidget.ts in hu
100% translated source file: 'dtkwidget.ts'
on 'hu'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in it
100% translated source file: 'dtkwidget.ts'
on 'it'.
* i18n: Translate dtkwidget.ts in ca
100% translated source file: 'dtkwidget.ts'
on 'ca'.
* i18n: Translate dtkwidget.ts in zh_HK
100% translated source file: 'dtkwidget.ts'
on 'zh_HK'.
* i18n: Translate dtkwidget.ts in ja
69% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ja'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in pl
100% translated source file: 'dtkwidget.ts'
on 'pl'.
* i18n: Translate dtkwidget.ts in hi_IN
88% of minimum 10% translated source file: 'dtkwidget.ts'
on 'hi_IN'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in sq
100% translated source file: 'dtkwidget.ts'
on 'sq'.
* i18n: Translate dtkwidget.ts in nb
22% of minimum 10% translated source file: 'dtkwidget.ts'
on 'nb'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in ne
33% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ne'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in de
100% translated source file: 'dtkwidget.ts'
on 'de'.
* i18n: Translate dtkwidget.ts in ug
100% translated source file: 'dtkwidget.ts'
on 'ug'.
* i18n: Translate dtkwidget.ts in pt
95% of minimum 10% translated source file: 'dtkwidget.ts'
on 'pt'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in hr
65% of minimum 10% translated source file: 'dtkwidget.ts'
on 'hr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in uk
100% translated source file: 'dtkwidget.ts'
on 'uk'.
* i18n: Translate dtkwidget.ts in bg
22% of minimum 10% translated source file: 'dtkwidget.ts'
on 'bg'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in cs
100% translated source file: 'dtkwidget.ts'
on 'cs'.
* i18n: Translate dtkwidget.ts in am_ET
22% of minimum 10% translated source file: 'dtkwidget.ts'
on 'am_ET'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in bn
22% of minimum 10% translated source file: 'dtkwidget.ts'
on 'bn'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in br
33% of minimum 10% translated source file: 'dtkwidget.ts'
on 'br'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in es
100% translated source file: 'dtkwidget.ts'
on 'es'.
* i18n: Translate dtkwidget.ts in ko
37% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ko'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in bo
100% translated source file: 'dtkwidget.ts'
on 'bo'.
* i18n: Translate dtkwidget.ts in az
100% translated source file: 'dtkwidget.ts'
on 'az'.
* i18n: Translate dtkwidget.ts in ast
23% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ast'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in fa
25% of minimum 10% translated source file: 'dtkwidget.ts'
on 'fa'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in sr
88% of minimum 10% translated source file: 'dtkwidget.ts'
on 'sr'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in ru
100% translated source file: 'dtkwidget.ts'
on 'ru'.
* i18n: Translate dtkwidget.ts in fr
100% translated source file: 'dtkwidget.ts'
on 'fr'.
* i18n: Translate dtkwidget.ts in sk
22% of minimum 10% translated source file: 'dtkwidget.ts'
on 'sk'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in ro
88% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ro'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in gl_ES
100% translated source file: 'dtkwidget.ts'
on 'gl_ES'.
* i18n: Translate dtkwidget.ts in eu
36% of minimum 10% translated source file: 'dtkwidget.ts'
on 'eu'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in ar
89% of minimum 10% translated source file: 'dtkwidget.ts'
on 'ar'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in sl
100% translated source file: 'dtkwidget.ts'
on 'sl'.
* i18n: Translate dtkwidget.ts in tr
100% translated source file: 'dtkwidget.ts'
on 'tr'.
* i18n: Translate dtkwidget.ts in zh_CN
100% translated source file: 'dtkwidget.ts'
on 'zh_CN'.
* i18n: Translate dtkwidget.ts in zh_TW
100% translated source file: 'dtkwidget.ts'
on 'zh_TW'.
* i18n: Translate dtkwidget.ts in lt
31% of minimum 10% translated source file: 'dtkwidget.ts'
on 'lt'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in id
24% of minimum 10% translated source file: 'dtkwidget.ts'
on 'id'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in da
33% of minimum 10% translated source file: 'dtkwidget.ts'
on 'da'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in es
100% translated source file: 'dtkwidget.ts'
on 'es'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in pt_BR
100% translated source file: 'dtkwidget.ts'
on 'pt_BR'.
* i18n: Translate dtkwidget.ts in zh_HK
100% translated source file: 'dtkwidget.ts'
on 'zh_HK'.
* i18n: Translate dtkwidget.ts in zh_TW
100% translated source file: 'dtkwidget.ts'
on 'zh_TW'.
* i18n: Translate dtkwidget.ts in zh_CN
100% translated source file: 'dtkwidget.ts'
on 'zh_CN'.
* i18n: Translate dtkwidget.ts in lo
15% of minimum 10% translated source file: 'dtkwidget.ts'
on 'lo'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* i18n: Translate dtkwidget.ts in lo
100% translated source file: 'dtkwidget.ts'
on 'lo'.
---------
Log:
1. Removed minimum_perc and mode settings from main section
2. Updated resource identifier from 'dwidget' to hash-based identifier
3. Cleaned up whitespace in the configuration file
The changes were made to align with Transifex's updated configuration
requirements and to standardize resource identifiers across the project.
The hash-based identifier provides better uniqueness and consistency.
Influence:
1. Verify translations are still being properly synced with Transifex
2. Check that translation files are being generated correctly
3. Ensure no regression in translation functionality
fix: 更新Transifex配置
1. 从main部分移除了minimum_perc和mode设置
2. 将资源标识符从'dwidget'更新为基于哈希的标识符
3. 清理了配置文件中的空白字符
这些更改是为了符合Transifex更新的配置要求,并使项目中的资源标识符标准
化。基于哈希的标识符提供了更好的唯一性和一致性。
Influence:
1. 验证翻译仍能正确与Transifex同步
2. 检查翻译文件是否正确生成
3. 确保翻译功能没有回归
1. Added .tx/transifex.yaml configuration file for translation
management
2. Updated license and copyright information in translation files
3. Improved Arabic translations with corrected terms and completed
missing translations
4. Updated Chinese translations for "Acknowledgements" term
5. Added various language translations (Japanese, German, French,
Italian, etc)
6. Removed SPDX headers from translation files to avoid duplication
Log: Updated translation configurations and improved translations
Influence:
1. Verify all translations display correctly in UI
2. Check translation management works with Transifex
3. Test language switching functionality
4. Validate license/copyright information in about dialogs
feat: 更新翻译配置和翻译内容
1. 新增.tx/transifex.yaml翻译管理配置文件
2. 更新翻译文件中的许可证和版权信息
3. 改进阿拉伯语翻译,修正术语并补全缺失翻译
4. 更新中文"鸣谢"翻译为"致谢"
5. 新增多种语言翻译(日语、德语、法语、意大利语等)
6. 移除翻译文件中的SPDX头以避免重复
Log: 更新翻译配置并改进翻译内容
Influence:
1. 验证所有翻译在界面中正确显示
2. 检查与Transifex的翻译管理功能
3. 测试语言切换功能
4. 验证关于对话框中的许可证/版权信息
1. Changed DStyledItemDelegate to initialize itemSpacing with -1 as
default value
2. Added spacing() method to handle negative spacing values
3. Modified setBackgroundType to only set spacing when no custom spacing
was set (spacing < 0)
4. Updated all spacing references to use the new spacing() method
Log: Fixed issue where setting background type would override custom
item spacing values
Influence:
1. Test setting custom item spacing values before/after changing
background types
2. Verify spacing behavior with different background types
(RoundedBackground, ClipCornerBackground)
3. Check layout calculations with custom spacing values
4. Test list view rendering in both LeftToRight and TopToBottom flows
fix: 修复设置背景类型会覆盖自定义间距值的问题
1. 修改 DStyledItemDelegate 默认将 itemSpacing 初始化为 -1
2. 新增 spacing() 方法处理负间距值
3. 修改 setBackgroundType 仅在未设置自定义间距时(spacing < 0)才设置
间距
4. 更新所有间距引用使用新的 spacing() 方法
Log: 修复了设置背景类型会覆盖自定义间距值的问题
Influence:
1. 测试在更改背景类型前后设置自定义间距值
2. 验证不同背景类型(RoundedBackground, ClipCornerBackground)下的间距行为
3. 检查使用自定义间距值时的布局计算
4. 测试列表视图在 LeftToRight 和 TopToBottom 两种流式布局下的渲染效果
1. Replace deprecated qAsConst with std::as_const for Qt6 compatibility
2. Update key sequence handling to use | operator instead of + for Qt6
3. Fix touch event handling for Qt6 API changes
4. Replace stateChanged with checkStateChanged for Qt6 checkbox signals
5. Add version checks for Qt6-specific API changes
6. Fix various other Qt6 deprecation warnings
These changes ensure the codebase works correctly with both Qt5 and
Qt6, addressing API changes and deprecations in Qt6 while maintaining
backward compatibility. Key technical changes include:
- Using Qt version checks for API differences
- Standardizing on newer APIs where possible
- Maintaining compatibility with both major Qt versions
fix: 解决Qt6兼容性问题
1. 使用std::as_const替代已弃用的qAsConst以兼容Qt6
2. 更新键序列处理,在Qt6中使用|运算符而非+
3. 修复Qt6中触摸事件处理的API变更
4. 将stateChanged替换为checkStateChanged以适配Qt6复选框信号
5. 添加Qt6特定API变更的版本检查
6. 修复其他Qt6弃用警告
这些修改确保代码库能正确工作在Qt5和Qt6环境下,解决了Qt6中的API变更和弃用
问题,同时保持向后兼容性。关键技术变更包括:
- 针对API差异使用Qt版本检查
- 尽可能标准化使用新API
- 保持对两个主要Qt版本的兼容性
1. Removed automatic itemSpacing adjustment in
DListView::setBackgroundType
2. Added itemSpacing() method in DStyledItemDelegate to dynamically
calculate spacing based on background type
3. Changed itemSpacing member to spacing with default value -1 to
indicate custom spacing
4. Updated all references to use the new itemSpacing() method
The changes prevent the itemSpacing value from being unintentionally
overwritten when setting backgroundType, while maintaining backward
compatibility with the default spacing values for different background
types. This gives more control to developers to set custom spacing
values that won't be overridden by background type changes.
fix: 修复设置背景类型时覆盖itemSpacing值的问题
1. 移除了DListView::setBackgroundType中自动调整itemSpacing的逻辑
2. 在DStyledItemDelegate中添加itemSpacing()方法根据背景类型动态计算间距
3. 将itemSpacing成员改为spacing并设置默认值-1表示自定义间距
4. 更新所有引用以使用新的itemSpacing()方法
这些修改防止了在设置backgroundType时意外覆盖itemSpacing值的问题,同时保
持了对不同背景类型默认间距值的向后兼容性。这为开发者提供了更多控制权,可
以设置不会被背景类型更改覆盖的自定义间距值。
1. Changed version parameter to be optional in GitHub workflow to allow
more flexible release process
2. Updated rpm spec file formatting for consistency and added %{?dist}
macro for proper package naming
The changes allow for:
- More flexible release process where version can be omitted
- Better formatted spec file with proper dist macro for package naming
fix: 使发布工作流中的版本可选并更新spec文件
1. 将GitHub工作流中的版本参数改为可选,以实现更灵活的发布流程
2. 更新rpm spec文件格式以保持一致性,并添加%{?dist}宏以正确命名包
这些更改允许:
- 更灵活的发布流程,可以省略版本号
- 格式更好的spec文件,带有正确的dist宏用于包命名
1. Replaced window_normal.dci with window_restore.dci and
window_quit_full.dci icons
2. Updated icon references in dtk-icon-theme.qrc resource file
3. Simplified title bar button drawing functions to use new icons
instead of manual drawing
4. Modified DStyle implementation to use the new icon assets
5. Improved visual consistency by using pre-made icons rather than
programmatic drawing
The changes were made to:
- Standardize window control icons across the application
- Replace programmatic drawing with higher quality vector icons
- Make the UI more maintainable by using consistent icon assets
- Prepare for future theme support by using icon resources
feat: 更新窗口控制图标和绘制逻辑
1. 用 window_restore.dci 和 window_quit_full.dci 图标替换了
window_normal.dci
2. 更新了 dtk-icon-theme.qrc 资源文件中的图标引用
3. 简化了标题栏按钮绘制函数,使用新图标替代手动绘制
4. 修改了 DStyle 实现以使用新的图标资源
5. 通过使用预制图标而非程序绘制提高了视觉一致性
这些修改的目的是:
- 标准化应用程序中的窗口控制图标
- 用更高质量的矢量图标替代程序绘制
- 通过使用一致的图标资源提高UI可维护性
- 通过使用图标资源为未来主题支持做准备
Use VERSION file to manage DTK version. VERSION file defines package version. It also decides the initial value of cached variable DTK_VERSION which controls the project version in cmake build system. VERSION file is not synchronized to DTK6, as DTK6 has its own VERSION file. One can still pass version to DTK_VERSION when running cmake configure. This is helpful for developers.
Signed-off-by: Yixue Wang <wangyixue@deepin.org>
Fixed the text elision behavior in DLabel to properly handle cases
where the label contains shortcut mnemonics. The change modifies the
Qt::TextShowMnemonic flag to only be applied when the label actually has
a shortcut (d->hasShortcut). This prevents incorrect text display when
eliding labels without shortcuts.
fix: 修正带快捷键标签的文本省略行为
修复了 DLabel 中文本省略行为,正确处理包含快捷键助记符的情况。修改了
Qt::TextShowMnemonic 标志,使其仅在标签实际具有快捷键(d->hasShortcut)时
应用。这防止了在没有快捷键的标签上出现错误的文本显示。
pms: BUG-285143
1. Removed fixed font-size from website link template to use consistent
font sizing
2. Added font binding for website label using font manager with T8 size
and Medium weight
3. This ensures consistent typography across the application and better
accessibility
style: 调整关于对话框中网站链接样式
1. 从网站链接模板中移除固定字体大小,改用一致的字体大小设置
2. 为网站标签添加字体管理器绑定,使用T8大小和中等等级
3. 确保应用程序中一致的排版和更好的可访问性
pms: BUG-314767
QApplication::notify has change the default action
``` qapplication.cpp
we.setAccepted(true);
we.m_spont = wheel->spontaneous() && w == receiver;
res = d->notify_helper(w, &we);
eventAccepted = we.isAccepted();
```
Event is accepted if we don't call parent class event function,
it cause event will not be passed on to it's parentWidget.
and it's different with qt5.
pms: BUG-306251