diff --git a/CHANGELOG.md b/CHANGELOG.md index 0801b74c..1326cd56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [[Unrelease](https://github.com/QQxiaoming/quardCRT)] +## [[V0.4.4](https://github.com/QQxiaoming/quardCRT/releases/tag/V0.4.4)] - 2024-03-26 + en-US: - Add ascii send/receive, Kermit send/receive, xyzmodem send/receive functions @@ -323,7 +325,7 @@ zh-CN: en-US: - Add the function of switching simple/standard UI with alt+n/alt+J -- Add the practical function of starting tfftp server +- Add the practical function of starting tftp server - Optimize hex view display window - The window installation program adds the system-integrated right-click menu opened with quardCRT - The tab bar right-click menu adds multiple practical functions @@ -337,7 +339,7 @@ en-US: zh-CN: - 增加使用alt+n/alt+J切换简约/标准UI -- 增加启动tfftp服务器实用功能 +- 增加启动tftp服务器实用功能 - 优化hex view显示界面 - window安装程序增加使用quardCRT打开的系统集成的右键菜单 - 标签栏右键菜单增加个多个实用功能 diff --git a/DEVELOPNOTE.md b/DEVELOPNOTE.md index 8e31be5e..4509b7c8 100644 --- a/DEVELOPNOTE.md +++ b/DEVELOPNOTE.md @@ -22,7 +22,11 @@ Currently there are two types of upstream dependencies: one is direct source cod ### Compilation Steps -After completing the compilation of the upstream dependencies, you can compile this project. You can choose to open the `quardCRT.pro` file through Qt Creator, and then click the build button to compile and debug; or you can use the pre-set compilation script in the project to compile. Using the compilation script can directly compile and output the packaged installation package file. +After completing the compilation of the upstream dependencies, you can compile this project. + +If you choose to open the `quardCRT.pro` file through Qt Creator, please first select Tools--External--Linguist--lrelease, generate the localized translation files required for compilation, and then click the build button to compile and debug. + +You can also use the pre-set compilation scripts in the project to compile. Using the compilation scripts can directly compile and output the packaged installation package files. - windows(mingw) @@ -32,10 +36,14 @@ After completing the compilation of the upstream dependencies, you can compile t Modify the values of the QT_DIR, QT_TOOLS_DIR, and INNO_SETUP_DIR variables in build_setup_msvc.bat, and then run the build_setup.bat script. The quardCRT_setup.exe installation package is output. -- linux +- linux(deb) Modify the value of the QT_DIR variable in build_deb.sh, and then run the build_deb.sh script. The quardCRT.deb installation package is output. +- linux(AppImage) + + Modify the value of the QT_DIR variable in build_appimage.sh, and then run the build_appimage.sh script. The quardCRT.AppImage installation package is output. + - macos Modify the value of the QT_DIR variable in build_dmg.sh, and then run the build_dmg.sh script. The quardCRT.dmg installation package is output. diff --git a/DEVELOPNOTE_zh_CN.md b/DEVELOPNOTE_zh_CN.md index dc31422b..44f637bc 100644 --- a/DEVELOPNOTE_zh_CN.md +++ b/DEVELOPNOTE_zh_CN.md @@ -22,7 +22,11 @@ ### 编译步骤 -完成上游依赖的编译后,即可编译本项目,可以选择通过Qt Creator打开`quardCRT.pro`文件,然后点击构建按钮进行编译调试;也可以使用项目中预置的编译脚本进行编译,使用编译脚本可以直接编译输出打包好的安装包文件。 +完成上游依赖的编译后,即可编译本项目。 + +如果您选择通过Qt Creator打开`quardCRT.pro`文件,请先选择Tools--External--Linguist--lrelease,生成编译所需的本地化翻译文件,然后点击构建按钮进行编译调试。 + +您也可以使用项目中预置的编译脚本进行编译,使用编译脚本可以直接编译输出打包好的安装包文件。 - windows(mingw) @@ -32,10 +36,14 @@ 修改build_setup_msvc.bat中QT_DIR、QT_TOOLS_DIR、INNO_SETUP_DIR变量的值,然后运行build_setup.bat脚本即可。 输出quardCRT_setup.exe安装包。 -- linux +- linux(deb) 修改build_deb.sh中QT_DIR变量的值,然后运行build_deb.sh脚本即可。输出quardCRT.deb安装包。 +- linux(AppImage) + + 修改build_appimage.sh中QT_DIR变量的值,然后运行build_appimage.sh脚本即可。输出quardCRT.AppImage安装包。 + - macos 修改build_dmg.sh中QT_DIR变量的值,然后运行build_dmg.sh脚本即可。输出quardCRT.dmg安装包。 diff --git a/docs/changelog.md b/docs/changelog.md index 961c6a6e..3c1b3ef3 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -151,7 +151,7 @@ ## [[V0.2.0](https://github.com/QQxiaoming/quardCRT/releases/tag/V0.2.0)] - 2023-10-18 - Add the function of switching simple/standard UI with alt+n/alt+J -- Add the practical function of starting tfftp server +- Add the practical function of starting tftp server - Optimize hex view display window - The window installation program adds the system-integrated right-click menu opened with quardCRT - The tab bar right-click menu adds multiple practical functions diff --git a/docs/index.rst b/docs/index.rst index d57ae5ac..c69bd99e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -97,7 +97,7 @@ Special functions Plugin ---------------------------------- -quardCRT will support plugins from version V0.4.0, plugins will be provided in the form of Qt plugins, loaded in the form of dynamic libraries, to learn more about plugin development information, please refer to the plugin open `platform `_. This platform will provide template repositories and related examples for plugin development. At present, the plugin function is still in the early development stage. If you have good ideas or suggestions, please submit issues or discussions on `GitHub `_ or `Gitee `_ +quardCRT supports plugins from version V0.4.0, plugins will be provided in the form of Qt plugins, loaded in the form of dynamic libraries, to learn more about plugin development information, please refer to the plugin open `platform `_. This platform will provide template repositories and related examples for plugin development. At present, the plugin function is still in the early development stage. If you have good ideas or suggestions, please submit issues or discussions on `GitHub `_ or `Gitee `_ .. toctree:: :maxdepth: 3 @@ -106,6 +106,8 @@ quardCRT will support plugins from version V0.4.0, plugins will be provided in t Installation Usage Configuration + Scripts + Plugins FAQ Contributing Changelog diff --git a/docs/plugins.md b/docs/plugins.md new file mode 100644 index 00000000..af64ed85 --- /dev/null +++ b/docs/plugins.md @@ -0,0 +1,5 @@ + + +# Plugins + +quardCRT supports plugins from version V0.4.0, plugins will be provided in the form of Qt plugins, loaded in the form of dynamic libraries, to learn more about plugin development information, please refer to the plugin open platform [https://github.com/QuardCRT-platform](https://github.com/QuardCRT-platform), This platform will provide template repositories and related examples for plugin development. At present, the plugin function is still in the early development stage. If you have good ideas or suggestions, please submit issues or discussions on GitHub or Gitee. diff --git a/docs/roadmap.md b/docs/roadmap.md index b3f3c333..3ddaf6fe 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -2,3 +2,43 @@ # Roadmap +quardCRT's development plan and roadmap. + +- Version 0.5.x + - [ ] Scripts Engine + +- Version 0.4.x + - [x] Modern and elegant main UI + - [ ] XYZmodem file transfer + - [x] Plugins system + - [x] German/Portuguese(Brazil)/Czech/Arabic + +- Version 0.3.x + - [x] SSH2 protocol support + - [x] SFTP file transfer + - [x] VNC protocol support + - [x] Local network SSH scan service + +- Version 0.2.x + - [x] Directory bookmarks + - [x] User settings + - [x] TFTP + - [x] NamedPipe protocol support + - [x] Local socket protocol support + - [x] Floating window + - [x] Tab card floating preview + - [x] Path matching + - [x] Spanish/French/Korean/Russian/Traditional Chinese + +- Version 0.1.x + - [x] Improve basic functions + - [x] Session manager + - [x] Split screen + - [x] Support Windows platform + +- Version 0.0.x + - [x] Project initialization and core function implementation + - [x] Project CI/CD configuration + - [x] Support Linux, macOS platform + - [x] Chinese/English/Japanese + diff --git a/docs/scripts.md b/docs/scripts.md new file mode 100644 index 00000000..f1ffcadd --- /dev/null +++ b/docs/scripts.md @@ -0,0 +1,71 @@ + + +# Scripts + +quardCRT supports scripting from version V0.5.0. Scripts are loaded in the form of Python language, and can call quardCRT's API to achieve automation. + +## Load scripts + +Open the main interface, click the `Scripts` in the menu bar, select `Run...`, select the script file, and click `Open` to load the script. + +## Example + +Here is a simple script example that displays the version information of quardCRT. + +```python +import sys +from quardCRT import crt + +def main(): + # Display quardCRT's version + crt.Dialog.MessageBox("quardCRT version is: " + crt.Version) + +if __name__ == '__main__': + main() +``` + +quardCRT loaded scripts are no different from regular Python scripts. Now we explain this script line by line. + +- `import sys`: Import the `sys` module to get command line arguments. +- `from quardCRT import crt`: Import the API of quardCRT. +- `def main():`: Define a `main` function to execute the main logic of the script. +- `# Display quardCRT's version`: Comment, used to explain the effect of the next line of code. +- `crt.Dialog.MessageBox("quardCRT version is: " + crt.Version)`: Call the API of quardCRT to display a message box, showing the version information of quardCRT. +- `if __name__ == '__main__':`: Determine whether the script is running as the main program. +- `main()`: Call the `main` function to execute the main logic of the script. + +## API + +The API of quardCRT includes the following parts: + +- `crt`: The main API of quardCRT. +- `crt.Dialog`: Used to display dialog boxes. +- `crt.Session`: Used to manage sessions. +- `crt.Screen`: Used to manage screens. + +### crt + +`crt` is the main API of quardCRT, including the following parts: + +- `crt.Version`: The version information of quardCRT. + +### crt.Dialog + +`crt.Dialog` is used to display dialog boxes, including the following methods: + +- `crt.Dialog.MessageBox(message: str, title: str = None, type: int = 0) -> int`: Display a message box. +- `crt.Dialog.InputBox(prompt: str, title: str = None, default: str = None, type: int = 0) -> str`: Display an input box. + +### crt.Session + +`crt.Session` is used to manage sessions, including the following methods: + +- `crt.Session.Connect(hostname: str, port: int, protocol: int, username: str, password: str) -> bool`: Connect to a host. +- `crt.Session.Disconnect()`: Disconnect the current session. + +### crt.Screen + +`crt.Screen` is used to manage screens, including the following methods: + +- `crt.Screen.Send(text: str)`: Send text to the screen. +- `crt.Screen.WaitForString(text: str, timeout: int) -> int`: Wait for the specified text to appear on the screen. diff --git a/version.txt b/version.txt index 70d5b25f..b300caa3 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.4.3 \ No newline at end of file +0.4.4 \ No newline at end of file