Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions .github/ISSUE_TEMPLATE/SPA.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 🗒️新的标准立项
name: 🗒️新标准
description: 将会建议、建立或修改一个标准。
title: "🗒️[SPA]"
labels: enhancement
Expand All @@ -12,11 +12,14 @@ body:

> [!IMPORTANT]
> 我们不会在gitee上处理issue,请使用github发布。🙋‍♂️

> [!TIP]
> 请一次只报告1个立项。😀
- type: textarea
attributes:
label: 🧾新增的立项
placeholder: |
请在这里输入立项内容。。。
请在这里输入立项内容。
description: 🧾请详细描述你想要立项的标准。
validations:
required: true
Expand All @@ -25,26 +28,25 @@ body:
label: ℹ️立项施行的clickmouse版本
placeholder: |
>=X.X.X 或 >=X.X.X.X
description: 🔠反馈大于等于一个三位或四位版本号
description: 🔠反馈一个三位或四位版本号。
value: |
下一个clickmouse正式版
validations:
required: false
required: true
- type: textarea
attributes:
label: ❓需要这些功能的原因
label: ❓需要这些立项的原因
placeholder: |
解决了什么问题?
增加了什么功能?
改进了什么?
其他原因...
description: ❓为什么需要这个功能
description: ❓为什么需要这个立项
validations:
required: false
- type: textarea
attributes:
label: ➕其他相关信息
description: ✉️你了解到的更多内容
description: ✉️你了解到的更多内容
placeholder: |
更多信息。
validations:
Expand Down
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "🐛Bug report"
name: "🐛Bug"
title: "🐛[BUG]"
description: 报告一个bug。
labels:
Expand Down Expand Up @@ -37,8 +37,8 @@ body:
- id: modules
type: dropdown
attributes:
label: 🐛你运行出现bug的是什么模块?
description: 🐛你运行出现bug的是什么模块?
label: 🐛你运行出现bug的模块
description: 🐛请选择你运行出现bug的模块,可以多选。
multiple: true
options:
- 🖱️连点功能
Expand Down Expand Up @@ -66,15 +66,15 @@ body:
label: 🐍bug描述
placeholder: |
请在这描述
description: 🐍描述你的bug
description: 🐍描述你的bug
validations:
required: true
- type: textarea
attributes:
label: 🔦这个bug的影响
placeholder: |
请在这描述
description: 🔦描述这个bug的影响
description: 🔦描述这个bug的影响
validations:
required: false
- type: textarea
Expand All @@ -85,15 +85,15 @@ body:
2. 步骤2
3. 步骤3
4. 步骤...
description: 🔧描述如何重现这个bug
description: 🔧描述如何重现这个bug
validations:
required: false
- type: input
attributes:
label: ℹ️你预估的受影响的Clickmouse版本
placeholder: |
>=X.X.X 或 >=X.X.X.X
description: 🔠反馈大于等于一个三位或四位版本号
description: 🔠反馈大于等于一个三位或四位版本号
validations:
required: false
- type: textarea
Expand Down
7 changes: 3 additions & 4 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ❇️Feature
name: ❇️新功能
description: 一个你建议添加的新功能。
title: "❇️[FEATURE]"
labels: enhancement
Expand Down Expand Up @@ -45,7 +45,7 @@ body:
attributes:
label: 📄新增功能描述
placeholder: |
详细描述你想要新增的功能
详细描述你想要新增的功能
description: 📄请详细描述你想要新增的功能。
validations:
required: true
Expand All @@ -54,7 +54,6 @@ body:
label: ❔需要这个功能的原因
placeholder: |
解决了什么问题?
增加了什么功能?
改进了什么?
其他原因...
description: ❔为什么需要这个功能?
Expand Down Expand Up @@ -86,7 +85,7 @@ body:
- type: textarea
attributes:
label: ➕其他相关信息
description: 📄你了解到的更多内容
description: 📄你了解到的更多内容
placeholder: |
更多信息。
validations:
Expand Down
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/tasks.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ☑️Tasks
name: ☑️任务单
description: 一些任务单,可以用来起草新版本规划等。
title: "☑️[TASK]"
labels: enhancement
Expand Down Expand Up @@ -54,7 +54,6 @@ body:
label: ❓需要这些功能的原因
placeholder: |
解决了什么问题?
增加了什么功能?
改进了什么?
其他原因...
description: ❓为什么需要这个功能?
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ gui/dev_list/*
!gui/dev_list/in_dev
res/packages/
Gui/packages.json
extensions/

dev.dat
*.zip
*.7z
Expand Down
81 changes: 61 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,33 @@

创建的分支需要以`feature/`开头,以表示功能分支,或创建一个fork,并在fork的分支开发。

发布pr时要选择**合并到`develop`分支**
发布pr时不限定合并分支,只要不是`main`分支都可以

## 🔠版本号
版本号格式使用语义化版本号,具体规则如下:
```
A.B.C.D((.dev | alpha | beta | rc)E)
```
clickmouse版本格式为:`A.B.C.D[(alpha | beta |.dev | rc) E]`
## 😊正式版本
正式版不带.dev、alpha、beta或rc后缀。

A位代表有重大更新,有代码级的变动。如1.0升级到2.0就重构了代码。

B位代表有普通更新,通常是更新一些大功能。

C位代表有修复更新,通常会更新一些小功能和一些bug。

D位代表版本代号,通常每A, B, C位有变动时候+1。也有可能A, B, C位没有变动,D位+1,这代表紧急更新,通常是修复几个重大影响的bug。

## 🅱️测试版本
测试版本带.dev、alpha、beta或rc后缀。

通常前面的`A.B.C.D`在一个测试周期内不变,代表下一个版本。

`.dev`代表早期开发更新,功能不稳定,bug很多,位于版本项目初期。这阶段新增的功能将会被放到实验室中,并默认关闭。

- A: 主版本号,当有重大功能更新时,比如重构等
- B: 次版本号,当有新功能或功能改进时,比如增加新功能。
- C: 修订号,当有bug修复或功能改进时,比如修复bug等
- D: 开发版本号,每发布一个正式版,D位版本号加1。
- (.dev | alpha | beta | rc): 测试版本阶段,dev表示开发版,alpha表示内部测试版,beta表示公开测试版,rc表示候选版本,E位越大版本越新,且在开发阶段更新时E为变为1,在.dev时候以0开始。版本新旧顺序为.dev < alpha < beta < rc
`alpha`代表晚期开发更新,功能不完善,bug较多,位于版本项目早期。这阶段新增的功能将会被放到实验室中,并默认关闭

`beta`代表发布测试更新,功能完善,bug较少,不会再新增功能,位于版本项目中期,并且会逐步合并实验室中的feature

`rc`代表预备发布版本,功能完善,bug较少,会修复一些重要安全问题或bug,最接近正式版,即将发布正式版,位于版本项目末期

## ❓issue
- 标题格式:`[类型] 标题`
Expand All @@ -74,7 +88,7 @@ A.B.C.D((.dev | alpha | beta | rc)E)
我们pr合并的顺序为:
```mermaid
graph LR
A(其他用户的功能开发分支) --> B(develop分支)
A(其他用户的功能开发分支) --> B(develop/rp分支)
B --> C(main分支)
```

Expand All @@ -97,14 +111,41 @@ pr无特定格式,但是必须清晰描述更新内容,关联到版本号的
- milestone格式为:`dev_版本号`

## ⬇️配置仓库
1. 下载仓库:`git clone https://github.com/xystudiocode/pyclickmouse.git`
2. 对于python版本安装python,推荐使用3.13,和软件开发者的版本一一致,[下载连接](https://www.python.org/downloads/release/python-31312/)
3. 对于头文件和dll版本,可以安装[visual studio](https://visualstudio.microsoft.com/)。
### 🖥️GUI
1. 下载源码
2. 放置一个`7z.exe`和`7z.dll`到`gui`目录
3. 使用`make extension`编译扩展,放入`gui/res/packages`目录下
4. 使用`make clickmouse`制作clickmouse的安装包,把`dist/clickmouse/`下的所有除了`main.dist`和`updater.dist`的.dist文件夹的**子文件**移动到`dist/clickmouse/main.dist`下
> [!WARNING]
> 请不要直接把这些文件夹复制,要把子文件复制,否则程序无法运行
5. 把`dist/clickmouse/updater.dist`重命名为`updater`后**把整个文件夹**移动到`main.dist`下
> [!WARNING]
> 请不要直接把`updater`的子文件复制,要把整个文件夹复制,否则程序无法运行
6. 可选择把`dist/clickmouse/main.dist`这个文件夹重命名
7. 运行`main.exe`就可以加载clickmouse了。
3. 安装chocolately
```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
```
4. 安装make工具
```powershell
choco install make
```
5. 配置python包
```powershell
pip install -r requirements.txt
```
6. 编译
```powershell
make clickmouse # 编译clickmouse
make extension # 编译扩展
```
7. 运行`dist/clickmouse/clickmouse/main.exe`就可以加载clickmouse了。
### 🥴头文件
仅需修改头文件,就可以被调用
### ⚙️dll调用
使用visual studio修改`./dll/dll.sln`里的`源文件/dllmain.cpp`
### 💾gui旧版本
> [!NOTE]
> gui旧版本的再编译不接受pull request
使用visual studio修改`./ClickMouse-old/ClickMouse.sln`里的`源文件/clickmouse.cpp`
### 🐍python库调用
修改`clickmouse/`下的代码,运行`pip install .`安装
### 🦎pyd调用
修改`cython/main.py`的代码,然后执行
```python cython/setup.py build_ext --inplace```
编译结束后,该目录下应该会有个以`.pyd`结尾的文件。
24 changes: 22 additions & 2 deletions Gui/install_pack.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,8 @@ def __init__(self):

new_color_bar(self)
self.install_status = ''
self.total_progress = 0
self.current_progress = 0

def init_ui(self):
'''初始化UI'''
Expand Down Expand Up @@ -301,6 +303,7 @@ def init_ui(self):
self.next_btn = QPushButton(get_ipk_lang('03'))
self.next_btn.clicked.connect(self.on_next)
self.next_error_layout.addWidget(self.next_btn)
self.next_btn.setProperty('class', StyleClass.selected) # 设置样式类名

# 错误重叠容器
self.copy_error_btn = QPushButton(get_ipk_lang('04'))
Expand All @@ -320,6 +323,7 @@ def init_ui(self):
self.finish_btn = QPushButton(get_ipk_lang('06'))
self.finish_btn.clicked.connect(self.close)
self.action_button_layout.addWidget(self.finish_btn)
self.finish_btn.setProperty('class', StyleClass.selected) # 设置样式类名

self.button_layout.addWidget(self.next_error_container)
self.button_layout.addWidget(self.action_button_container)
Expand Down Expand Up @@ -460,7 +464,13 @@ def show_page(self, page_index):
self.template_combo.currentTextChanged.connect(self.apply_template)
case self.PAGE_install:
# 第五页:安装
pass
self.status_label = QLabel(get_ipk_lang('30'))
self.progress = QProgressBar()
self.progress.setRange(0, 100)
self.progress.setValue(0)

page_layout.addWidget(self.status_label)
page_layout.addWidget(self.progress)
case self.PAGE_finish:
# 第六页:完成
if is_ipk:
Expand Down Expand Up @@ -604,6 +614,9 @@ def update_buttons(self):
self.install_ipk()
else:
self.install()

command = self.install_ipk if is_ipk else self.install
self.install_thread = QtThread(command)

if is_ipk:
if self.PAGE_read_license <= self.current_page <= self.PAGE_set_link: # ipk模式跳过这些步骤
Expand All @@ -615,12 +628,16 @@ def update_buttons(self):
def set_status(self, status):
'''设置状态栏'''
self.install_status = status
self.current_progress += 1
self.progress.setValue((self.total_progress / self.current_progress) * 100)
self.status_label.setText(get_ipk_lang('30') + format(self.install_status))

def install_ipk(self):
'''ipk模式安装'''
global package_name

try:
self.total_progress = 4
self.set_status(get_ipk_lang('2b'))
if not self.changes:
self.set_page(self.PAGE_finish_nochanges)
Expand Down Expand Up @@ -660,6 +677,8 @@ def install(self):
self.set_status(get_ipk_lang('2b'))
install_path = Path.cwd()

self.total_progress = 7 if has_package else 6

if has_package:
self.set_status(get_ipk_lang('26'))
with open(fr'{install_path}\packages.json', 'w', encoding='utf-8') as f:
Expand Down Expand Up @@ -806,7 +825,7 @@ def closeEvent(self, event):
sys.exit(2)

import pyperclip
from sharelibs import (get_lang, settings, get_inst_lang, get_icon, system_lang, parse_system_language_to_lang_id, run_software, get_resource_path, is_admin, get_init_lang, run_as_admin)
from sharelibs import (get_lang, settings, get_inst_lang, get_icon, system_lang, parse_system_language_to_lang_id, run_software, get_resource_path, is_admin, get_init_lang, QtThread)
import win32com.client
import winreg
import zipfile
Expand All @@ -816,6 +835,7 @@ def closeEvent(self, event):
import os
from pathlib import Path
import json
from txtinfo import StyleClass

# 系统api
import ctypes
Expand Down
Loading
Loading