[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegraphics/gwenview
From: Aurélien Gâteau <aurelien.gateau () free ! fr>
Date: 2007-06-30 22:54:12
Message-ID: 1183244052.020516.1807.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 681946 by gateau:
More work on rotation, rough skeleton implemented.
M +31 -0 app/mainwindow.cpp
M +2 -0 lib/CMakeLists.txt
A lib/abstractimageoperation.cpp [License: GPL (v2+)]
A lib/abstractimageoperation.h [License: GPL (v2+)]
A lib/transformimageoperation.cpp [License: GPL (v2+)]
A lib/transformimageoperation.h [License: GPL (v2+)]
--- trunk/KDE/kdegraphics/gwenview/app/mainwindow.cpp #681945:681946
@@ -65,6 +65,7 @@
#include <lib/mimetypeutils.h>
#include <lib/sorteddirmodel.h>
#include <lib/thumbnailview.h>
+#include <lib/transformimageoperation.h>
namespace Gwenview {
@@ -472,6 +473,28 @@
return item->mimetype();
}
}
+
+ void applyImageOperation(AbstractImageOperation* op) {
+ QItemSelection selection = mThumbnailView->selectionModel()->selection();
+ QModelIndexList indexList = selection.indexes();
+ Q_ASSERT(indexList.count() > 0);
+ if (indexList.count() > 1) {
+ Q_FOREACH(QModelIndex index, indexList) {
+ KFileItem* item = mDirModel->itemForIndex(index);
+ KUrl url = item->url();
+ Document::Ptr doc = DocumentFactory::instance()->load(url);
+ op->apply(doc);
+ // TODO: Batch dialog, showing progress and errors
+ if (doc->isModified()) {
+ doc->save(url, doc->format());
+ }
+ }
+ } else {
+ KFileItem* item = mDirModel->itemForIndex(indexList[0]);
+ Document::Ptr doc = DocumentFactory::instance()->load(item->url());
+ op->apply(doc);
+ }
+ }
};
@@ -773,18 +796,26 @@
void MainWindow::rotateLeft() {
+ TransformImageOperation op(TransformImageOperation::RotateLeft);
+ d->applyImageOperation(&op);
}
void MainWindow::rotateRight() {
+ TransformImageOperation op(TransformImageOperation::RotateRight);
+ d->applyImageOperation(&op);
}
void MainWindow::mirror() {
+ TransformImageOperation op(TransformImageOperation::Mirror);
+ d->applyImageOperation(&op);
}
void MainWindow::flip() {
+ TransformImageOperation op(TransformImageOperation::Flip);
+ d->applyImageOperation(&op);
}
--- trunk/KDE/kdegraphics/gwenview/lib/CMakeLists.txt #681945:681946
@@ -1,5 +1,6 @@
set(gwenviewlib_SRCS
abstractdocumentimpl.cpp
+ abstractimageoperation.cpp
archiveutils.cpp
document.cpp
documentfactory.cpp
@@ -16,6 +17,7 @@
sorteddirmodel.cpp
thumbnailview.cpp
transupp.c
+ transformimageoperation.cpp
)
kde4_automoc(${gwenviewlib_SRCS})
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic