Hello community, here is the log from the commit of package qhexedit2 for openSUSE:Factory checked in at 2020-06-24 15:49:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qhexedit2 (Old) and /work/SRC/openSUSE:Factory/.qhexedit2.new.2956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qhexedit2" Wed Jun 24 15:49:47 2020 rev:10 rq:816796 version:0.8.7 Changes: -------- --- /work/SRC/openSUSE:Factory/qhexedit2/qhexedit2.changes 2019-03-18 10:42:28.439191227 +0100 +++ /work/SRC/openSUSE:Factory/.qhexedit2.new.2956/qhexedit2.changes 2020-06-24 15:50:24.068782104 +0200 @@ -1,0 +2,11 @@ +Wed Jun 24 07:50:46 UTC 2020 - Luigi Baldoni <aloi...@gmx.com> + +- Update to version 0.8.7 + * extend HexCaps check to address and edit text + * use 'monospace' hint to improve font guess + * fix build with qt < 5.11.0 + * add icon pics to source + * forward key press events to parent widget + * limit undo stack to 1000 entries + +------------------------------------------------------------------- Old: ---- qhexedit2-0.8.6.tar.gz New: ---- qhexedit2-0.8.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qhexedit2.spec ++++++ --- /var/tmp/diff_new_pack.P0pKb2/_old 2020-06-24 15:50:25.412787163 +0200 +++ /var/tmp/diff_new_pack.P0pKb2/_new 2020-06-24 15:50:25.416787177 +0200 @@ -1,7 +1,7 @@ # # spec file for package qhexedit2 # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define _libver 4 Name: qhexedit2 -Version: 0.8.6 +Version: 0.8.7 Release: 0 Summary: Qt-based hex editor License: LGPL-2.0-only ++++++ qhexedit2-0.8.6.tar.gz -> qhexedit2-0.8.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/doc/release.txt new/qhexedit2-0.8.7/doc/release.txt --- old/qhexedit2-0.8.6/doc/release.txt 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/doc/release.txt 2020-06-24 08:57:44.000000000 +0200 @@ -1,3 +1,12 @@ +Release 0.8.7, 2020-06-24 +------------------------- +- extend HexCaps check to address and edit text +- use 'monospace' hint to improve font guess +- fix build with qt < 5.11.0 +- add icon pics to source +- forward key press events to parent widget +- limit undo stack to 1000 entries + Release 0.8.6, 2019-03-16 ------------------------- - Bug fix: select data above 2GB Binary files old/qhexedit2-0.8.6/example/images/qhexedit.ico and new/qhexedit2-0.8.7/example/images/qhexedit.ico differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/example/images/qhexedit.svg new/qhexedit2-0.8.7/example/images/qhexedit.svg --- old/qhexedit2-0.8.6/example/images/qhexedit.svg 1970-01-01 01:00:00.000000000 +0100 +++ new/qhexedit2-0.8.7/example/images/qhexedit.svg 2020-06-24 08:57:44.000000000 +0200 @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="39.881805mm" + height="39.744019mm" + viewBox="0 0 39.881805 39.744019" + version="1.1" + id="svg8" + inkscape:export-filename="/home/winni/Downloads/qhexedit16.png" + inkscape:export-xdpi="10.238628" + inkscape:export-ydpi="10.238628" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" + sodipodi:docname="qhexedit.svg"> + <defs + id="defs2"> + <linearGradient + inkscape:collect="always" + id="linearGradient835"> + <stop + style="stop-color:#c700c9;stop-opacity:1" + offset="0" + id="stop831" /> + <stop + id="stop4549" + offset="0.27781248" + style="stop-color:#fe0000;stop-opacity:1" /> + <stop + style="stop-color:#ffff00;stop-opacity:1" + offset="0.48380953" + id="stop4551" /> + <stop + id="stop4553" + offset="0.64066964" + style="stop-color:#017f01;stop-opacity:1" /> + <stop + style="stop-color:#010090;stop-opacity:1" + offset="0.86556548" + id="stop4593" /> + <stop + style="stop-color:#010000;stop-opacity:1" + offset="1" + id="stop833" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient835" + id="linearGradient837" + x1="14.741072" + y1="12.572916" + x2="64.741074" + y2="62.572914" + gradientUnits="userSpaceOnUse" /> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath4611"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.75555611px;line-height:1.25;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="16.252977" + y="32.227669" + id="text4619"><tspan + sodipodi:role="line" + id="tspan4613" + x="16.252977" + y="32.227669" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.75555611px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">0100</tspan><tspan + sodipodi:role="line" + x="16.252977" + y="56.922115" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.75555611px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332" + id="tspan4615">0010</tspan><tspan + sodipodi:role="line" + x="16.252977" + y="81.616562" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.75555611px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332" + id="tspan4617" /></text> + </clipPath> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="143.59901" + inkscape:cy="57.090638" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1323" + inkscape:window-height="1047" + inkscape:window-x="-4" + inkscape:window-y="0" + inkscape:window-maximized="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ebene 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-17.439468,-17.443269)"> + <rect + style="opacity:0.831;fill:url(#linearGradient837);fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect829" + width="50" + height="50" + x="14.741072" + y="12.572916" + clip-path="url(#clipPath4611)" + inkscape:export-xdpi="40.901733" + inkscape:export-ydpi="40.901733" + transform="matrix(0.88285898,0,0,1.0027123,2.0428771,-0.16971566)" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="20.599701" + y="75.883926" + id="text4557"><tspan + sodipodi:role="line" + id="tspan4555" + x="20.599701" + y="85.247696" + style="stroke-width:0.26458332" /></text> + <flowRoot + xml:space="preserve" + id="flowRoot4567" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" + transform="scale(0.26458333)"><flowRegion + id="flowRegion4569"><rect + id="rect4571" + width="225.71428" + height="151.42857" + x="65" + y="268.94824" /></flowRegion><flowPara + id="flowPara4573"></flowPara></flowRoot> </g> +</svg> Binary files old/qhexedit2-0.8.6/example/images/qhexedit16.png and new/qhexedit2-0.8.7/example/images/qhexedit16.png differ Binary files old/qhexedit2-0.8.6/example/images/qhexedit32.png and new/qhexedit2-0.8.7/example/images/qhexedit32.png differ Binary files old/qhexedit2-0.8.6/example/images/qhexedit64.png and new/qhexedit2-0.8.7/example/images/qhexedit64.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/example/mainwindow.h new/qhexedit2-0.8.7/example/mainwindow.h --- old/qhexedit2-0.8.6/example/mainwindow.h 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/example/mainwindow.h 2020-06-24 08:57:44.000000000 +0200 @@ -60,7 +60,7 @@ QString curFile; QFile file; bool isUntitled; - + QMenu *fileMenu; QMenu *editMenu; QMenu *helpMenu; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/setup.py new/qhexedit2-0.8.7/setup.py --- old/qhexedit2-0.8.6/setup.py 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/setup.py 2020-06-24 08:57:44.000000000 +0200 @@ -114,7 +114,7 @@ setup( name='QHexEdit', - version='0.8.6', + version='0.8.7', ext_modules=[ Extension( "qhexedit", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/src/QHexEditPlugin.cpp new/qhexedit2-0.8.7/src/QHexEditPlugin.cpp --- old/qhexedit2-0.8.6/src/QHexEditPlugin.cpp 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/src/QHexEditPlugin.cpp 2020-06-24 08:57:44.000000000 +0200 @@ -71,7 +71,7 @@ return ""; } -QWidget * QHexEditPlugin::createWidget(QWidget *parent) +QWidget * QHexEditPlugin::createWidget(QWidget *parent) { return new QHexEdit(parent); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/src/commands.cpp new/qhexedit2-0.8.7/src/commands.cpp --- old/qhexedit2-0.8.6/src/commands.cpp 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/src/commands.cpp 2020-06-24 08:57:44.000000000 +0200 @@ -94,6 +94,7 @@ { _chunks = chunks; _parent = parent; + this->setUndoLimit(1000); } void UndoStack::insert(qint64 pos, char c) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/src/qhexedit.cpp new/qhexedit2-0.8.7/src/qhexedit.cpp --- old/qhexedit2-0.8.6/src/qhexedit.cpp 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/src/qhexedit.cpp 2020-06-24 08:57:44.000000000 +0200 @@ -431,9 +431,16 @@ void QHexEdit::setFont(const QFont &font) { - QWidget::setFont(font); - _pxCharWidth = fontMetrics().width(QLatin1Char('2')); - _pxCharHeight = fontMetrics().height(); + QFont theFont(font); + theFont.setStyleHint(QFont::Monospace); + QWidget::setFont(theFont); + QFontMetrics metrics = fontMetrics(); +#if QT_VERSION > QT_VERSION_CHECK(5, 11, 0) + _pxCharWidth = metrics.horizontalAdvance(QLatin1Char('2')); +#else + _pxCharWidth = metrics.width(QLatin1Char('2')); +#endif + _pxCharHeight = metrics.height(); _pxGapAdr = _pxCharWidth / 2; _pxGapAdrHex = _pxCharWidth; _pxGapHexAscii = 2 * _pxCharWidth; @@ -797,6 +804,7 @@ } refresh(); + QAbstractScrollArea::keyPressEvent(event); } void QHexEdit::mouseMoveEvent(QMouseEvent * event) @@ -853,7 +861,7 @@ for (int row=0, pxPosY = _pxCharHeight; row <= (_dataShown.size()/_bytesPerLine); row++, pxPosY +=_pxCharHeight) { address = QString("%1").arg(_bPosFirst + row*_bytesPerLine + _addressOffset, _addrDigits, 16, QChar('0')); - painter.drawText(_pxPosAdrX - pxOfsX, pxPosY, address); + painter.drawText(_pxPosAdrX - pxOfsX, pxPosY, hexCaps() ? address.toUpper() : address); } } @@ -917,11 +925,11 @@ painter.setPen(viewport()->palette().color(QPalette::WindowText)); } - // _cursorPosition counts in 2, _bPosFirst counts in 1 - int hexPositionInShowData = _cursorPosition - 2 * _bPosFirst; + // _cursorPosition counts in 2, _bPosFirst counts in 1 + int hexPositionInShowData = _cursorPosition - 2 * _bPosFirst; - // due to scrolling the cursor can go out of the currently displayed data - if ((hexPositionInShowData >= 0) && (hexPositionInShowData < _hexDataShown.size())) + // due to scrolling the cursor can go out of the currently displayed data + if ((hexPositionInShowData >= 0) && (hexPositionInShowData < _hexDataShown.size())) { // paint cursor if (_readOnly) @@ -947,7 +955,7 @@ } else { - painter.drawText(_pxCursorX - pxOfsX, _pxCursorY, _hexDataShown.mid(hexPositionInShowData, 1)); + painter.drawText(_pxCursorX - pxOfsX, _pxCursorY, hexCaps() ? _hexDataShown.mid(hexPositionInShowData, 1).toUpper() : _hexDataShown.mid(hexPositionInShowData, 1)); } } @@ -971,11 +979,11 @@ pxFixGaps += _pxGapHexAscii; // +1 because the last hex value do not have space. so it is effective one char more - int charWidth = (viewport()->width() - pxFixGaps ) / _pxCharWidth + 1; + int charWidth = (viewport()->width() - pxFixGaps ) / _pxCharWidth + 1; // 2 hex alfa-digits 1 space 1 ascii per byte = 4; if ascii is disabled then 3 // to prevent devision by zero use the min value 1 - setBytesPerLine(std::max(charWidth / (_asciiArea ? 4 : 3),1)); + setBytesPerLine(std::max(charWidth / (_asciiArea ? 4 : 3),1)); } adjust(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/src/qhexedit.h new/qhexedit2-0.8.7/src/qhexedit.h --- old/qhexedit2-0.8.6/src/qhexedit.h 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/src/qhexedit.h 2020-06-24 08:57:44.000000000 +0200 @@ -19,7 +19,7 @@ /** \mainpage QHexEdit is a binary editor widget for Qt. -\version Version 0.8.6 +\version Version 0.8.7 \image html qhexedit.png */ @@ -66,7 +66,7 @@ Q_PROPERTY(bool addressArea READ addressArea WRITE setAddressArea) /*! Property address area color sets (setAddressAreaColor()) the background - color of address areas. You can also read the color (addressaAreaColor()). + color of address areas. You can also read the color (addressAreaColor()). */ Q_PROPERTY(QColor addressAreaColor READ addressAreaColor WRITE setAddressAreaColor) @@ -106,7 +106,7 @@ */ Q_PROPERTY(bool hexCaps READ hexCaps WRITE setHexCaps) - /*! Property defines the dynamic calculation of bytesPerLine parameter depends of width of widget. + /*! Property defines the dynamic calculation of bytesPerLine parameter depends of width of widget. set this property true to avoid horizontal scrollbars and show the maximal possible data. defalut value is false*/ Q_PROPERTY(bool dynamicBytesPerLine READ dynamicBytesPerLine WRITE setDynamicBytesPerLine) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/src/qhexedit.sip new/qhexedit2-0.8.7/src/qhexedit.sip --- old/qhexedit2-0.8.6/src/qhexedit.sip 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/src/qhexedit.sip 2020-06-24 08:57:44.000000000 +0200 @@ -20,7 +20,7 @@ bool setData(QIODevice &); QByteArray dataAt(qint64, qint64=-1); bool write(QIODevice &iODevice, qint64=0, qint64=-1); - + void insert(qint64, char); void remove(qint64, qint64); void replace(qint64, char); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qhexedit2-0.8.6/src/qhexeditplugin.pro new/qhexedit2-0.8.7/src/qhexeditplugin.pro --- old/qhexedit2-0.8.6/src/qhexeditplugin.pro 2019-03-16 17:11:08.000000000 +0100 +++ new/qhexedit2-0.8.7/src/qhexeditplugin.pro 2020-06-24 08:57:44.000000000 +0200 @@ -20,21 +20,21 @@ qhexedit.h \ chunks.h \ commands.h \ - QHexEditPlugin.h + QHexEditPlugin.h SOURCES = \ qhexedit.cpp \ chunks.cpp \ commands.cpp \ - QHexEditPlugin.cpp - + QHexEditPlugin.cpp + #! [3] # install target.path = $$[QT_INSTALL_PLUGINS]/designer sources.files = $$SOURCES $$HEADERS *.pro sources.path = $$[QT_INSTALL_EXAMPLES]/designer/QHexEditPlugin -INSTALLS += target +INSTALLS += target symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)