Commit Graph

37 Commits

Author SHA1 Message Date
yeshanshan 9842a0644e fix: resolve compilation warnings and deprecation issues
1. Fixed deprecated enum usage by adding explicit deprecation comment
for IconAttibute
2. Added QT version checks for QMouseEvent::globalPos() vs
globalPosition() API changes
3. Marked unused parameters with Q_UNUSED to suppress warnings
4. Added version checks for DTK 6.0 API changes
5. Fixed test class visibility warnings by adding GTEST_API_ prefix
6. Improved warning messages to use modern qWarning() stream syntax
7. Added [[maybe_unused]] attribute for DEFINE_CONST_CHAR macro
8. Added version checks for QVariant type handling differences between
Qt5/Qt6
9. Fixed potential memory leak in DIconTheme::isXdgIcon() logic
10. Added proper type checks for QVariant conversions

Log: Fixed various compilation warnings and deprecated API usage

Influence:
1. Verify icon rendering still works correctly after enum changes
2. Test window movement functionality with both Qt5 and Qt6
3. Check palette handling in DGuiApplicationHelper
4. Verify test cases still pass with updated class visibility
5. Test QVariant conversions in DPlatformHandle properties

fix: 解决编译警告和废弃API问题

1. 为废弃的IconAttibute枚举添加明确的弃用注释
2. 为QMouseEvent::globalPos()和globalPosition()API变更添加QT版本检查
3. 使用Q_UNUSED标记未使用参数以消除警告
4. 添加DTK 6.0 API变更的版本检查
5. 通过添加GTEST_API_前缀修复测试类可见性警告
6. 改进警告消息使用现代qWarning()流式语法
7. 为DEFINE_CONST_CHAR宏添加[[maybe_unused]]属性
8. 添加Qt5/Qt6之间QVariant类型处理的版本检查
9. 修复DIconTheme::isXdgIcon()中潜在的内存泄漏问题
10. 为QVariant转换添加适当的类型检查

Log: 修复各种编译警告和废弃API使用问题

Influence:
1. 验证图标渲染在枚举变更后仍能正常工作
2. 测试Qt5和Qt6下的窗口移动功能
3. 检查DGuiApplicationHelper中的调色板处理
4. 验证更新类可见性后测试用例是否仍能通过
5. 测试DPlatformHandle属性中的QVariant转换
2025-08-14 11:39:10 +00:00
yeshanshan 9d3d659afe feat: add flags parameter to DDciIconPlayer play method
1. Added new overloaded play method that accepts
DDciIconImagePlayer::Flags parameter
2. Modified existing play method to call new method with default
IgnoreLastImageLoop flag
3. Updated documentation to reflect new method signature and behavior
4. Allows more control over icon playback behavior through flags
parameter

feat: 为 DDciIconPlayer 的 play 方法添加 flags 参数

1. 添加了新的重载 play 方法,接受 DDciIconImagePlayer::Flags 参数
2. 修改现有 play 方法以使用默认的 IgnoreLastImageLoop 标志调用新方法
3. 更新文档以反映新的方法签名和行为
4. 通过 flags 参数提供对图标播放行为的更多控制
2025-08-07 14:38:07 +08:00
Wang Zichong 1f44c47e55 chore: use another QTranslator::load overload to tidy code
使用另一个 QTranslator::load 重载来使代码更简洁,并潜在的支持
QLocale::uiLanguages().

并且添加了一个额外的接口来方便其他项目更方便的调用.

Log:
2025-06-04 09:54:37 +00:00
Felix Yan 329bf5a247 chore: correct typos about Dtk::Gui::DDciIcon::IconAttribute
Renaming enum would break ABI, but using doesn't modify ABI.

pms: BUG-368399
2025-01-09 16:17:49 +08:00
zhangkun 16d4999f1b refactor: treeland platform theme interface
扩展Treeland的个性化接口

Log:
pms: Task-365811
2024-11-25 21:41:56 +08:00
zhangkun 1f0b9ed118 refactor: xcb platform theme interface
将DPlatformTheme中的接口抽象出来,不再写死dxcb,方便之后扩展其他平台的个性化接口

Log:
pms: Task-365811
2024-11-25 21:41:56 +08:00
wangfei b975592ce1 chore: add the ActiveColorDark setting
get the active color according to system theme(light or dark).
There are two different active colors between light and dark theme.

