Access to the user interface
-
No it isn't ... it still have the problem that it couldn't read the data from the files.
-
Rather than
@
QTextStream in(&file);
setItsContent(in.readAll());@Why not just:
@
setItsContent(file.readAll());
@In any case, are you sure that your file is not empty ?
-
That doesn't work... And the file isn't empty
-
Did you check what file.readAll() contains ?
since setItsContent only assign the parameter value to your itsContent member variable why not just do:
@itsContent = file.readAll()@
?
By the way, you should use const QString& in your setItsContent function, that will avoid unnecessary copies.
-
Okey ehm file.readAll() return the right content of the file, the problem is, that it doesn't convert it into QString. readAll() gives back a QByteArray wich normaly could be converted in QString with for example:
@itsContent = QString(file.readAll());@But it doesn't ...
here is the function again:
@bool Data::openContent(bool customFileName){
if(itsContentFilename.isEmpty() || customFileName)
itsContentFilename= QFileDialog::getOpenFileName(MyFxhnn, tr("Inhalt öffnen"), QString(), tr("Fxhnn Content Files (*.txt)"));if(!itsContentFilename.isEmpty()){ QFile file(itsContentFilename); if(!file.open(QIODevice::ReadOnly)){ QMessageBox::critical(MyFxhnn, tr("Error"), tr("Could not open file")); return false; } QTextStream in(&file); QMessageBox::information(MyFxhnn, "Content of readAll(", file.readAll()); itsContent = QString(file.readAll()); QMessageBox::information(MyFxhnn, "Content of itsContent", QString(file.readAll())); printItsContent(); file.close(); if((itsContent != MyFxhnn -> ui -> itsText -> toPlainText()) || itsContent == ""){ QMessageBox::critical(MyFxhnn, tr("Error"), tr("Fehler beim Öffnen, Data != Textfeld")); return false; } } return true;
}@
The Message "Content of readAll()" gives back the right content the other message return nothing an the last error message appears.
-
Now it's working a 'bit'.
It is able to read the file and print it into the output, BUT it doesn't save onicode ... and I need unicode so we have to find an other solution :/ :D -
Now it's working a 'bit'.
It is able to read the file and print it into the output, BUT it doesn't save onicode ... and I need unicode so we have to find an other solution :/ :D
@bool Data::openContent(bool customFileName){
if(itsContentFilename.isEmpty() || customFileName)
itsContentFilename= QFileDialog::getOpenFileName(MyFxhnn, tr("Inhalt öffnen"), QString(), tr("Fxhnn Content Files (*.txt)"));if(!itsContentFilename.isEmpty()){ QFile file(itsContentFilename); if(!file.open(QIODevice::ReadOnly)){ QMessageBox::critical(MyFxhnn, tr("Error"), tr("Could not open file")); return false; } //QTextStream in(&file); //QMessageBox::information(MyFxhnn, "Inhalt von readAll()", file.readAll()); QByteArray tempString = file.readAll(); itsContent = tempString; QMessageBox::information(MyFxhnn, "Inhalt von itsContent", itsContent); printItsContent(); file.close(); if((itsContent != MyFxhnn -> ui -> itsText -> toPlainText()) || itsContent == ""){ QMessageBox::critical(MyFxhnn, tr("Error"), tr("Fehler beim Öffnen, Data != Textfeld")); return false; } } return true;
}@
and here are the printItsContent():
@void Data::printItsContent(){
//MyFxhnn -> ui -> itsText->clear(); <- If I uncomment this line it clear the output text, but it can't set it again
MyFxhnn -> ui -> itsText -> setPlainText(itsContent);
setItsEncryptLevel(0);
setItsShuffleLevel(0);
return;
}@ -
That's the kind of detail that's good to share.
Then it seems that you should use QTextCodec
-
OK!
now it works, but only with textstream, but that's enough.Thank you!! :)
-
What do you mean by "only with textstream" ?