3 Star 0 Fork 0

openEuler-competition / Summer2021-No.101 在openEuler的UKUI桌面中增加一款快速启动的软件

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
overview.md 3.35 KB
一键复制 编辑 原始数据 按行查看 历史
MarmaladeCat 提交于 2021-09-29 20:48 . 9.30

Overview

总体设计

项目分为三个模块:窗体程序、插件、插件管理组成。

窗体程序模块主要包含如下功能:

  • 软件启动与初始化
  • 已安装插件扫描与可用行测试
  • 系统驻留与快捷键唤起
  • 用户输入处理与匹配
  • 插件启动与反馈

插件模块主要包含以下功能:

  • 插件初始化
  • 插件信息查询
  • 插件预执行与反馈
  • 插件执行与反馈

插件管理模块主要包含如下功能:

  • 已安装插件扫描与展示
  • 未知插件安装与可用性检查
  • 插件开关与详细设置
  • 插件升级

项目代码主要包括以下几个目录,下面分别讲述各个目录的功能与作用。

目录 描述 子参考文档
Launcher 窗体主程序与插件管理程序 本文档
Launcher-emit 快捷键触发器 触发器参考文档
plugins_def 简单Hello插件,C++编写 插件开发文档
plugins_def3 复杂Hello插件,实现多个预执行面板
time 简单时间插件,Python语言编写 时间插件(Python插件)
urlopen 网页搜索插件,C++语言编写,实现搜索引擎搜索内容 url搜索插件
fsearch 文件搜索插件,C++编写,复杂插件,实现对指定搜索路径的文件搜索 文件搜索插件
fsearchConfig 文件搜索插件的图形界面配置程序 文件搜索插件配置工具
doc 文档 参考文档与技术文档

程序运行机理

主程序运行机理

  • 初始运行=>读取本地配置文件=>解析全部已安装插件并实例化=>等待快捷键触发与输入
  • 快捷键触发=>主界面唤起=>触发各个插件的update()
  • 用户输入=>匹配插件关键词=>匹配上的插件preExec(*)=>解析返回生成用户选择面板等待选择
  • 用户选择某个插件的某个面板=>执行realExec(*)=>返回结果
  • 返回结果解析=>按需提供某些执行服务
  • 一次执行完毕=>界面隐藏,等待快捷键触发

插件运行机理

  • 插件启动=>初始化=>等待主程序调用
  • 用户唤起主程序界面=>update()
  • 用户输入=>preExec(*)
  • 用户选择=>realExec(*)

插件管理运行机理

  • 插件增加=>解析新插件安装文档=>复制相关资源=>更改主程序配置文件
  • 插件升级=>解析插件安装文档,匹配旧插件=>复制相关资源=>更改主程序配置

其他资料

如何开发自己的插件

技术点讲解系列

C++插件如何实现 快捷键触发如何实现之DBus 快捷键触发如何实现之Root权限读取设备

1
https://gitee.com/openeuler-competition/summer2021-101.git
git@gitee.com:openeuler-competition/summer2021-101.git
openeuler-competition
summer2021-101
Summer2021-No.101 在openEuler的UKUI桌面中增加一款快速启动的软件
master

搜索帮助