diff --git a/log.txt b/log.txt index 29a2dc7..fbd1589 100644 --- a/log.txt +++ b/log.txt @@ -1,4 +1,4 @@ -2022-05-24 20:29:01,454 - root - INFO - lic data:2022-12-01 00:00:00 -2022-05-24 20:29:01,455 - root - INFO - remain_days: 190 -2022-05-24 20:29:02,777 - root - INFO - lic data:2022-12-01 00:00:00 -2022-05-24 20:29:02,777 - root - INFO - remain_days: 190 +2022-05-25 15:29:52,208 - root - INFO - lic data:2022-12-01 00:00:00 +2022-05-25 15:29:52,209 - root - INFO - remain_days: 189 +2022-05-25 15:29:53,515 - root - INFO - lic data:2022-12-01 00:00:00 +2022-05-25 15:29:53,515 - root - INFO - remain_days: 189 diff --git a/rscder/gui/actions.py b/rscder/gui/actions.py index 1a484ef..5e15801 100644 --- a/rscder/gui/actions.py +++ b/rscder/gui/actions.py @@ -191,8 +191,7 @@ class ActionManager(QtCore.QObject): if project.is_init: project.save() project.clear() - project.setup(projec_create.file, projec_create.name + '.prj') - project.is_init = True + project.setup(projec_create.file, projec_create.name) project.cell_size = projec_create.cell_size project.max_memory = projec_create.max_memory project.save() diff --git a/rscder/gui/project.py b/rscder/gui/project.py index 38a557c..1f3a429 100644 --- a/rscder/gui/project.py +++ b/rscder/gui/project.py @@ -2,25 +2,26 @@ from pathlib import Path from PyQt5.QtWidgets import QDialog, QFileDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout, QLabel, QMessageBox from PyQt5.QtGui import QIcon, QIntValidator from PyQt5.QtCore import Qt +from rscder.utils.project import Project from rscder.utils.setting import Settings class Create(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle('Create Project') + self.setWindowTitle(self.tr('创建项目')) self.setWindowIcon(QIcon(":/icons/logo.png")) - self.file = str(Path(Settings.General().root)/'default') + self.file = str(Path(Settings.General().last_path)) self.name = '未命名' self.max_memory = Settings.Project().max_memory self.cell_size = Settings.Project().cell_size - file_label = QLabel('Project Dir:') + file_label = QLabel('项目目录:') file_label.setFixedWidth(100) file_input = QLineEdit() - file_input.setPlaceholderText('Project Dir') - file_input.setToolTip('Project Dir') + file_input.setPlaceholderText('项目目录') + file_input.setToolTip('项目目录') file_input.setReadOnly(True) file_input.setText(self.file) self.file_input = file_input @@ -30,11 +31,11 @@ class Create(QDialog): file_open.clicked.connect(self.open_file) - name_label = QLabel('Project Name:') + name_label = QLabel('项目名称:') name_label.setFixedWidth(100) name_input = QLineEdit() - name_input.setPlaceholderText('Project Name') - name_input.setToolTip('Project Name') + name_input.setPlaceholderText('项目名称') + name_input.setToolTip('项目名称') name_input.setText(self.name) self.name_input = name_input @@ -48,18 +49,18 @@ class Create(QDialog): file_input_layout.addWidget(file_input) file_input_layout.addWidget(file_open) - cell_size_label = QLabel('Cell Size:') + cell_size_label = QLabel('格网大小:') cell_size_label.setFixedWidth(100) cell_size_x_label = QLabel('X:') cell_size_y_label = QLabel('Y:') cell_size_x_input = QLineEdit() cell_size_y_input = QLineEdit() - cell_size_x_input.setPlaceholderText('Cell Size X') + cell_size_x_input.setPlaceholderText('X') cell_size_x_input.setValidator(QIntValidator()) - cell_size_y_input.setPlaceholderText('Cell Size Y') + cell_size_y_input.setPlaceholderText('Y') cell_size_y_input.setValidator(QIntValidator()) - cell_size_x_input.setToolTip('Cell Size X') - cell_size_y_input.setToolTip('Cell Size Y') + cell_size_x_input.setToolTip('X') + cell_size_y_input.setToolTip('Y') cell_size_x_input.setText(str(self.cell_size[0])) cell_size_y_input.setText(str(self.cell_size[1])) @@ -73,17 +74,17 @@ class Create(QDialog): cell_input_layout.addWidget(cell_size_y_label) cell_input_layout.addWidget(cell_size_y_input) - max_memory_label = QLabel('Max Memory (MB):') + max_memory_label = QLabel('最大文件大小 (MB):') max_memory_label.setFixedWidth(100) max_memory_input = QLineEdit() - max_memory_input.setPlaceholderText('Max Memory') - max_memory_input.setToolTip('Max Memory') + max_memory_input.setPlaceholderText('最大文件大小') + max_memory_input.setToolTip('最大文件大小') max_memory_input.setText(str(self.max_memory)) max_memory_input.setValidator(QIntValidator()) self.max_memory_input = max_memory_input - ok_button = QPushButton('OK') - cancel_button = QPushButton('Cancel') + ok_button = QPushButton('确定') + cancel_button = QPushButton('取消') ok_button.clicked.connect(self.ok) cancel_button.clicked.connect(self.cancel) @@ -103,9 +104,10 @@ class Create(QDialog): def open_file(self): - file = QFileDialog.getExistingDirectory(self, 'Open Directory', self.file) + file = QFileDialog.getExistingDirectory(self, '选择文件夹', self.file) if file: self.file = file + Settings.General().last_path = self.file self.file_input.setText(self.file) def ok(self): @@ -113,13 +115,13 @@ class Create(QDialog): self.max_memory = self.max_memory_input.text() self.cell_size = (self.cell_size_x_input.text(), self.cell_size_y_input.text()) if self.name == '': - QMessageBox.warning(self, 'Warning', 'Please input project name!') + QMessageBox.warning(self, 'Warning', '请选择项目目录!') return if self.max_memory == '': - QMessageBox.warning(self, 'Warning', 'Please input max memory!') + QMessageBox.warning(self, 'Warning', '请输入最大文件大小!') return if self.cell_size == ('', ''): - QMessageBox.warning(self, 'Warning', 'Please input cell size!') + QMessageBox.warning(self, 'Warning', '请输入格网大小!') return self.max_memory = int(self.max_memory) self.cell_size = (int(self.cell_size[0]), int(self.cell_size[1])) diff --git a/rscder/utils/project.py b/rscder/utils/project.py index b481120..afa015c 100644 --- a/rscder/utils/project.py +++ b/rscder/utils/project.py @@ -89,23 +89,31 @@ class Project(QObject): self.layer_show_update.connect(self.run_auto_save) def setup(self, path = None, name = None): - - if path is not None: - self.root = path - if name is None: - self.file = str(Path(self.root)/'default.prj') + ''' + create: path is not None and name is not None + open: path is file and name is None + ''' + if path is not None and name is not None: + self.root = str(Path(path)/name) + self.file = str(Path(self.root)/(name + '.prj')) + elif name is None: + self.file = path + self.root = os.path.split(path)[0] else: - self.file = str(Path(self.root)/name) - if not os.path.exists(self.root): - os.makedirs(self.root, exist_ok=True) - if not os.path.exists(self.file): - with open(self.file, 'w') as f: - pass - else: - self.load() + self.message_box.error('打开或创建项目失败') + try: + if not os.path.exists(self.root): + os.makedirs(self.root, exist_ok=True) + if not os.path.exists(self.file): + with open(self.file, 'w') as f: + pass + else: + self.load() - self.is_init = True - self.project_init.emit(True) + self.is_init = True + self.project_init.emit(True) + except: + self.message_box.error('打开或创建项目失败') def save(self): data_dict = {