Log:
2024-11-13 13:09:30 +08:00
ck a0398d03d5 chore: add IsWaylandPlatform attribute
only test platformName == wayland
2024-11-08 13:56:17 +08:00
ck 6038e6fcf8 chore: config dtk animations
set/unset `D_DTK_DISABLE_ANIMATIONS` according to the dconfig
2024-10-25 15:30:29 +08:00
zhangkun 806457e8bc feat: Adapt to TreeLand's Titlebar protocol
Resolve the issues of DTK application crashing and dual title bar in treeland.

Log: Adapt to TreeLand's Titlebar protocol
Task: https://pms.uniontech.com/task-view-365811.html
2024-10-21 15:59:26 +08:00
xionglinlin 75ce762ed0 feat: add window startup effect Type
add EffectOut to EffectType

Issue: https://github.com/linuxdeepin/developer-center/issues/10322
2024-08-13 12:21:48 +00:00
覃本学 820e3030be feat: support to change window effects
(cherry picked from commit 4f4be15cb4)
(cherry picked from commit 762bd7b2ec)

Bug: https://pms.uniontech.com/bug-view-244347.html
     https://pms.uniontech.com/bug-view-243363.html
     https://pms.uniontech.com/bug-view-240437.html
2024-08-13 19:41:53 +08:00
ck bffcdde9ea chore: add flag to disable noncache flag
- if flag is set always try create iconengine
- avoid too much logs
2024-04-23 09:32:58 +08:00
Ye ShanShan 20f5fc1d3b feat: support to get specified palette
get the specified type of palette.
2024-03-26 11:46:50 +08:00
ck d35f8e10fd feat: move ddesktopservices to dtkgui
- move ddesktopservices from dtkwidget to dtkgui
- add docs for ddesktopservice
- showFileItemPropertie ==> showFileItemProperty
- use dbus to check SoundEffect.Enabled instead of Gsettings

Issue: linuxdeepin/dtk#134
2023-11-15 09:48:31 +08:00
Yixue Wang 71aaf6a024 fix: indirect inclusion of QSharedPointer
ddciicon.h does not explicitly include QSharedPointer, leading to
incomplete type. Include QSharedPointer explicitly.

Log: fix indirect inclusion of QSharedPointer
2023-10-27 10:53:28 +08:00
YeShanShan 1bbeb9f475 fix: Compiling error in qt6.4
QThemeIconEntries changed from QList<QIconLoaderEngineEntry*>
to std::vector<std::unique_ptr<QIconLoaderEngineEntry>>
  QFont hasn't include QObject header file.
2023-08-17 16:38:30 +08:00
houchengqiu c2b0782d00 refator: rewrite hasUserManual function
1.porting dbus interface(ManualExists) implementation to dtk

Log: rewrite hasUserManual function
2023-08-03 11:44:40 +08:00
ck afb7340011 feat: load app and qt Translation files
- interface: DGuiApplicationHelper::loadTranslator();
- auto load qt_xxx.qm && qtbase_xxx.qm && appName_xxx.qm
- add loadTranslator ut
2023-07-27 11:52:02 +08:00
wangyixue 9523642508 feat: add helper for high dpi pixmap
Add loadNxPixmap for high dpi pixmap.

Log: add loadNxPixmap
2023-07-26 14:29:30 +08:00
ck ba55aa6e7d feat: DIconTheme::findQIcon add fallback icon
support fallback icon
2023-07-18 11:00:28 +08:00
YeShanShan 95f8b5ffd3 refactor: Move dotsPerInch from normal function to slots
It exports to qt meta system for qml.
  and it doesn't break ABI compatibility depend on
https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#Using_signals_instead_of_virtual_functions
2023-07-12 08:51:48 +08:00
wangfei b810be77cb chore: adjust icontheme
dciiconEngine is added to createIconEngine interface.

Log: dciiconEngine is added to createIconEngine interface.
2023-07-07 09:54:30 +08:00
ck d867a02cda refactor!: deprecate some interfaces in dtk6
- DGuiApplicationHelper -7
- DPalette -1
- DPlatformTheme -27 properties
2023-07-06 11:24:23 +08:00
heyuming 58095a743f fix: fix build failure due to metasystem change
在构建dtkwidget中遇到

