diff --git a/include/tomahawk/tomahawkapp.h b/include/tomahawk/tomahawkapp.h index 7f467ca90..bf83f6e86 100644 --- a/include/tomahawk/tomahawkapp.h +++ b/include/tomahawk/tomahawkapp.h @@ -95,6 +95,9 @@ public: virtual void activate(); virtual bool loadUrl( const QString& url ); + // because QApplication::arguments() is expensive + bool scrubFriendlyName() const { return m_scrubFriendlyName; } + private slots: void setupSIP(); void messageReceived( const QString& ); @@ -117,7 +120,8 @@ private: Servent* m_servent; XMPPBot* m_xmppBot; Tomahawk::ShortcutHandler* m_shortcutHandler; - + bool m_scrubFriendlyName; + #ifdef LIBLASTFM_FOUND Scrobbler* m_scrobbler; #endif diff --git a/src/libtomahawk/source.cpp b/src/libtomahawk/source.cpp index 948b04a7b..59ad94688 100644 --- a/src/libtomahawk/source.cpp +++ b/src/libtomahawk/source.cpp @@ -26,7 +26,6 @@ #include "database/databasecommand_sourceoffline.h" #include "database/databasecommand_logplayback.h" #include "database/database.h" -#include using namespace Tomahawk; @@ -95,21 +94,17 @@ Source::remove() QString Source::friendlyName() const { - QString friendly; if ( m_friendlyname.isEmpty() ) - friendly = m_username; + return m_username; //TODO: this is a terrible assumption, help me clean this up, mighty muesli! if ( m_friendlyname.contains( "@conference.") ) - friendly = QString(m_friendlyname).remove( 0, m_friendlyname.lastIndexOf( "/" )+1 ).append(" via MUC"); + return QString(m_friendlyname).remove( 0, m_friendlyname.lastIndexOf( "/" )+1 ).append(" via MUC"); if ( m_friendlyname.contains( "/tomahawk" ) ) - friendly = m_friendlyname.left( m_friendlyname.indexOf( "/tomahawk" ) ); + return m_friendlyname.left( m_friendlyname.indexOf( "/tomahawk" ) ); - if( qApp->arguments().contains( "--demo" ) && friendly.contains( '@' ) ) - friendly = friendly.left( friendly.indexOf( '@' ) ); - - return friendly; + return m_friendlyname; } diff --git a/src/sourcetree/sourcetreeitem.cpp b/src/sourcetree/sourcetreeitem.cpp index f2e8e7be2..c9ec16101 100644 --- a/src/sourcetree/sourcetreeitem.cpp +++ b/src/sourcetree/sourcetreeitem.cpp @@ -43,7 +43,18 @@ SourceTreeItem::SourceTreeItem( const source_ptr& source, QObject* parent ) : QObject( parent ) , m_source( source ) { - QStandardItem* item = new QStandardItem( source.isNull() ? "Super Collection" : source->friendlyName() ); + QString name; + if( source.isNull() ) + name = tr( "Super Collection" ); + else + { + if( TomahawkApp::instance()->scrubFriendlyName() && source->friendlyName().contains( '@' ) ) + name = source->friendlyName().left( source->friendlyName().indexOf( '@' ) ); + else + name = source->friendlyName(); + } + + QStandardItem* item = new QStandardItem( name ); item->setIcon( QIcon( RESPATH "images/user-avatar.png" ) ); item->setEditable( false ); item->setData( SourcesModel::CollectionSource, Type ); diff --git a/src/tomahawkapp.cpp b/src/tomahawkapp.cpp index cfc6459e3..02dcb40d0 100644 --- a/src/tomahawkapp.cpp +++ b/src/tomahawkapp.cpp @@ -145,6 +145,7 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] ) , m_sipHandler( 0 ) , m_servent( 0 ) , m_shortcutHandler( 0 ) + , m_scrubFriendlyName( false ) , m_mainwindow( 0 ) , m_infoSystem( 0 ) { @@ -190,6 +191,7 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] ) qDebug() << "Init Echonest Factory."; GeneratorFactory::registerFactory( "echonest", new EchonestFactory ); + m_scrubFriendlyName = arguments().contains( "--demo" ); // Register shortcut handler for this platform #ifdef Q_WS_MAC m_shortcutHandler = new MacShortcutHandler( this );