Am 15. Januar 2009 17:39 schrieb Aaron J. Seigo <ase...@kde.org>:

> On Thursday 15 January 2009, Philipp Klaffert wrote:
> > thanks for your reply and for the link. For fixing the krazy2 issues
> > correctly I changed QString to QLatin1String. I understand your point of
> > view with "readability" but I won't decide which way is better. I think
> the
> > explicit conversion of these Strings makes the understanding of the code
> > not so much harder...
>
> what jumps out at me is that we have duplications of strings. not fun. if
> the
> string is changed in one place, it ends up needing to be changed
> everywhere.
> oh nos!
>
> so ... my suggestion is this:
>
> create as set of static const QString's in the TwitterEngine class and
> initialize them to the values... e.g.:
>
> const QString TwitterEngine::profilePrefix("Profile:");
>
> then the calls become:
>
> name.startsWith(profilePrefix);
>
> no more duplicated strings and no more crazy issues. huzzah!
>
> thanks for working on these, btw =)
>
> --
> Aaron J. Seigo
> humru othro a kohnu se
> GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43
>
> KDE core developer sponsored by Qt Software
>
>
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel@kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>

Thanks for your advice. After reading your mail I asked myself why I got
that idea not in first place :)
I've now swapped all the Strings with constants and so, just 3 objects an no
more krazy complaining for at least these issues.

