SVN commit 683198 by cgilles:
digikam from trunk (KDE4) : complete KDE4 port of Perspective image plugin. CCMAIL: [hidden email] M +12 -15 CMakeLists.txt M +51 -50 imageeffect_perspective.cpp M +1 -3 imageeffect_perspective.h M +3 -2 imageplugin_perspective.cpp M +1 -2 imageplugin_perspective.h M +0 -1 matrix.cpp M +17 -20 perspectivewidget.cpp M +8 -9 perspectivewidget.h M +1 -1 triangle.h --- trunk/extragear/graphics/digikam/imageplugins/perspective/CMakeLists.txt #683197:683198 @@ -1,22 +1,19 @@ -include_directories( ${CMAKE_SOURCE_DIR}/digikam/utilities/imageeditor/editor ${CMAKE_SOURCE_DIR}/digikam/utilities/imageeditor/canvas ${CMAKE_SOURCE_DIR}/digikam/libs/histogram ${CMAKE_SOURCE_DIR}/digikam/libs/levels ${CMAKE_SOURCE_DIR}/digikam/libs/curves ${CMAKE_SOURCE_DIR}/digikam/libs/whitebalance ${CMAKE_SOURCE_DIR}/digikam/libs/widgets/common ${CMAKE_SOURCE_DIR}/digikam/libs/widgets/iccprofiles ${CMAKE_SOURCE_DIR}/digikam/libs/widgets/imageplugins ${CMAKE_SOURCE_DIR}/digikam/libs/dialogs ${CMAKE_SOURCE_DIR}/digikam/libs/dimg ${CMAKE_SOURCE_DIR}/digikam/libs/dmetadata ${CMAKE_SOURCE_DIR}/digikam/libs/dimg/filters ${CMAKE_SOURCE_DIR}/digikam/digikam ) +SET(digikamimageplugin_perspective_PART_SRCS imageplugin_perspective.cpp + imageeffect_perspective.cpp + perspectivewidget.cpp + triangle.cpp + matrix.cpp + ) +KDE4_AUTOMOC(${digikamimageplugin_perspective_PART_SRCS}) -########### next target ############### +KDE4_ADD_PLUGIN(digikamimageplugin_perspective ${digikamimageplugin_perspective_PART_SRCS}) -set(digikamimageplugin_perspective_PART_SRCS imageplugin_perspective.cpp imageeffect_perspective.cpp perspectivewidget.cpp triangle.cpp matrix.cpp ) +TARGET_LINK_LIBRARIES(digikamimageplugin_perspective digikam) -kde4_automoc(${digikamimageplugin_perspective_PART_SRCS}) +INSTALL(TARGETS digikamimageplugin_perspective DESTINATION ${PLUGIN_INSTALL_DIR}) -kde4_add_plugin(digikamimageplugin_perspective ${digikamimageplugin_perspective_PART_SRCS}) +INSTALL(FILES digikamimageplugin_perspective_ui.rc DESTINATION ${DATA_INSTALL_DIR}/digikam) +INSTALL(FILES digikamimageplugin_perspective.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -target_link_libraries(digikamimageplugin_perspective digikam ) - -install(TARGETS digikamimageplugin_perspective DESTINATION ${PLUGIN_INSTALL_DIR} ) - - -########### install files ############### - -install( FILES digikamimageplugin_perspective_ui.rc DESTINATION ${DATA_INSTALL_DIR}/digikam ) -install( FILES digikamimageplugin_perspective.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - --- trunk/extragear/graphics/digikam/imageplugins/perspective/imageeffect_perspective.cpp #683197:683198 @@ -24,18 +24,15 @@ // Qt includes. -#include <q3vgroupbox.h> -#include <qlabel.h> -#include <qspinbox.h> -#include <qpushbutton.h> +#include <QGroupBox> +#include <QLabel> +#include <QSpinBox> +#include <QPushButton> +#include <QFrame> +#include <QCheckBox> +#include <QGridLayout> +#include <QVBoxLayout> -#include <qlayout.h> -#include <q3frame.h> -#include <qcheckbox.h> -//Added by qt3to4: -#include <Q3GridLayout> -#include <Q3VBoxLayout> - // KDE includes. #include <kcolorbutton.h> @@ -92,16 +89,17 @@ // ------------------------------------------------------------- - QWidget * plain = new QWidget(this); - setMainWidget(plain); - QFrame *frame = new Q3Frame(plain); - frame->setFrameStyle(Q3Frame::Panel|Q3Frame::Sunken); - Q3VBoxLayout* l = new Q3VBoxLayout(frame, 5, 0); + QFrame *frame = new QFrame(mainWidget()); + frame->setFrameStyle(QFrame::Panel|QFrame::Sunken); + QVBoxLayout* l = new QVBoxLayout(frame); m_previewWidget = new PerspectiveWidget(525, 350, frame); + m_previewWidget->setWhatsThis( i18n("<p>This is the perspective transformation operation preview. " + "You can use the mouse for dragging the corner to adjust the " + "perspective transformation area.")); + + l->setMargin(5); + l->setSpacing(0); l->addWidget(m_previewWidget); - m_previewWidget->setWhatsThis( i18n("<p>This is the perspective transformation operation preview. " - "You can use the mouse for dragging the corner to adjust the " - "perspective transformation area.")); setPreviewAreaWidget(frame); // ------------------------------------------------------------- @@ -109,8 +107,8 @@ QString temp; Digikam::ImageIface iface(0, 0); - QWidget *gbox2 = new QWidget(plain); - Q3GridLayout *gridLayout = new Q3GridLayout( gbox2, 13, 2, spacingHint()); + QWidget *gbox2 = new QWidget(mainWidget()); + QGridLayout *gridLayout = new QGridLayout(gbox2); QLabel *label1 = new QLabel(i18n("New width:"), gbox2); m_newWidthLabel = new QLabel(temp.setNum( iface.originalWidth()) + i18n(" px"), gbox2); @@ -120,11 +118,6 @@ m_newHeightLabel = new QLabel(temp.setNum( iface.originalHeight()) + i18n(" px"), gbox2); m_newHeightLabel->setAlignment( Qt::AlignBottom | Qt::AlignRight ); - gridLayout->addMultiCellWidget(label1, 0, 0, 0, 0); - gridLayout->addMultiCellWidget(m_newWidthLabel, 0, 0, 1, 2); - gridLayout->addMultiCellWidget(label2, 1, 1, 0, 0); - gridLayout->addMultiCellWidget(m_newHeightLabel, 1, 1, 1, 2); - // ------------------------------------------------------------- KSeparator *line = new KSeparator (Qt::Horizontal, gbox2); @@ -139,6 +132,33 @@ QLabel *label6 = new QLabel(i18n(" Bottom right:"), gbox2); m_bottomRightAngleLabel = new QLabel(gbox2); + // ------------------------------------------------------------- + + KSeparator *line2 = new KSeparator (Qt::Horizontal, gbox2); + m_drawWhileMovingCheckBox = new QCheckBox(i18n("Draw preview while moving"), gbox2); + m_drawGridCheckBox = new QCheckBox(i18n("Draw grid"), gbox2); + + // ------------------------------------------------------------- + + QLabel *label7 = new QLabel(i18n("Guide color:"), gbox2); + m_guideColorBt = new KColorButton( QColor( Qt::red ), gbox2 ); + m_guideColorBt->setWhatsThis( i18n("<p>Set here the color used to draw guides dashed-lines.")); + + QLabel *space = new QLabel(gbox2); + space->setFixedHeight(spacingHint()); + + QLabel *label8 = new QLabel(i18n("Guide width:"), gbox2); + m_guideSize = new QSpinBox(gbox2); + m_guideSize->setRange(1, 5); + m_guideSize->setSingleStep(1); + m_guideSize->setWhatsThis( i18n("<p>Set here the width in pixels used to draw guides dashed-lines.")); + + gridLayout->setMargin(spacingHint()); + gridLayout->setSpacing(0); + gridLayout->addMultiCellWidget(label1, 0, 0, 0, 0); + gridLayout->addMultiCellWidget(m_newWidthLabel, 0, 0, 1, 2); + gridLayout->addMultiCellWidget(label2, 1, 1, 0, 0); + gridLayout->addMultiCellWidget(m_newHeightLabel, 1, 1, 1, 2); gridLayout->addMultiCellWidget(line, 2, 2, 0, 2); gridLayout->addMultiCellWidget(angleLabel, 3, 3, 0, 2); gridLayout->addMultiCellWidget(label3, 4, 4, 0, 0); @@ -149,35 +169,17 @@ gridLayout->addMultiCellWidget(m_bottomLeftAngleLabel, 6, 6, 1, 2); gridLayout->addMultiCellWidget(label6, 7, 7, 0, 0); gridLayout->addMultiCellWidget(m_bottomRightAngleLabel, 7, 7, 1, 2); - - // ------------------------------------------------------------- - - KSeparator *line2 = new KSeparator (Qt::Horizontal, gbox2); - - m_drawWhileMovingCheckBox = new QCheckBox(i18n("Draw preview while moving"), gbox2); gridLayout->addMultiCellWidget(line2, 8, 8, 0, 2); gridLayout->addMultiCellWidget(m_drawWhileMovingCheckBox, 9, 9, 0, 2); - - m_drawGridCheckBox = new QCheckBox(i18n("Draw grid"), gbox2); gridLayout->addMultiCellWidget(m_drawGridCheckBox, 10, 10, 0, 2); - - // ------------------------------------------------------------- - - QLabel *label7 = new QLabel(i18n("Guide color:"), gbox2); - m_guideColorBt = new KColorButton( QColor( Qt::red ), gbox2 ); - m_guideColorBt->setWhatsThis( i18n("<p>Set here the color used to draw guides dashed-lines.")); gridLayout->addMultiCellWidget(label7, 11, 11, 0, 0); gridLayout->addMultiCellWidget(m_guideColorBt, 11, 11, 2, 2); + gridLayout->addMultiCellWidget(space, 12, 12, 0, 2); + gridLayout->addMultiCellWidget(label8, 13, 13, 0, 0); + gridLayout->addMultiCellWidget(m_guideSize, 13, 13, 2, 2); + gridLayout->setColumnStretch(1, 10); + gridLayout->setRowStretch(14, 10); - QLabel *label8 = new QLabel(i18n("Guide width:"), gbox2); - m_guideSize = new QSpinBox( 1, 5, 1, gbox2); - m_guideSize->setWhatsThis( i18n("<p>Set here the width in pixels used to draw guides dashed-lines.")); - gridLayout->addMultiCellWidget(label8, 12, 12, 0, 0); - gridLayout->addMultiCellWidget(m_guideSize, 12, 12, 2, 2); - - gridLayout->setColStretch(1, 10); - gridLayout->setRowStretch(13, 10); - setUserAreaWidget(gbox2); // ------------------------------------------------------------- @@ -255,4 +257,3 @@ } } // NameSpace DigikamPerspectiveImagesPlugin - --- trunk/extragear/graphics/digikam/imageplugins/perspective/imageeffect_perspective.h #683197:683198 @@ -26,9 +26,7 @@ // Qt includes. -#include <qrect.h> -//Added by qt3to4: -#include <QLabel> +#include <QRect> // Digikam includes. --- trunk/extragear/graphics/digikam/imageplugins/perspective/imageplugin_perspective.cpp #683197:683198 @@ -45,7 +45,9 @@ { m_perspectiveAction = new KAction(KIcon("perspective"), i18n("Perspective Adjustment..."), this); actionCollection()->addAction("imageplugin_perspective", m_perspectiveAction ); - connect(m_perspectiveAction, SIGNAL(triggered(bool) ), SLOT(slotPerspective())); + + connect(m_perspectiveAction, SIGNAL(triggered(bool)), + this, SLOT(slotPerspective())); setXMLFile("digikamimageplugin_perspective_ui.rc"); @@ -66,4 +68,3 @@ DigikamPerspectiveImagesPlugin::ImageEffect_Perspective dlg(parentWidget()); dlg.exec(); } - --- trunk/extragear/graphics/digikam/imageplugins/perspective/imageplugin_perspective.h #683197:683198 @@ -37,8 +37,7 @@ public: - ImagePlugin_Perspective(QObject *parent, - const QStringList &args); + ImagePlugin_Perspective(QObject *parent, const QStringList &args); ~ImagePlugin_Perspective(); void setEnabledActions(bool enable); --- trunk/extragear/graphics/digikam/imageplugins/perspective/matrix.cpp #683197:683198 @@ -26,7 +26,6 @@ * * ============================================================ */ - // C++ includes. #include <cstring> --- trunk/extragear/graphics/digikam/imageplugins/perspective/perspectivewidget.cpp #683197:683198 @@ -25,7 +25,6 @@ * * ============================================================ */ - // C++ includes. #include <cstdio> @@ -34,14 +33,12 @@ // Qt includes. -#include <qregion.h> -#include <qpainter.h> -#include <qpen.h> -#include <qbrush.h> -#include <qpixmap.h> -#include <qimage.h> -#include <q3pointarray.h> -//Added by qt3to4: +#include <QRegion> +#include <QPainter> +#include <QPen> +#include <QBrush> +#include <QPixmap> +#include <QImage> #include <QResizeEvent> #include <QMouseEvent> #include <QPaintEvent> @@ -66,8 +63,9 @@ { PerspectiveWidget::PerspectiveWidget(int w, int h, QWidget *parent) - : QWidget(parent, 0, Qt::WDestructiveClose) + : QWidget(parent) { + setAttribute(Qt::WA_DeleteOnClose); setBackgroundMode(Qt::NoBackground); setMinimumSize(w, h); setMouseTracking(true); @@ -185,7 +183,7 @@ m_antiAlias = true; updatePixmap(); - repaint(false); + repaint(); } void PerspectiveWidget::applyPerspectiveAdjustment(void) @@ -215,7 +213,7 @@ { m_antiAlias = a; updatePixmap(); - repaint(false); + repaint(); } void PerspectiveWidget::slotToggleDrawWhileMoving(bool draw) @@ -227,21 +225,21 @@ { m_drawGrid = grid; updatePixmap(); - repaint(false); + repaint(); } void PerspectiveWidget::slotChangeGuideColor(const QColor &color) { m_guideColor = color; updatePixmap(); - repaint(false); + repaint(); } void PerspectiveWidget::slotChangeGuideSize(int size) { m_guideSize = size; updatePixmap(); - repaint(false); + repaint(); } void PerspectiveWidget::updatePixmap(void) @@ -587,7 +585,7 @@ int u = iu - u1; int v = iv - v1; - //TODO: Check why antialiasing shows no effect + //TODO: Check why antialiasing doesn't work /*if (m_antiAlias) { if (sixteenBit) @@ -710,7 +708,7 @@ if (!m_drawWhileMoving) { updatePixmap(); - repaint(false); + repaint(); } } else @@ -718,7 +716,7 @@ m_spot.setX(e->x()-m_rect.x()); m_spot.setY(e->y()-m_rect.y()); updatePixmap(); - repaint(false); + repaint(); } } @@ -823,7 +821,7 @@ } updatePixmap(); - repaint(false); + repaint(); } } else @@ -841,4 +839,3 @@ } } // NameSpace DigikamPerspectiveImagesPlugin - --- trunk/extragear/graphics/digikam/imageplugins/perspective/perspectivewidget.h #683197:683198 @@ -27,12 +27,11 @@ // Qt includes. -#include <qwidget.h> -#include <qpoint.h> -#include <q3pointarray.h> -#include <qcolor.h> -#include <qrect.h> -//Added by qt3to4: +#include <QWidget> +#include <QPoint> +#include <Q3PointArray> +#include <QColor> +#include <QRect> #include <QPixmap> #include <QResizeEvent> #include <QMouseEvent> @@ -92,8 +91,8 @@ signals: - void signalPerspectiveChanged( QRect newSize, float topLeftAngle, float topRightAngle, - float bottomLeftAngle, float bottomRightAngle ); + void signalPerspectiveChanged(QRect newSize, float topLeftAngle, float topRightAngle, + float bottomLeftAngle, float bottomRightAngle); protected: @@ -163,7 +162,7 @@ QColor m_guideColor; // 60 points will be stored to compute a grid of 15x15 lines. - Q3PointArray m_grid; + Q3PointArray m_grid; QPixmap *m_pixmap; --- trunk/extragear/graphics/digikam/imageplugins/perspective/triangle.h #683197:683198 @@ -26,7 +26,7 @@ // Qt includes. -#include <qpoint.h> +#include <QPoint> namespace DigikamPerspectiveImagesPlugin { _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |