Commit Graph

319 Commits

Author SHA1 Message Date
Wang Zichong 44bed9e070 fix: add missing prefix for QTranslator::load()
Log:
2025-06-06 18:12:53 +08:00
ComixHe 3f1cfd6800 fix: add missing header
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-06-06 10:10:42 +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
Ye ShanShan 6d6a4a4380 fix: correct bitwise operation in preference handling
1. Fixed incorrect bitwise AND operation in OrgDeepinDTKPreference class
2. Changed `fetchAndAndOrdered(1 << (index - 0))` to
`fetchAndAndOrdered(~(1 << (index - 0)))`
3. This ensures proper bit clearing operation when updating property
status flags
4. The original code would incorrectly set bits instead of clearing them

fix: 修复偏好设置处理中的位操作错误

1. 修正了 OrgDeepinDTKPreference 类中错误的位与操作
2. 将 `fetchAndAndOrdered(1 << (index - 0))` 改为
`fetchAndAndOrdered(~(1 << (index - 0)))`
3. 确保在更新属性状态标志时正确的位清除操作
4. 原代码会错误地设置位而不是清除它们
2025-05-08 09:52:03 +00:00
Ye ShanShan ed252239b2 fix: prevent theme saving when DontSaveApplicationTheme is set
Added a condition to check DontSaveApplicationTheme attribute before
saving theme type to config
This prevents unwanted theme persistence when the application explicitly
requests not to save theme preferences
The change maintains backward compatibility while respecting the
application's preference flag

fix: 当设置DontSaveApplicationTheme时阻止主题保存

在将主题类型保存到配置前添加了检查DontSaveApplicationTheme属性的条件
这可以防止当应用程序明确要求不保存主题偏好时进行不必要的主题持久化
该改动在尊重应用程序偏好标志的同时保持了向后兼容性
2025-05-08 09:52:03 +00:00
Ye ShanShan aa13f2a82f refactor: improve thread safety in OrgDeepinDTKPreference
1. Changed parent initialization from direct assignment to nullptr in
constructor
2. Added QPointer to track parent object for thread safety
3. Implemented parent object verification before setting parent
relationship
4. Added safety checks for parent object changes during thread
operations
5. Updated build path in file header comment

refactor: 改进 OrgDeepinDTKPreference 的线程安全性

1. 将构造函数中的父对象初始化改为直接赋值为 nullptr
2. 添加 QPointer 用于线程安全的父对象跟踪
3. 在设置父子关系前实现父对象验证
4. 添加线程操作期间父对象变化的安全检查
5. 更新文件头注释中的构建路径
2025-05-07 03:45:13 +00:00
Ye ShanShan decbf724b3 fix: build failed in qt5
Changed Q_GLOBAL_STATIC to Q_GLOBAL_STATIC_WITH_ARGS for
OrgDeepinDTKPreference initialization
This modification provides better type safety and clearer syntax for the
complex initialization parameters
The change maintains the same functionality while following Qt's
recommended practices for static initialization

refactor: 更新 DConfig 初始化语法

将 Q_GLOBAL_STATIC 改为 Q_GLOBAL_STATIC_WITH_ARGS 用于
OrgDeepinDTKPreference 初始化
此修改为复杂的初始化参数提供了更好的类型安全性和更清晰的语法
该变更保持了相同的功能,同时遵循 Qt 推荐的静态初始化实践
2025-04-29 06:03:39 +00:00
JiDe Zhang 7c2b35ae42 feat: use dconfig2cpp for read/write the DConfig
The org.deepin.dtk.preference.json file is not in this project, so
we can't generated codes by cmake.
2025-04-25 10:03:22 +08:00
JiDe Zhang ec6fbaf651 fix: fix build on Qt 6.8
Maybe start from 6.8.1
2025-04-25 10:03:22 +08:00
ComixHe 5eb6b4c403 build: compiling failed with Qt 6.9
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-17 06:25:31 +00:00
Ye ShanShan 0a0182faac fix: palette refresh delayed in qt6
QGuiApplication::paletteChanged is deprecated in qt6,
Delay to emit themeTypeChanged signal, palette doesn't refresh
after sending ThemeChangeEvent.

pms: BUG-303929
2025-03-06 15:49:13 +08:00
Ye ShanShan 3c16e777fe fix: icon is blurry
iconSize doesn't multiplied by devicePixelRatio in pixmap,
but it's doesn't need to be in qt5.

pms:BUG-302919
2025-02-13 02:33:28 +00:00
zhangkun dc5aa91b44 chore: update default window corner size
The default value is 12

pms: BUG-286881
2025-01-14 07:53:30 +00:00
YeShanShan 976aa9113c fix: missing window decoration for treeland
It's exist when using DPlatformHandle by stack variable.
We save window decoration state in DTreeLandPlatformWindowHelper, and refresh them when surface created.

pms: BUG-278281
2025-01-14 13:06:43 +08: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
YeShanShan 7362e047b7 fix: accessing wild pointer in qt6
qobject_cast<QWindow*>(window) is returned nullptr if window is destroyed in qt6, and we can see it  on tst_QWindow::qobject_castOnDestruction() in tst_qwindow.cpp.
Object's address may be the same as before  in qt6,  memory may be optimized.

pms: BUG-299239
2025-01-09 14:29:21 +08:00
zhangkun e0873d04b3 fix: set font family invalid
FamilyResolved flag not set

