deepin20.9控制中心改造

liwldev發表於2024-04-06

1. 概述

deepin20.9 不再維護,但是控制中心有一些細節問題還沒有修復。

本篇部落格記錄修復deepin20.9控制中心UI細節問題的過程

2. 實踐過程

放開原始碼源:

$ cat /etc/apt/sources.list
## Generated by deepin-installer
deb https://community-packages.deepin.com/deepin/ apricot main contrib non-free
deb-src https://community-packages.deepin.com/deepin/ apricot main contrib non-free

拉取原始碼:

mkdir -p ~/Documents/dde-control-center
cd ~/Documents/dde-control-center
apt source dde-control-center

2.1 修改大圓角為中圓角

圓角在deepin中,是有設計規範的。

deepin圓角設計規範:https://docs.deepin.org/info/開發入門/基礎環境/DTK/設計/設計/圓角

視窗的圓角可以在控制中心進行設定,但是有一些在設計規範中的控制元件,則是程式碼寫死的。

本部分修改控制中心的各部分大圓角部分

2.1.1 主視窗背景框

程式碼位置:vim ./src/frame/window/mainwindow.cpp

DStyle::setFrameRadius(m_navView, 18);

修改為:

DStyle::setFrameRadius(m_navView, 8);

2.1.2 修改時區對話方塊圓角

程式碼位置:vim ./src/frame/modules/datetime/timezone_dialog/timezonechooser.cpp

handle.setWindowRadius(18);

修改為:

handle.setWindowRadius(8);

2.1.3 修復觸控板配置介面未對齊

程式碼位置:vim ./src/frame/window/modules/mouse/touchpadsettingwidget.cpp

m_contentLayout->setContentsMargins(ThirdPageContentsMargins);

改為:

m_contentLayout->setContentsMargins(0, 0, 0, 0);

另外:

widget->setContentsMargins(0, 0, 0, 0);

改為:

widget->setContentsMargins(2, 2, 2, 5);

3. 編譯安裝

根據README.md,執行對應的編譯安裝過程

cd ~/Documents/dde-control-center/dde-control-center-5.5.197
sudo apt -y build-dep .
mkdir build
cd build
cmake ..
make -j12
sudo make install

首次編譯可能放在/usr/bin/目錄下,後續編譯的可能放在/usr/local/bin目錄下,注意移動目標二進位制檔案到/usr/bin

相關文章