Log: 修复因为元系统改变导致的编译失败
2023-06-07 18:32:28 +08:00
ck 19492cbfb7 feat: add DontSaveApplciationTheme Attribute
保存主题功能让非 widget 应用也能用上, 默认行为记住主题
如果不需要记住请构造 app 前 setAttibute(DontSaveApplicationTheme)
注意:因为可能无法正确获取 appid ,通过 dde-dconfig-editor
设置的主题可能无效,但是应用自行设置的主题可以记住

Log:
2023-04-14 08:47:36 +08:00
ck 9e54cba93c feat: add DIconTheme::createIconEngine
DIconTheme::createIconEngine for qt5integration
1. try createBuiltinIconEngine first
2. try createXdgProxyIconEngine or fallback to fromTheme
3. add docs
Warning : do not call from qplatformTheme createIconEngine without
DontFallbackToQIconFromTheme flag

Log: add createIconEngine
2023-03-22 17:33:58 +08:00
zccrs 66ab7451f2 feat: Support animation for DDciIcon
See also https://github.com/linuxdeepin/deepin-specifications/pull/1,
This implementation complies with the specification by DSG on animation
dci's icons.

New class: DDciIconImage DDciIconImagePlayer DDciIconPlayer
2023-02-14 13:17:17 +08:00
ck f79aeb8aaa feat: add scrollBarPolicy interface
same as Qt::ScrollBarPolicy
0 show as needed auto hide, default
1 always off
2 always on

Task: https://pms.uniontech.com/task-view-240117.html
Log: scrollbar policy
Change-Id: Ia37f2a5661cb27de568bc3f7ece5a4a6a1fcae97
2023-02-02 13:41:08 +08:00
renbin 5ca5df6ccf feat: Support RAW image formats.
1. Dynamically load libraw.so to support RAW image fomats.
2. Improve some implementations, Update unit cases and docs.
3. Move image-handler from folder example to tool.

Log: Support RAW image formats.
Influence: Add build dependency libraw-dev.
2023-02-02 02:33:30 +00:00
yeshanshan f7e76a9706
feat: Add SizeMode support (#95)
enable SizeMode support by default.
  user can set environment `D_DTK_SIZEMODE` to set
SizeMode support.
  application can set SizeMode by `setSizeMode` explicitly.

Log: 支持紧凑模式切换
Task: https://pms.uniontech.com/task-view-227385.html
Influence: none
Change-Id: I2eefe254f9bbf380d9ab133c4eb0caa979ed1356
2023-01-06 05:00:41 +00:00
renbin 9dc1bb90d1 feat: Add image algorithms, ut and comment.
Add image algorithms, unit test cases, dox file comment and example.

Log: Add image algorithms, ut and comment.
2022-12-12 06:16:33 +00:00
renbin 2600e5ea59 feat: Add the DImagehandler class.
Add the DImagehandler class, provide functions such as reading image,
rotating image, getting image metadata. DImagehandler dynamically load
libfreeimage to support extended image formats.

Log: Add the DImagehandler class.
Influence: Add build dependency libfreeimage-dev.
2022-12-12 06:16:33 +00:00
ck b6d844990b feat: construct DDciIconPalette from QPalette
add a way to construct DDciIconPalette from QPalette

Log: none
Influence: none
Change-Id: I4e9b9f8bf3a653c066bf92c7ba1a3ef72526e2ac
2022-11-29 11:42:52 +08:00
ck 934be318be feat: add DIcon
get pixmap of specified devicePixelRatio
Fix https://pms.uniontech.com/bug-view-162771.html

Log: none
Change-Id: I38b16c8402be74d1ef216faf7c77fa096282dadc
2022-11-17 13:54:12 +08:00
Ye ShanShan 27eeedefdf feat: Moving loadTranslator from dtkwidget
moving implement of loadTranslator from dtkwidget,
  refact the code's logic.

Log: 加载翻译功能移至dtkgui,以便供dtkdeclarative使用
Bug: https://pms.uniontech.com/bug-view-157977.html
Influence: qml相关应用没有加载翻译
Change-Id: I75483320cbb6f8a1378cb8a93f00da3d8abfc26f
2022-11-03 10:24:56 +08:00
ShootingStarDragons 7f227daf8a feat(tocmake): tocmake
I change the source code from qmake to cmake. Move the files
which will be install to the /usr/include to $root/include, which will
help to mattern match and easylier to do install. and the change will
break the build of qmake

Log: from qmake to cmake

Influence: qmake is breaked
2022-08-17 16:59:12 +08:00