Exemplo n.º 1
0
/// @brief compute space enought for export buffer
size_t PhraseIndexerImpl::size() const 
{
  prepareExport();
  return m_w2id_index.size() + m_words2phrases.size() +
      m_phrase_offsets.size() + sizeof(uint32_t) + m_phrases_size + 
      m_regWriter.size() + m_origPhrases.size() + m_udataWriter.size();
}
Exemplo n.º 2
0
void QCScatteredStringsWriter::save(MemWriter &mwr) 
{
  prepareExport();
  m_id2offset.save(mwr);
  mwr << (uint32_t)m_acclen;
  
  std::map<uint32_t, std::string>::const_iterator it;
  for (it = m_stings.begin(); it != m_stings.end(); it++)
    mwr << it->second;
}
Exemplo n.º 3
0
HTMLExporter::HTMLExporter(Basket *basket)
{
    QDir dir;

    // Compute a default file name & path:
    KConfigGroup config = Global::config()->group("Export to HTML");
    QString folder = config.readEntry("lastFolder", QDir::homePath()) + "/";
    QString url = folder + QString(basket->basketName()).replace("/", "_") + ".html";

    // Ask a file name & path to the user:
    QString filter = "*.html *.htm|" + i18n("HTML Documents") + "\n*|" + i18n("All Files");
    QString destination = url;
    for (bool askAgain = true; askAgain; ) {
        // Ask:
        destination = KFileDialog::getSaveFileName(destination, filter, 0, i18n("Export to HTML"));
        // User canceled?
        if (destination.isEmpty())
            return;
        // File already existing? Ask for overriding:
        if (dir.exists(destination)) {
            int result = KMessageBox::questionYesNoCancel(
                             0,
                             "<qt>" + i18n("The file <b>%1</b> already exists. Do you really want to override it?",
                                           KUrl(destination).fileName()),
                             i18n("Override File?"),
                             KGuiItem(i18n("&Override"), "document-save")
                         );
            if (result == KMessageBox::Cancel)
                return;
            else if (result == KMessageBox::Yes)
                askAgain = false;
        } else
            askAgain = false;
    }

    // Create the progress dialog that will always be shown during the export:
    KProgressDialog dialog(0, i18n("Export to HTML"), i18n("Exporting to HTML. Please wait..."), /*Not modal, for password dialogs!*/false);
    dialog.showCancelButton(false);
    dialog.setAutoClose(true);
    dialog.show();
    progress = dialog.progressBar();

    // Remember the last folder used for HTML exporation:
    config.writeEntry("lastFolder", KUrl(destination).directory());
    config.sync();

    prepareExport(basket, destination);
    exportBasket(basket, /*isSubBasket*/false);

    progress->setValue(progress->value()+1); // Finishing finished
}
Exemplo n.º 4
0
/// @brief export phrase storage
// export format: [WORD-HASH_TO_PHRASEID][PHRASES_OFFSETS][PHRASES]
void PhraseIndexerImpl::save(MemWriter &mwr) 
{
  prepareExport();
  
  m_w2id_index.save(mwr);
  m_words2phrases.save(mwr);
  m_phrase_offsets.save(mwr);
  
  mwr << (uint32_t)m_phrases_size;
  for (vector<Phrase>::iterator it = m_phrases.begin(); it != m_phrases.end(); it++)
    it->save(mwr);
  
  m_regWriter.save(mwr);
  m_origPhrases.save(mwr);
  m_udataWriter.save(mwr);
}
Exemplo n.º 5
0
// format: [OFFSET_MAP][STR_SIZE:4][STRINGS:m_acclen]
size_t QCScatteredStringsWriter::size() const {
  prepareExport();
  return m_id2offset.size() + sizeof(uint32_t) + m_acclen;
}