[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [ktorrent] plugins: port stats plugin
From:       Nick Shaforostoff <shafff () ukr ! net>
Date:       2016-04-17 12:03:15
Message-ID: E1arlQ3-0000nE-Qt () scm ! kde ! org
[Download RAW message or body]

Git commit 6cc49ed546c057844db628f86d956908c2519ee2 by Nick Shaforostoff.
Committed on 17/04/2016 at 12:03.
Pushed by shaforo into branch 'master'.

port stats plugin

M  +2    -2    plugins/CMakeLists.txt
M  +5    -4    plugins/stats/CMakeLists.txt
M  +21   -21   plugins/stats/ConnsTabPage.cc
M  +5    -7    plugins/stats/ConnsTabPage.h
M  +0    -1    plugins/stats/SettingsPage.h
M  +15   -15   plugins/stats/SpdTabPage.cc
M  +4    -6    plugins/stats/SpdTabPage.h
M  +16   -27   plugins/stats/StatsPlugin.cc
M  +4    -7    plugins/stats/StatsPlugin.h
M  +11   -15   plugins/stats/drawer/ChartDrawer.cc
M  +4    -6    plugins/stats/drawer/ChartDrawer.h
M  +19   -52   plugins/stats/drawer/ChartDrawerData.cc
M  +12   -13   plugins/stats/drawer/ChartDrawerData.h
M  +37   -39   plugins/stats/drawer/KPlotWgtDrawer.cc
M  +5    -7    plugins/stats/drawer/KPlotWgtDrawer.h
M  +51   -62   plugins/stats/drawer/PlainChartDrawer.cc
M  +3    -5    plugins/stats/drawer/PlainChartDrawer.h
R  +0    -0    plugins/stats/ktorrent_stats.desktop [from: \
plugins/stats/ktstatsplugin.desktop - 100% similarity] M  +1    -1    \
plugins/stats/ktstatsplugin.kcfg

http://commits.kde.org/ktorrent/6cc49ed546c057844db628f86d956908c2519ee2

diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index 04676fe..1898dda 100644
--- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt
@@ -12,7 +12,7 @@ find_package(Taglib)
 #find_package(Qt5 ${QT_MIN_VERSION} OPTIONAL_COMPONENTS Multimedia \
MultimediaWidgets)  find_package(Phonon4Qt5)
 
-find_package(KF5 5.15 OPTIONAL_COMPONENTS WebKit IconThemes DNSSD)
+find_package(KF5 5.15 OPTIONAL_COMPONENTS WebKit IconThemes DNSSD Plotting)
 
 find_package(LibKWorkspace CONFIG)
 set_package_properties(LibKWorkspace
@@ -30,7 +30,7 @@ endif()
 #macro_kt_plugin(ENABLE_WEBINTERFACE_PLUGIN webinterface webinterface)
 #macro_kt_plugin(ENABLE_SCANFOLDER_PLUGIN scanfolder scanfolder)
 #macro_kt_plugin(ENABLE_IPFILTER_PLUGIN ipfilter ipfilter)
-#macro_kt_plugin(ENABLE_STATS_PLUGIN stats stats)
+macro_kt_plugin(ENABLE_STATS_PLUGIN stats stats)
 macro_kt_plugin(ENABLE_BWSCHEDULER_PLUGIN bwscheduler bwscheduler)
 if (TAGLIB_FOUND AND PHONON_FOUND_EXPERIMENTAL) #AND Qt5Multimedia_FOUND)
   macro_kt_plugin(ENABLE_MEDIAPLAYER_PLUGIN mediaplayer mediaplayer)
diff --git a/plugins/stats/CMakeLists.txt b/plugins/stats/CMakeLists.txt
index c80f4a0..5febb6d 100644
--- a/plugins/stats/CMakeLists.txt
+++ b/plugins/stats/CMakeLists.txt
@@ -25,13 +25,14 @@ set(ktstatsplugin_SRC
 
 ki18n_wrap_ui(ktstatsplugin_SRC Spd.ui Conns.ui Settings.ui DisplaySettings.ui)
 kconfig_add_kcfg_files(ktstatsplugin_SRC statspluginsettings.kcfgc)
-add_library(ktstatsplugin MODULE ${ktstatsplugin_SRC})
+add_library(ktorrent_stats MODULE ${ktstatsplugin_SRC})
+kcoreaddons_desktop_to_json(ktorrent_stats ktorrent_stats.desktop)
 
 target_link_libraries(
-    ktstatsplugin
+    ktorrent_stats
     ktcore
     ${LIBKTORRENT_LIBRARIES}
     KF5::Parts
+    KF5::Plotting
     )
-install(TARGETS ktstatsplugin  DESTINATION ${PLUGIN_INSTALL_DIR} )
-install(FILES ktstatsplugin.desktop  DESTINATION  ${SERVICES_INSTALL_DIR} )
+install(TARGETS ktorrent_stats  DESTINATION ${KTORRENT_PLUGIN_INSTALL_DIR} )
diff --git a/plugins/stats/ConnsTabPage.cc b/plugins/stats/ConnsTabPage.cc
index e3543d7..3a4b5a4 100644
--- a/plugins/stats/ConnsTabPage.cc
+++ b/plugins/stats/ConnsTabPage.cc
@@ -23,19 +23,19 @@
 namespace kt
 {
 
-    ConnsTabPage::ConnsTabPage(QWidget* p) : PluginPage(p), pmConnsUi(new \
                Ui::ConnsWgt), pmLhrSwnUuid(new QUuid(QUuid::createUuid())),
-        pmSesSwnUuid(new QUuid(QUuid::createUuid()))
+    ConnsTabPage::ConnsTabPage(QWidget* p) : PluginPage(p), pmConnsUi(new \
Ui::ConnsWgt), pmLhrSwnUuid(QUuid::createUuid()), +        \
pmSesSwnUuid(QUuid::createUuid())  {
 
         if (StatsPluginSettings::widgetType() == 0)
         {
-            pmConnsChtWgt.reset(new PlainChartDrawer(this));
-            pmDhtChtWgt.reset(new PlainChartDrawer(this));
+            pmConnsChtWgt = new PlainChartDrawer(this);
+            pmDhtChtWgt = new PlainChartDrawer(this);
         }
         else if (StatsPluginSettings::widgetType() == 1)
         {
-            pmConnsChtWgt.reset(new KPlotWgtDrawer(this));
-            pmDhtChtWgt.reset(new KPlotWgtDrawer(this));
+            pmConnsChtWgt = new KPlotWgtDrawer(this);
+            pmDhtChtWgt = new KPlotWgtDrawer(this);
         }
 
         setupUi();
@@ -53,8 +53,8 @@ namespace kt
         pmConnsChtWgt->setUnitName(i18n("Connections"));
         pmDhtChtWgt->setUnitName(i18n("Nodes"));
 
-        pmConnsUi->ConnsGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmConnsChtWgt.get()));
                
-        pmConnsUi->DhtGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmDhtChtWgt.get()));
 +        pmConnsUi->ConnsGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmConnsChtWgt));
 +        pmConnsUi->DhtGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmDhtChtWgt));
  
         //------------------
         pmConnsChtWgt->addDataSet(ChartDrawerData(i18nc("Name of a line on chart", \
"Leechers connected"), QPen(StatsPluginSettings::cnLConnColor()), true)); @@ -62,7 \
+62,7 @@ namespace kt  
         if (StatsPluginSettings::showLeechersInSwarms())
         {
-            pmConnsChtWgt->addDataSet(ChartDrawerData(i18nc("Name of a line on \
chart", "Leechers in swarms"), QPen(StatsPluginSettings::cnLSwarmsColor()), true, \
*pmLhrSwnUuid)); +            pmConnsChtWgt->addDataSet(ChartDrawerData(i18nc("Name \
of a line on chart", "Leechers in swarms"), \
QPen(StatsPluginSettings::cnLSwarmsColor()), true, pmLhrSwnUuid));  }
 
         //
