From 41b517517e7a41092c820ab134f9a7df0491bd08 Mon Sep 17 00:00:00 2001 From: iperov Date: Tue, 25 May 2021 14:17:34 +0400 Subject: [PATCH] XSegEditor , delete button now moves the face to _trash directory and it has been moved to the right border of the window --- XSegEditor/QStringDB.py | 6 +++--- XSegEditor/XSegEditor.py | 25 +++++++++++++++++++------ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/XSegEditor/QStringDB.py b/XSegEditor/QStringDB.py index 475b97d..b9100d2 100644 --- a/XSegEditor/QStringDB.py +++ b/XSegEditor/QStringDB.py @@ -85,9 +85,9 @@ class QStringDB(): 'zh' : '保存并转到下一张图片\n按住SHIFT : 加快\n按住CTRL : 跳过未标记的\n', }[lang] - QStringDB.btn_delete_image_tip = { 'en' : 'Delete and Next image\n', - 'ru' : 'Удалить и следующее изображение\n', - 'zh' : '清除并转到下一张图片', + QStringDB.btn_delete_image_tip = { 'en' : 'Move to _trash and Next image\n', + 'ru' : 'Переместить в _trash и следующее изображение\n', + 'zh' : '移至_trash,转到下一张图片 ', }[lang] QStringDB.loading_tip = {'en' : 'Loading', diff --git a/XSegEditor/XSegEditor.py b/XSegEditor/XSegEditor.py index d934850..affc9f6 100644 --- a/XSegEditor/XSegEditor.py +++ b/XSegEditor/XSegEditor.py @@ -1164,6 +1164,7 @@ class MainWindow(QXMainWindow): super().__init__() self.input_dirpath = input_dirpath + self.trash_dirpath = input_dirpath.parent / (input_dirpath.name + '_trash') self.cfg_root_path = cfg_root_path self.cfg_path = cfg_root_path / 'MainWindow_cfg.dat' @@ -1342,11 +1343,14 @@ class MainWindow(QXMainWindow): self.update_cached_images() self.update_preview_bar() - def delete_current_image(self): + def trash_current_image(self): self.process_next_image() img_path = self.image_paths_done.pop(-1) - Path(img_path).unlink() + img_path = Path(img_path) + self.trash_dirpath.mkdir(parents=True, exist_ok=True) + img_path.rename( self.trash_dirpath / img_path.name ) + self.update_cached_images() self.update_preview_bar() @@ -1364,7 +1368,7 @@ class MainWindow(QXMainWindow): btn_next_image = QXIconButton(QIconDB.right, QStringDB.btn_next_image_tip, shortcut='D', click_func=self.process_next_image) btn_next_image.setIconSize(QUIConfig.preview_bar_icon_q_size) - btn_delete_image = QXIconButton(QIconDB.trashcan, QStringDB.btn_delete_image_tip, shortcut='X', click_func=self.delete_current_image) + btn_delete_image = QXIconButton(QIconDB.trashcan, QStringDB.btn_delete_image_tip, shortcut='X', click_func=self.trash_current_image) btn_delete_image.setIconSize(QUIConfig.preview_bar_icon_q_size) pad_image = QWidget() @@ -1376,15 +1380,24 @@ class MainWindow(QXMainWindow): preview_image_bar_frame_l.addWidget ( btn_prev_image, alignment=Qt.AlignCenter) preview_image_bar_frame_l.addWidget ( image_bar) preview_image_bar_frame_l.addWidget ( btn_next_image, alignment=Qt.AlignCenter) - preview_image_bar_frame_l.addWidget ( btn_delete_image, alignment=Qt.AlignCenter) + #preview_image_bar_frame_l.addWidget ( btn_delete_image, alignment=Qt.AlignCenter) preview_image_bar_frame = QFrame() preview_image_bar_frame.setSizePolicy ( QSizePolicy.Fixed, QSizePolicy.Fixed ) preview_image_bar_frame.setLayout(preview_image_bar_frame_l) - preview_image_bar_l = QHBoxLayout() - preview_image_bar_l.addWidget (preview_image_bar_frame) + preview_image_bar_frame2_l = QHBoxLayout() + preview_image_bar_frame2_l.setContentsMargins(0,0,0,0) + preview_image_bar_frame2_l.addWidget ( btn_delete_image, alignment=Qt.AlignCenter) + preview_image_bar_frame2 = QFrame() + preview_image_bar_frame2.setSizePolicy ( QSizePolicy.Fixed, QSizePolicy.Fixed ) + preview_image_bar_frame2.setLayout(preview_image_bar_frame2_l) + + preview_image_bar_l = QHBoxLayout() + preview_image_bar_l.addWidget (preview_image_bar_frame, alignment=Qt.AlignCenter) + preview_image_bar_l.addWidget (preview_image_bar_frame2) + preview_image_bar = QFrame() preview_image_bar.setFrameShape(QFrame.StyledPanel) preview_image_bar.setSizePolicy ( QSizePolicy.Expanding, QSizePolicy.Fixed )