1. 概述
本篇博客主要介绍在deepinV23和deepinV20.9上改造编译安装dde-file-manager的过程。
其中编译的过程,主要参考了:Deepin深度操作系统中编译和安装dde-file-manager-CSDN博客,感谢这位大佬的分享
自己改造的部分,主要是:
- 增加文件管理器和桌面通过ctrl+d删除文件或目录
- 增加桌面通过ctrl+shift+n创建目录
没有实现ctrl+shift+d彻底删除文件,因为这个自己不常用。有需要的同学可以根据本篇博客自行处理
2. 过程
2.1 下载源码
需要下载的源码包括三部分
-
dde-file-manager
可以直接从github下载源码,也可以通过apt source dde-file-manager的方式
-
deepin-pdfium
-
util-dfm
2.2 安装依赖
首先参考源码包提供的README.zh_CN.md
,执行sudo apt build-dep ./
安装依赖
然后执行以下命令,安装其他依赖:
sudo apt install liblcms2-dev libopenjp2-7-dev libchardet-dev libudisks2-dev libisoburn-dev libmediainfo-dev fakeroot build-essential libfreetype6-dev
编译deepin-pdfium和util-dfm
#
cd deepin-pdfinum
dpkg-buildpackage -us -uc
sudo dpkg -i ../libdeepin-pdfium*.deb
#
cd ../util-dfm
dpkg-buildpackage -us -uc
sudo dpkg -i ../libdfm*.deb
编译过程中,缺少依赖环境会提示,继续安装即可
2.3 环境配置
首先修复qmake和lrelease路径问题
通过sudo find / -name qmake
查找工具的真实路径,不然编译时qmake和lrelease会报错
我本机环境如下
sudo ln -fs /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /usr/bin/qmake
sudo ln -fs /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease /usr/bin/lreleases
然后设置不编译保险箱:vim src/plugins/filemanager/CMakeLists.txt
,注释add_subdirectory(dfmplugin-vault)
,如下
cmake_minimum_required(VERSION 3.10)
# add sub dir for business plugins
add_subdirectory(core/dfmplugin-core)
add_subdirectory(core/dfmplugin-recent)
add_subdirectory(core/dfmplugin-sidebar)
add_subdirectory(core/dfmplugin-titlebar)
add_subdirectory(core/dfmplugin-workspace)
add_subdirectory(core/dfmplugin-detailspace)
add_subdirectory(core/dfmplugin-computer)
add_subdirectory(core/dfmplugin-trash)
add_subdirectory(dfmplugin-search)
add_subdirectory(dfmplugin-optical)
#add_subdirectory(dfmplugin-vault)
add_subdirectory(dfmplugin-myshares)
add_subdirectory(dfmplugin-smbbrowser)
add_subdirectory(dfmplugin-avfsbrowser)
这个在20.9上需要配置,否则就会编译出来保险箱,23好像不用
假如编译出来保险箱,采用:sudo mv /usr/lib/x86_64-linux-gnu/dde-file-manager/plugins/filemanager-edge/ libdfmplugin-vault.so /usr/lib/x86_64-linux-gnu/dde-file-manager/plugins/filemanager-edge/ libdfmplugin-vault 即可
处理编译报错问题:
vim docs/CMakeLists.txt
,注释最后一行
2.4 修改代码
2.4.1 文件管理器增加ctrl+d删除文件
vim ./src/plugins/filemanager/core/dfmplugin-workspace/utils/shortcuthelper.cpp
在case Qt::Key_H
上面加上一个case语句
case Qt::Key_D: {
moveToTrash();
return true;
}
2.4.2 桌面增加ctrl+d删除文件
vim ./src/plugins/desktop/core/ddplugin-canvas/view/operator/shortcutoper.cpp
在case Qt::Key_ H
上面加上一个case语句:
case Qt::Key_D:
FileOperatorPorxyIns->moveToTrash(view);
return true;
2.4.3 桌面增加ctrl+shift+n创建目录
vim ./src/plugins/desktop/core/ddplugin-canvas/view/operator/shortcutoper.cpp
大概在150行左右的 modifiers = (Qt::ControlModifier | Qt::ShiftModifiler)
语句模块下修改,增加ctrl+shift+n
的操作选项
if (key == Qt::Key_I) {
view->d->keySelector->toggleSelect();
return ture;
}
if (key == Qt::Key_N) {
QPoint mousePos = QCurosor::pos();
QPoint localPos = view->mapFromGlobal(mousePos);
auto gridPos = view->d->gridAt(localPos);
FileOperatorProxyIns->touchFolder(view, gridPos);
return true;
}
这部分代码自己写的,专业不专业不知道,但是能用
2.5 编译安装
环境准备好,代码修改完成,准备编译安装。此时可以参考README.zh_CN.md
依次执行
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build #可以cmake --build build -j8,拉升编译速度
sudo cmake --build build --target install
2.6 重登录测试
略
3. 总结
v23beta3集成的文件管理版本为:dde-file-manager-6.0.40
。版本有很多特性我和喜欢的
- 通过shift+t,直接从终端打开当前路径
- 增加了列表模式下显示子目录的特性
- 修复了点击标记时,标记的文档角标颜色延迟出现的问题
- 可定制的左侧栏
- 代码更加整洁美观了
不喜欢的文管特性:
- 点击选中以后的阴影有些重了,还是喜欢v20.9的清淡一些的
目前来说,deepinv23还不是我喜欢的样子,所以我把v23的文件管理拿到20.9上使用,同时增加了自己想要的功能,呜呼爽哉
标签:core,dfmplugin,管理器,subdirectory,sudo,编译,add,deepinV23 From: https://www.cnblogs.com/liwanliangblog/p/18011617