Review Request: remove KEncodingDetector from tier1/kcodecs

Hui Ni shuizhuyuanluo at 126.com
Mon Jul 9 07:27:22 BST 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105392/
-----------------------------------------------------------

(Updated July 9, 2012, 6:27 a.m.)


Review request for kdelibs, Kevin Ottens and David Faure.


Changes
-------

let khtml still use the KEncodingDetector for encoding detection and text decoding.


Description
-------

hi, this is my first contribution to kde frameworks.
This patch removes KEncodingDetector class from tier1/kcodecs and ports all related bits in kdelibs to KEncodingProber class.

proposal raised at http://mail.kde.org/pipermail/kde-frameworks-devel/2012-June/000738.html

KEncodingDetector is actually KEncodingProber + encoding priority list + QTextDecoder, and the later two things are used only in khtml.

things removed:
enum KEncodingDetector::EncodingChoiceSource -> removed
KEncodingDetector::setEncoding -> removed, implement it in khtml code
KEncodingDetector::encodingChoiceSource -> removed
KEncodingProber::encodingName -> removed, avoid potential memory leak

one to one changes:
enum KEncodingDetector::AutoDetectScript -> enum KEncodingProber::ProberType
KEncodingDetector::encoding -> KEncodingProber::encoding
KEncodingDetector::visuallyOrdered -> check KEncodingProber::encoding is hebrew or not
KEncodingDetector::autoDetectLanguage -> KEncodingProber::proberType
KEncodingDetector::setAutoDetectLanguage -> KEncodingProber::setProberType
KEncodingDetector::decode -> KEncodingProber::feed + QTextCodec::codecForName(prober.encoding())->toUnicode
KEncodingDetector::decodeWithBuffering -> KEncodingProber::feed, feed, feed + check KEncodingProber::state + QTextCodec::codecForName(prober.encoding())->makeDecoder
KEncodingDetector::decodedInvalidCharacters -> QTextCodec::codecForName(prober.encoding())->makeDecoder + hasFailure
KEncodingDetector::resetDecoder -> KEncodingProber::reset
KEncodingDetector::flush -> KEncodingProber::feed, feed, feed + QTextCodec::codecForName(prober.encoding())->toUnicode
KEncodingDetector::scriptForName -> KEncodingProber::proberTypeForName
KEncodingDetector::nameForScript -> KEncodingProber::nameForProberType
KEncodingDetector::hasAutoDetectionForScript -> if (proberType == KEncodingProber::None) ... else ...


Diffs (updated)
-----

  tier1/kcodecs/src/kencodingprober.h da4b958 
  tier1/kcodecs/src/kencodingprober.cpp 42beac0 
  tier1/kcoreaddons/src/text/kstringhandler.h b9b6c2e 
  khtml/khtmlpart_p.h d46d254 
  khtml/test_regression.cpp 8b2fa15 
  khtml/khtml_part.h 340ece1 
  khtml/khtml_part.cpp 223721c 
  kdeui/actions/kcodecaction.cpp 97a8a90 
  kdeui/actions/kcodecaction.h 627d770 

Diff: http://git.reviewboard.kde.org/r/105392/diff/


Testing
-------


Thanks,

Hui Ni

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20120709/bc0e025a/attachment.htm>


More information about the kde-core-devel mailing list