Index: historyimport.cpp
===================================================================
--- historyimport.cpp (revision 969250)
+++ historyimport.cpp (working copy)
@@ -429,14 +429,15 @@
void HistoryImport::parsePidginTxt(QFile &file, struct Log *log, QDate date)
{
- QByteArray line;
+ QString line;
QTime time;
QDateTime dateTime;
QString messageText, nick;
bool incoming = false; // =false to make the compiler not complain
+ QTextStream txtStream(&file);
- while (!file.atEnd()) {
- line = file.readLine();
+ while (!txtStream.atEnd()) {
+ line = txtStream.readLine();
if (line[0] == '(') {
if (!messageText.isEmpty()) {
@@ -469,12 +470,11 @@
return;
messageText = line.mid(nickEnd + 1);
- }
- else if (line[0] == ' ') {
+ } else if (line[0] != 'C') {
// an already started message is continued in this line
int start = QRegExp("\\S").indexIn(line);
messageText.append('\n' + line.mid(start));
- }
+ }
}
if (!messageText.isEmpty()) {
struct Message message;
@@ -489,71 +489,38 @@
void HistoryImport::parsePidginXml(QFile &file, struct Log * log, QDate date)
{
- bool incoming = false, inMessage = false, textComes = false;
- QString messageText, status;
+ QString line;
QTime time;
QDateTime dateTime;
+ QString messageText, nick;
+ bool incoming = false; // =false to make the compiler not complain
+ QTextStream txtStream(&file);
- // unfortunately pidgin doesn't write <... /> for the tag
- QByteArray data = file.readAll();
- if (data.contains("", data.indexOf("
");
+ QRegExp incomingRegExp("");
+ QRegExp messageRegExp("","\n");
+
struct Message message;
message.incoming = incoming;
message.text = messageText;
message.timestamp = dateTime;
log->messages.append(message);
-
messageText.clear();
- textComes = false;
- inMessage = false;
- }
-
+ }
}
- if (reader.hasError()) {
- // we ignore error 4: premature end of document
- if (reader.error() != 4) {
- int i, pos = 0;
- for (i=1;i