Example #1
0
void MainWindow::ConvertFromOperaNotes(){
    QString NotesAdr = "/home/vlad/.opera/notes.adr"; //QFileDialog::getOpenFileName(0, "Укажите файл несжатой базы");
    QString Text, IF;
    QStringList List2;
    bool IsNAME=false;
    QFile Opera(NotesAdr);
    Opera.open(QFile::ReadWrite | QFile::Text);
    QTextStream OperaStream(&Opera);
    Text = OperaStream.readAll();
    List2 = Text.split("\n", QString::SkipEmptyParts);
    Opera.close();
    QString BaseAdr = QFileDialog::getOpenFileName(0, "Укажите файл сконвертированной базы: ");
    QFile OperaTemp(BaseAdr);
    OperaTemp.open(QIODevice::WriteOnly | QIODevice::Append);
    QTextStream out(&OperaTemp);
    for(int i=0; i<List2.size(); i++)
        if(!List2[i].contains("#NOTE") && !List2[i].contains("UNIQUEID") && !List2[i].contains("ID") && !List2[i].contains("CREATED")){
            if(List2[i].contains("NAME")){
                List2[i].replace(0, 6, "");
                IsNAME=true;
            }
            if(List2[i].contains("URL")){
                List2[i].replace(0, 5, "");
                IsNAME=false;
            }
            if(!IsNAME)IF = "Источник: "; else IF="";
            out << IF << List2[i] + "\n";
            if(!IsNAME) out << "#$%^$#@#!~@>";
        }
    OperaTemp.close();

    QString NoCompressBaseName = BaseAdr; //QFileDialog::getOpenFileName(0, "Укажите файл несжатой базы");
    QString Text2;
    QFile Base(NoCompressBaseName);
    Base.open(QFile::ReadWrite | QFile::Text);
    QTextStream BaseStream(&Base);
    Text2 = BaseStream.readAll();
    List = Text2.split("#$%^$#@#!~@>", QString::SkipEmptyParts);
    Base.close();
    DBName = BaseAdr + ".sql";

    base.setDatabaseName(DBName); //указываем расположение базы
    base.open(); //открываем базу
    CreateSQLITE();
    ReadFromBase();
    stBar.setText("База загружается...");
    while(model->canFetchMore())model->fetchMore(); //грузим базу
    stBar.setText("База загружена");
}
		void PacketReader::setPosition(int newValue)
		{
			BaseStream()->Position = newValue;
		}
		int PacketReader::getPosition()
		{
			return (int)BaseStream()->Position;
		}
		int PacketReader::Length()
		{
			return (int)BaseStream()->Length();
		}
		void PacketWriter::Position(int newValue)
		{
			BaseStream()->Position = newValue;
		}
		int PacketWriter::Position()
		{
			return (int)BaseStream()->Position;
		}
		int PacketWriter::Length()
		{
			return (int)BaseStream()->Length();
		}