pms: BUG-295665
2025-01-01 14:23:50 +08:00
Ye ShanShan acd947fa3e fix: iterator out of bounds for dciicon
Add check.

pms: TASK-368399
2024-12-27 10:54:13 +08:00
Ye ShanShan b152721ae8 refact: refacting DPlatformHandle to adapt treeland
Refact DPlatformHandle to update window settings.
Remove task dequeue in treeland interface when Personalization is inactive.
Add DTreeLandPlatformWindowHelper to manage windowContext.

pms: TASK-368399
2024-12-25 15:09:20 +08:00
Ye ShanShan 4bdfc69e31 Revert "refact: refacting DPlatformHandle to adap treeland"
This reverts commit e33a3945b2.
2024-12-25 15:09:20 +08:00
Ye ShanShan e33a3945b2 refact: refacting DPlatformHandle to adap treeland
Refacting DPlatformHandle to update window settings.
2024-12-24 16:39:11 +08:00
YeShanShan df159744c6 fix: missing default windowRadius
as title.

pms: BUG-291123
2024-12-13 15:41:18 +08:00
ck 4ff3a644af fix: availableSizes not work on Qt6
Qt6 QIconEngine::availableSizes will not call
virtual_hook(QIconEngine::AvailableSizesHook
2024-12-12 09:57:50 +08:00
ck 06dedd11df fix: nullptr check missing
add nullptr check

pms: Bug-289175
2024-12-04 09:12:38 +00:00
zhangkun 00584efe94 fix: window blur invalid
Set blur again when creating the surface

pms: BUG-278281
2024-12-03 13:22:50 +08:00
ck f5a7cc22cd fix: linglong app load qt translations failed
qt translations fallback to GenericDataLocation paths
2024-12-03 09:59:16 +08:00
Ye ShanShan 79440d4b47 fix: app crashed when window destroyed in quick
ghostVtable will be released whenever Window is destroyed by
delete or deleteLater function, we don't need to resetVtable,
and we shouldn't resetVtable when destructing m_window.

pms: BUG-368399
2024-12-02 17:44:20 +08:00
Ye ShanShan 726790ee06 fix: app crashed when window destroyed in quick
as title.

pms: BUG-368399
2024-11-30 10:23:24 +08:00
zhangkun cf97c88b76 feat: Limit maximum and minimum fonts
防止字体出现过大和过小的情况

pms: 368711
2024-11-29 15:46:18 +08:00
Ye ShanShan 76d00b0301 fix: blur is invalid for treeland
waylandWindow is empty when sometimes.
App crashed when window visibleChanged repeated.

pms: BUG-278281
2024-11-29 12:07:45 +08:00
Ye ShanShan fed4aae652 feat: support treeland platform for wmHelper
WindowManager's some interface may be deprecated, like MotifFunctions
and allWindowIdList.
and there is currently no abstraction of platform common
interfaces.

pms: BUG-287901
2024-11-27 10:42:32 +08:00
zhangkun e10215f3c1 fix: Possible null pointer dereference and Notitlebar input parameter error
as title

pms: Task-368711
2024-11-26 13:10:01 +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 5ad7ed1ce8 fix: can't drag scrollbar in window under treeland
add the logic about moving window from platform plugin

Log: as title.
pms: BUG-284215
2024-11-22 09:33:48 +08:00
Yutao Meng de728b0bee fix: Supporting window blury effect under Treeland
pms:
BUG-278197
BUG-278281
BUG-284681
Log: Supporting window blury effect under Treeland
2024-11-21 12:17:38 +00:00
zhangkun d435f92784 fix: No judgment on the validity of the protocol
Determine whether the protocol is registered

Bug: https://pms.uniontech.com/bug-view-286859.html
2024-11-18 19:03:17 +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
wangfei f0a7d5d44d chore: highlight color is inconsistency
remove the operation that reduces lightness of active color in dark theme

Log:
2024-11-11 15:12:57 +08:00
ck a0398d03d5 chore: add IsWaylandPlatform attribute
only test platformName == wayland
2024-11-08 13:56:17 +08:00
Yutao Meng a407dc4032 fix: Print "load translate" debug log to channels
Avoid printing such logs to terminal

Bug: https://pms.uniontech.com/bug-view-284539.html
Log: Print "load translate" debug log to channels
2024-11-07 08:47:36 +00:00
zhangkun 255f171e9f fix: Under treeland, the dialog has not disabled titlebar
The same application only called the protocol once before

https://pms.uniontech.com/task-view-365811.html
2024-11-07 11:15:14 +08:00
zhangkun 525beab369 chore: Correct the name of TreelandProtocols package in cmake
As title

Log: https://pms.uniontech.com/task-view-365811.html
2024-11-04 09:44:26 +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 316a3e741c feat: Add compile test
- Add compile test for treeland
- fix reuse

Log:
2024-10-24 15:15:35 +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
Hillwood Yang b25353026b feat: Support Qt 6.8
Log: Fix build on Qt 6.8
2024-10-21 10:31:12 +08:00
Ye ShanShan 8cf037d44b fix: app crashed in x11
Missing check for Treeland.

TODO: CreatorWindowEventFile should distinguish between X11 and
Treeland.
2024-08-30 19:32:02 +08:00
Zhang Dingyuan af9a6fc359 chore: add dtkgui namespace
as title

Log:
2024-08-29 13:25:29 +08:00
Zhang Dingyuan 7a49e9c164 chore: update license
update reuse

Log:
2024-08-29 13:25:29 +08:00