author | paule <paule> | 2007-07-08 08:37:52 (UTC) |
---|---|---|
committer | paule <paule> | 2007-07-08 08:37:52 (UTC) |
commit | b07e25cd398620dafb9ce01982267588645d99a9 (patch) (side-by-side diff) | |
tree | 41e01245b65ff07efce13743a45eefac7923fdcf | |
parent | 4fb748a55cdd77f4bab8dc692ab8ebae62609abe (diff) | |
download | opie-b07e25cd398620dafb9ce01982267588645d99a9.zip opie-b07e25cd398620dafb9ce01982267588645d99a9.tar.gz opie-b07e25cd398620dafb9ce01982267588645d99a9.tar.bz2 |
Fix copying unicode block to clipboard. See bug #1766. Patch from polyonymous.
-rw-r--r-- | noncore/apps/opie-reader/QTReaderApp.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/apps/opie-reader/QTReaderApp.cpp b/noncore/apps/opie-reader/QTReaderApp.cpp index b985094..4f0f0a1 100644 --- a/noncore/apps/opie-reader/QTReaderApp.cpp +++ b/noncore/apps/opie-reader/QTReaderApp.cpp @@ -2433,257 +2433,257 @@ void QTReaderApp::addAnno(const QString& name, const QString& text) m_anno->setAnno(buff.data()); } QColor c = m_annoWin->getColor(); int red,green,blue; c.rgb(&red, &green, &blue); m_anno->red(red); m_anno->green(green); m_anno->blue(blue); bool found = findNextBookmark(m_anno->value()+1); if (found) { m_annoWin->setName(toQString(m_anno->name())); m_annoWin->setAnno(toQString(m_anno->anno())); m_annoWin->setColor(QColor(m_anno->red(), m_anno->green(), m_anno->blue())); } else { showEditTools(); } } } bool QTReaderApp::findNextBookmark(size_t start) { bool found = false; for (CList<Bkmk>::iterator iter = pBkmklist->begin(); iter != pBkmklist->end(); iter++) { if (iter->value() >= start) { if (iter->value() < reader->locate()) { found = true; m_anno = iter.pContent(); } break; } } return found; } void QTReaderApp::addanno() { if (reader->empty()) { QMessageBox::information(this, PROGNAME, "No file loaded", 1); } else { m_annoWin->setName(""); m_annoWin->setAnno(""); m_annoWin->setPosn(reader->pagelocate()); m_annoIsEditing = true; editorStack->raiseWidget( m_annoWin ); hidetoolbars(); #ifdef USEQPE Global::showInputMethod(); #endif m_annoWin->setFocus(); } } void QTReaderApp::infoClose() { m_debounce = m_buttonprefs->Debounce(); if (m_kmapchanged) { m_kmapchanged = false; #ifndef USEQPE QDir d = QDir::home(); // "/" d.cd(APPDIR); QFileInfo fi(d, ".keymap"); FILE* f = fopen((const char *)fi.absFilePath(), "w"); #else /* USEQPE */ FILE* f = fopen((const char *)Global::applicationFileName(APPDIR,".keymap"), "w"); #endif /* USEQPE */ if (f != NULL) { uint cnt = KEYMAPVERSION; fwrite(&cnt, sizeof(cnt), 1, f); cnt = kmap.count(); fwrite(&cnt, sizeof(cnt), 1, f); for (QMap<orKey,int>::Iterator i = kmap.begin(); i != kmap.end(); i++) { orKey key = i.key(); int data = i.data(); fwrite(&key, sizeof(key), 1, f); fwrite(&data, sizeof(data), 1, f); qDebug("Saved %s as %u", (const char*)key.text(), data); } fclose(f); } } showEditTools(); } /* void QTReaderApp::fileRevert() { clear(); fileOpen(); } void QTReaderApp::editCut() { #ifndef QT_NO_CLIPBOARD editor->cut(); #endif } */ void QTReaderApp::editMark() { m_savedpos = reader->pagelocate(); } void QTReaderApp::editCopy() { QClipboard* cb = QApplication::clipboard(); QString text; int ch; unsigned long currentpos = reader->pagelocate(); unsigned long endpos = reader->locate(); if (m_savedpos == 0xffffffff) { m_savedpos = currentpos; } reader->jumpto(m_savedpos); while (reader->explocate() < endpos && (ch = reader->getch()) != UEOF) { - text += ch; + text += QChar(ch); } cb->setText(text); reader->locate(currentpos); m_savedpos = 0xffffffff; } void QTReaderApp::gotoStart() { reader->locate(reader->buffdoc.startSection()); } void QTReaderApp::gotoEnd() { reader->dopageup(reader->buffdoc.endSection()); } void QTReaderApp::pageup() { reader->NavUp(); } void QTReaderApp::pagedn() { reader->NavDown(); } void QTReaderApp::pagemode(bool _b) { reader->setpagemode(_b); } /* void QTReaderApp::setspacing() { m_nRegAction = cMonoSpace; char lcn[20]; sprintf(lcn, "%lu", reader->m_charpc); regEdit->setText(lcn); do_regedit(); } */ void QTReaderApp::settarget() { m_nRegAction = cSetTarget; QString text = ((m_targetapp.isEmpty()) ? QString("") : m_targetapp) + "/" + ((m_targetmsg.isEmpty()) ? QString("") : m_targetmsg); regEdit->setText(text); do_regedit(); } /* void QTReaderApp::do_mono(const QString& lcn) { bool ok; unsigned long ulcn = lcn.toULong(&ok); if (ok) { reader->m_charpc = ulcn; reader->setfont(); reader->refresh(); // reader->setmono(true); } else QMessageBox::information(this, PROGNAME, "Must be a number"); } */ /* void QTReaderApp::editPaste() { #ifndef QT_NO_CLIPBOARD editor->paste(); #endif } */ void QTReaderApp::editFind() { searchStart = reader->pagelocate(); #ifdef __ISEARCH searchStack = new QStack<searchrecord>; #endif #ifdef USEQPE Global::showInputMethod(); #endif searchBar->show(); searchVisible = TRUE; searchEdit->setFocus(); #ifdef __ISEARCH searchStack->push(new searchrecord("",reader->pagelocate())); #endif } void QTReaderApp::findNext() { // // qDebug("findNext called\n"); #ifdef __ISEARCH QString arg = searchEdit->text(); #else QRegExp arg = searchEdit->text(); #endif CDrawBuffer test(&(reader->m_fontControl)); size_t start = reader->pagelocate(); reader->jumpto(start); reader->getline(&test); dosearch(start, test, arg); } void QTReaderApp::findClose() { searchVisible = FALSE; searchEdit->setText(""); #ifdef USEQPE Global::hideInputMethod(); #endif searchBar->hide(); #ifdef __ISEARCH // searchStack = new QStack<searchrecord>; while (!searchStack->isEmpty()) { delete searchStack->pop(); } delete searchStack; #endif reader->setFocus(); } void QTReaderApp::regClose() |