@@ -71,7 +71,7 @@ namespace kt
         //
         if (StatsPluginSettings::showSeedsInSwarms())
         {
-            pmConnsChtWgt->addDataSet(ChartDrawerData(i18nc("Name of a line on \
chart", "Seeds in swarms"), QPen(StatsPluginSettings::cnSSwarmsColor()), true, \
*pmSesSwnUuid)); +            pmConnsChtWgt->addDataSet(ChartDrawerData(i18nc("Name \
of a line on chart", "Seeds in swarms"), QPen(StatsPluginSettings::cnSSwarmsColor()), \
true, pmSesSwnUuid));  }
 
         //
@@ -113,33 +113,33 @@ namespace kt
 
         //-------
 
-        if (StatsPluginSettings::showLeechersInSwarms() && \
(pmConnsChtWgt->findUuidInSet(*pmLhrSwnUuid) == -1)) +        if \
(StatsPluginSettings::showLeechersInSwarms() && \
(pmConnsChtWgt->findUuidInSet(pmLhrSwnUuid) == -1))  {
-            pmConnsChtWgt->insertDataSet(1, ChartDrawerData(i18nc("Name of a line on \
chart", "Leechers in swarms"), QPen(StatsPluginSettings::cnLSwarmsColor()), true, \
*pmLhrSwnUuid)); +            pmConnsChtWgt->insertDataSet(1, \
ChartDrawerData(i18nc("Name of a line on chart", "Leechers in swarms"), \
QPen(StatsPluginSettings::cnLSwarmsColor()), true, pmLhrSwnUuid));  }
 
-        if ((!StatsPluginSettings::showLeechersInSwarms()) && \
(pmConnsChtWgt->findUuidInSet(*pmLhrSwnUuid) != -1)) +        if \
((!StatsPluginSettings::showLeechersInSwarms()) && \
(pmConnsChtWgt->findUuidInSet(pmLhrSwnUuid) != -1))  {
             pmConnsChtWgt->removeDataSet(1);
         }
 
         //~
 
-        if (StatsPluginSettings::showSeedsInSwarms() && \
(pmConnsChtWgt->findUuidInSet(*pmSesSwnUuid) == -1)) +        if \
(StatsPluginSettings::showSeedsInSwarms() && \
(pmConnsChtWgt->findUuidInSet(pmSesSwnUuid) == -1))  {
-            if ((pmConnsChtWgt->findUuidInSet(*pmLhrSwnUuid) == -1))
+            if ((pmConnsChtWgt->findUuidInSet(pmLhrSwnUuid) == -1))
             {
-                pmConnsChtWgt->insertDataSet(2, ChartDrawerData(i18nc("Name of a \
line on chart", "Seeds in swarms"), QPen(StatsPluginSettings::cnSSwarmsColor()), \
true, *pmSesSwnUuid)); +                pmConnsChtWgt->insertDataSet(2, \
ChartDrawerData(i18nc("Name of a line on chart", "Seeds in swarms"), \
QPen(StatsPluginSettings::cnSSwarmsColor()), true, pmSesSwnUuid));  }
             else
             {
-                pmConnsChtWgt->insertDataSet(3, ChartDrawerData(i18nc("Name of a \
line on chart", "Seeds in swarms"), QPen(StatsPluginSettings::cnSSwarmsColor()), \
true, *pmSesSwnUuid)); +                pmConnsChtWgt->insertDataSet(3, \
ChartDrawerData(i18nc("Name of a line on chart", "Seeds in swarms"), \
QPen(StatsPluginSettings::cnSSwarmsColor()), true, pmSesSwnUuid));  }
         }
 
