SVN commit 683505 by cgilles:
digikam from trunk : complete KDE4 port of ColorFx image plugin CCMAIL: [hidden email] M +9 -18 CMakeLists.txt M +76 -81 imageeffect_colorfx.cpp M +2 -4 imageeffect_colorfx.h M +3 -2 imageplugin_colorfx.cpp --- trunk/extragear/graphics/digikam/imageplugins/colorfx/CMakeLists.txt #683504:683505 @@ -1,24 +1,15 @@ -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_colorfx_PART_SRCS imageplugin_colorfx.cpp + imageeffect_colorfx.cpp + ) +KDE4_AUTOMOC(${digikamimageplugin_colorfx_PART_SRCS}) -########### next target ############### +KDE4_ADD_PLUGIN(digikamimageplugin_colorfx ${digikamimageplugin_colorfx_PART_SRCS}) -set(digikamimageplugin_colorfx_PART_SRCS imageplugin_colorfx.cpp imageeffect_colorfx.cpp ) +TARGET_LINK_LIBRARIES(digikamimageplugin_colorfx digikam) +INSTALL(TARGETS digikamimageplugin_colorfx DESTINATION ${PLUGIN_INSTALL_DIR}) -kde4_automoc(${digikamimageplugin_colorfx_PART_SRCS}) - -kde4_add_plugin(digikamimageplugin_colorfx ${digikamimageplugin_colorfx_PART_SRCS}) - -target_link_libraries(digikamimageplugin_colorfx digikam ) - -install(TARGETS digikamimageplugin_colorfx DESTINATION ${PLUGIN_INSTALL_DIR} ) - - -########### install files ############### - -install( FILES digikamimageplugin_colorfx_ui.rc DESTINATION ${DATA_INSTALL_DIR}/digikam ) -install( FILES digikamimageplugin_colorfx.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - - +INSTALL(FILES digikamimageplugin_colorfx_ui.rc DESTINATION ${DATA_INSTALL_DIR}/digikam) +INSTALL(FILES digikamimageplugin_colorfx.desktop DESTINATION ${SERVICES_INSTALL_DIR}) --- trunk/extragear/graphics/digikam/imageplugins/colorfx/imageeffect_colorfx.cpp #683504:683505 @@ -25,20 +25,14 @@ // Qt includes. -#include <q3vgroupbox.h> -#include <q3hgroupbox.h> -#include <Q3HButtonGroup> -#include <qcombobox.h> -#include <qlabel.h> -#include <qpushbutton.h> - -#include <qlayout.h> -#include <q3frame.h> - -#include <qtooltip.h> -//Added by qt3to4: -#include <Q3HBoxLayout> -#include <Q3GridLayout> +#include <QGroupBox> +#include <QButtonGroup> +#include <QComboBox> +#include <QLabel> +#include <QPushButton> +#include <QFrame> +#include <QHBoxLayout> +#include <QGridLayout> #include <QPixmap> // KDE includes. @@ -110,107 +104,108 @@ // ------------------------------------------------------------- - QWidget *gboxSettings = new QWidget(widget); - Q3GridLayout* gridSettings = new Q3GridLayout( gboxSettings, 9, 4, spacingHint()); + QWidget *gboxSettings = new QWidget(mainWidget()); + QGridLayout* gridSettings = new QGridLayout(gboxSettings); QLabel *label1 = new QLabel(i18n("Channel:"), gboxSettings); - label1->setAlignment ( Qt::AlignRight | Qt::AlignVCenter ); - m_channelCB = new QComboBox( false, gboxSettings ); - m_channelCB->insertItem( i18n("Luminosity") ); - m_channelCB->insertItem( i18n("Red") ); - m_channelCB->insertItem( i18n("Green") ); - m_channelCB->insertItem( i18n("Blue") ); + label1->setAlignment( Qt::AlignRight | Qt::AlignVCenter ); + m_channelCB = new QComboBox( gboxSettings ); + m_channelCB->addItem( i18n("Luminosity") ); + m_channelCB->addItem( i18n("Red") ); + m_channelCB->addItem( i18n("Green") ); + m_channelCB->addItem( i18n("Blue") ); m_channelCB->setWhatsThis( i18n("<p>Select here the histogram channel to display:<p>" - "<b>Luminosity</b>: display the image's luminosity values.<p>" - "<b>Red</b>: display the red image-channel values.<p>" - "<b>Green</b>: display the green image-channel values.<p>" - "<b>Blue</b>: display the blue image-channel values.<p>")); + "<b>Luminosity</b>: display the image's luminosity values.<p>" + "<b>Red</b>: display the red image-channel values.<p>" + "<b>Green</b>: display the green image-channel values.<p>" + "<b>Blue</b>: display the blue image-channel values.<p>")); - m_scaleBG = new Q3HButtonGroup(gboxSettings); - m_scaleBG->setExclusive(true); - //m_scaleBG->setFrameShape(QFrame::NoFrame); - m_scaleBG->setInsideMargin( 0 ); - m_scaleBG->setWhatsThis( i18n("<p>Select here the histogram scale.<p>" - "If the image's maximal counts are small, you can use the linear scale.<p>" - "Logarithmic scale can be used when the maximal counts are big; " - "if it is used, all values (small and large) will be visible on the graph.")); + QWidget *scaleBox = new QWidget(gboxSettings); + QHBoxLayout *hlay = new QHBoxLayout(scaleBox); + m_scaleBG = new QButtonGroup(scaleBox); + scaleBox->setWhatsThis( i18n("<p>Select here the histogram scale.<p>" + "If the image's maximal counts are small, you can use the linear scale.<p>" + "Logarithmic scale can be used when the maximal counts are big; " + "if it is used, all values (small and large) will be visible on the graph.")); - QPushButton *linHistoButton = new QPushButton( m_scaleBG ); + QPushButton *linHistoButton = new QPushButton( scaleBox ); linHistoButton->setToolTip( i18n( "<p>Linear" ) ); - m_scaleBG->insert(linHistoButton, Digikam::HistogramWidget::LinScaleHistogram); - KGlobal::dirs()->addResourceType("histogram-lin", KGlobal::dirs()->kde_default("data") + "digikam/data"); - QString directory = KGlobal::dirs()->findResourceDir("histogram-lin", "histogram-lin.png"); - linHistoButton->setPixmap( QPixmap( directory + "histogram-lin.png" ) ); - linHistoButton->setToggleButton(true); + linHistoButton->setIcon(QPixmap(KStandardDirs::locate("data", "digikam/data/histogram-lin.png"))); + linHistoButton->setCheckable(true); + m_scaleBG->addButton(linHistoButton, Digikam::HistogramWidget::LinScaleHistogram); - QPushButton *logHistoButton = new QPushButton( m_scaleBG ); + QPushButton *logHistoButton = new QPushButton( scaleBox ); logHistoButton->setToolTip( i18n( "<p>Logarithmic" ) ); - m_scaleBG->insert(logHistoButton, Digikam::HistogramWidget::LogScaleHistogram); - KGlobal::dirs()->addResourceType("histogram-log", KGlobal::dirs()->kde_default("data") + "digikam/data"); - directory = KGlobal::dirs()->findResourceDir("histogram-log", "histogram-log.png"); - logHistoButton->setPixmap( QPixmap( directory + "histogram-log.png" ) ); - logHistoButton->setToggleButton(true); + logHistoButton->setIcon(QPixmap(KStandardDirs::locate("data", "digikam/data/histogram-log.png"))); + logHistoButton->setCheckable(true); + m_scaleBG->addButton(logHistoButton, Digikam::HistogramWidget::LogScaleHistogram); + + hlay->setMargin(0); + hlay->setSpacing(0); + hlay->addWidget(linHistoButton); + hlay->addWidget(logHistoButton); - Q3HBoxLayout* l1 = new Q3HBoxLayout(); + m_scaleBG->setExclusive(true); + logHistoButton->setChecked(true); + + QHBoxLayout* l1 = new QHBoxLayout(); l1->addWidget(label1); l1->addWidget(m_channelCB); l1->addStretch(10); - l1->addWidget(m_scaleBG); + l1->addWidget(scaleBox); - gridSettings->addMultiCellLayout(l1, 0, 0, 0, 4); - // ------------------------------------------------------------- KVBox *histoBox = new KVBox(gboxSettings); m_histogramWidget = new Digikam::HistogramWidget(256, 140, histoBox, false, true, true); m_histogramWidget->setWhatsThis( i18n("<p>Here you can see the target preview image histogram drawing " - "of the selected image channel. This one is re-computed at any " - "settings changes.")); + "of the selected image channel. This one is re-computed at any " + "settings changes.")); QLabel *space = new QLabel(histoBox); space->setFixedHeight(1); m_hGradient = new Digikam::ColorGradientWidget( Digikam::ColorGradientWidget::Horizontal, 10, histoBox ); m_hGradient->setColors( QColor( "black" ), QColor( "white" ) ); - gridSettings->addMultiCellWidget(histoBox, 1, 2, 0, 4); - // ------------------------------------------------------------- m_effectTypeLabel = new QLabel(i18n("Type:"), gboxSettings); - m_effectType = new QComboBox( false, gboxSettings ); - m_effectType->insertItem( i18n("Solarize") ); - m_effectType->insertItem( i18n("Vivid") ); - m_effectType->insertItem( i18n("Neon") ); - m_effectType->insertItem( i18n("Find Edges") ); + m_effectType = new QComboBox( gboxSettings ); + m_effectType->addItem( i18n("Solarize") ); + m_effectType->addItem( i18n("Vivid") ); + m_effectType->addItem( i18n("Neon") ); + m_effectType->addItem( i18n("Find Edges") ); m_effectType->setWhatsThis( i18n("<p>Select here the effect type to apply on the image.<p>" - "<b>Solarize</b>: simulates solarization of photograph.<p>" - "<b>Vivid</b>: simulates the Velvia(tm) slide film colors.<p>" - "<b>Neon</b>: coloring the edges in a photograph to " - "reproduce a fluorescent light effect.<p>" - "<b>Find Edges</b>: detects the edges in a photograph " - "and their strength." - )); - gridSettings->addMultiCellWidget(m_effectTypeLabel, 3, 3, 0, 4); - gridSettings->addMultiCellWidget(m_effectType, 4, 4, 0, 4); + "<b>Solarize</b>: simulates solarization of photograph.<p>" + "<b>Vivid</b>: simulates the Velvia(tm) slide film colors.<p>" + "<b>Neon</b>: coloring the edges in a photograph to " + "reproduce a fluorescent light effect.<p>" + "<b>Find Edges</b>: detects the edges in a photograph " + "and their strength.")); m_levelLabel = new QLabel(i18n("Level:"), gboxSettings); m_levelInput = new KIntNumInput(gboxSettings); m_levelInput->setRange(0, 100, 1, true); m_levelInput->setWhatsThis( i18n("<p>Set here the level of the effect.")); - gridSettings->addMultiCellWidget(m_levelLabel, 5, 5, 0, 4); - gridSettings->addMultiCellWidget(m_levelInput, 6, 6, 0, 4); - m_iterationLabel = new QLabel(i18n("Iteration:"), gboxSettings); m_iterationInput = new KIntNumInput(gboxSettings); m_iterationInput->setRange(0, 100, 1, true); m_iterationInput->setWhatsThis( i18n("<p>This value controls the number of iterations " - "to use with Neon and Find Edges effects.")); + "to use with Neon and Find Edges effects.")); + gridSettings->addMultiCellLayout(l1, 0, 0, 0, 4); + gridSettings->addMultiCellWidget(histoBox, 1, 2, 0, 4); + gridSettings->addMultiCellWidget(m_effectTypeLabel, 3, 3, 0, 4); + gridSettings->addMultiCellWidget(m_effectType, 4, 4, 0, 4); + gridSettings->addMultiCellWidget(m_levelLabel, 5, 5, 0, 4); + gridSettings->addMultiCellWidget(m_levelInput, 6, 6, 0, 4); gridSettings->addMultiCellWidget(m_iterationLabel, 7, 7, 0, 4); gridSettings->addMultiCellWidget(m_iterationInput, 8, 8, 0, 4); - gridSettings->setRowStretch(9, 10); + gridSettings->setMargin(spacingHint()); + gridSettings->setSpacing(0); + setUserAreaWidget(gboxSettings); // ------------------------------------------------------------- @@ -218,7 +213,7 @@ connect(m_channelCB, SIGNAL(activated(int)), this, SLOT(slotChannelChanged(int))); - connect(m_scaleBG, SIGNAL(released(int)), + connect(m_scaleBG, SIGNAL(buttonReleased(int)), this, SLOT(slotScaleChanged(int))); connect(m_previewWidget, SIGNAL(spotPositionChangedFromTarget( const Digikam::DColor &, const QPoint & )), @@ -251,17 +246,17 @@ { KSharedConfig::Ptr config = KGlobal::config(); KConfigGroup group = config->group("coloreffect Tool Dialog"); - m_effectType->setCurrentItem(group.readEntry("EffectType", (int)ColorFX)); + m_effectType->setCurrentIndex(group.readEntry("EffectType", (int)ColorFX)); m_levelInput->setValue(group.readEntry("LevelAjustment", 0)); m_iterationInput->setValue(group.readEntry("IterationAjustment", 3)); - slotEffectTypeChanged(m_effectType->currentItem()); //check for enable/disable of iteration + slotEffectTypeChanged(m_effectType->currentIndex()); //check for enable/disable of iteration } void ImageEffect_ColorFX::writeUserSettings() { KSharedConfig::Ptr config = KGlobal::config(); KConfigGroup group = config->group("coloreffect Tool Dialog"); - group.writeEntry("EffectType", m_effectType->currentItem()); + group.writeEntry("EffectType", m_effectType->currentIndex()); group.writeEntry("LevelAjustment", m_levelInput->value()); group.writeEntry("IterationAjustment", m_iterationInput->value()); group.sync(); @@ -297,13 +292,13 @@ break; } - m_histogramWidget->repaint(false); + m_histogramWidget->repaint(); } void ImageEffect_ColorFX::slotScaleChanged(int scale) { m_histogramWidget->m_scaleType = scale; - m_histogramWidget->repaint(false); + m_histogramWidget->repaint(); } void ImageEffect_ColorFX::slotColorSelectedFromTarget( const Digikam::DColor &color ) @@ -395,7 +390,7 @@ colorEffect(data, w, h, sb); QString name; - switch (m_effectType->currentItem()) + switch (m_effectType->currentIndex()) { case ColorFX: name = i18n("ColorFX"); @@ -424,7 +419,7 @@ void ImageEffect_ColorFX::colorEffect(uchar *data, int w, int h, bool sb) { - switch (m_effectType->currentItem()) + switch (m_effectType->currentIndex()) { case ColorFX: solarize(m_levelInput->value(), data, w, h, sb); --- trunk/extragear/graphics/digikam/imageplugins/colorfx/imageeffect_colorfx.h #683504:683505 @@ -29,10 +29,8 @@ // Digikam includes. #include "imagedlgbase.h" -//Added by qt3to4: -#include <QLabel> -class Q3HButtonGroup; +class QButtonGroup; class QComboBox; class QLabel; @@ -111,7 +109,7 @@ QComboBox *m_channelCB; QComboBox *m_effectType; - Q3HButtonGroup *m_scaleBG; + QButtonGroup *m_scaleBG; QLabel *m_effectTypeLabel; QLabel *m_levelLabel; --- trunk/extragear/graphics/digikam/imageplugins/colorfx/imageplugin_colorfx.cpp #683504:683505 @@ -47,7 +47,9 @@ { m_solarizeAction = new KAction(KIcon("colorfx"), i18n("Color Effects..."), this); actionCollection()->addAction("imageplugin_colorfx", m_solarizeAction ); - connect(m_solarizeAction, SIGNAL(triggered(bool) ), SLOT(slotColorFX())); + + connect(m_solarizeAction, SIGNAL(triggered(bool) ), + this, SLOT(slotColorFX())); setXMLFile( "digikamimageplugin_colorfx_ui.rc" ); @@ -68,4 +70,3 @@ DigikamColorFXImagesPlugin::ImageEffect_ColorFX dlg(parentWidget()); dlg.exec(); } - _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |