Bug 145632 - Rotate & set background image to right click menu
Summary: Rotate & set background image to right click menu
Status: RESOLVED FIXED
Alias: None
Product: kphotoalbum
Classification: Unclassified
Component: Browser (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist (vote)
Target Milestone: ---
Assignee: KPhotoAlbum Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-18 15:04 UTC by Risto H. Kurppa
Modified: 2007-06-17 18:12 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Risto H. Kurppa 2007-05-18 15:04:42 UTC
Version:           svn (using KDE KDE 3.5.6)
Installed from:    Compiled From Sources
OS:                Linux

I think in the thumbnail view one should have the possibility to rotate images and set an image as KDE background. At the moment these actions are available in the image view but not in the thumbnail view. One can also rotate images in annotation dialog.

OK, I know you can do these operations in the 'plugins' menu - but for sure that's not the first place one start to look for tools to rotate images.

And that 'plugins' -menu could be possibly renamed to 'tools'.
Comment 1 Baptiste MATHUS 2007-05-18 15:24:42 UTC
Rotate thumbnails or rotate image itself? 

If first, yes. I guess it would be a good idea to add shortcut if not already existing.

If second, then no. KPA basic idea is to never touch the original images directly. Image manipulation are done via the plugins available through the KIPI interface.

We could discuss it on the ml, if you think it deserves to.
Comment 2 Jan Kundrát 2007-06-17 18:12:45 UTC
SVN commit 676746 by jkt:

Allow rotating images from the thumbnail viewer as well
BUG: 145632


 M  +30 -0     MainWindow/Window.cpp  
 M  +5 -0      MainWindow/Window.h  
 M  +3 -0      kphotoalbumui.rc  


--- branches/extragear/kde3/graphics/kphotoalbum/MainWindow/Window.cpp #676745:676746
@@ -563,6 +563,8 @@
                                      actionCollection(), "oneProp" );
     _configAllSimultaniously = new KAction( i18n( "Annotate Multiple Items at a Time" ), CTRL+Key_2, this, SLOT( slotConfigureAllImages() ),
                                             actionCollection(), "allProp" );
+    _rotLeft = new KAction( i18n( "Rotate Left" ), 0, this, SLOT( slotRotateSelectedLeft() ), actionCollection(), "rotateLeft" );
+    _rotRight = new KAction( i18n( "Rotate Right" ), 0, this, SLOT( slotRotateSelectedRight() ), actionCollection(), "rotateRight" );
 
     // The Images menu
     _view = new KAction( i18n("View"), CTRL+Key_I, this, SLOT( slotView() ),
@@ -867,6 +869,8 @@
 #endif
 
         menu.insertSeparator();
+        _rotLeft->plug( &menu );
+        _rotRight->plug( &menu );
         _recreateThumbnails->plug( &menu );
         menu.insertSeparator();
 
@@ -1013,8 +1017,34 @@
     _configOneAtATime->setEnabled(selection.count() >= 1 );
     _sortByDateAndTime->setEnabled(selection.count() > 1 );
     _recreateThumbnails->setEnabled( selection.count() >= 1 );
+    _rotLeft->setEnabled( selection.count() >= 1 );
+    _rotRight->setEnabled( selection.count() >= 1 );
 }
 
+void MainWindow::Window::rotateSelected( int angle )
+{
+    QStringList list = selected();
+    if ( list.count() == 0 )  {
+        QMessageBox::warning( this,  i18n("No Selection"),  i18n("No item is selected.") );
+    } else {
+        for ( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it ) {
+            DB::ImageDB::instance()->info( *it )->rotate( angle );
+        }
+        _dirtyIndicator->markDirty();
+        reloadThumbnailsAndFlushCache();
+    }
+}
+
+void MainWindow::Window::slotRotateSelectedLeft()
+{
+    rotateSelected( -90 );
+}
+
+void MainWindow::Window::slotRotateSelectedRight()
+{
+    rotateSelected( 90 );
+}
+
 void MainWindow::Window::reloadThumbnails(bool flushCache)
 {
     _thumbnailView->reload( flushCache );
--- branches/extragear/kde3/graphics/kphotoalbum/MainWindow/Window.h #676745:676746
@@ -132,6 +132,9 @@
     void slotOrderIncr();
     void slotOrderDecr();
     void slotRecreateThumbnail();
+    void slotRotateSelectedLeft();
+    void slotRotateSelectedRight();
+    void rotateSelected( int angle );
 
 protected:
     void configureImages( bool oneAtATime );
@@ -176,6 +179,8 @@
     KAction* _configOneAtATime;
     KAction* _configAllSimultaniously;
     KAction* _view;
+    KAction* _rotLeft;
+    KAction* _rotRight;
     KAction* _sortByDateAndTime;
     KAction* _viewInNewWindow;
     KActionMenu* _viewMenu;
--- branches/extragear/kde3/graphics/kphotoalbum/kphotoalbumui.rc #676745:676746
@@ -10,6 +10,9 @@
       <Action name="deleteSelected" />
       <Action name="removeTokens" />
       <Separator/>
+      <Action name="rotateLeft" />
+      <Action name="rotateRight" />
+      <Separator/>
       <Action name="oneProp"/>
       <Action name="allProp"/>
     </Menu>