#include <wallpapereditorwidget.h>
Signals | |
void | doneClicked () |
void | cancelClicked () |
Public Member Functions | |
WallpaperEditorWidget (WallpaperBusinessLogic *wallpaperBusinessLogic, QGraphicsWidget *parent=0) | |
~WallpaperEditorWidget () | |
virtual bool | pagePans () const |
virtual bool | back () |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) |
void | saveImage () |
void | dropImage () |
Protected Member Functions | |
virtual void | polishEvent () |
virtual void | retranslateUi () |
Problem: During the one finger move the image lags behind the finger. Solution: Implemented framedropping, the movement is faster now.
Problem: While resizing the image with the pinch gesture the image moves. Solution: The image is moved during the gesture so the point that was under the midpoint remains under the midpoint even when the midpoint is moved (moving while resizing).
Problem: User can use one finger to move the image outside of the screen. Solution: The one finger moving of the image can be performed only when started from inside the image. This way the image is always under the finger, so it can not be moved outside the screen.
Problem: Two finger resizing can move the image outside the screen. Solution: The pinch gesture is accepted only if originated with the midpoint inside the image.
Problem: The image can be resized so small, it is not possible to magnify it. Solution: We can not let the user resize the image without the midsection being outside the image, so we imeplement a lower limit for the scale factor.
Problem: Image can moved under the titlebar impossible to pick it up. Solution: (1) tap on the black area (2) move your finger onto the image to pick it up.
Problem: Portrait image editing is not as expected. Solution: We had to add a workaround code because the pinch gesture coordinate system is not the same as in the motion events. I added this point as a reminder to test the applet in portrait mode also.
WallpaperEditorWidget::WallpaperEditorWidget | ( | WallpaperBusinessLogic * | wallpaperBusinessLogic, | |
QGraphicsWidget * | parent = 0 | |||
) |
WallpaperEditorWidget constructor
wallpaperBusinessLogic | An WallpaperBusinessLogic instance | |
parent | The parent widget (if any) |
WallpaperEditorWidget::~WallpaperEditorWidget | ( | ) |
Destructor for WallpaperEditorWidget
bool WallpaperEditorWidget::back | ( | ) | [virtual] |
Re-implemented method for setting back the non-fullscreen window-state
void WallpaperEditorWidget::paint | ( | QPainter * | painter, | |
const QStyleOptionGraphicsItem * | option, | |||
QWidget * | widget = 0 | |||
) | [virtual] |
Paint method for WallpaperEditorWidget, used for drawing the edited image actual state
void WallpaperEditorWidget::polishEvent | ( | ) | [protected, virtual] |
This virtual method is executed when we already have an MApplicationPage as parent. We initialize the page here.