diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,6 @@ Parts WidgetsAddons DocTools - KDELibs4Support DBusAddons ) diff --git a/kmplot/CMakeLists.txt b/kmplot/CMakeLists.txt --- a/kmplot/CMakeLists.txt +++ b/kmplot/CMakeLists.txt @@ -61,7 +61,7 @@ -target_link_libraries(kmplotpart KF5::KDELibs4Support KF5::Parts Qt5::Svg) +target_link_libraries(kmplotpart Qt5::PrintSupport Qt5::Widgets KF5::Parts Qt5::Svg) install(TARGETS kmplotpart DESTINATION ${PLUGIN_INSTALL_DIR} ) @@ -78,7 +78,7 @@ add_executable(kmplot ${kmplot_SRCS}) -target_link_libraries(kmplot KF5::Crash KF5::KDELibs4Support KF5::Parts KF5::DBusAddons) +target_link_libraries(kmplot Qt5::PrintSupport Qt5::Widgets KF5::Crash KF5::Parts KF5::DBusAddons) install(TARGETS kmplot ${INSTALL_TARGETS_DEFAULT_ARGS} ) diff --git a/kmplot/functioneditor.cpp b/kmplot/functioneditor.cpp --- a/kmplot/functioneditor.cpp +++ b/kmplot/functioneditor.cpp @@ -34,9 +34,8 @@ #include "view.h" #include "xparser.h" -#include -#include -#include +#include +#include #include #include diff --git a/kmplot/kconstanteditor.cpp b/kmplot/kconstanteditor.cpp --- a/kmplot/kconstanteditor.cpp +++ b/kmplot/kconstanteditor.cpp @@ -29,16 +29,13 @@ #include "xparser.h" #include -#include -#include -#include - -#include +#include +#include #include #include #include -#include +#include #include "ui_constantseditor.h" diff --git a/kmplot/kmplot.h b/kmplot/kmplot.h --- a/kmplot/kmplot.h +++ b/kmplot/kmplot.h @@ -29,6 +29,7 @@ #include class QCommandLineParser; +class QLabel; class KmPlotProgress; class KToggleFullScreenAction; @@ -104,6 +105,8 @@ KToggleFullScreenAction* m_fullScreen; /// The progress bar for drawing functions KmPlotProgress * m_progressBar; + /// The labels set to show information on the statusbar + QList statusBarLabels; }; #endif // KMPLOT_H_ diff --git a/kmplot/kmplot.cpp b/kmplot/kmplot.cpp --- a/kmplot/kmplot.cpp +++ b/kmplot/kmplot.cpp @@ -24,24 +24,26 @@ #include "kmplot.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "maindlg.h" -#include -#include -#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "maindlg.h" +#include #include "kmplotadaptor.h" +#include "view.h" static QUrl urlFromArg(const QString &arg) { @@ -246,22 +248,31 @@ void KmPlot::setStatusBarText(const QString &text, int id) { - static_cast(statusBar())->changeItem(text,id); + static_cast(statusBarLabels.at(id))->setText(text); } void KmPlot::setupStatusBar() { - KStatusBar *statusBar = new KStatusBar(this); + QStatusBar *statusBar = new QStatusBar(this); setStatusBar(statusBar); - statusBar->insertFixedItem( "1234567890123456", 1 ); - statusBar->insertFixedItem( "1234567890123456", 2 ); - statusBar->insertItem( "", 3, 3 ); - statusBar->insertItem( "", 4 ); - statusBar->changeItem( "", 1 ); - statusBar->changeItem( "", 2 ); - statusBar->setItemAlignment( 3, Qt::AlignLeft ); + for (int i = 0; i < View::SectionCount; ++i) + { + QLabel *label = new QLabel (statusBar); + label->setFixedHeight (label->fontMetrics ().height () + 2); + /// Labels for coordinates should be of fixed width 16 chars to be the same as for good old KmPlot + if ( i < 2) { + label->setFixedWidth ( label->fontMetrics ().width (QLatin1Char ('8')) * 16 ); + label->setAlignment( Qt::AlignCenter ); + } + else { + label->setAlignment( Qt::AlignLeft ); + } + + statusBar->addWidget (label); + statusBarLabels.append (label); + } m_progressBar = new KmPlotProgress( statusBar ); m_progressBar->setMaximumHeight( statusBar->height()-10 ); diff --git a/kmplot/kmplotio.h b/kmplot/kmplotio.h --- a/kmplot/kmplotio.h +++ b/kmplot/kmplotio.h @@ -25,7 +25,7 @@ #ifndef KMPLOTIO_H #define KMPLOTIO_H -#include +#include #include class Equation; diff --git a/kmplot/kparametereditor.cpp b/kmplot/kparametereditor.cpp --- a/kmplot/kparametereditor.cpp +++ b/kmplot/kparametereditor.cpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include diff --git a/kmplot/maindlg.h b/kmplot/maindlg.h --- a/kmplot/maindlg.h +++ b/kmplot/maindlg.h @@ -30,16 +30,16 @@ // Qt includes #include -#include #include +#include +#include // KDE includes -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #undef GrayScale diff --git a/kmplot/maindlg.cpp b/kmplot/maindlg.cpp --- a/kmplot/maindlg.cpp +++ b/kmplot/maindlg.cpp @@ -37,29 +37,23 @@ #include #include #include +#include #include #include #include // KDE includes -#include -#include -#include -#include +#include +#include +#include +#include #include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include // local includes #include "calculator.h" diff --git a/kmplot/view.h b/kmplot/view.h --- a/kmplot/view.h +++ b/kmplot/view.h @@ -192,6 +192,18 @@ void setPrintBackground( bool status ); void setPrintWidth( double width ); void setPrintHeight( double height ); + + /** + * Which part of the status bar. + */ + enum StatusBarSection + { + XSection = 0, + YSection = 1, + RootSection = 2, + FunctionSection = 3, + SectionCount = 4 + }; public slots: /// Called when the user want to cancel the drawing @@ -387,16 +399,6 @@ * [min,max]. */ QList findRoots( const Plot & plot, double min, double max, RootAccuracy accuracy ); - /** - * Which part of the status bar. - */ - enum StatusBarSection - { - XSection = 1, - YSection = 2, - RootSection = 3, - FunctionSection = 4 - }; /** * Changes the text in the statusbar. */ diff --git a/kmplot/view.cpp b/kmplot/view.cpp --- a/kmplot/view.cpp +++ b/kmplot/view.cpp @@ -29,30 +29,27 @@ // Qt includes #include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include #include +#include #include +#include +#include +#include +#include +#include #include +#include #include #include -#include -#include +#include // KDE includes -#include -#include -#include -#include -#include -#include +#include +#include // local includes #include "functioneditor.h" diff --git a/kmplot/xparser.cpp b/kmplot/xparser.cpp --- a/kmplot/xparser.cpp +++ b/kmplot/xparser.cpp @@ -32,9 +32,8 @@ #include "maindlg.h" // KDE includes -#include #include -#include +#include #include #include