feat: add a light weight updatechecker.#1
Merged
broccoli-97 merged 5 commits intomasterfrom Mar 13, 2026
Merged
Conversation
New files: - src/core/UpdateChecker.h — QObject subclass with checkForUpdates(bool manual), updateAvailable/upToDate/checkFailed signals, and static isNewerVersion() semver comparator - src/core/UpdateChecker.cpp — Queries the GitHub Releases API, parses tag_name + html_url, strips v prefix, compares against applicationVersion() Modified files: - CMakeLists.txt — Added Network to find_package, Qt6::Network to target_link_libraries, registered the two new source files - AppSettings.h/.cpp — Added checkForUpdatesEnabled() / setCheckForUpdatesEnabled(bool) with key "updates/checkOnStartup" (default: true) - MainWindow.h/.cpp — Added UpdateChecker* member, wired signals in constructor, 3s delayed auto-check if enabled, "Check for Updates..." action in Help menu before About, showUpdateDialog() with version info and link to GitHub - SettingsDialog.h/.cpp — Added "Updates" group with "Check for updates on startup" checkbox
Smoothly scroll the canvas to reveal newly created nodes (Enter/Ctrl+Enter)
using animated scrollbar transitions, and animate zoomToFit after auto-layout
so the zoom+pan feels connected rather than jarring.
- MindMapView::ensureNodeVisible(): snapshot–ensureVisible–restore–animate
pattern on scrollbar values (300ms OutCubic)
- MindMapView::zoomToFit(): interpolate scale and center point from current
to target (400ms OutCubic) instead of snapping instantly
- MindMapScene: call ensureNodeVisible in addChildToSelected/addSiblingToSelected,
call zoomToFit on autoLayout animation finish
- stopAnimations() helper prevents overlapping animations
…support
- Add language() / setLanguage() to AppSettings (stored under "appearance/language")
- Add Language combo box (English / 简体中文) to SettingsDialog with restart hint
- Install QTranslator in main.cpp before MainWindow creation for both Qt and app translations
- Wrap all user-visible strings with tr() across 8 source files (MainWindow, FileManager,
SettingsDialog, AboutDialog, MindMapScene, StartPage, TabManager, OutlineWidget)
- Add LinguistTools to CMakeLists.txt with qt_add_translations() for .ts → .qm compilation
- Create translations/ymind_zh_CN.ts with 139 complete Chinese translations
Warning: Node.js 20 actions are deprecated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New files:
Modified files: