Hello community, here is the log from the commit of package kmplot for openSUSE:Factory checked in at 2014-09-18 07:58:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kmplot (Old) and /work/SRC/openSUSE:Factory/.kmplot.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "kmplot" Changes: -------- --- /work/SRC/openSUSE:Factory/kmplot/kmplot.changes 2014-08-25 10:59:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kmplot.new/kmplot.changes 2014-09-18 07:59:08.000000000 +0200 @@ -1,0 +2,7 @@ +Sat Sep 13 16:31:10 UTC 2014 - tittiatcoke@gmail.com + +- Update to 4.14.1 + * KDE 4.14.1 SC Bugfix Release + * See http://www.kde.org/announcements/announce-4.14.1.php + +------------------------------------------------------------------- @@ -6 +13 @@ - * See http://www.kde.org/announcements/4.13/ + * See http://www.kde.org/announcements/4.14/ Old: ---- kmplot-4.14.0.tar.xz New: ---- kmplot-4.14.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kmplot.spec ++++++ --- /var/tmp/diff_new_pack.iRdf4O/_old 2014-09-18 07:59:09.000000000 +0200 +++ /var/tmp/diff_new_pack.iRdf4O/_new 2014-09-18 07:59:09.000000000 +0200 @@ -17,7 +17,7 @@ Name: kmplot -Version: 4.14.0 +Version: 4.14.1 Release: 0 Summary: Mathematical Function Plotter License: GPL-2.0+ ++++++ kmplot-4.14.0.tar.xz -> kmplot-4.14.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmplot-4.14.0/kmplot/coordsconfigdialog.cpp new/kmplot-4.14.1/kmplot/coordsconfigdialog.cpp --- old/kmplot-4.14.0/kmplot/coordsconfigdialog.cpp 2014-08-13 08:03:52.000000000 +0200 +++ new/kmplot-4.14.1/kmplot/coordsconfigdialog.cpp 2014-08-18 07:40:12.000000000 +0200 @@ -46,6 +46,9 @@ : KConfigDialog(parent, "coords", Settings::self()) { configAxesDialog = new EditCoords( 0 ); + configAxesDialog->kcfg_XMin->setTabChain( configAxesDialog->kcfg_XMax->focusProxy() ); + configAxesDialog->kcfg_XMax->setTabChain( configAxesDialog->kcfg_YMin->focusProxy() ); + configAxesDialog->kcfg_YMin->setTabChain( configAxesDialog->kcfg_YMax->focusProxy() ); configAxesDialog->layout()->setMargin( 0 ); addPage(configAxesDialog , i18n( "Coordinates" ), "coords", i18n( "Coordinate System" ) ); setCaption( i18n( "Coordinate System" ) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmplot-4.14.0/kmplot/equationedit.cpp new/kmplot-4.14.1/kmplot/equationedit.cpp --- old/kmplot-4.14.0/kmplot/equationedit.cpp 2014-08-13 08:03:52.000000000 +0200 +++ new/kmplot-4.14.1/kmplot/equationedit.cpp 2014-08-18 07:40:12.000000000 +0200 @@ -65,6 +65,13 @@ } +void EquationEdit::setTabChain( QWidget *next ) +{ + QWidget::setTabOrder( m_equationEditWidget, m_editButton ); + QWidget::setTabOrder( m_editButton, next ); +} + + void EquationEdit::setEquationType( Equation::Type type ) { delete m_equation; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmplot-4.14.0/kmplot/equationedit.h new/kmplot-4.14.1/kmplot/equationedit.h --- old/kmplot-4.14.0/kmplot/equationedit.h 2014-08-13 08:03:52.000000000 +0200 +++ new/kmplot-4.14.1/kmplot/equationedit.h 2014-08-18 07:40:12.000000000 +0200 @@ -113,6 +113,11 @@ */ double value( bool * ok = 0 ); + /** + * @internal workaround for QTBUG-10907 + */ + void setTabChain( QWidget *next ); + signals: void editingFinished(); void textEdited( const QString & text ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmplot-4.14.0/kmplot/view.cpp new/kmplot-4.14.1/kmplot/view.cpp --- old/kmplot-4.14.0/kmplot/view.cpp 2014-08-13 08:03:52.000000000 +0200 +++ new/kmplot-4.14.1/kmplot/view.cpp 2014-08-18 07:40:12.000000000 +0200 @@ -232,6 +232,38 @@ } +double View::validatedTicSpacing( double spacing, double range, double pixels, double minPixels ) +{ + Q_ASSERT_X( range > 0, "View::validatedTicSpacing", "Range must be positive" ); + Q_ASSERT_X( minPixels > 0, "View::validatedTicSpacing", "MinPixels must be positive" ); + + spacing = qAbs( spacing ); + if ( qFuzzyCompare( spacing, 0 ) ) + return 2.0 * range; + + double factor; + + // Make sure spacing between tics is at least minPixels + pixels /= range / spacing; + factor = pixels / minPixels; + if ( factor < 1.0 ) { + int exponent; + frexp( factor, &exponent ); + spacing = ldexp( spacing, -exponent + 1 ); + } + + // Make sure there are at least two tics + factor = spacing / range; + if ( factor > 0.5 ) { + int exponent; + frexp( factor, &exponent ); + spacing = ldexp( spacing, -exponent - 1); + } + + return spacing; +} + + void View::initDrawing( QPaintDevice * device, PlotMedium medium ) { switch ( medium ) @@ -301,6 +333,7 @@ //BEGIN get Tic Separation + QFontMetricsF fm( Settings::axesFont(), device ); if ( Settings::xScalingMode() == 0 ) { double length = pixelsToMillimeters( xToPixel( m_xmax ), device ); @@ -308,7 +341,12 @@ ticSepX.updateExpression( spacing ); } else + { ticSepX.updateExpression( Settings::xScaling() ); + double spacing = ticSepX.value(); + spacing = validatedTicSpacing( spacing, m_xmax-m_xmin, xToPixel( m_xmax ), fm.lineSpacing()); + ticSepX.updateExpression( spacing ); + } if ( Settings::yScalingMode() == 0 ) { @@ -317,7 +355,12 @@ ticSepY.updateExpression( spacing ); } else + { ticSepY.updateExpression( Settings::yScaling() ); + double spacing = ticSepY.value(); + spacing = validatedTicSpacing( spacing, m_ymax-m_ymin, yToPixel( m_ymin ), fm.lineSpacing()); + ticSepY.updateExpression( spacing ); + } ticStartX = ceil(m_xmin/ticSepX.value())*ticSepX.value(); ticStartY = ceil(m_ymin/ticSepY.value())*ticSepY.value(); @@ -2116,6 +2159,7 @@ QPointF pixelCenter = toPixel( realPos ); QRectF rect( pixelCenter, QSizeF( 1, 1 ) ); + painter->setFont( m_labelFont ); int flags = Qt::TextSingleLine | Qt::AlignLeft | Qt::AlignTop; rect = painter->boundingRect( rect, flags, text ).adjusted( -7, -3, 4, 2 ); @@ -2170,7 +2214,6 @@ } - painter->setFont( m_labelFont ); painter->setPen( Qt::black ); painter->drawText( rect.adjusted( 7, 3, -4, -2 ), flags, text ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmplot-4.14.0/kmplot/view.h new/kmplot-4.14.1/kmplot/view.h --- old/kmplot-4.14.0/kmplot/view.h 2014-08-13 08:03:52.000000000 +0200 +++ new/kmplot-4.14.1/kmplot/view.h 2014-08-18 07:40:12.000000000 +0200 @@ -254,6 +254,15 @@ */ double niceTicSpacing( double length_mm, double range ); /** + * For using in manual tic spacing. Given a size in screen \p pixels for + * the given \p range (e.g. x_max-x_min), make sure the \p spacing distance + * is at least \p minPixels large. If zooming out too far, the spacing is + * doubled until this conditions is met, effectively omitting tics. If zooming in + * too far, the spacing is halved until at least two tics are visible, effectively + * inserting additional tics. + */ + double validatedTicSpacing( double spacing, double range, double pixels, double minPixels ); + /** * When zoomed in on part of a circle, it looks nearly straight. KmPlot * uses this to quickly draw curves that are mostly straight. Given the * curvature, this function returns the maximum length of line that can diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmplot-4.14.0/kmplot.appdata.xml new/kmplot-4.14.1/kmplot.appdata.xml --- old/kmplot-4.14.0/kmplot.appdata.xml 2014-08-13 08:03:52.000000000 +0200 +++ new/kmplot-4.14.1/kmplot.appdata.xml 2014-08-18 07:40:12.000000000 +0200 @@ -60,6 +60,7 @@ <p xml:lang="sv">Kmplot är ett program för att rita funktionsgrafer, deras integraler eller derivator. Graferna kan färgläggas och visningen är mycket inställningsbar, skalbar och kan zoomas. Programmet innehåller en kraftfull matematisk tolk, olika typer av diagram (kartesiska, parametriserade, polära, implicita, differentiella), och tillhandahåller enkla matematiska verktyg såsom att hitta maximum eller minimum av en funktion. Parametriserade funktioner kan åskådliggöras genom att justera den variabla parametern via ett skjutreglage. Diagram kan exporteras som bilder med bitavbildningsformat (BMP, PNG) och kan skrivas ut.</p> <p xml:lang="uk">KmPlot — програма для малювання графіків функцій, їхніх первісних або похідних. Передбачено можливість розфарбовування ліній графіків та гнучкі налаштування панелі перегляду з можливістю зміни масштабу та пересування області перегляду на площині. У програмі ви зможете скористатися потужним засобом обробки формул, накреслити графіки декількох типів (у декартовій та полярній системах координат, графіки функцій заданих параметрично, неявно, графіки похідних) та скористатися простими математичними інструментами, зокрема інструментом пошуку мінімумів та максимумів функції. Передбачено можливість роботи з параметризованими функціями, зміну параметра у яких можна здійснювати за допомогою повзунка змінної. Зображення графіків можна експортувати до файлів растрових зображень (BMP, PNG) та друкувати.</p> <p xml:lang="x-test">xxKmPlot is a program to plot graphs of functions, their integrals or derivatives. The graphs can be colorized and the view is highly configurable, is scalable, and can be zoomed. The program features a powerful mathematical parser, different plot types (cartesian, parametric, polar, implicit, differential), and provides simple mathematical tools like for finding maximum/minimum of a function. Parametrized functions can be visualized by adjusting the variable parameter via a slider. Plots can be exported as bitmap format pictures (BMP, PNG) and can be printed.xx</p> + <p xml:lang="zh-TW">KmPlot 是一套用來繪製函數、函數的積分與微分圖形的程式。圖形可以上色,可以設定檢視模式,也可以縮放調整。這個應用程式中包含了一套強大的數學剖析器,不同的繪圖樣式(直角座標、極座標等),並提供簡單的數學工具,如找出函數最大、最小值等等。函數的參數可以做視覺化,用滑動器來調整參數值。最後繪製的圖形可以匯出為 bmp 或 png 格式的圖檔來列印。</p> </description> <url type="homepage">http://edu.kde.org/kmplot/</url> <url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&product=kmplot</url> -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org