[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/krita/ui
From: Cyrille Berger <cyb () lepi ! org>
Date: 2007-07-31 22:38:07
Message-ID: 1185921487.920255.14250.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 694858 by berger:
fix saving png file to a file
M +23 -22 kis_png_converter.cpp
--- trunk/koffice/krita/ui/kis_png_converter.cpp #694857:694858
@@ -188,10 +188,10 @@
KisImageBuilder_Result KisPNGConverter::buildImage(QIODevice* iod)
{
- kDebug(41008) <<"Start decoding PNG File";
+ kDebug(41008) << "Start decoding PNG File" << endl;
if(not iod->open(QIODevice::ReadOnly))
{
- kDebug(41008) <<"Failed to open PNG File";
+ kDebug(41008) << "Failed to open PNG File" << endl;
return (KisImageBuilder_RESULT_FAILURE);
}
@@ -283,24 +283,24 @@
profile = new KoIccColorProfile(profile_rawdata);
Q_CHECK_PTR(profile);
if (profile) {
-// kDebug(41008) <<"profile name:" << profile->productName() <<" \
profile description:" << profile->productDescription() <<" information sur le \
produit:" << profile->productInfo(); +// kDebug(41008) << "profile \
name: " << profile->productName() << " profile description: " << \
profile->productDescription() << " information sur le produit: " << \
profile->productInfo() << endl; if(!profile->isSuitableForOutput())
{
- kDebug(41008) <<"the profile is not suitable for output and \
therefore cannot be used in krita, we need to convert the image to a standard \
profile"; // TODO: in ko2 popup a selection menu to inform the user + \
kDebug(41008) << "the profile is not suitable for output and therefore cannot be used \
in krita, we need to convert the image to a standard profile" << endl; // TODO: in \
ko2 popup a selection menu to inform the user }
}
} else {
- kDebug(41008) <<"Profile isn't ICC, skiped.";
+ kDebug(41008) << "Profile isn't ICC, skiped." << endl;
}
} else {
- kDebug(41008) <<"no embedded profile, will use the default profile";
+ kDebug(41008) << "no embedded profile, will use the default profile" << \
endl; }
// Retrieve a pointer to the colorspace
KoColorSpace* cs;
if (profile && profile->isSuitableForOutput())
{
- kDebug(41008) <<"image has embedded profile:" << profile -> name() <<"";
+ kDebug(41008) << "image has embedded profile: " << profile -> name() << \
"\n";
cs = KoColorSpaceRegistry::instance()->colorSpace(csName, profile);
}
else
@@ -330,10 +330,10 @@
if(m_doc)
{
KoDocumentInfo * info = m_doc->documentInfo();
- kDebug(41008) <<"There are" << num_comments <<" comments in the text";
+ kDebug(41008) << "There are " << num_comments << " comments in the text" << \
endl; for(int i = 0; i < num_comments; i++)
{
- kDebug(41008) <<"key is" << text_ptr[i].key <<" containing" << \
text_ptr[i].text; + kDebug(41008) << "key is " << text_ptr[i].key << " \
containing " << text_ptr[i].text << endl; if(QString::compare(text_ptr[i].key, \
"title") == 0) {
info->setAboutInfo("title", text_ptr[i].text);
@@ -358,7 +358,7 @@
{
// new png_byte[] may raise such an exception if the image
// is invalid / to large.
- kDebug(41008) <<"bad alloc:" << e.what();
+ kDebug(41008) << "bad alloc: " << e.what() << endl;
// Free only the already allocated png_byte instances.
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
return (KisImageBuilder_RESULT_FAILURE);
@@ -494,7 +494,7 @@
KisImageBuilder_Result KisPNGConverter::buildImage(const KUrl& uri)
{
- kDebug(41008) << QFile::encodeName(uri.path()) <<"" << uri.path() <<"" << uri;
+ kDebug(41008) << QFile::encodeName(uri.path()) << " " << uri.path() << " " << \
uri << endl; if (uri.isEmpty())
return KisImageBuilder_RESULT_NO_URI;
@@ -511,7 +511,7 @@
uriTF.setPath( tmpFile );
// open the file
- kDebug(41008) << QFile::encodeName(uriTF.path()) <<"" << uriTF.path() <<"" \
<< uriTF; + kDebug(41008) << QFile::encodeName(uriTF.path()) << " " << \
uriTF.path() << " " << uriTF << endl; QFile *fp = new \
QFile(QFile::encodeName(uriTF.path()) ); if (fp->exists())
{
@@ -535,15 +535,17 @@
KisImageBuilder_Result KisPNGConverter::buildFile(const KUrl& uri, KisImageSP img, \
KisPaintDeviceSP device, vKisAnnotationSP_it annotationsStart, vKisAnnotationSP_it \
annotationsEnd, int compression, bool interlace, bool alpha) {
- kDebug(41008) <<"Start writing PNG File";
+ kDebug(41008) << "Start writing PNG File " << uri << endl;
if (uri.isEmpty())
return KisImageBuilder_RESULT_NO_URI;
if (!uri.isLocalFile())
return KisImageBuilder_RESULT_NOT_LOCAL;
// Open a QIODevice for writting
- QFile *fp = new QFile(QFile::encodeName(uri.path()) );
- return buildFile(fp, img, device, annotationsStart, annotationsEnd, compression, \
interlace, alpha); + QFile *fp = new QFile( QFile::encodeName(uri.path()) );
+ KisImageBuilder_Result result = buildFile(fp, img, device, annotationsStart, \
annotationsEnd, compression, interlace, alpha); + delete fp;
+ return result;
// TODO: if failure do KIO::del(uri); // async
}
@@ -552,7 +554,7 @@
{
if(not iodevice->open(QIODevice::WriteOnly))
{
- kDebug(41008) <<"Failed to open PNG File for writting";
+ kDebug(41008) << "Failed to open PNG File for writting" << endl;
return (KisImageBuilder_RESULT_FAILURE);
}
@@ -651,7 +653,7 @@
}
if(!toomuchcolor)
{
- kDebug(41008) <<"Found a palette of" << num_palette <<" colors";
+ kDebug(41008) << "Found a palette of " << num_palette << " colors" << \
endl; color_type = PNG_COLOR_TYPE_PALETTE;
if( num_palette <= 2)
{
@@ -689,16 +691,16 @@
vKisAnnotationSP_it it = annotationsStart;
while(it != annotationsEnd) {
if (!(*it) || (*it) -> type() == QString()) {
- kDebug(41008) <<"Warning: empty annotation";
+ kDebug(41008) << "Warning: empty annotation" << endl;
++it;
continue;
}
- kDebug(41008) <<"Trying to store annotation of type" << (*it) -> type() <<" \
of size" << (*it) -> annotation() . size(); + kDebug(41008) << "Trying to \
store annotation of type " << (*it) -> type() << " of size " << (*it) -> annotation() \
. size() << endl;
if ((*it) -> type().startsWith("krita_attribute:")) { // Attribute
// FIXME: it should be possible to save krita_attributes in the "CHUNKs"
- kDebug(41008) <<"can't save this annotation :" << (*it) -> type();
+ kDebug(41008) << "can't save this annotation : " << (*it) -> type() << \
endl; } else { // Profile
char* name = new char[(*it)->type().length()+1];
strcpy(name, (*it)->type().toAscii());
@@ -749,7 +751,6 @@
// Fill the data structure
png_byte** row_pointers= new png_byte*[height];
-
for (int y = 0; y < height; y++) {
KisHLineConstIterator it = device->createHLineConstIterator(0, y, width);
row_pointers[y] = new png_byte[width*device->pixelSize()];
@@ -844,7 +845,7 @@
{
delete [] palette;
}
-
+ iodevice->close();
return KisImageBuilder_RESULT_OK;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic