-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108802/#review32426
-----------------------------------------------------------


Thanks for the patch, this is greatly appreciated! I could not test it myself 
yet, but I have a few comments already.

(a) The way you determine the actual action in DolphinRemoveAction by 
setting/reading the objectName() looks a bit awkward. Wouldn't it be easier to 
add a member m_action to this class? The only situation in which I see a 
potential problem with this approach would be a deletion of the action after 
the assignment of m_action in update() and before the invocation of 
slotRemoveActionTriggered(), but I'm not sure if this can actually happen. But 
even then, I think that adding a member m_useDeleteAction or something like 
that would be better than setting the objectName().

(b) When I just look at the calls to DolphinRemoveAction::update(bool 
shiftKeyPressed) in the source, it's impossible to tell what this function 
actually does. I think it might be more readable if we rename it to 
setShiftKeyPressed(bool) or something like that, drop the default value for the 
bool parameter, and move the check "qApp->keyboardModifiers() & 
Qt::ShiftModifier" to DolphinRemoveAction's constructor, 
DolphinContextMenu::insertDefaultItemActions() and 
DolphinPart::slotOpenContextMenu(). If you think that having this check in 
three different locations is too clumsy, we could alternatively add a new 
parameterless method "update()", which is called from these locations and 
checks the modifier state.

Some more comments inline...


dolphin/src/dolphinpart.cpp
<http://git.reviewboard.kde.org/r/108802/#comment24101>

    I could not test it yet, but this looks like we have a dangling pointer 
m_removeAction after this and might get a crash the second time we end up here? 
Maybe add m_removeAction = 0; after the delete.



dolphin/src/dolphinremoveaction.cpp
<http://git.reviewboard.kde.org/r/108802/#comment24102>

    #include <QApplication>



dolphin/src/dolphinremoveaction.cpp
<http://git.reviewboard.kde.org/r/108802/#comment24103>

    #include <KLocalizedString>


- Frank Reininghaus


On May 13, 2013, 1:38 a.m., Dawit Alemayehu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/108802/
> -----------------------------------------------------------
> 
> (Updated May 13, 2013, 1:38 a.m.)
> 
> 
> Review request for KDE Base Apps, David Faure and Frank Reininghaus.
> 
> 
> Description
> -------
> 
> This patch fixes DolphinPart such that the "Delete/Move To Trash" actions are 
> automatically toggled if the user presses the Shift key and allows  
> https://git.reviewboard.kde.org/r/107509/ to be applied.
> 
> The code is completely based on what Dolphin's context menu does. Even though 
> this works as planned, I still have reservations about the use of 
> KModifierKeyInfo since every key press event from any application is sent to 
> the application that connects to its signals. In my code and unlike what is 
> done in Dolphin's context menu, I try to mitigate the impact of that by 
> ignoring the signal when the part does not have the focus. Still if there is 
> a better way to capture key press events at the part level I would like to 
> use that instead. Any ideas ?
> 
> 
> Diffs
> -----
> 
>   dolphin/src/CMakeLists.txt ffb232c 
>   dolphin/src/dolphincontextmenu.h 1c65fab 
>   dolphin/src/dolphincontextmenu.cpp 89a169f 
>   dolphin/src/dolphinpart.h 7881ded 
>   dolphin/src/dolphinpart.cpp 627ba79 
>   dolphin/src/dolphinremoveaction.h PRE-CREATION 
>   dolphin/src/dolphinremoveaction.cpp PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/108802/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dawit Alemayehu
> 
>

Reply via email to