Попробуем сюда помещать патчи по сабжу.
Вот один из них:
Как-то я тут обнаружил пару проблем. Во-первых, при сохранении файла проекта в самом файле обнаруживаются лишние пустые строки. Во-вторых, если во флагах использовать такую конструкцию:
LIBS += `cat $(ORACLE_HOME)/lib/sysliblist`
то знаки ` успешно удалялись :(
Вот это всё я пофиксил. Кому поможет - буду рад.
Кстати, проблема с QDialog::exec() и модальностью диалога решается соответствующей установкой параметра parent.
--- qt-3.3.1/tools/designer/designer/project.cpp Mon Jan 19 20:27:25 2004
+++ qt-3.3.1_patched/tools/designer/designer/project.cpp Wed Mar 10 10:59:00 2004
@@ -374,7 +374,7 @@
}
if ( ( c.isLetter() || c.isDigit() || c == '.' || c == '/' || c == '_' || c == '\\' || c == '\"' || c == '\'' || c == '=' ||
- c == '$' || c == '-' || c == '(' || c == ')' || c == ':' || c == '+' || c == ',' || c == '~' ) &&
+ c == '$' || c == '-' || c == '(' || c == ')' || c == ':' || c == '+' || c == ',' || c == '~' || c == '`' ) &&
c != ' ' && c != '\t' && c != '\n' ) {
if ( !inName )
currName = QString::null;
@@ -561,6 +561,9 @@
int end = contents.find( '\n', i );
if ( end == -1 )
end = contents.length() - 1;
+ else
+ while ( contents[end+1] == '\n' )
+ end++; // Remove extra symbols '\n'
contents.remove( start, end - start + 1 );
}
}
@@ -580,6 +583,8 @@
lastWasBackspash = ( contents[ i ] == '\\' ||
lastWasBackspash && ( contents[ i ] == ' ' || contents[ i ] == '\t' ) );
}
+ while ( contents[i+1] == '\n' )
+ i++; // Remove extra symbols '\n'
contents.remove( start, i - start + 1 );
}
}
А у меня в БД mysql из QDataTable русский текст не пишется - заменяестя на вопросы. Лечится?
linux/qt-xfree 3.2.1 (с 3.3.1 та же байда)
def.db cp на mysql - kou8_ru