From a1bb75ee359f65763ef3efcfd35d6848e99f8310 Mon Sep 17 00:00:00 2001
From: wingsummer <1326224942@qq.com>
Date: Sun, 13 Oct 2024 23:41:14 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=92=AD=E6=94=BE?=
=?UTF-8?q?=E4=B8=AD=E5=9B=BE=E7=89=87=E6=81=A2=E5=A4=8D=E5=A4=A7=E5=B0=8F?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E5=90=AF=E7=94=A8=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E5=9B=BE=E7=89=87=E7=9A=84=E6=BB=9A=E5=8A=A8=E6=9D=A1?=
=?UTF-8?q?=EF=BC=9B=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF=E7=9A=84=E8=BD=AF?=
=?UTF-8?q?=E4=BB=B6=E5=90=8D=E7=BF=BB=E8=AF=91=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lang/WingGifEditor2_zh_CN.ts | 254 +++++++++++++++++------------------
src/control/gifeditor.cpp | 7 +-
src/dialog/mainwindow.cpp | 17 ++-
src/plugin/pluginsystem.cpp | 7 +
src/plugin/pluginsystem.h | 2 +-
5 files changed, 146 insertions(+), 141 deletions(-)
diff --git a/lang/WingGifEditor2_zh_CN.ts b/lang/WingGifEditor2_zh_CN.ts
index b3b2fe4..350d3b3 100644
--- a/lang/WingGifEditor2_zh_CN.ts
+++ b/lang/WingGifEditor2_zh_CN.ts
@@ -11,7 +11,7 @@
- 羽云十六进制编辑器2
+ 羽云 GIF 编辑器
@@ -299,521 +299,521 @@
MainWindow
-
+
是否保存
-
+
- 羽云十六进制编辑器
+ 羽云 GIF 编辑器
-
+
文件
-
+
编辑
-
+
视图
-
+
插件
-
+
设置
-
+
关于
-
-
-
-
-
-
+
+
+
+
+
+
选择文件
-
+
选择文件以打开
-
+
从图像序列创建动图
-
+
无效 GIF 文件
-
+
保存 GIF
-
-
+
+
被用户取消操作
-
+
保存成功
-
+
保存失败
-
-
+
+
选择保存文件路径
-
+
另存为 GIF
-
+
另存为成功
-
+
另存为失败
-
+
导出帧
-
-
+
+
导出成功
-
+
导出失败
-
-
+
+
跳转
-
+
请输入帧索引
-
+
延迟时间
-
-
+
+
(全局)
-
+
输入时间(单位 ms)
-
+
缩放延迟时间
-
+
输入百分比
-
+
图像 (*.jpg *.tiff *.png)
-
-
+
+
插入图片序列
-
+
插入图片序列成功
-
+
插入动图
-
+
插入动图成功
-
+
无选择
-
+
无效模型
-
+
基础
-
+
从图序新建
-
+
从动图创建
-
+
打开
-
+
最近文件
-
-
+
+
保存
-
+
另存为
-
+
导出
-
+
文件信息
-
-
+
+
基本
-
+
撤销
-
+
重做
-
+
剪切
-
+
复制
-
+
粘贴
-
+
删除
-
+
帧
-
+
降低帧率
-
+
删除之前帧
-
+
删除之后帧
-
+
左移帧
-
+
右移帧
-
+
反转
-
+
设置延时
-
+
图像
-
+
缩放 GIF
-
+
裁切 GIF
-
+
水平反转
-
+
垂直翻转
-
+
逆时针旋转
-
+
顺时针旋转
-
+
效果
-
+
导出模板
-
+
应用模型
-
+
创建逆向帧动画
-
+
缩放延时
-
+
合并
-
+
合并动图
-
+
播放
-
+
第一帧
-
+
上一帧
-
+
播放
-
+
停止
-
+
下一帧
-
+
最后帧
-
+
查找
-
+
全选
-
+
取消选择
-
+
反选
-
+
日志
-
-
+
+
信息
-
+
缩放
-
+
插件信息
-
+
设置
-
+
软件
-
+
赞助
-
+
WIKI
-
+
关于 QT
-
+
确认退出
-
+
你确认未保存就退出软件吗?
-
+
未命名
-
+
帧:%1/%2
-
+
新帧
-
+
请设置新帧延时(时间只保留十位)
@@ -923,52 +923,52 @@
插件加载完毕
-
+
在非 UI 线程创建用户界面组建是非法的
-
+
加载插件中
-
+
加载插件失败:非法插件签名
-
+
插件加载失败:非法的 SDK 版本
-
+
插件加载失败:非法插件名
-
+
插件加载失败:已加载的插件
-
+
插件加载失败:初始化插件失败
-
+
插件名:
-
+
插件作者:
-
+
插件组件创建
diff --git a/src/control/gifeditor.cpp b/src/control/gifeditor.cpp
index dae5810..5e4ad75 100644
--- a/src/control/gifeditor.cpp
+++ b/src/control/gifeditor.cpp
@@ -9,14 +9,9 @@ GifEditor::GifEditor(const QImage &img, QWidget *parent)
&GifEditor::selRectChanged);
setScene(scene);
rubber = new QRubberBand(QRubberBand::Line, this);
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
}
-void GifEditor::setImage(const QImage &img) {
- scene->setFrameImg(img);
- resetTransform();
-}
+void GifEditor::setImage(const QImage &img) { scene->setFrameImg(img); }
void GifEditor::setCropMode(bool b) { scene->setCuttingMode(b); }
diff --git a/src/dialog/mainwindow.cpp b/src/dialog/mainwindow.cpp
index f911cc7..4aa9205 100644
--- a/src/dialog/mainwindow.cpp
+++ b/src/dialog/mainwindow.cpp
@@ -83,7 +83,10 @@ MainWindow::MainWindow(QWidget *parent) : FramelessMainWindow(parent) {
this,
[=](const QModelIndex ¤t, const QModelIndex & /*previous*/) {
auto i = current.row();
- _editor->setImage(_model->image(i));
+ auto img = _model->image(i);
+ auto delay = _model->delay(i);
+ PluginSystem::instance().callPluginProcess(img, delay, i);
+ _editor->setImage(img);
updateGifMessage();
});
connect(_model, &QAbstractListModel::rowsInserted, this,
@@ -225,7 +228,7 @@ void MainWindow::on_new_frompics() {
dw.dialog()->setLabelText(tr("NewFromPicsGif"));
dw.dialog()->setRange(0, 0);
if (loadfromImages(d.getResult(), getNewFrameInterval())) {
- _curfilename = QStringLiteral(":"); //表示新建
+ _curfilename = QStringLiteral(":"); // 表示新建
setSaved(false);
_gallery->setCurrentIndex(_model->index(0));
@@ -245,7 +248,7 @@ void MainWindow::on_new_fromgifs() {
// WaitingDialog dw;
// dw.start(tr("NewFromGifsGif"));
if (loadfromGifs(d.getResult())) {
- _curfilename = QStringLiteral(":"); //表示新建
+ _curfilename = QStringLiteral(":"); // 表示新建
setSaved(false);
_gallery->setCurrentIndex(_model->index(0));
@@ -443,7 +446,7 @@ void MainWindow::on_paste() {
void MainWindow::on_del() {
_player->stop();
QVector indices;
- for (auto item : _gallery->selectionModel()->selectedIndexes()) {
+ for (auto &item : _gallery->selectionModel()->selectedIndexes()) {
indices.append(item.row());
}
undo.push(new RemoveFrameCommand(_model, indices));
@@ -632,7 +635,7 @@ void MainWindow::on_setdelay() {
if (ok) {
QVector is;
if (!isGlobal) {
- for (auto i : indices) {
+ for (auto &i : indices) {
is.append(i.row());
}
}
@@ -657,7 +660,7 @@ void MainWindow::on_scaledelay() {
if (!isGlobal) {
auto indices = _gallery->selectionModel()->selectedRows();
- for (auto i : indices) {
+ for (auto &i : indices) {
is.append(i.row());
}
}
@@ -811,7 +814,7 @@ void MainWindow::on_applypic() {
QImage img;
if (img.load(filename)) {
if (img.size() == _model->frameSize()) {
- for (auto i : indices) {
+ for (auto &i : indices) {
auto index = i.row();
rows.append(index);
QImage bimg = _model->image(index).copy();
diff --git a/src/plugin/pluginsystem.cpp b/src/plugin/pluginsystem.cpp
index 03275a1..d105b72 100644
--- a/src/plugin/pluginsystem.cpp
+++ b/src/plugin/pluginsystem.cpp
@@ -58,6 +58,13 @@ void PluginSystem::LoadPlugin() {
Logger::info(tr("PluginLoadingFinished"));
}
+void PluginSystem::callPluginProcess(QImage &image, int delay,
+ qsizetype index) {
+ for (auto &p : loadedplgs) {
+ p->onPreviewGifFrame(image, index, delay);
+ }
+}
+
bool PluginSystem::checkThreadAff() {
if (QThread::currentThread() != qApp->thread()) {
Logger::warning(
diff --git a/src/plugin/pluginsystem.h b/src/plugin/pluginsystem.h
index 23579a2..0e63de2 100644
--- a/src/plugin/pluginsystem.h
+++ b/src/plugin/pluginsystem.h
@@ -23,7 +23,7 @@ class PluginSystem : public QObject {
void LoadPlugin();
-signals:
+ void callPluginProcess(QImage &image, int delay, qsizetype index);
private:
PluginSystem(QObject *parent = nullptr);