parent
a513a89beb
commit
d56d039d95
@ -0,0 +1,27 @@
|
|||||||
|
--- kexi/kexidb/drivers/sqlite/sqlitecursor.cpp 2006/10/26 19:25:03 599352
|
||||||
|
+++ kexi/kexidb/drivers/sqlite/sqlitecursor.cpp 2007/10/01 19:29:39 719720
|
||||||
|
@@ -324,19 +324,21 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
//debug
|
||||||
|
-/*
|
||||||
|
- if (m_result == FetchOK && d->curr_coldata) {
|
||||||
|
+/* if (((int)m_result == (int)FetchOK) && d->curr_coldata) {
|
||||||
|
for (uint i=0;i<m_fieldCount;i++) {
|
||||||
|
KexiDBDrvDbg<<"col."<< i<<": "<< d->curr_colname[i]<<" "<< d->curr_colname[m_fieldCount+i]
|
||||||
|
<< " = " << (d->curr_coldata[i] ? TQString::fromLocal8Bit(d->curr_coldata[i]) : "(NULL)") <<endl;
|
||||||
|
}
|
||||||
|
-// KexiDBDrvDbg << "SQLiteCursor::drv_getNextRecord(): "<<m_fieldCount<<" col(s) fetched"<<endl;
|
||||||
|
+ KexiDBDrvDbg << "SQLiteCursor::drv_getNextRecord(): "<<m_fieldCount<<" col(s) fetched"<<endl;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
void SQLiteCursor::drv_appendCurrentRecordToBuffer()
|
||||||
|
{
|
||||||
|
// KexiDBDrvDbg << "SQLiteCursor::drv_appendCurrentRecordToBuffer():" <<endl;
|
||||||
|
+ if (!d->curr_coldata)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
if (!d->cols_pointers_mem_size)
|
||||||
|
d->cols_pointers_mem_size = m_fieldCount * sizeof(char*);
|
||||||
|
const char **record = (const char**)malloc(d->cols_pointers_mem_size);
|
@ -0,0 +1,22 @@
|
|||||||
|
--- kexi/migration/pqxx/pqxxmigrate.cpp 2006/12/17 21:08:15 614463
|
||||||
|
+++ kexi/migration/pqxx/pqxxmigrate.cpp 2008/04/30 09:54:43 802697
|
||||||
|
@@ -538,10 +538,18 @@
|
||||||
|
int index = 0;
|
||||||
|
for ( i = R.begin(); i != end; ++i, index++) {
|
||||||
|
if (fieldsExpanded.at(index)->field->type()==KexiDB::Field::BLOB || fieldsExpanded.at(index)->field->type()==KexiDB::Field::LongText)
|
||||||
|
+ {
|
||||||
|
vals.append( KexiDB::pgsqlByteaToByteArray((*i).c_str(), (*i).size()) );
|
||||||
|
- else
|
||||||
|
+ }
|
||||||
|
+ else if (fieldsExpanded.at(index)->field->type()==KexiDB::Field::Boolean )
|
||||||
|
+ {
|
||||||
|
+ vals.append(QString((*i).c_str()).lower() == "t" ? QVariant(true, 1) : QVariant(false, 1));
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
vals.append( KexiDB::cstringToVariant((*i).c_str(),
|
||||||
|
fieldsExpanded.at(index)->field, (*i).size()) );
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
if (!destConn->insertRecord(*dstTable, vals))
|
||||||
|
return false;
|
@ -0,0 +1,23 @@
|
|||||||
|
--- kexi/kexidb/drivers/pqxx/pqxxcursor.cpp 2007/10/25 14:56:36 729302
|
||||||
|
+++ kexi/kexidb/drivers/pqxx/pqxxcursor.cpp 2008/04/30 09:54:43 802697
|
||||||
|
@@ -236,12 +236,20 @@
|
||||||
|
{
|
||||||
|
return (*m_res)[at()][pos].as(double());
|
||||||
|
}
|
||||||
|
+ else if (f->type() == Field::Boolean )
|
||||||
|
+ {
|
||||||
|
+ return QString((*m_res)[at()][pos].c_str()).lower() == "t" ? QVariant(true, 1) : QVariant(false, 1);
|
||||||
|
+ }
|
||||||
|
else if (f->typeGroup() == Field::BLOBGroup)
|
||||||
|
{
|
||||||
|
// pqxx::result::field r = (*m_res)[at()][pos];
|
||||||
|
// kdDebug() << r.name() << ", " << r.c_str() << ", " << r.type() << ", " << r.size() << endl;
|
||||||
|
return ::pgsqlByteaToByteArray((*m_res)[at()][pos]);
|
||||||
|
}
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ return pgsqlCStrToVariant((*m_res)[at()][pos]);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
else // We probably have a raw type query so use pqxx to determin the column type
|
||||||
|
{
|
@ -0,0 +1,21 @@
|
|||||||
|
Index: kexi/kexidb/expression.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexidb/expression.cpp (revision 742153)
|
||||||
|
+++ kexi/kexidb/expression.cpp (working copy)
|
||||||
|
@@ -400,14 +400,10 @@
|
||||||
|
if (ltInt && rtInt)
|
||||||
|
return KexiDB::maximumForIntegerTypes(lt, rt);
|
||||||
|
|
||||||
|
- if (Field::isFPNumericType(lt) && rtInt)
|
||||||
|
+ if (Field::isFPNumericType(lt) && (rtInt || lt==rt))
|
||||||
|
return lt;
|
||||||
|
- if (Field::isFPNumericType(rt) && ltInt)
|
||||||
|
+ if (Field::isFPNumericType(rt) && (ltInt || lt==rt))
|
||||||
|
return rt;
|
||||||
|
- if ((lt==Field::Double || lt==Field::Float) && rtInt)
|
||||||
|
- return lt;
|
||||||
|
- if ((rt==Field::Double || rt==Field::Float) && ltInt)
|
||||||
|
- return rt;
|
||||||
|
|
||||||
|
return Field::Boolean;
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
Index: kexi/kexiutils/utils.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexiutils/utils.cpp (revision 716273)
|
||||||
|
+++ kexi/kexiutils/utils.cpp (working copy)
|
||||||
|
@@ -57,7 +57,7 @@
|
||||||
|
TQApplication::restoreOverrideCursor();
|
||||||
|
}
|
||||||
|
void DelayedCursorHandler::show() {
|
||||||
|
- TQApplication::setOverrideCursor( KCursor::waitCursor() );
|
||||||
|
+ TQApplication::setOverrideCursor( KCursor::waitCursor(), true/*replace*/ );
|
||||||
|
}
|
||||||
|
|
||||||
|
DelayedCursorHandler _delayedCursorHandler;
|
||||||
|
@@ -89,7 +89,8 @@
|
||||||
|
|
||||||
|
WaitCursorRemover::~WaitCursorRemover()
|
||||||
|
{
|
||||||
|
- _delayedCursorHandler.start(true);
|
||||||
|
+ if (m_reactivateCursor)
|
||||||
|
+ _delayedCursorHandler.start(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
@ -0,0 +1,16 @@
|
|||||||
|
Index: kexi/migration/mysql/mysqlmigrate.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/migration/mysql/mysqlmigrate.cpp (revision 714726)
|
||||||
|
+++ kexi/migration/mysql/mysqlmigrate.cpp (working copy)
|
||||||
|
@@ -420,9 +420,9 @@
|
||||||
|
if(mysqlType.contains("blob", false) != 0) {
|
||||||
|
// Doesn't matter how big it is, it's binary
|
||||||
|
kexiType = KexiDB::Field::BLOB;
|
||||||
|
- } else if(mysqlType.contains("text", false) != 0) {
|
||||||
|
+/* } else if(mysqlType.contains("text", false) != 0) {
|
||||||
|
// All the TEXT types are too big for Kexi text.
|
||||||
|
- kexiType = KexiDB::Field::BLOB;
|
||||||
|
+ kexiType = KexiDB::Field::BLOB;*/
|
||||||
|
} else if(fld->length < 200) {
|
||||||
|
kexiType = KexiDB::Field::Text;
|
||||||
|
} else {
|
@ -0,0 +1,258 @@
|
|||||||
|
Index: kexi/plugins/forms/kexidataprovider.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/plugins/forms/kexidataprovider.cpp (revision 688747)
|
||||||
|
+++ kexi/plugins/forms/kexidataprovider.cpp (revision 688748)
|
||||||
|
@@ -153,7 +153,7 @@
|
||||||
|
count = it_dup.data();
|
||||||
|
tmpDuplicatedItems.insert( it.current()->columnInfo()->field, ++count );
|
||||||
|
}
|
||||||
|
- m_duplicatedItems = new TQPtrDict<char>(101);
|
||||||
|
+ m_duplicatedItems = new TQPtrDict<char>(1009);
|
||||||
|
for (it_dup = tmpDuplicatedItems.begin(); it_dup!=tmpDuplicatedItems.end(); ++it_dup) {
|
||||||
|
if (it_dup.data() > 1) {
|
||||||
|
m_duplicatedItems->insert( it_dup.key(), (char*)1 );
|
||||||
|
@@ -260,7 +260,7 @@
|
||||||
|
// m_fieldNumbersForDataItems = newFieldNumbersForDataItems;
|
||||||
|
|
||||||
|
//update data sources set (some of them may be removed)
|
||||||
|
- TQDict<char> tmpUsedDataSources(1013);
|
||||||
|
+ TQDict<char> tmpUsedDataSources(1009);
|
||||||
|
|
||||||
|
if (query)
|
||||||
|
query->debug();
|
||||||
|
Index: kexi/plugins/tables/kexitabledesignerview.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/plugins/tables/kexitabledesignerview.cpp (revision 688747)
|
||||||
|
+++ kexi/plugins/tables/kexitabledesignerview.cpp (revision 688748)
|
||||||
|
@@ -1262,7 +1262,7 @@
|
||||||
|
KoProperty::Set *b = 0;
|
||||||
|
bool no_fields = true;
|
||||||
|
int i;
|
||||||
|
- TQDict<char> names(101, false);
|
||||||
|
+ TQDict<char> names(1009, false);
|
||||||
|
char dummy;
|
||||||
|
for (i=0;i<(int)d->sets->size();i++) {
|
||||||
|
b = d->sets->at(i);
|
||||||
|
Index: kexi/plugins/queries/kexiquerydesignerguieditor.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/plugins/queries/kexiquerydesignerguieditor.cpp (revision 688747)
|
||||||
|
+++ kexi/plugins/queries/kexiquerydesignerguieditor.cpp (revision 688748)
|
||||||
|
@@ -77,7 +77,7 @@
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Private()
|
||||||
|
- : fieldColumnIdentifiers(101, false/*case insens.*/)
|
||||||
|
+ : fieldColumnIdentifiers(1009, false/*case insens.*/)
|
||||||
|
{
|
||||||
|
droppedNewItem = 0;
|
||||||
|
slotTableAdded_enabled = true;
|
||||||
|
@@ -809,7 +809,7 @@
|
||||||
|
//2. Collect information about criterias
|
||||||
|
// --this must be top level chain of AND's
|
||||||
|
// --this will also show joins as: [table1.]field1 = [table2.]field2
|
||||||
|
- TQDict<KexiDB::BaseExpr> criterias(101, false);
|
||||||
|
+ TQDict<KexiDB::BaseExpr> criterias(1009, false);
|
||||||
|
KexiDB::BaseExpr* e = query->whereExpression();
|
||||||
|
KexiDB::BaseExpr* eItem = 0;
|
||||||
|
while (e) {
|
||||||
|
@@ -877,7 +877,7 @@
|
||||||
|
//3. show fields (including * and table.*)
|
||||||
|
uint row_num = 0;
|
||||||
|
KexiDB::Field *field;
|
||||||
|
- TQPtrDict<char> usedCriterias(101); // <-- used criterias will be saved here
|
||||||
|
+ TQPtrDict<char> usedCriterias(1009); // <-- used criterias will be saved here
|
||||||
|
// so in step 4. we will be able to add
|
||||||
|
// remaining invisible columns with criterias
|
||||||
|
for (KexiDB::Field::ListIterator it(*query->fields());
|
||||||
|
@@ -1270,7 +1270,7 @@
|
||||||
|
const TQCString expStr
|
||||||
|
= i18n("short for 'expression' word (only latin letters, please)", "expr").latin1();
|
||||||
|
//TODO: optimization: cache it?
|
||||||
|
- TQAsciiDict<char> aliases(101);
|
||||||
|
+ TQAsciiDict<char> aliases(1009);
|
||||||
|
for (int r = 0; r<(int)d->sets->size(); r++) {
|
||||||
|
KoProperty::Set *set = d->sets->at(r);
|
||||||
|
if (set) {
|
||||||
|
Index: kexi/widget/tableview/kexidataawarepropertyset.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/widget/tableview/kexidataawarepropertyset.cpp (revision 688747)
|
||||||
|
+++ kexi/widget/tableview/kexidataawarepropertyset.cpp (revision 688748)
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
#include <koproperty/property.h>
|
||||||
|
#include <kexiviewbase.h>
|
||||||
|
|
||||||
|
-#define MAX_FIELDS 101 //nice prime number (default prop. set vector size)
|
||||||
|
+#define MAX_FIELDS 1009 //nice prime number (default prop. set vector size)
|
||||||
|
|
||||||
|
KexiDataAwarePropertySet::KexiDataAwarePropertySet(KexiViewBase *view,
|
||||||
|
KexiDataAwareObjectInterface* dataObject)
|
||||||
|
Index: kexi/widget/utils/kexisharedactionclient.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/widget/utils/kexisharedactionclient.cpp (revision 688747)
|
||||||
|
+++ kexi/widget/utils/kexisharedactionclient.cpp (revision 688748)
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#include <kaction.h>
|
||||||
|
|
||||||
|
KexiSharedActionClient::KexiSharedActionClient()
|
||||||
|
- : m_sharedActions(101, false)
|
||||||
|
+ : m_sharedActions(1009, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Index: kexi/main/keximainwindowimpl.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/main/keximainwindowimpl.cpp (revision 688747)
|
||||||
|
+++ kexi/main/keximainwindowimpl.cpp (revision 688748)
|
||||||
|
@@ -4203,8 +4203,10 @@
|
||||||
|
data = new KexiProjectData(*d->prj->data()); // a copy
|
||||||
|
drv = d->prj->dbConnection()->driver();
|
||||||
|
const tristate res = closeProject();
|
||||||
|
- if (~res || !res)
|
||||||
|
+ if (~res || !res) {
|
||||||
|
+ delete data;
|
||||||
|
return;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!drv->adminTools().vacuum(*data->connectionData(), data->databaseName())) {
|
||||||
|
@@ -4212,10 +4214,9 @@
|
||||||
|
showErrorMessage( &drv->adminTools() );
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (data && projectWasOpened) {
|
||||||
|
+ if (projectWasOpened)
|
||||||
|
openProject(*data);
|
||||||
|
- delete data;
|
||||||
|
- }
|
||||||
|
+ delete data;
|
||||||
|
}
|
||||||
|
|
||||||
|
tristate KexiMainWindowImpl::showProjectMigrationWizard(
|
||||||
|
Index: kexi/core/kexidbconnectionset.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/core/kexidbconnectionset.cpp (revision 688747)
|
||||||
|
+++ kexi/core/kexidbconnectionset.cpp (revision 688748)
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
KexiDBConnectionSetPrivate()
|
||||||
|
- : dataForFilenames(101)
|
||||||
|
+ : dataForFilenames(1009)
|
||||||
|
{
|
||||||
|
list.setAutoDelete(true);
|
||||||
|
maxid=-1;
|
||||||
|
Index: kexi/migration/keximigrate.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/migration/keximigrate.cpp (revision 688747)
|
||||||
|
+++ kexi/migration/keximigrate.cpp (revision 688748)
|
||||||
|
@@ -491,7 +491,6 @@
|
||||||
|
// Prompt the user to choose a field type
|
||||||
|
KexiDB::Field::Type KexiMigrate::userType(const TQString& fname)
|
||||||
|
{
|
||||||
|
- KInputDialog *dlg;
|
||||||
|
TQStringList types;
|
||||||
|
TQString res;
|
||||||
|
|
||||||
|
@@ -509,7 +508,7 @@
|
||||||
|
types << "Long Text";
|
||||||
|
types << "Binary Large Object";
|
||||||
|
|
||||||
|
- res = dlg->getItem( i18n("Field Type"),
|
||||||
|
+ res = KInputDialog::getItem( i18n("Field Type"),
|
||||||
|
i18n("The data type for %1 could not be determined. "
|
||||||
|
"Please select one of the following data "
|
||||||
|
"types").tqarg(fname),
|
||||||
|
Index: kexi/kexidb/connection.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexidb/connection.cpp (revision 688747)
|
||||||
|
+++ kexi/kexidb/connection.cpp (revision 688748)
|
||||||
|
@@ -83,10 +83,10 @@
|
||||||
|
ConnectionPrivate(Connection* const conn, ConnectionData &conn_data)
|
||||||
|
: conn(conn)
|
||||||
|
, conn_data(&conn_data)
|
||||||
|
- , tableSchemaChangeListeners(101)
|
||||||
|
+ , tableSchemaChangeListeners(1009)
|
||||||
|
, m_parser(0)
|
||||||
|
- , tables_byname(101, false)
|
||||||
|
- , queries_byname(101, false)
|
||||||
|
+ , tables_byname(1009, false)
|
||||||
|
+ , queries_byname(1009, false)
|
||||||
|
, kexiDBSystemTables(101)
|
||||||
|
, dont_remove_transactions(false)
|
||||||
|
, skip_databaseExists_check_in_useDatabase(false)
|
||||||
|
@@ -104,8 +104,8 @@
|
||||||
|
queries_byname.setAutoDelete(false);//queries is owner, not me
|
||||||
|
|
||||||
|
//reasonable sizes: TODO
|
||||||
|
- tables.resize(101);
|
||||||
|
- queries.resize(101);
|
||||||
|
+ tables.resize(1009);
|
||||||
|
+ queries.resize(1009);
|
||||||
|
}
|
||||||
|
~ConnectionPrivate()
|
||||||
|
{
|
||||||
|
Index: kexi/kexidb/fieldvalidator.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexidb/fieldvalidator.cpp (revision 688747)
|
||||||
|
+++ kexi/kexidb/fieldvalidator.cpp (revision 688748)
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
if (field.isIntegerType()) {
|
||||||
|
TQValidator *validator = 0;
|
||||||
|
const bool u = field.isUnsigned();
|
||||||
|
- int bottom, top;
|
||||||
|
+ int bottom = 0, top = 0;
|
||||||
|
if (t==Field::Byte) {
|
||||||
|
bottom = u ? 0 : -0x80;
|
||||||
|
top = u ? 0xff : 0x7f;
|
||||||
|
Index: kexi/kexidb/alter.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexidb/alter.cpp (revision 688747)
|
||||||
|
+++ kexi/kexidb/alter.cpp (revision 688748)
|
||||||
|
@@ -223,7 +223,7 @@
|
||||||
|
static AlterTableHandler::ActionDict* createActionDict(
|
||||||
|
AlterTableHandler::ActionDictDict &fieldActions, int forFieldUID )
|
||||||
|
{
|
||||||
|
- AlterTableHandler::ActionDict* dict = new AlterTableHandler::ActionDict(101, false);
|
||||||
|
+ AlterTableHandler::ActionDict* dict = new AlterTableHandler::ActionDict(1009, false);
|
||||||
|
dict->setAutoDelete(true);
|
||||||
|
fieldActions.insert( forFieldUID, dict );
|
||||||
|
return dict;
|
||||||
|
Index: kexi/kexidb/queryschema.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexidb/queryschema.cpp (revision 688747)
|
||||||
|
+++ kexi/kexidb/queryschema.cpp (revision 688748)
|
||||||
|
@@ -1439,7 +1439,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
//remove duplicates for lookup fields
|
||||||
|
- TQDict<uint> lookup_dict(101); //used to fight duplicates and to update QueryColumnInfo::indexForVisibleLookupValue()
|
||||||
|
+ TQDict<uint> lookup_dict(1009); //used to fight duplicates and to update QueryColumnInfo::indexForVisibleLookupValue()
|
||||||
|
// (a mapping from table.name string to uint* lookupFieldIndex
|
||||||
|
lookup_dict.setAutoDelete(true);
|
||||||
|
i=0;
|
||||||
|
Index: kexi/kexidb/fieldlist.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/kexidb/fieldlist.cpp (revision 688747)
|
||||||
|
+++ kexi/kexidb/fieldlist.cpp (revision 688748)
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
|
||||||
|
FieldList::FieldList(bool owner)
|
||||||
|
//reasonable sizes: TODO
|
||||||
|
- : m_fields_by_name(101, false)
|
||||||
|
+ : m_fields_by_name(1009, false)
|
||||||
|
{
|
||||||
|
m_fields.setAutoDelete( owner );
|
||||||
|
m_fields_by_name.setAutoDelete( false );
|
||||||
|
Index: kexi/formeditor/widgetlibrary.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kexi/formeditor/widgetlibrary.cpp (revision 688747)
|
||||||
|
+++ kexi/formeditor/widgetlibrary.cpp (revision 688748)
|
||||||
|
@@ -55,7 +55,7 @@
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WidgetLibraryPrivate()
|
||||||
|
- : widgets(101)
|
||||||
|
+ : widgets(1009)
|
||||||
|
// , alternateWidgets(101)
|
||||||
|
, services(101, false)
|
||||||
|
, supportedFactoryGroups(17, false)
|
@ -0,0 +1,129 @@
|
|||||||
|
diff --git a/filters/chalk/gmagick/kis_image_magick_converter.cc b/filters/chalk/gmagick/kis_image_magick_converter.cc
|
||||||
|
index 5bce37b..eea8000 100644
|
||||||
|
--- a/filters/chalk/gmagick/kis_image_magick_converter.cc
|
||||||
|
+++ b/filters/chalk/gmagick/kis_image_magick_converter.cc
|
||||||
|
@@ -182,6 +182,7 @@ namespace {
|
||||||
|
|
||||||
|
image -> addAnnotation(annotation);
|
||||||
|
}
|
||||||
|
+#if 0
|
||||||
|
for(int i = 0; i < src->generic_profiles; i++)
|
||||||
|
{
|
||||||
|
TQByteArray rawdata;
|
||||||
|
@@ -193,6 +194,7 @@ namespace {
|
||||||
|
|
||||||
|
image -> addAnnotation(annotation);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
const ImageAttribute* imgAttr = GetImageAttribute(src, NULL);
|
||||||
|
while(imgAttr)
|
||||||
|
@@ -480,7 +482,7 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
TQ_UINT8 opacity = OPACITY_OPAQUE;
|
||||||
|
const ImageAttribute * attr = GetImageAttribute(image, "[layer-opacity]");
|
||||||
|
if (attr != 0) {
|
||||||
|
- opacity = TQ_UINT8_MAX - Downscale(TQString(attr->value).toInt());
|
||||||
|
+ opacity = TQ_UINT8_MAX - ScaleQuantumToChar(TQString(attr->value).toInt());
|
||||||
|
}
|
||||||
|
|
||||||
|
KisPaintLayerSP layer = 0;
|
||||||
|
@@ -534,17 +536,17 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
while (!hiter.isDone())
|
||||||
|
{
|
||||||
|
TQ_UINT8 *ptr= hiter.rawData();
|
||||||
|
- *(ptr++) = Downscale(pp->red); // cyan
|
||||||
|
- *(ptr++) = Downscale(pp->green); // magenta
|
||||||
|
- *(ptr++) = Downscale(pp->blue); // yellow
|
||||||
|
- *(ptr++) = Downscale(indexes[x]); // Black
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->red); // cyan
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->green); // magenta
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->blue); // yellow
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(indexes[x]); // Black
|
||||||
|
// XXX: Warning! This ifdef messes up the paren matching big-time!
|
||||||
|
#ifdef HAVE_MAGICK6
|
||||||
|
if (image->matte != MagickFalse) {
|
||||||
|
#else
|
||||||
|
if (image->matte == true) {
|
||||||
|
#endif
|
||||||
|
- *(ptr++) = OPACITY_OPAQUE - Downscale(pp->opacity);
|
||||||
|
+ *(ptr++) = OPACITY_OPAQUE - ScaleQuantumToChar(pp->opacity);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*(ptr++) = OPACITY_OPAQUE;
|
||||||
|
@@ -578,10 +580,10 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
{
|
||||||
|
TQ_UINT8 *ptr= hiter.rawData();
|
||||||
|
// XXX: not colorstrategy and bitdepth independent
|
||||||
|
- *(ptr++) = Downscale(pp->blue);
|
||||||
|
- *(ptr++) = Downscale(pp->green);
|
||||||
|
- *(ptr++) = Downscale(pp->red);
|
||||||
|
- *(ptr++) = OPACITY_OPAQUE - Downscale(pp->opacity);
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->blue);
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->green);
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->red);
|
||||||
|
+ *(ptr++) = OPACITY_OPAQUE - ScaleQuantumToChar(pp->opacity);
|
||||||
|
|
||||||
|
pp++;
|
||||||
|
++hiter;
|
||||||
|
@@ -608,8 +610,8 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
{
|
||||||
|
TQ_UINT8 *ptr= hiter.rawData();
|
||||||
|
// XXX: not colorstrategy and bitdepth independent
|
||||||
|
- *(ptr++) = Downscale(pp->blue);
|
||||||
|
- *(ptr++) = OPACITY_OPAQUE - Downscale(pp->opacity);
|
||||||
|
+ *(ptr++) = ScaleQuantumToChar(pp->blue);
|
||||||
|
+ *(ptr++) = OPACITY_OPAQUE - ScaleQuantumToChar(pp->opacity);
|
||||||
|
|
||||||
|
pp++;
|
||||||
|
++hiter;
|
||||||
|
@@ -812,13 +814,12 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
while (!it.isDone()) {
|
||||||
|
|
||||||
|
TQ_UINT8 * d = it.rawData();
|
||||||
|
- pp -> red = Upscale(d[PIXEL_CYAN]);
|
||||||
|
- pp -> green = Upscale(d[PIXEL_MAGENTA]);
|
||||||
|
- pp -> blue = Upscale(d[PIXEL_YELLOW]);
|
||||||
|
+ pp -> red = ScaleCharToQuantum(d[PIXEL_CYAN]);
|
||||||
|
+ pp -> green = ScaleCharToQuantum(d[PIXEL_MAGENTA]);
|
||||||
|
+ pp -> blue = ScaleCharToQuantum(d[PIXEL_YELLOW]);
|
||||||
|
if (alpha)
|
||||||
|
- pp -> opacity = Upscale(OPACITY_OPAQUE - d[PIXEL_CMYK_ALPHA]);
|
||||||
|
-
|
||||||
|
- indexes[x]= Upscale(d[PIXEL_BLACK]);
|
||||||
|
+ pp -> opacity = ScaleCharToQuantum(OPACITY_OPAQUE - d[PIXEL_CMYK_ALPHA]);
|
||||||
|
+ indexes[x]= ScaleCharToQuantum(d[PIXEL_BLACK]);
|
||||||
|
|
||||||
|
x++;
|
||||||
|
pp++;
|
||||||
|
@@ -848,11 +849,11 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
while (!it.isDone()) {
|
||||||
|
|
||||||
|
TQ_UINT8 * d = it.rawData();
|
||||||
|
- pp -> red = Upscale(d[PIXEL_RED]);
|
||||||
|
- pp -> green = Upscale(d[PIXEL_GREEN]);
|
||||||
|
- pp -> blue = Upscale(d[PIXEL_BLUE]);
|
||||||
|
+ pp -> red = ScaleCharToQuantum(d[PIXEL_RED]);
|
||||||
|
+ pp -> green = ScaleCharToQuantum(d[PIXEL_GREEN]);
|
||||||
|
+ pp -> blue = ScaleCharToQuantum(d[PIXEL_BLUE]);
|
||||||
|
if (alpha)
|
||||||
|
- pp -> opacity = Upscale(OPACITY_OPAQUE - d[PIXEL_ALPHA]);
|
||||||
|
+ pp -> opacity = ScaleCharToQuantum(OPACITY_OPAQUE - d[PIXEL_ALPHA]);
|
||||||
|
|
||||||
|
pp++;
|
||||||
|
++it;
|
||||||
|
@@ -879,11 +880,11 @@ KisImageBuilder_Result KisImageMagickConverter::decode(const KURL& uri, bool isB
|
||||||
|
else {
|
||||||
|
while (!it.isDone()) {
|
||||||
|
TQ_UINT8 * d = it.rawData();
|
||||||
|
- pp -> red = Upscale(d[PIXEL_GRAY]);
|
||||||
|
- pp -> green = Upscale(d[PIXEL_GRAY]);
|
||||||
|
- pp -> blue = Upscale(d[PIXEL_GRAY]);
|
||||||
|
+ pp -> red = ScaleCharToQuantum(d[PIXEL_GRAY]);
|
||||||
|
+ pp -> green = ScaleCharToQuantum(d[PIXEL_GRAY]);
|
||||||
|
+ pp -> blue = ScaleCharToQuantum(d[PIXEL_GRAY]);
|
||||||
|
if (alpha)
|
||||||
|
- pp -> opacity = Upscale(OPACITY_OPAQUE - d[PIXEL_GRAY_ALPHA]);
|
||||||
|
+ pp -> opacity = ScaleCharToQuantum(OPACITY_OPAQUE - d[PIXEL_GRAY_ALPHA]);
|
||||||
|
|
||||||
|
pp++;
|
||||||
|
++it;
|
Loading…
Reference in new issue