Regards
Philipp Klaffert
Index: dataengines/twitter/timelinesource.cpp
===================================================================
--- dataengines/twitter/timelinesource.cpp	(Revision 911365)
+++ dataengines/twitter/timelinesource.cpp	(Arbeitskopie)
@@ -76,7 +76,7 @@
       m_job(0)
 {
     //who should be something like u...@http://twitter.com, if there isn't any @, http://twitter.com will be the default
-    QStringList account = who.split("@");
+    QStringList account = who.split('@');
     if (account.count() == 2){
         m_serviceBaseUrl = KUrl(account.at(1));
     }else{
Index: dataengines/twitter/twitterengine.cpp
===================================================================
--- dataengines/twitter/twitterengine.cpp	(Revision 911365)
+++ dataengines/twitter/twitterengine.cpp	(Arbeitskopie)
@@ -30,11 +30,14 @@
 #include <KDebug>
 #include <KUrl>
 #include <ksocketfactory.h>
-#include <KUrl>
 
 #include "timelinesource.h"
 #include "imagesource.h"
 
+const QString TwitterEngine::timelinePrefix("Timeline:");
+const QString TwitterEngine::timelineWithFriendsPrefix("TimelineWithFriends:");
+const QString TwitterEngine::profilePrefix("Profile:");
+
 TwitterEngine::TwitterEngine(QObject* parent, const QVariantList& args)
     : Plasma::DataEngine(parent, args)
 {
@@ -54,7 +57,7 @@
         return true;
     }
 
-    if (!name.startsWith("Timeline:") && !name.startsWith("TimelineWithFriends:")  && !name.startsWith("Profile:")) {
+    if (!name.startsWith(timelinePrefix) && !name.startsWith(timelineWithFriendsPrefix)  && !name.startsWith(profilePrefix)) {
         return false;
     }
 
@@ -83,22 +86,22 @@
 {
     //kDebug() << name;
     //right now it only makes sense to do an update on timelines
-    if (!name.startsWith("Timeline:") && !name.startsWith("TimelineWithFriends:") && !name.startsWith("Profile:")) {
+    if (!name.startsWith(timelinePrefix) && !name.startsWith(timelineWithFriendsPrefix) && !name.startsWith(profilePrefix)) {
         return false;
     }
 
     TimelineSource::RequestType requestType;
 
     QString who = name;
-    if (name.startsWith("TimelineWithFriends:")) {
+    if (name.startsWith(timelineWithFriendsPrefix)) {
         requestType = TimelineSource::TimelineWithFriends;
-        who.remove("TimelineWithFriends:");
-    } else if (name.startsWith("Profile:")) {
+        who.remove(timelineWithFriendsPrefix);
+    } else if (name.startsWith(profilePrefix)) {
         requestType = TimelineSource::Profile;
-        who.remove("Profile:");
+        who.remove(profilePrefix);
     }else{
         requestType = TimelineSource::Timeline;
-        who.remove("Timeline:");
+        who.remove(timelinePrefix);
     }
 
     TimelineSource *source = dynamic_cast<TimelineSource*>(containerForSource(name));
Index: dataengines/twitter/twitterengine.h
===================================================================
--- dataengines/twitter/twitterengine.h	(Revision 911365)
+++ dataengines/twitter/twitterengine.h	(Arbeitskopie)
@@ -65,6 +65,12 @@
 
     protected slots:
         bool updateSourceEvent(const QString &name);
+
+    private:
+	static const QString timelinePrefix;
+	static const QString timelineWithFriendsPrefix;
+	static const QString profilePrefix;
+
 };
 
 K_EXPORT_PLASMA_DATAENGINE(twitter, TwitterEngine)
Index: dataengines/comic/comicproviderwrapper.cpp
===================================================================
--- dataengines/comic/comicproviderwrapper.cpp	(Revision 911365)
+++ dataengines/comic/comicproviderwrapper.cpp	(Arbeitskopie)
@@ -257,7 +257,7 @@
 
 void ComicProviderWrapper::init()
 {
-    const QString path = KStandardDirs::locate( "data", "plasma/comics/" + mProvider->pluginName() + "/" );
+    const QString path = KStandardDirs::locate( "data", "plasma/comics/" + mProvider->pluginName() + '/' );
     if ( !path.isEmpty() ) {
         mPackage = new Plasma::Package( path, ComicProviderKross::packageStructure() );
 
@@ -298,8 +298,8 @@
         foreach( const QString &interpretername, Kross::Manager::self().interpreters() ) {
             info = Kross::Manager::self().interpreterInfo( interpretername );
             wildcards = info->wildcard();
-            wildcards.replace( "*", "" );
-            mExtensions << wildcards.split( " " );
+            wildcards.replace( '*', "" );
+            mExtensions << wildcards.split( ' ' );
         }
     }
     return mExtensions;
Index: dataengines/comic/comicproviderwrapper.h
===================================================================
--- dataengines/comic/comicproviderwrapper.h	(Revision 911365)
+++ dataengines/comic/comicproviderwrapper.h	(Arbeitskopie)
@@ -38,7 +38,7 @@
         Q_PROPERTY( QImage image READ image WRITE setImage )
         Q_PROPERTY( QByteArray rawData READ rawData WRITE setRawData )
     public:
-        ImageWrapper( QObject *parent = 0, const QImage &image = QImage() );
+        explicit ImageWrapper( QObject *parent = 0, const QImage &image = QImage() );
 
         QImage image() const;
         void setImage( const QImage &image );
@@ -54,7 +54,7 @@
         Q_OBJECT
         Q_PROPERTY( QDate date READ date WRITE setDate )
     public:
-        DateWrapper( QObject *parent = 0, const QDate &date = QDate() );
+        explicit DateWrapper( QObject *parent = 0, const QDate &date = QDate() );
 
         QDate date() const;
         void setDate( const QDate &date );
Index: dataengines/comic/cachedprovider.cpp
===================================================================
--- dataengines/comic/cachedprovider.cpp	(Revision 911365)
+++ dataengines/comic/cachedprovider.cpp	(Arbeitskopie)
@@ -16,6 +16,8 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#include "cachedprovider.h"
+
 #include <QtCore/QFile>
 #include <QtCore/QSettings>
 #include <QtCore/QTimer>
@@ -24,7 +26,6 @@
 #include <kstandarddirs.h>
 #include <KUrl>
 
-#include "cachedprovider.h"
 
 static QString identifierToPath( const QString &identifier )
 {
Index: dataengines/comic/cachedprovider.h
===================================================================
--- dataengines/comic/cachedprovider.h	(Revision 911365)
+++ dataengines/comic/cachedprovider.h	(Arbeitskopie)
@@ -37,7 +37,7 @@
          * @param identifier The identifier of the cached comic.
          * @param parent The parent object.
          */
-        CachedProvider( QObject *parent, const QVariantList &args = QVariantList() );
+        explicit CachedProvider( QObject *parent, const QVariantList &args = QVariantList() );
 
         /**
          * Destroys the cached provider.
Index: dataengines/comic/comic.cpp
===================================================================
--- dataengines/comic/comic.cpp	(Revision 911365)
+++ dataengines/comic/comic.cpp	(Arbeitskopie)
@@ -16,6 +16,8 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#include "comic.h"
+
 #include <QtCore/QDate>
 #include <QtCore/QFileInfo>
 #include <QtCore/QSettings>
@@ -26,8 +28,6 @@
 
 #include <solid/networking.h>
 
-#include "comic.h"
-
 #include "cachedprovider.h"
 
 ComicEngine::ComicEngine( QObject* parent, const QVariantList& args )
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to