From 477699a77892dd504d0c725471bbb658af5dfcbb Mon Sep 17 00:00:00 2001 From: Rebecca Breu Date: Sun, 2 Jun 2024 16:32:22 +0200 Subject: [PATCH] Only migrate when bee file version is smaller --- beeref/fileio/sql.py | 2 +- beeref/scene.py | 43 ++++++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/beeref/fileio/sql.py b/beeref/fileio/sql.py index de98686..9e2a2b5 100644 --- a/beeref/fileio/sql.py +++ b/beeref/fileio/sql.py @@ -123,7 +123,7 @@ class SQLiteIO: version = self.fetchone('PRAGMA user_version')[0] logger.debug(f'Found bee file version: {version}') - if version == USER_VERSION: + if version >= USER_VERSION: logger.debug('Version ok; no migrations necessary') return diff --git a/beeref/scene.py b/beeref/scene.py index 56325c2..df63505 100644 --- a/beeref/scene.py +++ b/beeref/scene.py @@ -13,42 +13,43 @@ # You should have received a copy of the GNU General Public License # along with BeeRef. If not, see . -from functools import partial -import logging -import math -from queue import Queue +# 导入必要的模块 +from functools import partial #用于创建部分应用函数 +import logging #用于记录日志 +import math #用于数学计算 +from queue import Queue #用于队列操作 -from PyQt6 import QtCore, QtWidgets, QtGui -from PyQt6.QtCore import Qt +from PyQt6 import QtCore, QtWidgets, QtGui #用于Qt图形界面 +from PyQt6.QtCore import Qt #用于Qt核心功能 -import rpack +import rpack #用于矩形打包算法 -from beeref import commands -from beeref.config import BeeSettings -from beeref.items import item_registry, BeeErrorItem, sort_by_filename -from beeref.selection import MultiSelectItem, RubberbandItem +from beeref import commands #用于命令执行 +from beeref.config import BeeSettings #用于配置管理 +from beeref.items import item_registry, BeeErrorItem, sort_by_filename #用于项目管理 +from beeref.selection import MultiSelectItem, RubberbandItem #用于选择管理 -logger = logging.getLogger(__name__) +logger = logging.getLogger(__name__) #用于记录日志 -class BeeGraphicsScene(QtWidgets.QGraphicsScene): - cursor_changed = QtCore.pyqtSignal(QtGui.QCursor) - cursor_cleared = QtCore.pyqtSignal() +class BeeGraphicsScene(QtWidgets.QGraphicsScene): #用于BeeRef的图形场景 + cursor_changed = QtCore.pyqtSignal(QtGui.QCursor) #用于游标改变信号 + cursor_cleared = QtCore.pyqtSignal() #用于游标清除信号 - MOVE_MODE = 1 - RUBBERBAND_MODE = 2 + MOVE_MODE = 1 #用于移动模式 + RUBBERBAND_MODE = 2 #用于橡皮筋模式 - def __init__(self, undo_stack): - super().__init__() - self.active_mode = None + def __init__(self, undo_stack): #用于初始化场景 + super().__init__() #调用父类初始化方法 + self.active_mode = None #用于当前活动模式 self.undo_stack = undo_stack self.max_z = 0 self.min_z = 0 self.Z_STEP = 0.001 self.selectionChanged.connect(self.on_selection_change) self.changed.connect(self.on_change) - self.items_to_add = Queue() + self.items_to_add = Queue() self.edit_item = None self.crop_item = None self.settings = BeeSettings()