# peony-extensions

[English](README.md)

peony-extensions 是一组用于 Peony 文件管理器的 Qt6 插件集合。Peony 是 UKUI 桌面环境的官方文件管理器，这些插件为其扩展了文件共享、归档管理、蓝牙传输、智能数据管理等功能。

## 功能特性

- **peony-open-terminal** — 右键菜单在当前目录打开终端
- **peony-share** — 通过 Samba 共享文件夹，集成属性页面
- **parchives** — 使用 engrampa 压缩和解压文件
- **peony-extension-computer-view** — 增强的 computer:/// 视图
- **peony-send-to-device** — 右键菜单发送文件到已挂载设备
- **peony-bluetooth** — 通过蓝牙发送文件（依赖 ukui-bluetooth）
- **peony-set-wallpaper** — 右键菜单设置桌面壁纸
- **peony-device-rename** — 在 Peony 中直接重命名块设备
- **peony-intelligent-data-management-service** — 智能数据管理后端服务
- **peony-intelligent-plugin** — 智能数据管理器的 VFS 和自定义视图插件
- **peony-spaceview-plugin** — 智能数据管理器的空空间视图插件

## 构建依赖

- Qt 6 (qt6-base-dev, qt6-remoteobjects-dev, qt6-tools-dev-tools)
- qmake6, qtchooser
- libglib2.0-dev
- libgsettings-qt6-dev
- libgudev-1.0-dev
- libkysdk-ai-private-dev, libkysdk-ai-common-dev, libkysdk-base-dev, libkysdk-applications-dev, libkysdk-system-dev
- libnotify-dev
- libpeony-dev
- libpolkit-gobject-1-dev
- libpoppler-qt6-dev
- libudisks2-dev
- libukui-common-dev, libukui-file-metadata-dev, libukui-log4qt-dev, libukui-search-dev, libukui-service-interface-dev
- pkgconf
- debhelper-compat (= 13)

## 从源码构建

```shell
cd peony-extensions
mkdir build && cd build
qmake6 ..
make -j$(nproc)
sudo make install
```

## Debian 打包

本项目支持使用 git-buildpackage 和 Salsa CI 进行 Debian 打包。

```shell
# 构建 Debian 包
gbp buildpackage

# 导入新的上游版本
gbp import-orig --pristine-tar ../peony-extensions_<version>.orig.tar.gz
```

## 项目结构

```
peony-extensions/
├── debian/                                 # Debian 打包文件
├── man/                                    # 手册页
├── peony-admin/                            # 管理员插件（已弃用）
├── peony-bluetooth-plugin/                 # 蓝牙文件传输插件
├── peony-drive-rename/                     # 块设备重命名插件
├── peony-engrampa-menu-plugin/             # 归档压缩/解压插件
├── peony-extension-computer-view/          # 增强的 computer:/// 视图
├── peony-intelligent-data-management-service/  # 智能数据管理服务
├── peony-intelligent-plugin/               # 智能数据管理器插件
├── peony-menu-plugin-mate-terminal/        # 终端插件
├── peony-send-to-device/                   # 发送到设备插件
├── peony-set-wallpaper/                    # 设置壁纸插件
├── peony-share/                            # Samba 共享插件
├── peony-spaceview-plugin/                 # 空间视图插件
├── test-computer-view/                     # 计算机视图测试
├── tests/                                  # 测试套件
├── common.json                             # 插件版本信息
├── common.pri                              # 共享 qmake 包含文件
├── COPYING                                 # 许可证文本
├── NEWS                                    # 版本说明
└── peony-extensions.pro                    # 顶层 qmake 项目文件
```

## 二进制兼容性

peony-extensions 依赖 Peony 库。当 Peony 库的 API 发生变化时，旧版插件可能无法加载或导致崩溃。插件版本信息存储在 [common.json](common.json) 中，必须与 Peony 的 `VERSION` 宏匹配。

如果 peony-extensions 无法工作或构建失败，请尝试先在本地构建最新版本的 Peony 库，然后重新构建本项目。

## 翻译

每个插件自行管理翻译。翻译步骤如下：

1. 使用 `lupdate` 为你的语言生成 `.ts` 文件
2. 使用 `lrelease` 将 `.ts` 编译为 `.qm`
3. 将 `.qm` 文件添加到插件的 `.qrc` 资源文件中

## 许可证

本项目基于 LGPL-3.0-or-later 许可证。详见 [COPYING](COPYING)。

## 链接

- 主页: https://gitee.com/openkylin/peony-extensions
- 问题追踪: https://gitee.com/openkylin/peony-extensions/issues
- Salsa: https://salsa.debian.org/kylin-team/peony-extensions