-        if ((!StatsPluginSettings::showSeedsInSwarms()) && \
(pmConnsChtWgt->findUuidInSet(*pmSesSwnUuid) != -1)) +        if \
((!StatsPluginSettings::showSeedsInSwarms()) && \
(pmConnsChtWgt->findUuidInSet(pmSesSwnUuid) != -1))  {
-            if ((pmConnsChtWgt->findUuidInSet(*pmLhrSwnUuid) == -1))
+            if ((pmConnsChtWgt->findUuidInSet(pmLhrSwnUuid) == -1))
             {
                 pmConnsChtWgt->removeDataSet(2);
             }
@@ -186,7 +186,7 @@ namespace kt
 
         if (bt::Globals::instance().getDHT().isRunning())
         {
-            if (! dynamic_cast<QWidget*>(pmDhtChtWgt.get())->isEnabled())
+            if (! dynamic_cast<QWidget*>(pmDhtChtWgt)->isEnabled())
             {
                 pmConnsUi->DhtGbw->setEnabled(true);
             }
@@ -211,7 +211,7 @@ namespace kt
     {
         pmConnsChtWgt->update();
 
-        if (dynamic_cast<QWidget*>(pmDhtChtWgt.get())->isEnabled())
+        if (dynamic_cast<QWidget*>(pmDhtChtWgt)->isEnabled())
         {
             pmDhtChtWgt->update();
         }
diff --git a/plugins/stats/ConnsTabPage.h b/plugins/stats/ConnsTabPage.h
index 4ba5ad3..2f6355a 100644
--- a/plugins/stats/ConnsTabPage.h
+++ b/plugins/stats/ConnsTabPage.h
@@ -23,8 +23,6 @@
 #include <QWidget>
 #include <QUuid>
 
-#include <klocale.h>
-
 #include <interfaces/plugin.h>
 #include <torrent/globals.h>
 #include <dht/dhtbase.h>
@@ -56,23 +54,23 @@ namespace kt
 
     private:
         ///Tab's UI
-        std::auto_ptr<Ui::ConnsWgt> pmConnsUi;
+        Ui::ConnsWgt* pmConnsUi;
 
         ///Connections chart widget
-        std::auto_ptr<ChartDrawer> pmConnsChtWgt;
+        ChartDrawer* pmConnsChtWgt;
         ///DHT chart widget
-        std::auto_ptr<ChartDrawer> pmDhtChtWgt;
+        ChartDrawer* pmDhtChtWgt;
 
         /** \brief Leechers in swarms dataset UUID
 
         Used for identification whether this dataset is already shown on the chart \
                and if it needs to be removed or added on settings chage
         */
-        const std::auto_ptr<QUuid> pmLhrSwnUuid;
+        const QUuid pmLhrSwnUuid;
         /** \brief Seeds in swarms dataset UUID
 
         Used for identification whether this dataset is already shown on the chart \
                and if it needs to be removed or added on settings chage
         */
-        const std::auto_ptr<QUuid> pmSesSwnUuid;
+        const QUuid pmSesSwnUuid;
 
         /** \brief Gathers data about connections
         \param  pP kt::Plugin interface
diff --git a/plugins/stats/SettingsPage.h b/plugins/stats/SettingsPage.h
index 909b48b..6b1ad70 100644
--- a/plugins/stats/SettingsPage.h
+++ b/plugins/stats/SettingsPage.h
@@ -23,7 +23,6 @@
 
 #include <QWidget>
 
-#include <klocale.h>
 #include <kcolorbutton.h>
 
 #include <interfaces/prefpageinterface.h>
diff --git a/plugins/stats/SpdTabPage.cc b/plugins/stats/SpdTabPage.cc
index 16ffba8..76d4f61 100644
--- a/plugins/stats/SpdTabPage.cc
+++ b/plugins/stats/SpdTabPage.cc
@@ -29,22 +29,22 @@ namespace kt
 
         if (StatsPluginSettings::widgetType() == 0)
         {
-            pmDlChtWgt.reset(new PlainChartDrawer(this));
-            pmPeersChtWgt.reset(new PlainChartDrawer(this));
-            pmUlChtWgt.reset(new PlainChartDrawer(this));
+            pmDlChtWgt = new PlainChartDrawer(this);
+            pmPeersChtWgt = new PlainChartDrawer(this);
+            pmUlChtWgt = new PlainChartDrawer(this);
 
-            connect(dynamic_cast<PlainChartDrawer*>(pmDlChtWgt.get()), \
                SIGNAL(Zeroed(ChartDrawer*)), this, SLOT(resetAvg(ChartDrawer*)));
-            connect(dynamic_cast<PlainChartDrawer*>(pmUlChtWgt.get()), \
SIGNAL(Zeroed(ChartDrawer*)), this, SLOT(resetAvg(ChartDrawer*))); +            \
connect(dynamic_cast<PlainChartDrawer*>(pmDlChtWgt), SIGNAL(Zeroed(ChartDrawer*)), \
this, SLOT(resetAvg(ChartDrawer*))); +            \
connect(dynamic_cast<PlainChartDrawer*>(pmUlChtWgt), SIGNAL(Zeroed(ChartDrawer*)), \
this, SLOT(resetAvg(ChartDrawer*)));  
         }
         else if (StatsPluginSettings::widgetType() == 1)
         {
-            pmDlChtWgt.reset(new KPlotWgtDrawer(this));
-            pmPeersChtWgt.reset(new KPlotWgtDrawer(this));
-            pmUlChtWgt.reset(new KPlotWgtDrawer(this));
+            pmDlChtWgt = new KPlotWgtDrawer(this);
+            pmPeersChtWgt = new KPlotWgtDrawer(this);
+            pmUlChtWgt = new KPlotWgtDrawer(this);
 
-            connect(dynamic_cast<KPlotWgtDrawer*>(pmDlChtWgt.get()), \
                SIGNAL(Zeroed(ChartDrawer*)), this, SLOT(resetAvg(ChartDrawer*)));
-            connect(dynamic_cast<KPlotWgtDrawer*>(pmUlChtWgt.get()), \
SIGNAL(Zeroed(ChartDrawer*)), this, SLOT(resetAvg(ChartDrawer*))); +            \
connect(dynamic_cast<KPlotWgtDrawer*>(pmDlChtWgt), SIGNAL(Zeroed(ChartDrawer*)), \
this, SLOT(resetAvg(ChartDrawer*))); +            \
connect(dynamic_cast<KPlotWgtDrawer*>(pmUlChtWgt), SIGNAL(Zeroed(ChartDrawer*)), \
this, SLOT(resetAvg(ChartDrawer*)));  }
 
 
@@ -60,9 +60,9 @@ namespace kt
     {
         pmUiSpd->setupUi(this);
 
-        pmUiSpd->DlSpdGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmDlChtWgt.get()));
                
-        pmUiSpd->PeersSpdGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmPeersChtWgt.get()));
                
-        pmUiSpd->UlSpdGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmUlChtWgt.get()));
 +        pmUiSpd->DlSpdGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmDlChtWgt));
+        pmUiSpd->PeersSpdGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmPeersChtWgt));
 +        pmUiSpd->UlSpdGbw->layout()->addWidget(dynamic_cast<QWidget*>(pmUlChtWgt));
 
         pmDlChtWgt->addDataSet(ChartDrawerData(i18nc("Name of a line on download \
                chart", "Current speed"), QPen(StatsPluginSettings::dlSpdColor()), \
                true));
         pmUlChtWgt->addDataSet(ChartDrawerData(i18nc("Name of a line on upload \
chart", "Current speed"), QPen(StatsPluginSettings::ulSpdColor()), true)); @@ -236,11 \
+236,11 @@ namespace kt  {
             return;
         }
-        else if (c == pmDlChtWgt.get())
+        else if (c == pmDlChtWgt)
         {
             mDlAvg = std::make_pair(0, 0);
         }
-        else if (c == pmUlChtWgt.get())
+        else if (c == pmUlChtWgt)
         {
             mUlAvg = std::make_pair(0, 0);
         }
diff --git a/plugins/stats/SpdTabPage.h b/plugins/stats/SpdTabPage.h
index 661ff52..61b3d73 100644
--- a/plugins/stats/SpdTabPage.h
+++ b/plugins/stats/SpdTabPage.h
@@ -26,8 +26,6 @@
 #include <QPen>
 #include <QList>
 
-#include <klocale.h>
-
 #include <interfaces/plugin.h>
 #include <interfaces/coreinterface.h>
 #include <torrent/torrentcontrol.h>
@@ -92,14 +90,14 @@ namespace kt
 
     private:
         ///Page's UI
-        std::auto_ptr<Ui::SpdWgt> pmUiSpd;
+        Ui::SpdWgt* pmUiSpd;
 
         ///Dl speeds chart widget
-        std::auto_ptr<ChartDrawer> pmDlChtWgt;
+        ChartDrawer* pmDlChtWgt;
         ///Peers speeds chart widget
-        std::auto_ptr<ChartDrawer> pmPeersChtWgt;
+        ChartDrawer* pmPeersChtWgt;
         ///Ul speeds chart widget
-        std::auto_ptr<ChartDrawer> pmUlChtWgt;
+        ChartDrawer* pmUlChtWgt;
 
         ///Dl average
         avg_t mDlAvg;
diff --git a/plugins/stats/StatsPlugin.cc b/plugins/stats/StatsPlugin.cc
index 5add0b7..6bd7f7b 100644
--- a/plugins/stats/StatsPlugin.cc
+++ b/plugins/stats/StatsPlugin.cc
@@ -20,13 +20,14 @@
 
 #include <StatsPlugin.h>
 #include <interfaces/torrentactivityinterface.h>
+#include <kpluginfactory.h>
 
-K_EXPORT_COMPONENT_FACTORY(ktstatsplugin, \
KGenericFactory<kt::StatsPlugin>("ktstatsplugin")) \
+K_PLUGIN_FACTORY_WITH_JSON(ktorrent_stats, "ktorrent_stats.json", \
registerPlugin<kt::StatsPlugin>();)  
 namespace kt
 {
 
-    StatsPlugin::StatsPlugin(QObject* p, const QStringList&) : Plugin(p), mUpdCtr(1)
+    StatsPlugin::StatsPlugin(QObject* p, const QVariantList&) : Plugin(p), \
mUpdCtr(1)  {
         pmUiSett = 0;
         pmDispSett = 0;
@@ -38,52 +39,38 @@ namespace kt
 
     void StatsPlugin::load()
     {
-        pmUiSpd.release();
-        pmUiConns.release();
-        pmTmr.release();
-
-        pmUiSpd.reset(new SpdTabPage(0));
-        pmUiConns.reset(new ConnsTabPage(0));
+        pmUiSpd = new SpdTabPage(0);
+        pmUiConns = new ConnsTabPage(0);
         pmUiSett = new SettingsPage(0);
         pmDispSett = new DisplaySettingsPage(0);
-        pmTmr.reset(new QTimer(this));
 
         TorrentActivityInterface* ta = getGUI()->getTorrentActivity();
-        ta->addToolWidget(pmUiSpd.get(), i18n("Speed charts"), "view-statistics", \
                i18n("Displays charts about download and upload speed"));
-        ta->addToolWidget(pmUiConns.get(), i18n("Connections charts"), \
"view-statistics", i18n("Displays charts about connections")); +        \
ta->addToolWidget(pmUiSpd, i18n("Speed charts"), "view-statistics", i18n("Displays \
charts about download and upload speed")); +        ta->addToolWidget(pmUiConns, \
i18n("Connections charts"), "view-statistics", i18n("Displays charts about \
connections"));  
         getGUI()->addPrefPage(pmUiSett);
         getGUI()->addPrefPage(pmDispSett);
 
-        connect(pmTmr.get(), SIGNAL(timeout()), dynamic_cast<StatsPlugin*>(this), \
SLOT(gatherData())); +        connect(&pmTmr, SIGNAL(timeout()), \
                dynamic_cast<StatsPlugin*>(this), SLOT(gatherData()));
         connect(getCore(), SIGNAL(settingsChanged()), this, \
SLOT(settingsChanged()));  
-        pmTmr->start(StatsPluginSettings::dataGatherIval());
+        pmTmr.start(StatsPluginSettings::dataGatherIval());
 
     }
 
     void StatsPlugin::unload()
     {
         TorrentActivityInterface* ta = getGUI()->getTorrentActivity();
-        ta->removeToolWidget(pmUiSpd.get());
-        ta->removeToolWidget(pmUiConns.get());
+        ta->removeToolWidget(pmUiSpd);
+        ta->removeToolWidget(pmUiConns);
 
         getGUI()->removePrefPage(pmUiSett);
         getGUI()->removePrefPage(pmDispSett);
 
-        pmTmr->stop();
+        pmTmr.stop();
 
-        disconnect(pmTmr.get());
+        disconnect(&pmTmr);
         disconnect(getCore());
-
-        pmUiSpd.reset();
-        pmUiConns.reset();
-
-        pmUiSett = 0;
-        pmDispSett = 0;
-
-        pmTmr.reset();
-
     }
 
     bool StatsPlugin::versionCheck(const QString& version) const
@@ -114,9 +101,11 @@ namespace kt
 
     void StatsPlugin::settingsChanged()
     {
-        pmTmr->setInterval(StatsPluginSettings::dataGatherIval());
+        pmTmr.setInterval(StatsPluginSettings::dataGatherIval());
         pmUiSpd->applySettings();
         pmUiConns->applySettings();
     }
 
 } //Ns end
+
+#include "StatsPlugin.moc"
diff --git a/plugins/stats/StatsPlugin.h b/plugins/stats/StatsPlugin.h
index fdd7bac..f1feffd 100644
--- a/plugins/stats/StatsPlugin.h
+++ b/plugins/stats/StatsPlugin.h
@@ -26,9 +26,6 @@
 #include <QStringList>
 #include <QTimer>
 
-#include <kgenericfactory.h>
-#include <klocale.h>
-
 #include <interfaces/plugin.h>
 #include <interfaces/guiinterface.h>
 
@@ -55,7 +52,7 @@ namespace kt
         /** \brief Constructor
         \param p Parent
         */
-        StatsPlugin(QObject* p, const QStringList&);
+        StatsPlugin(QObject* p, const QVariantList&);
         ///Destructor
         virtual ~StatsPlugin();
 
@@ -72,15 +69,15 @@ namespace kt
 
     private:
         ///Speeds tab
-        std::auto_ptr<SpdTabPage> pmUiSpd;
+        SpdTabPage* pmUiSpd;
         ///Connections tab
-        std::auto_ptr<ConnsTabPage> pmUiConns;
+        ConnsTabPage* pmUiConns;
         ///Settings Page
         SettingsPage* pmUiSett;
         /// Display settings page
         DisplaySettingsPage* pmDispSett;
         ///Timer
-        std::auto_ptr<QTimer> pmTmr;
+        QTimer pmTmr;
 
         ///Updates counter
         uint32_t mUpdCtr;
diff --git a/plugins/stats/drawer/ChartDrawer.cc \
b/plugins/stats/drawer/ChartDrawer.cc index 34df220..2ba1b06 100644
--- a/plugins/stats/drawer/ChartDrawer.cc
+++ b/plugins/stats/drawer/ChartDrawer.cc
@@ -20,15 +20,17 @@
 
 #include <ChartDrawer.h>
 
+#include <klocalizedstring.h>
+
 namespace kt
 {
 
-    ChartDrawer::ChartDrawer() :       pmVals(new val_t),
-        pmUnitName(new QString(i18n("KiB/s"))),
-        mCurrMaxMode(MM_Exact),
-        mXMax(16),
-        mYMax(1),
-        mAntiAlias(1)
+    ChartDrawer::ChartDrawer()
+        : pmUnitName(i18n("KiB/s"))
+        , mCurrMaxMode(MM_Exact)
+        , mXMax(16)
+        , mYMax(1)
+        , mAntiAlias(1)
     {
     }
 
@@ -46,25 +48,19 @@ namespace kt
         return mYMax;
     }
 
-
-    const QString* ChartDrawer::getUnitName() const
-    {
-        return pmUnitName.get();
-    }
-
     size_t ChartDrawer::dataSetCount() const
     {
-        return pmVals->size();
+        return pmVals.size();
     }
 
     ChartDrawer::val_t::const_iterator ChartDrawer::begin() const
     {
-        return pmVals->begin();
+        return pmVals.begin();
     }
 
     ChartDrawer::val_t::const_iterator ChartDrawer::end() const
     {
-        return pmVals->end();
+        return pmVals.end();
     }
 
 } //NS end
diff --git a/plugins/stats/drawer/ChartDrawer.h b/plugins/stats/drawer/ChartDrawer.h
index 9e5db3b..5c6f165 100644
--- a/plugins/stats/drawer/ChartDrawer.h
+++ b/plugins/stats/drawer/ChartDrawer.h
@@ -26,8 +26,6 @@
 #include <QUuid>
 #include <QPaintEvent>
 
-#include <klocale.h>
-
 #include <memory>
 #include <stdint.h>
 
@@ -75,12 +73,12 @@ namespace kt
         /** \brief Get name of a unit used shown chart
         \return Name
         */
-        const QString* getUnitName() const;
+        QString getUnitName() const {return pmUnitName;}
         /** \brief Get UUID of the dataset
         \param idx Index of the dataset
         \return UUID
         */
-        virtual const QUuid* getUuid(const size_t idx) const = 0;
+        virtual QUuid getUuid(const size_t idx) const = 0;
 
         /** \brief Gets the begin of dataset as const_iterator
         \return Beginning of the set
@@ -196,9 +194,9 @@ namespace kt
 
     protected:
         ///Pointer to chart's data container
-        std::auto_ptr<val_t> pmVals;
+        val_t pmVals;
         ///Pointer to a name of the unit used on chart
-        std::auto_ptr<QString> pmUnitName;
+        QString pmUnitName;
         ///Current maximum mode
         MaxMode mCurrMaxMode;
         ///Current maximum on OX
diff --git a/plugins/stats/drawer/ChartDrawerData.cc \
b/plugins/stats/drawer/ChartDrawerData.cc index f0eba0f..322955d 100644
--- a/plugins/stats/drawer/ChartDrawerData.cc
+++ b/plugins/stats/drawer/ChartDrawerData.cc
@@ -20,10 +20,12 @@
 
 #include <ChartDrawerData.h>
 
+#include <klocalizedstring.h>
+
 namespace kt
 {
 
-    ChartDrawerData::ChartDrawerData() : pmName(new QString(i18n("Unknown"))), \
pmPen(new QPen("#f00")), pmVals(new val_t), pmUuid(new QUuid(QUuid::createUuid())), \
mMax(true) +    ChartDrawerData::ChartDrawerData() : pmName(i18n("Unknown")), \
pmPen("#f00"), pmUuid(QUuid::createUuid()), mMax(true)  {
     }
 
@@ -31,89 +33,54 @@ namespace kt
     {
     }
 
-    ChartDrawerData::ChartDrawerData(const ChartDrawerData& rCdd) : pmName(new \
                QString(*(rCdd.pmName))),
-        pmPen(new QPen(*(rCdd.pmPen))),
-        pmVals(new val_t(*(rCdd.pmVals))),
-        pmUuid(new QUuid(*(rCdd.pmUuid))),
+    ChartDrawerData::ChartDrawerData(const ChartDrawerData& rCdd) : \
pmName(rCdd.pmName), +        pmPen(rCdd.pmPen),
+        pmVals(rCdd.pmVals),
+        pmUuid(rCdd.pmUuid),
         mMax(rCdd.mMax)
     {
 
     }
 
-    ChartDrawerData::ChartDrawerData(const QString& rN, const QPen& rP, const bool \
                sm, const QUuid& rU) : pmName(new QString(rN)),
-        pmPen(new QPen(rP)), pmVals(new val_t), pmUuid(new QUuid(rU)), mMax(sm)
+    ChartDrawerData::ChartDrawerData(const QString& rN, const QPen& rP, const bool \
sm, const QUuid& rU) : pmName(rN), +        pmPen(rP), pmUuid(rU), mMax(sm)
     {
     }
 
     void ChartDrawerData::setSize(const size_t s)
     {
-        if (s != pmVals->size())
+        if (s != pmVals.size())
         {
-            pmVals->resize(s, 0.0);
+            pmVals.resize(s, 0.0);
         }
     }
 
     void ChartDrawerData::zero()
     {
-        std::fill(pmVals->begin(), pmVals->end(), 0.0);
+        std::fill(pmVals.begin(), pmVals.end(), 0.0);
     }
 
     void ChartDrawerData::addValue(const qreal val)
     {
-        std::copy(pmVals->begin() + 1, pmVals->end(), pmVals->begin());
-        *(pmVals->end() - 1) = val;
-    }
-
-    const ChartDrawerData::val_t* ChartDrawerData::getValues() const
-    {
-        return pmVals.get();
-    }
-
-    const QPen* ChartDrawerData::getPen() const
-    {
-        return pmPen.get();
-    }
-
-    void ChartDrawerData::setPen(const QPen& rQp)
-    {
-        pmPen.reset(new QPen(rQp));
-    }
-
-    const QString* ChartDrawerData::getName() const
-    {
-        return pmName.get();
-    }
-
-    void ChartDrawerData::setName(const QString& rNm)
-    {
-        pmName.reset(new QString(rNm));
-    }
-
-    const QUuid* ChartDrawerData::getUuid() const
-    {
-        return pmUuid.get();
-    }
-
-    void ChartDrawerData::setUuid(const QUuid& rU)
-    {
-        pmUuid.reset(new QUuid(rU));
+        std::copy(pmVals.begin() + 1, pmVals.end(), pmVals.begin());
+        *(pmVals.end() - 1) = val;
     }
 
     std::pair<qreal, size_t> ChartDrawerData::findMax() const
     {
-        if (!pmVals->size())
+        if (!pmVals.size())
         {
             return std::make_pair(0, 0);
         }
 
-        qreal max = pmVals->at(0);
+        qreal max = pmVals.at(0);
         size_t idx = 0;
 
-        for (size_t i = 0; i < pmVals->size(); i++)
+        for (size_t i = 0; i < pmVals.size(); i++)
         {
-            if (pmVals->at(i) >= max)
+            if (pmVals.at(i) >= max)
             {
-                max = pmVals->at(i);
+                max = pmVals.at(i);
                 idx = i;
             }
         }
diff --git a/plugins/stats/drawer/ChartDrawerData.h \
b/plugins/stats/drawer/ChartDrawerData.h index d53cca6..a707221 100644
--- a/plugins/stats/drawer/ChartDrawerData.h
+++ b/plugins/stats/drawer/ChartDrawerData.h
@@ -26,8 +26,6 @@
 #include <QPointer>
 #include <QUuid>
 
-#include <klocale.h>
-
 #include <vector>
 #include <memory>
 #include <algorithm>
@@ -49,13 +47,13 @@ namespace kt
         typedef std::vector<qreal> val_t;
     private:
         ///Name of the set
-        std::auto_ptr<QString> pmName;
+        QString pmName;
         ///Pent of the set
-        std::auto_ptr<QPen> pmPen;
+        QPen pmPen;
         ///Values
-        std::auto_ptr<val_t> pmVals;
+        val_t pmVals;
         ///Set's UUID
-        std::auto_ptr<QUuid> pmUuid;
+        QUuid pmUuid;
         ///Mark maximum?
         bool mMax;
 
@@ -96,34 +94,35 @@ namespace kt
         /** \brief Returns valueset
         \return Values
         */
-        const val_t* getValues() const;
+        const val_t& getValues() const {return pmVals;}
 
         /** \brief Returns set's pen
         \return Pen
         */
-        const QPen* getPen() const;
+        QPen getPen() const {return pmPen;}
         /** \brief Sets set's pen
         \param rP New pen
         */
-        void setPen(const QPen& rP);
+        void setPen(const QPen& rP) {pmPen = rP;}
 
         /** \brief Returns set's name
         \return Name
         */
-        const QString* getName() const;
+        QString getName() const {return pmName;}
+
         /** \brief Sets set's name
         \param rN New name
         */
-        void setName(const QString& rN);
+        void setName(const QString& rN) {pmName = rN;}
 
         /** \brief Returns set's UUID
         \return UUID
         */
-        const QUuid* getUuid() const;
+        const QUuid getUuid() const {return pmUuid;}
         /** \brief Sets set's UUID
         \param rU New UUID
         */
-        void setUuid(const QUuid& rU);
+        void setUuid(const QUuid& rU) {pmUuid = rU;}
 
         /** \brief Mark set's maximum
         \return Mark?
diff --git a/plugins/stats/drawer/KPlotWgtDrawer.cc \
b/plugins/stats/drawer/KPlotWgtDrawer.cc index 29cb5c0..5298aeb 100644
--- a/plugins/stats/drawer/KPlotWgtDrawer.cc
+++ b/plugins/stats/drawer/KPlotWgtDrawer.cc
@@ -20,17 +20,19 @@
 
 #include <KPlotWgtDrawer.h>
 
+#include <QFileDialog>
+#include <klocalizedstring.h>
+
 namespace kt
 {
 
-    KPlotWgtDrawer::KPlotWgtDrawer(QWidget* p) : KPlotWidget(p), ChartDrawer(), \
                pmUuids(new std::vector<QUuid>), pmBuff(new buff_t),
-        pmDescs(new std::vector<QString>), pmCtxMenu(new KMenu(this))
+    KPlotWgtDrawer::KPlotWgtDrawer(QWidget* p) : KPlotWidget(p), ChartDrawer(), \
pmCtxMenu(new QMenu(this))  {
         setLimits(0, mXMax, 0, mYMax);
         axis(TopAxis)->setVisible(false);
         axis(LeftAxis)->setVisible(false);
 
-        axis(RightAxis)->setLabel(*pmUnitName);
+        axis(RightAxis)->setLabel(pmUnitName);
         axis(RightAxis)->setTickLabelsShown(true);
 
         setBackgroundColor(QPalette().color(QPalette::Active, QPalette::Base));
@@ -51,7 +53,7 @@ namespace kt
             return;
         }
 
-        pmBuff->push_back(std::make_pair(idx, val));
+        pmBuff.push_back(std::make_pair(idx, val));
 
         if (upd)
         {
@@ -63,26 +65,26 @@ namespace kt
     void KPlotWgtDrawer::AddPointsFromBuffer()
     {
 
-        if (!(pmBuff->size()))
+        if (!(pmBuff.size()))
         {
             return;
         }
 
         val_t kpo(plotObjects());
 
-        while (pmBuff->size())
+        while (pmBuff.size())
         {
-            if ((pmBuff->front().first) >= static_cast<size_t>(kpo.size()))
+            if ((pmBuff.front().first) >= static_cast<size_t>(kpo.size()))
             {
-                pmBuff->pop_front();
+                pmBuff.pop_front();
                 continue;
             }
 
-            QList< KPlotPoint* > kpp = kpo[pmBuff->front().first]->points();
+            QList< KPlotPoint* > kpp = kpo[pmBuff.front().first]->points();
 
             if (kpp.size() > mXMax)
             {
-                kpo[pmBuff->front().first]->removePoint(0);
+                kpo[pmBuff.front().first]->removePoint(0);
             }
 
             for (size_t i = kpp.size() - 1 ; ((kpp.size()) && (i > 0)); i--)
@@ -90,13 +92,13 @@ namespace kt
                 kpp[i]->setX(kpp[i]->x() - 1);
             }
 
-            kpo[pmBuff->front().first]->addPoint(mXMax, pmBuff->front().second);
+            kpo[pmBuff.front().first]->addPoint(mXMax, pmBuff.front().second);
 
             if (mCurrMaxMode == MM_Top)
             {
-                if ((pmBuff->front().second > 1) && (pmBuff->front().second > \
mYMax)) +                if ((pmBuff.front().second > 1) && (pmBuff.front().second > \
mYMax))  {
-                    mYMax = pmBuff->front().second + 5;
+                    mYMax = pmBuff.front().second + 5;
                 }
             }
             else if (mCurrMaxMode == MM_Exact)
@@ -104,14 +106,14 @@ namespace kt
                 findSetMax();
             }
 
-            pmBuff->pop_front();
+            pmBuff.pop_front();
         }
     }
 
     KPlotObject* KPlotWgtDrawer::cdd2kpo(const ChartDrawerData& rC) const
     {
-        KPlotObject* kpo = new KPlotObject(rC.getPen()->color(), KPlotObject::Lines, \
                1, KPlotObject::NoPoints);
-        kpo->setPen(*(rC.getPen()));
+        KPlotObject* kpo = new KPlotObject(rC.getPen().color(), KPlotObject::Lines, \
1, KPlotObject::NoPoints); +        kpo->setPen(rC.getPen());
 
         return kpo;
     }
@@ -120,8 +122,8 @@ namespace kt
     {
         addPlotObject(cdd2kpo(Cdd));
 
-        pmUuids->push_back(*(Cdd.getUuid()));
-        pmDescs->push_back(*(Cdd.getName()));
+        pmUuids.push_back(Cdd.getUuid());
+        pmDescs.push_back(Cdd.getName());
     }
 
     void KPlotWgtDrawer::insertDataSet(const size_t idx, ChartDrawerData Cdd)
@@ -149,8 +151,8 @@ namespace kt
 
         addPlotObjects(dest_l);
 
-        pmUuids->insert(pmUuids->begin() + idx, *(Cdd.getUuid()));
-        pmDescs->insert(pmDescs->begin() + idx, *(Cdd.getName()));
+        pmUuids.insert(pmUuids.begin() + idx, Cdd.getUuid());
+        pmDescs.insert(pmDescs.begin() + idx, Cdd.getName());
 
         zeroAll();
 
@@ -180,8 +182,8 @@ namespace kt
 
         addPlotObjects(dest_l);
 
-        pmUuids->erase(pmUuids->begin() + idx);
-        pmDescs->erase(pmDescs->begin() + idx);
+        pmUuids.erase(pmUuids.begin() + idx);
+        pmDescs.erase(pmDescs.begin() + idx);
 
         zeroAll();
     }
@@ -199,8 +201,8 @@ namespace kt
 
         //iteration through elements to-be-removed is EVIL
 
-        for (buff_t::iterator it = pmBuff->begin();
-                it != pmBuff->end();
+        for (buff_t::iterator it = pmBuff.begin();
+                it != pmBuff.end();
                 it++)
         {
             if (it->first == idx)
@@ -214,7 +216,7 @@ namespace kt
                 it != lb.end();
                 it++)
         {
-            pmBuff->erase(*it);
+            pmBuff.erase(*it);
         }
 
         kpol[idx]->clearPoints();
@@ -234,7 +236,7 @@ namespace kt
 
     void KPlotWgtDrawer::setUnitName(const QString& rN)
     {
-        *pmUnitName = rN;
+        pmUnitName = rN;
         axis(RightAxis)->setLabel(rN);
     }
 
@@ -302,20 +304,20 @@ namespace kt
             return;
         }
 
-        pmUuids->at(idx) = rQ;
+        pmUuids.at(idx) = rQ;
     }
 
     int16_t KPlotWgtDrawer::findUuidInSet(const QUuid& rQ) const
     {
-        std::vector<QUuid>::iterator it = std::find(pmUuids->begin(), \
pmUuids->end(), rQ); +        std::vector<QUuid>::const_iterator it = \
std::find(pmUuids.begin(), pmUuids.end(), rQ);  
-        if (it == pmUuids->end())
+        if (it == pmUuids.end())
         {
             return -1;
         }
         else
         {
-            return it - pmUuids->begin();
+            return it - pmUuids.begin();
         }
     }
 
@@ -345,7 +347,7 @@ namespace kt
 
     QString KPlotWgtDrawer::makeLegendString()
     {
-        QString lgnd("");
+        QString lgnd;
         val_t kpo(plotObjects());
 
         lgnd += i18n("<h1 align='center' style='font-size: large; text-decoration: \
underline'>Legend:</h1><ul type='square'>"); @@ -354,21 +356,21 @@ namespace kt
         {
             lgnd += i18n("<li><span style='background-color: %1; font-size: 14px; \
font-family: monospace'>&nbsp;&nbsp;</span>&nbsp;—&nbsp;%2</li>",  \
                kpo[i]->linePen().color().name(),
-                         pmDescs->at(i)
+                         pmDescs.at(i)
                         );
         }
 
         return lgnd + "</ul>";
     }
 
-    const QUuid* KPlotWgtDrawer::getUuid(const size_t idx) const
+    QUuid KPlotWgtDrawer::getUuid(const size_t idx) const
     {
         if (idx >= static_cast<size_t>(plotObjects().size()))
         {
             return 0;
         }
 
-        return &(pmUuids->at(idx));
+        return pmUuids.at(idx);
     }
 
     void KPlotWgtDrawer::enableBackgroundGrid(bool bg)
@@ -413,17 +415,13 @@ namespace kt
 
     void KPlotWgtDrawer::renderToImage()
     {
-        QString saveloc = KFileDialog:: \
getSaveFileName(KUrl("kfiledialog:///openTorrent"), "image/png", this, i18n("Select \
path to save image…")); +        QString saveloc = \
QFileDialog::getSaveFileName(this, i18n("Select path to save image…"), i18n("Image \
files") + QLatin1String(" (*.png)"));  
         if (!saveloc.length())
-        {
             return;
-        }
 
         QImage qi(width(), height(), QImage::Format_RGB32);
-
         render(&qi);
-
         qi.save(saveloc, "PNG", 0);
     }
 
diff --git a/plugins/stats/drawer/KPlotWgtDrawer.h \
b/plugins/stats/drawer/KPlotWgtDrawer.h index 53db234..d397d9c 100644
--- a/plugins/stats/drawer/KPlotWgtDrawer.h
+++ b/plugins/stats/drawer/KPlotWgtDrawer.h
@@ -42,8 +42,6 @@
 #include <kplotobject.h>
 #include <kplotpoint.h>
 #include <kplotaxis.h>
-#include <kfiledialog.h>
-#include <kurl.h>
 #include <QMenu>
 
 #include <drawer/ChartDrawer.h>
@@ -66,13 +64,13 @@ namespace kt
 
     private:
         ///Uuids of plotObjects
-        std::auto_ptr<std::vector<QUuid> > pmUuids;
+        std::vector<QUuid> pmUuids;
         ///Buffer where new values are stored between GUI updates
-        std::auto_ptr<buff_t> pmBuff;
+        buff_t pmBuff;
         ///Descriptions of plotObjects
-        std::auto_ptr<std::vector<QString> > pmDescs;
+        std::vector<QString> pmDescs;
         ///Context menu
-        std::auto_ptr<QMenu> pmCtxMenu;
+        QMenu* pmCtxMenu;
 
         ///Makes a context menu for widget
         void MakeCtxMenu();
@@ -92,7 +90,7 @@ namespace kt
         KPlotWgtDrawer(QWidget* p);
 
         void paintEvent(QPaintEvent* pPevt);
-        const QUuid* getUuid(const size_t idx) const;
+        QUuid getUuid(const size_t idx) const;
 
         bool event(QEvent*) ;
 
diff --git a/plugins/stats/drawer/PlainChartDrawer.cc \
b/plugins/stats/drawer/PlainChartDrawer.cc index c388480..5b5ebd0 100644
--- a/plugins/stats/drawer/PlainChartDrawer.cc
+++ b/plugins/stats/drawer/PlainChartDrawer.cc
@@ -20,12 +20,15 @@
 
 #include <PlainChartDrawer.h>
 
+#include <klocalizedstring.h>
+#include <QFileDialog>
+
 namespace kt
 {
 
-    PlainChartDrawer::PlainChartDrawer(QWidget* p) :  QFrame(p), ChartDrawer(), \
pmCtxMenu(new KMenu(this)) +    PlainChartDrawer::PlainChartDrawer(QWidget* p) :  \
QFrame(p), ChartDrawer(), pmCtxMenu(new QMenu(this))  {
-        setStyleSheet(" background-color: " + QPalette().color(QPalette::Active, \
QPalette::Base).name() + ";"); +        setStyleSheet(" background-color: " % \
QPalette().color(QPalette::Active, QPalette::Base).name() % ';');  
         setContextMenuPolicy(Qt::CustomContextMenu);
         MakeCtxMenu();
@@ -167,7 +170,7 @@ namespace kt
         pen.setColor(qc);
         rPnt.setPen(pen);
 
-        rPnt.drawText(width() + 42., TY(-10.), *pmUnitName);
+        rPnt.drawText(width() + 42., TY(-10.), pmUnitName);
 
         rPnt.setFont(oldf);
         rPnt.setPen(oldpen);
@@ -178,14 +181,14 @@ namespace kt
     {
         QPen oldpen = rPnt.pen();
 
-        for (size_t i = 0; i < pmVals->size(); i++)
+        for (size_t i = 0; i < pmVals.size(); i++)
         {
-            DrawChartLine(rPnt, pmVals->at(i));
-            DrawCurrentValue(rPnt, pmVals->at(i), i);
+            DrawChartLine(rPnt, pmVals.at(i));
+            DrawCurrentValue(rPnt, pmVals.at(i), i);
 
-            if (pmVals->at(i).getMarkMax())
+            if (pmVals.at(i).getMarkMax())
             {
-                DrawMaximum(rPnt, pmVals->at(i), i);
+                DrawMaximum(rPnt, pmVals.at(i), i);
             }
         }
 
@@ -195,35 +198,35 @@ namespace kt
     void PlainChartDrawer::DrawChartLine(QPainter& rPnt, const ChartDrawerData& \
rCdd)  {
 
-        QPen qp(*rCdd.getPen());
+        QPen qp = rCdd.getPen();
         qp.setJoinStyle(Qt::RoundJoin);
         rPnt.setPen(qp);
 
-        ChartDrawerData::val_t const* vals = rCdd.getValues();
+        const ChartDrawerData::val_t& vals = rCdd.getValues();
 
-        QPointF* l = new QPointF[vals->size()];
+        QPointF* l = new QPointF[vals.size()];
 
-        for (size_t i = 0; i < vals->size(); i++)
+        for (size_t i = 0; i < vals.size(); i++)
         {
             l[i] = QPointF(
                        FindXScreenCoords(i),
-                       TY(FindYScreenCoords(vals->at(i)))
+                       TY(FindYScreenCoords(vals.at(i)))
                    );
         }
 
-        l[vals->size() - 1] = QPointF(
+        l[vals.size() - 1] = QPointF(
 
                                   width(),
-                                  TY(FindYScreenCoords(*(vals->end() - 1)))
+                                  TY(FindYScreenCoords(*(vals.end() - 1)))
                               );
 
-        rPnt.drawPolyline(l, vals->size());
+        rPnt.drawPolyline(l, vals.size());
         delete [] l;
     }
 
     void PlainChartDrawer::DrawCurrentValue(QPainter& rPnt, const ChartDrawerData& \
rCdd, size_t idx)  {
-        QPen qp(*rCdd.getPen());
+        QPen qp = rCdd.getPen();
         qp.setJoinStyle(Qt::RoundJoin);
 
         QColor qc(qp.color());
@@ -237,7 +240,7 @@ namespace kt
         idx++;
         wgtunit_t y = -5 + (idx * 16);
 
-        wgtunit_t val = *(rCdd.getValues()->end() - 1);
+        wgtunit_t val = *(rCdd.getValues().end() - 1);
 
         wgtunit_t lenmod;
 
@@ -275,7 +278,7 @@ namespace kt
 
         QPointF l[3] =
         {
-            QPointF(width(), TY(FindYScreenCoords(*(rCdd.getValues()->end() - 1)))),
+            QPointF(width(), TY(FindYScreenCoords(*(rCdd.getValues().end() - 1)))),
             QPointF(width() + (38 + lenmod), y + 2),
             QPointF(QWidget::width() , y + 2.5),
         };
@@ -287,7 +290,7 @@ namespace kt
 
     void PlainChartDrawer::DrawMaximum(QPainter& rPnt, const ChartDrawerData& rCdd, \
size_t idx)  {
-        QPen qp(*rCdd.getPen());
+        QPen qp = rCdd.getPen();
         QBrush oldb = qp.brush();
         QColor qc(qp.color());
 
@@ -354,30 +357,24 @@ namespace kt
 
     void PlainChartDrawer::renderToImage()
     {
-        QString saveloc = KFileDialog:: \
getSaveFileName(KUrl("kfiledialog:///openTorrent"), "image/png", this, i18n("Select \
                path to save image…"));
-
+        QString saveloc = QFileDialog::getSaveFileName(this, i18n("Select path to \
save image…"), i18n("Image files") + QLatin1String(" (*.png)"));  if \
                (!saveloc.length())
-        {
             return;
-        }
 
         QImage qi(QWidget::width(), QWidget::height(), QImage::Format_RGB32);
-
         render(&qi);
-
         qi.save(saveloc, "PNG", 0);
-
     }
 
     void PlainChartDrawer::addValue(const size_t idx, const wgtunit_t val, const \
bool upd)  {
-        if (idx >= pmVals->size())
+        if (idx >= pmVals.size())
         {
             return;
         }
         else
         {
-            (*pmVals)[idx].addValue(val);
+            pmVals[idx].addValue(val);
         }
 
         if (mCurrMaxMode == MM_Top)
@@ -402,26 +399,26 @@ namespace kt
     void PlainChartDrawer::addDataSet(ChartDrawerData Cdd)
     {
         Cdd.setSize(mXMax);
-        pmVals->push_back(Cdd);
+        pmVals.push_back(Cdd);
 
         setLegend(makeLegendString());
     }
 
     void PlainChartDrawer::insertDataSet(const size_t idx, ChartDrawerData Cdd)
     {
-        pmVals->insert(pmVals->begin() + idx, Cdd);
+        pmVals.insert(pmVals.begin() + idx, Cdd);
         setLegend(makeLegendString());
     }
 
     void PlainChartDrawer::removeDataSet(const size_t idx)
     {
-        if (idx >= pmVals->size())
+        if (idx >= pmVals.size())
         {
             return;
         }
         else
         {
-            pmVals->erase((pmVals->begin()) + idx);
+            pmVals.erase((pmVals.begin()) + idx);
         }
 
         setLegend(makeLegendString());
@@ -430,13 +427,13 @@ namespace kt
 
     void PlainChartDrawer::zero(const size_t idx)
     {
-        if (idx >= pmVals->size())
+        if (idx >= pmVals.size())
         {
             return;
         }
         else
         {
-            (*pmVals)[idx].zero();
+            pmVals[idx].zero();
         }
 
         findSetMax();
@@ -444,9 +441,9 @@ namespace kt
 
     void PlainChartDrawer::zeroAll()
     {
-        for (size_t idx = 0; idx < pmVals->size(); idx++)
+        for (size_t idx = 0; idx < pmVals.size(); idx++)
         {
-            (*pmVals)[idx].zero();
+            pmVals[idx].zero();
         }
 
         findSetMax();
@@ -463,9 +460,9 @@ namespace kt
     {
         mXMax = x;
 
-        for (size_t i = 0; i < pmVals->size(); i++)
+        for (size_t i = 0; i < pmVals.size(); i++)
         {
-            pmVals->at(i).setSize(x);
+            pmVals.at(i).setSize(x);
         }
     }
 
@@ -475,50 +472,44 @@ namespace kt
         mYMax = y;
     }
 
-    void PlainChartDrawer::setUnitName(const QString& rUn)
-    {
-        pmUnitName.reset(new QString(rUn));
-    }
-
-
     void PlainChartDrawer::setPen(const size_t idx, const QPen& rP)
     {
-        if (idx >= pmVals->size())
+        if (idx >= pmVals.size())
         {
             return;
         }
 
-        pmVals->at(idx).setPen(rP);
+        pmVals.at(idx).setPen(rP);
 
         makeLegendString();
     }
 
-    const QUuid* PlainChartDrawer::getUuid(const size_t idx) const
+    QUuid PlainChartDrawer::getUuid(const size_t idx) const
     {
-        if (idx >= pmVals->size())
+        if (idx >= pmVals.size())
         {
             return 0;
         }
 
-        return pmVals->at(idx).getUuid();
+        return pmVals.at(idx).getUuid();
     }
 
     void PlainChartDrawer::setUuid(const size_t idx, const QUuid& rU)
     {
-        if (idx >= pmVals->size())
+        if (idx >= pmVals.size())
         {
             return;
         }
 
-        pmVals->at(idx).setUuid(rU);
+        pmVals.at(idx).setUuid(rU);
     }
 
     int16_t PlainChartDrawer::findUuidInSet(const QUuid& rU) const
     {
 
-        for (int16_t i = 0; i < static_cast<int16_t>(pmVals->size()); i++)
+        for (int16_t i = 0; i < static_cast<int16_t>(pmVals.size()); i++)
         {
-            if ((*(pmVals->at(i).getUuid())) == rU)
+            if (pmVals.at(i).getUuid() == rU)
             {
                 return i;
             }
@@ -536,9 +527,9 @@ namespace kt
     {
         wgtunit_t max = 1;
 
-        for (size_t i = 0; i < pmVals->size(); i++)
+        for (size_t i = 0; i < pmVals.size(); i++)
         {
-            wgtunit_t locval = pmVals->at(i).findMax().first;
+            wgtunit_t locval = pmVals.at(i).findMax().first;
 
             if (locval > max)
             {
@@ -551,15 +542,13 @@ namespace kt
 
     QString PlainChartDrawer::makeLegendString()
     {
-        QString lgnd("");
-
-        lgnd += i18n("<h1 align='center' style='font-size: large; text-decoration: \
underline'>Legend:</h1><ul type='square'>"); +        QString lgnd = i18n("<h1 \
align='center' style='font-size: large; text-decoration: underline'>Legend:</h1><ul \
type='square'>");  
-        for (size_t i = 0; i < pmVals->size(); i++)
+        for (size_t i = 0; i < pmVals.size(); i++)
         {
             lgnd += i18n("<li><span style='background-color: %1; font-size: 14px; \
                font-family: monospace'>&nbsp;&nbsp;</span>&nbsp;—&nbsp;%2</li>",
-                         pmVals->at(i).getPen()->color().name(),
-                         *(pmVals->at(i).getName())
+                         pmVals.at(i).getPen().color().name(),
+                         pmVals.at(i).getName()
                         );
         }
 
diff --git a/plugins/stats/drawer/PlainChartDrawer.h \
b/plugins/stats/drawer/PlainChartDrawer.h index 8a63703..6340236 100644
--- a/plugins/stats/drawer/PlainChartDrawer.h
+++ b/plugins/stats/drawer/PlainChartDrawer.h
@@ -33,8 +33,6 @@
 #include <QImage>
 #include <QPalette>
 
-#include <kfiledialog.h>
-#include <kurl.h>
 #include <QMenu>
 
 #include <utility>
@@ -55,7 +53,7 @@ namespace kt
         Q_OBJECT
     private:
         ///Pointer to context menu
-        std::auto_ptr<QMenu> pmCtxMenu;
+        QMenu* pmCtxMenu;
 
         ///Height of the chart area ( \b not widget height!)
         inline wgtunit_t height() const;
@@ -133,7 +131,7 @@ namespace kt
         void removeDataSet(const size_t idx);
         void zero(const size_t idx);
         void zeroAll();
-        void setUnitName(const QString& rN);
+        void setUnitName(const QString& rN) {pmUnitName = rN;}
         void setPen(const size_t idx, const QPen& rP);
         void setXMax(const wgtunit_t x);
         void setYMax(const wgtunit_t y);
@@ -141,7 +139,7 @@ namespace kt
         void setUuid(const size_t idx, const QUuid& rQ);
         int16_t findUuidInSet(const QUuid& rQ) const;
         void setMaxMode(const MaxMode mm);
-        const QUuid* getUuid(const size_t idx) const;
+        QUuid getUuid(const size_t idx) const;
         QString makeLegendString() ;
         void setLegend(const QString& rL);
         void update();
diff --git a/plugins/stats/ktstatsplugin.desktop \
b/plugins/stats/ktorrent_stats.desktop similarity index 100%
rename from plugins/stats/ktstatsplugin.desktop
rename to plugins/stats/ktorrent_stats.desktop
diff --git a/plugins/stats/ktstatsplugin.kcfg b/plugins/stats/ktstatsplugin.kcfg
index 4cd44b1..ba9866d 100644
--- a/plugins/stats/ktstatsplugin.kcfg
+++ b/plugins/stats/ktstatsplugin.kcfg
@@ -4,7 +4,7 @@
 		xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
 		http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
 		
-	<kcfgfile name="ktstatspluginrc"/>
+	<kcfgfile name="ktorrent_statsrc"/>
 	<group name="general">
 		<entry name="UpdateEveryGuiUpdates" type="UInt">
 			<label>Update charts every n gui updates</label>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic