Version: trunk (using KDE Devel) Installed from: Compiled sources This is a simple one -- I think the labels "rotate left" and "rotate right" would be more user friendly than 90 and 270 degrees. "Clockwise" and "Counterclockwise" would be other alternatives. I think those terms are more in line with what people both think and the terms they use in real life. I've never had anyone ask me to turn a photo 270 degrees, but I have had someone ask if I could rotate it to the right. :-) A minor related issue is that they should also be in the opposite order in the menu -- rotating "270 degrees" is the most common operation (unless I'm completely wrong in my assumption that most people shooting verticle photos rotate the camera so that the shutter finger is above rather than below the camera).
I completelly agree with this proposal. Just having two actions is more clear and also used in other SW. It can also have nice and clear icon for the action. Gilles: if you agree, I could work on this for 0.9.2...
> Gilles: if you agree, I could work on this for 0.9.2... Luka your help is always welcome, but since it's a kipi-plugins issue it can work in any digikam release ;)
Luka, it's fine for me. But if you change the kipi-plugins action, please fix digiKam image editor too to be homogenous Gilles
My 2 cents -- clockwise and counterclockwise is a bit dated term -- there are too much digital stuff nowadays. I opt for left/right. Btw. I cannot imagine easier shooting than with right hand below the left -- so I turn my camera right, not left (shutter at right, after turning below) :-)))
I agree "rotate left/right" is a better idea. Please send me a screenshot of the end result you decide on so that KolourPaint can do the same.
Bug 142427 has been marked as duplicate of this one.
SVN commit 639919 by lure: Digikam Image Edito: Use Rotate Left/Right actions instead of rotate by degree (90/180/270). This is more intuitive and easier for user. Use Ctrl-Left and Ctrl-Right as keyboard shortcuts. CCBUG: 141530 M +13 -20 editorwindow.cpp M +4 -6 editorwindowprivate.h --- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #639918:639919 @@ -203,15 +203,12 @@ // -- if rotating/flipping set the rotatedflipped flag to true ----------- - connect(d->rotate90Action, SIGNAL(activated()), + connect(d->rotateLeftAction, SIGNAL(activated()), this, SLOT(slotRotatedOrFlipped())); - - connect(d->rotate180Action, SIGNAL(activated()), + + connect(d->rotateRightAction, SIGNAL(activated()), this, SLOT(slotRotatedOrFlipped())); - connect(d->rotate270Action, SIGNAL(activated()), - this, SLOT(slotRotatedOrFlipped())); - connect(d->flipHorzAction, SIGNAL(activated()), this, SLOT(slotRotatedOrFlipped())); @@ -388,23 +385,19 @@ "editorwindow_rotate"); d->rotateAction->setDelayed(false); - d->rotate90Action = new KAction(i18n("90 Degrees"), - 0, CTRL+Key_9, m_canvas, SLOT(slotRotate90()), + d->rotateLeftAction = new KAction(i18n("Left"), + "rotate_ccw", CTRL+Key_Left, + m_canvas, SLOT(slotRotate270()), actionCollection(), - "rotate_90"); - d->rotate180Action = new KAction(i18n("180 Degrees"), - 0, CTRL+Key_8, m_canvas, SLOT(slotRotate180()), + "rotate_ccw"); + d->rotateRightAction = new KAction(i18n("Right"), + "rotate_cw", CTRL+Key_Right, + m_canvas, SLOT(slotRotate90()), actionCollection(), - "rotate_180"); - d->rotate270Action = new KAction(i18n("270 Degrees"), - 0, CTRL+Key_7, m_canvas, SLOT(slotRotate270()), - actionCollection(), - "rotate_270"); + "rotate_cw"); + d->rotateAction->insert(d->rotateLeftAction); + d->rotateAction->insert(d->rotateRightAction); - d->rotateAction->insert(d->rotate90Action); - d->rotateAction->insert(d->rotate180Action); - d->rotateAction->insert(d->rotate270Action); - // -- Standard 'Configure' menu actions ---------------------------------------- KStdAction::keyBindings(this, SLOT(slotEditKeys()), actionCollection()); --- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindowprivate.h #639918:639919 @@ -58,9 +58,8 @@ zoomPlusAction = 0; zoomMinusAction = 0; cropAction = 0; - rotate90Action = 0; - rotate180Action = 0; - rotate270Action = 0; + rotateLeftAction = 0; + rotateRightAction = 0; flipHorzAction = 0; flipVertAction = 0; flipAction = 0; @@ -95,9 +94,8 @@ KAction *cropAction; KAction *zoomPlusAction; KAction *zoomMinusAction; - KAction *rotate90Action; - KAction *rotate180Action; - KAction *rotate270Action; + KAction *rotateLeftAction; + KAction *rotateRightAction; KAction *flipHorzAction; KAction *flipVertAction; KAction *slideShowAction;
Luka, about "Use Ctrl-Left and Ctrl-Right as keyboard shortcuts."... Take a care than the same fix must be done in JPEGLossLess kipi-plugins witch is used in Album GUI. All must be homogenous. It must don't be in conflict with album/item navigation keyboard shortcuts. I recommend you to use others shortcuts. My proposal is CTRL+L and CTRL+R... Gilles
SVN commit 639921 by lure: JPEGLossLess: Use Rotate Left/Right actions instead of rotate by degree (90/180/270). This is more intuitive and easier for user. Use Ctrl-Left and Ctrl-Right as keyboard shortcuts. BUG: 141530 M +2 -1 NEWS M +12 -27 jpeglossless/plugin_jpeglossless.cpp --- trunk/extragear/libs/kipi-plugins/NEWS #639920:639921 @@ -18,7 +18,8 @@ 006 ==> 138241 : SendImages : A patch that adds support for the Claws Mail MUA. 007 ==> 140865 : RAWConverter : Plugin does not work (image can not be converted). 008 ==> 141528 : JPEGLossLess : Remove confirmation dialog for image rotate. -009 ==> +009 ==> 141530 : JPEGLossLess : Use Rotate left/right instead of degrees +010 ==> v 0.1.3 ---------------------------------------------------------------------------- --- trunk/extragear/libs/kipi-plugins/jpeglossless/plugin_jpeglossless.cpp #639920:639921 @@ -89,30 +89,21 @@ actionCollection(), "jpeglossless_rotate"); - m_action_RotateImage->insert( new KAction(i18n("90 Degrees"), - 0, - CTRL+Key_9, + m_action_RotateImage->insert( new KAction(i18n("Left"), + "rotate_ccw", + CTRL+Key_Left, this, SLOT(slotRotate()), actionCollection(), - "rotate_90") ); - - m_action_RotateImage->insert( new KAction(i18n("180 Degrees"), - 0, - CTRL+Key_8, + "rotate_ccw") ); + m_action_RotateImage->insert( new KAction(i18n("Right"), + "rotate_cw", + CTRL+Key_Right, this, SLOT(slotRotate()), actionCollection(), - "rotate_180") ); + "rotate_cw") ); - m_action_RotateImage->insert( new KAction(i18n("270 Degrees"), - 0, - CTRL+Key_7, - this, - SLOT(slotRotate()), - actionCollection(), - "rotate_270") ); - m_action_FlipImage = new KActionMenu(i18n("Flip"), "flip", actionCollection(), @@ -237,22 +228,16 @@ QString title; bool proceed = false; - if (from == "rotate_90") + if (from == "rotate_cw") { m_thread->rotate(items, KIPIJPEGLossLessPlugin::Rot90); - title = i18n("to 90 degrees"); + title = i18n("right (clockwise)"); proceed = true; } - else if (from == "rotate_180") + else if (from == "rotate_ccw") { - m_thread->rotate(items, KIPIJPEGLossLessPlugin::Rot180); - title = i18n("to 180 degrees"); - proceed = true; - } - else if (from == "rotate_270") - { m_thread->rotate(items, KIPIJPEGLossLessPlugin::Rot270); - title = i18n("to 270 degrees"); + title = i18n("left (counterclockwise)"); proceed = true; } else if (from == "rotate_exif")
Gilles: you are fast. ;-) Did not see your comment before second commit. ;-) I think Ctrl-Left/Ctrl-Right is much more intuitive than your proposal. I have checked and these shortcuts were not used in digikam. But we should probably check other kipi-plugins host apps if this is problem for them.
Ok, just take a care about these shortcuts. Also, we will wait the users report if someone configure CTRL+Left and CTRL+Right in digiKam (or others kipi hosts) Gilles
Sorry about being that late with my comment (exam time in university), but I just tested SVN and noticed the new CTRL-Left and CTRL-Right shortcut for image rotation. I don't think, these shortcuts are a good idea, because in just about every application (e.g. digikam's album view) you use CTRL-Left/Right for going to the previous/next item (e.g. picture in digikam's album view) without loosing your selection. IMHO this is very important for keyboard navigation in digikam. That is exactly the same concern that Gilles had. I already rotated pictures accidently, when I wanted to do a multiple-selection in digikam. Apart from these shortcuts, I like the new "Rotate left" and "Rotate right" very much.
Good point. Changed to Ctrl-Shift-Left / Ctrl-Shift-Right which should not overlap with standard operation.
SVN commit 646131 by lure: Use Ctrl-Shift-arrow as shortcut for Rotate-Left/Right Ctrl-arrow is used in some other applications and may confuse users. CCBUG: 141530 M +2 -2 plugin_jpeglossless.cpp --- trunk/extragear/libs/kipi-plugins/jpeglossless/plugin_jpeglossless.cpp #646130:646131 @@ -91,14 +91,14 @@ m_action_RotateImage->insert( new KAction(i18n("Left"), "rotate_ccw", - CTRL+Key_Left, + SHIFT+CTRL+Key_Left, this, SLOT(slotRotate()), actionCollection(), "rotate_ccw") ); m_action_RotateImage->insert( new KAction(i18n("Right"), "rotate_cw", - CTRL+Key_Right, + SHIFT+CTRL+Key_Right, this, SLOT(slotRotate()), actionCollection(),
Right now i 0.9.1 it pops up an image saying "image rotated", which you have to click "ok" to close. This is unnecessary, and a waste of user time. IMO, it should just do the rotation. Perhaps this is already fixed in the latest SVN version?
Janus, This is fixed on svn trunk of kipi-plugins, not digiKam... because rotation tool is a kipi-plugin (:=))) Now, if all work fine during rotation, the dialog disapears automaticly. If something gone wrong, the dialog still on the screen. Gilles Caulier
Being pedantic, that's still interrupting the user's workflow for no apparent reason. It really should only show a dialog if something goes wrong or just use a passive popup (or even the status bar). In fact, that's pretty close to what the in-progress HIG says.