[Digikam-devel] extragear/graphics/digikam/utilities/imageeditor/editor
Gilles Caulier
caulier.gilles at gmail.com
Tue Jun 26 14:32:28 BST 2007
SVN commit 680529 by cgilles:
imagwindow.cpp ==> compile, but some part have been commented for that and need to be review later to be ported properlly.
Marcel, Laurent, feel free to take a look about KDE4PORT tags in source code to complete the job...
Note: now, just showfoto.cpp need to be ported to give the first part of digiKam available under KDE4. We will really test the code!
CCMAIL: digikam-devel at kde.org
CCMAIL: montel at kde.org
CCMAIL: marcel.wiesweg at gmx.de
M +63 -51 editorwindow.cpp
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #680528:680529
@@ -49,6 +49,7 @@
#include <QByteArray>
#include <QProgressBar>
#include <QWidgetAction>
+#include <QImageReader>
// KDE includes.
@@ -911,7 +912,7 @@
m_IOFileSettings->rawDecodingSettings.unclipColors = group.readEntry("UnclipColors", 0);
m_IOFileSettings->rawDecodingSettings.RAWQuality = (KDcrawIface::RawDecodingSettings::DecodingQuality)
group.readEntry("RAWQuality",
- KDcrawIface::RawDecodingSettings::BILINEAR);
+ (int)KDcrawIface::RawDecodingSettings::BILINEAR);
m_IOFileSettings->rawDecodingSettings.NRThreshold = group.readEntry("NRThreshold", 100);
m_IOFileSettings->rawDecodingSettings.brightness = group.readEntry("RAWBrightness", 1.0);
@@ -1255,6 +1256,8 @@
void EditorWindow::hideToolBars()
{
+#warning "TODO: kde4 port it";
+/*
Q3PtrListIterator<KToolBar> it = toolBarIterator();
KToolBar* bar;
@@ -1267,10 +1270,13 @@
else
bar->hide();
}
+*/
}
void EditorWindow::showToolBars()
{
+#warning "TODO: kde4 port it";
+/*
Q3PtrListIterator<KToolBar> it = toolBarIterator();
KToolBar* bar;
@@ -1283,6 +1289,7 @@
else
bar->show();
}
+*/
}
void EditorWindow::slotLoadingStarted(const QString& /*filename*/)
@@ -1360,7 +1367,7 @@
if (!m_savingContext->abortingSaving)
{
KMessageBox::error(this, i18n("Failed to save file\n\"%1\"\nto\n\"%2\".")
- .arg(m_savingContext->destinationURL.filename())
+ .arg(m_savingContext->destinationURL.fileName())
.arg(m_savingContext->destinationURL.path()));
}
finishSaving(false);
@@ -1401,7 +1408,7 @@
if (!m_savingContext->abortingSaving)
{
KMessageBox::error(this, i18n("Failed to save file\n\"%1\"\nto\n\"%2\".")
- .arg(m_savingContext->destinationURL.filename())
+ .arg(m_savingContext->destinationURL.fileName())
.arg(m_savingContext->destinationURL.path()));
}
finishSaving(false);
@@ -1475,11 +1482,12 @@
m_savingContext->abortingSaving = false;
m_savingContext->savingState = SavingContextContainer::SavingStateSave;
// use magic file extension which tells the digikamalbums ioslave to ignore the file
- m_savingContext->saveTempFile = new KTempFile(m_savingContext->srcURL.directory(false),
- ".digikamtempfile.tmp");
- m_savingContext->saveTempFile->setAutoDelete(true);
+ m_savingContext->saveTempFile = new KTemporaryFile();
+ m_savingContext->saveTempFile->setPrefix(m_savingContext->srcURL.directory(false));
+ m_savingContext->saveTempFile->setSuffix(".digikamtempfile.tmp");
+ m_savingContext->saveTempFile->setAutoRemove(true);
- m_canvas->saveAs(m_savingContext->saveTempFile->name(), m_IOFileSettings,
+ m_canvas->saveAs(m_savingContext->saveTempFile->fileName(), m_IOFileSettings,
m_setExifOrientationTag && (m_rotatedOrFlipped || m_canvas->exifRotated()));
}
@@ -1490,19 +1498,18 @@
QString mimetypes = KImageIO::mimeTypes(KImageIO::Writing).join(" ");
mimetypes.append(" image/tiff");
- DDebug () << "mimetypes=" << mimetypes << endl;
+ DDebug () << "mimetypes=" << mimetypes << endl;
m_savingContext->srcURL = url;
FileSaveOptionsBox *options = new FileSaveOptionsBox();
KFileDialog imageFileSaveDialog(m_savingContext->srcURL.isLocalFile() ?
- m_savingContext->srcURL.directory() : QDir::homePath(),
+ m_savingContext->srcURL : KUrl(QDir::homePath()),
QString(),
this,
- "imageFileSaveDialog",
- false,
options);
+ imageFileSaveDialog.setModal(false);
imageFileSaveDialog.setOperationMode(KFileDialog::Saving);
imageFileSaveDialog.setMode(KFile::File);
imageFileSaveDialog.setSelection(m_savingContext->srcURL.fileName());
@@ -1525,41 +1532,46 @@
options->applySettings();
applyStandardSettings();
- KUrl newURL = imageFileSaveDialog.selectedURL();
+ KUrl newURL = imageFileSaveDialog.selectedUrl();
// Check if target image format have been selected from Combo List of SaveAs dialog.
- m_savingContext->format = KImageIO::typeForMime(imageFileSaveDialog.currentMimeFilter());
+ // TODO: KDE4PORT: KImageIO::typeForMime return a StringList now.
+ // Check if we use 1st item of list is enough.
+ m_savingContext->format = KImageIO::typeForMime(imageFileSaveDialog.currentMimeFilter())[0];
+
if ( m_savingContext->format.isEmpty() )
{
// Else, check if target image format have been add to target image file name using extension.
QFileInfo fi(newURL.path());
- m_savingContext->format = fi.extension(false);
+ m_savingContext->format = fi.suffix();
if ( m_savingContext->format.isEmpty() )
{
// If format is empty then file format is same as that of the original file.
- m_savingContext->format = QImageIO::imageFormat(m_savingContext->srcURL.path());
+ m_savingContext->format = QImageReader::imageFormat(m_savingContext->srcURL.path());
}
else
{
// Else, check if format from file name extension is include on file mime type list.
QString imgExtPattern;
- QStringList imgExtList = QStringList::split(" ", mimetypes);
+ QStringList imgExtList = mimetypes.split(" ", QString::SkipEmptyParts);
for (QStringList::ConstIterator it = imgExtList.begin() ; it != imgExtList.end() ; ++it)
- {
- imgExtPattern.append (KImageIO::typeForMime(*it).toUpper());
+ {
+ // TODO: KDE4PORT: KImageIO::typeForMime return a StringList now.
+ // Check if we use 1st item of list is enough.
+ imgExtPattern.append (KImageIO::typeForMime(*it)[0].toUpper());
imgExtPattern.append (" ");
- }
+ }
imgExtPattern.append (" TIF TIFF");
if ( imgExtPattern.contains("JPEG") )
{
imgExtPattern.append (" JPG");
imgExtPattern.append (" JPE");
}
-
+
if ( !imgExtPattern.contains( m_savingContext->format.toUpper() ) )
{
KMessageBox::error(this, i18n("Target image file format \"%1\" unsupported.")
@@ -1573,7 +1585,7 @@
if (!newURL.isValid())
{
KMessageBox::error(this, i18n("Failed to save file\n\"%1\" to\n\"%2\".")
- .arg(newURL.filename())
+ .arg(newURL.fileName())
.arg(newURL.path().section('/', -2, -2)));
DWarning() << k_funcinfo << "target URL is not valid !" << endl;
return false;
@@ -1602,9 +1614,9 @@
KMessageBox::warningYesNo( this, i18n("A file named \"%1\" already "
"exists. Are you sure you want "
"to overwrite it?")
- .arg(newURL.filename()),
+ .arg(newURL.fileName()),
i18n("Overwrite File?"),
- i18n("Overwrite"),
+ KStandardGuiItem::overwrite(),
KStandardGuiItem::cancel() );
if (result != KMessageBox::Yes)
@@ -1619,14 +1631,17 @@
// Now do the actual saving -----------------------------------------------------
// use magic file extension which tells the digikamalbums ioslave to ignore the file
- m_savingContext->saveTempFile = new KTempFile(newURL.directory(false), ".digikamtempfile.tmp");
+
m_savingContext->destinationURL = newURL;
m_savingContext->originalFormat = m_canvas->currentImageFileFormat();
m_savingContext->savingState = SavingContextContainer::SavingStateSaveAs;
- m_savingContext->saveTempFile->setAutoDelete(true);
m_savingContext->abortingSaving = false;
+ m_savingContext->saveTempFile = new KTemporaryFile();
+ m_savingContext->saveTempFile->setPrefix(newURL.directory(false));
+ m_savingContext->saveTempFile->setSuffix(".digikamtempfile.tmp");
+ m_savingContext->saveTempFile->setAutoRemove(true);
- m_canvas->saveAs(m_savingContext->saveTempFile->name(), m_IOFileSettings,
+ m_canvas->saveAs(m_savingContext->saveTempFile->fileName(), m_IOFileSettings,
m_setExifOrientationTag && (m_rotatedOrFlipped || m_canvas->exifRotated()),
m_savingContext->format.toLower());
@@ -1648,9 +1663,9 @@
"for the file named \"%1\". "
"Are you sure you want "
"to overwrite it?")
- .arg(url.filename()),
+ .arg(url.fileName()),
i18n("Overwrite File?"),
- i18n("Overwrite"),
+ KStandardGuiItem::overwrite(),
KStandardGuiItem::cancel() );
if (result != KMessageBox::Yes)
@@ -1662,7 +1677,7 @@
bool EditorWindow::moveFile()
{
- Q3CString dstFileName = QFile::encodeName(m_savingContext->destinationURL.path());
+ QByteArray dstFileName = QFile::encodeName(m_savingContext->destinationURL.path());
// store old permissions
mode_t filePermissions = S_IREAD | S_IWRITE;
@@ -1676,7 +1691,7 @@
}
// rename tmp file to dest
- if (::rename(QFile::encodeName(m_savingContext->saveTempFile->name()), dstFileName) != 0)
+ if (::rename(QFile::encodeName(m_savingContext->saveTempFile->fileName()), dstFileName) != 0)
{
KMessageBox::error(this, i18n("Failed to overwrite original file"),
i18n("Error Saving File"));
@@ -1701,7 +1716,7 @@
d->viewCMViewAction->blockSignals(true);
bool cmv = false;
if (d->ICCSettings->enableCMSetting)
- {
+ {
cmv = !d->ICCSettings->managedViewSetting;
d->ICCSettings->managedViewSetting = cmv;
m_canvas->setICCSettings(d->ICCSettings);
@@ -1710,11 +1725,11 @@
// reason, no need to flush file, it cached in memory and will be flushed
// to disk at end of session.
KSharedConfig::Ptr config = KGlobal::config();
- config->setGroup("Color Management");
- config->writeEntry("ManagedView", cmv);
+ KConfigGroup group = config->group("Color Management");
+ group.writeEntry("ManagedView", cmv);
}
- d->cmViewIndicator->setOn(cmv);
+ d->cmViewIndicator->setChecked(cmv);
d->viewCMViewAction->setChecked(cmv);
setColorManagedViewIndicatorToolTip(d->ICCSettings->enableCMSetting, cmv);
d->cmViewIndicator->blockSignals(false);
@@ -1723,7 +1738,6 @@
void EditorWindow::setColorManagedViewIndicatorToolTip(bool available, bool cmv)
{
- QToolTip::remove(d->cmViewIndicator);
QString tooltip;
if (available)
{
@@ -1736,7 +1750,7 @@
{
tooltip = i18n("Color Management is not configured, so the Color Managed View is not available");
}
- d->cmViewIndicator->setToolTip( tooltip);
+ d->cmViewIndicator->setToolTip(tooltip);
}
void EditorWindow::slotToggleUnderExposureIndicator()
@@ -1744,7 +1758,7 @@
d->underExposureIndicator->blockSignals(true);
d->viewUnderExpoAction->blockSignals(true);
bool uei = !d->exposureSettings->underExposureIndicator;
- d->underExposureIndicator->setOn(uei);
+ d->underExposureIndicator->setChecked(uei);
d->viewUnderExpoAction->setChecked(uei);
d->exposureSettings->underExposureIndicator = uei;
m_canvas->setExposureSettings(d->exposureSettings);
@@ -1755,7 +1769,6 @@
void EditorWindow::setUnderExposureToolTip(bool uei)
{
- QToolTip::remove(d->underExposureIndicator);
d->underExposureIndicator->setToolTip(
uei ? i18n("Under-Exposure indicator is enabled")
: i18n("Under-Exposure indicator is disabled"));
@@ -1766,7 +1779,7 @@
d->overExposureIndicator->blockSignals(true);
d->viewOverExpoAction->blockSignals(true);
bool oei = !d->exposureSettings->overExposureIndicator;
- d->overExposureIndicator->setOn(oei);
+ d->overExposureIndicator->setChecked(oei);
d->viewOverExpoAction->setChecked(oei);
d->exposureSettings->overExposureIndicator = oei;
m_canvas->setExposureSettings(d->exposureSettings);
@@ -1777,7 +1790,6 @@
void EditorWindow::setOverExposureToolTip(bool oei)
{
- QToolTip::remove(d->overExposureIndicator);
d->overExposureIndicator->setToolTip(
oei ? i18n("Over-Exposure indicator is enabled")
: i18n("Over-Exposure indicator is disabled"));
@@ -1785,24 +1797,24 @@
void EditorWindow::slotDonateMoney()
{
- KApplication::kApplication()->invokeBrowser("http://www.digikam.org/?q=donation");
+ KToolInvocation::invokeBrowser("http://www.digikam.org/?q=donation");
}
void EditorWindow::slotToggleSlideShow()
{
KSharedConfig::Ptr config = KGlobal::config();
- config->setGroup("ImageViewer Settings");
- bool startWithCurrent = config->readBoolEntry("SlideShowStartCurrent", false);
+ KConfigGroup group = config->group("ImageViewer Settings");
+ bool startWithCurrent = group.readEntry("SlideShowStartCurrent", false);
SlideShowSettings settings;
- settings.delay = config->readNumEntry("SlideShowDelay", 5) * 1000;
- settings.printName = config->readBoolEntry("SlideShowPrintName", true);
- settings.printDate = config->readBoolEntry("SlideShowPrintDate", false);
- settings.printApertureFocal = config->readBoolEntry("SlideShowPrintApertureFocal", false);
- settings.printExpoSensitivity = config->readBoolEntry("SlideShowPrintExpoSensitivity", false);
- settings.printMakeModel = config->readBoolEntry("SlideShowPrintMakeModel", false);
- settings.printComment = config->readBoolEntry("SlideShowPrintComment", false);
- settings.loop = config->readBoolEntry("SlideShowLoop", false);
+ settings.delay = group.readEntry("SlideShowDelay", 5) * 1000;
+ settings.printName = group.readEntry("SlideShowPrintName", true);
+ settings.printDate = group.readEntry("SlideShowPrintDate", false);
+ settings.printApertureFocal = group.readEntry("SlideShowPrintApertureFocal", false);
+ settings.printExpoSensitivity = group.readEntry("SlideShowPrintExpoSensitivity", false);
+ settings.printMakeModel = group.readEntry("SlideShowPrintMakeModel", false);
+ settings.printComment = group.readEntry("SlideShowPrintComment", false);
+ settings.loop = group.readEntry("SlideShowLoop", false);
slideShow(startWithCurrent, settings);
}
More information about the Digikam-devel
mailing list