1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-27 14:19:11 +02:00

Compare commits

..

8 Commits

Author SHA1 Message Date
Dominik Schmidt
93bc06615d Fix Zeroconf with recent Qt5 2016-02-23 12:21:44 +01:00
Christian Muehlhaeuser
3bcf854a4f Updated ChangeLog. 2016-02-22 22:32:54 +01:00
Christian Muehlhaeuser
61a15cafac Speed up drag & drop moves over sidebar. 2016-02-22 22:31:34 +01:00
Christian Muehlhaeuser
2d141ccb5e Style fix in SoureTreeView. 2016-02-22 22:31:34 +01:00
Christian Muehlhaeuser
4c023b7d2f Style fix in XspfUpdater. 2016-02-22 22:31:34 +01:00
Christian Muehlhaeuser
ceb5dc6aa4 Style fix in main.cpp. 2016-02-22 22:31:34 +01:00
Christian Muehlhaeuser
13fa9c7c53 Merge pull request #448 from tomahawk-player/vlc-volume-fix
Fix #441: Handle VLC volume and muted state properly
2016-02-22 22:31:04 +01:00
Dominik Schmidt
4c946b304c Fix #451: Can't select crash ID in the crash report UI 2016-02-22 22:02:54 +01:00
6 changed files with 30 additions and 20 deletions

View File

@@ -1,6 +1,7 @@
Version 0.9.0: Version 0.9.0:
* Resolved various playback issues by switching to a new audio engine. * Resolved various playback issues by switching to a new audio engine.
* Fixed collection sorting. * Fixed collection sorting.
* Fixed volume/mute state not being reset correctly on startup.
Version 0.8.4: Version 0.8.4:
* Fixed drag & drop issues on sidebar. * Fixed drag & drop issues on sidebar.

View File

@@ -1371,7 +1371,10 @@ Servent::isIPWhitelisted( QHostAddress ip )
} }
} }
#if QT_VERSION < QT_VERSION_CHECK( 5, 0, 0 ) // Did something change in Qt 5? In Qt 5.5 Zeroconf does not work with this code ifdef'ed out
// @xhochy can you shed some light on this?
// #if QT_VERSION < QT_VERSION_CHECK( 5, 0, 0 )
// Qt4 cannot cope correctly with IPv4 addresses mapped into the IPv6 // Qt4 cannot cope correctly with IPv4 addresses mapped into the IPv6
// address space // address space
if ( ip.protocol() == QAbstractSocket::IPv6Protocol ) if ( ip.protocol() == QAbstractSocket::IPv6Protocol )
@@ -1397,7 +1400,7 @@ Servent::isIPWhitelisted( QHostAddress ip )
return isIPWhitelisted( addr ); return isIPWhitelisted( addr );
} }
} }
#endif // #endif
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "failure"; tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "failure";
return false; return false;

View File

@@ -156,6 +156,7 @@ XspfUpdater::setAutoUpdate( bool autoUpdate )
emit changed(); emit changed();
} }
void void
XspfUpdater::setInterval( int intervalMsecs ) XspfUpdater::setInterval( int intervalMsecs )
{ {

View File

@@ -167,7 +167,7 @@ main( int argc, char *argv[] )
QCA::Initializer init; QCA::Initializer init;
Q_UNUSED( init ) Q_UNUSED( init )
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
// Do Mac specific startup to get media keys working. // Do Mac specific startup to get media keys working.
// This must go before QApplication initialisation. // This must go before QApplication initialisation.
Tomahawk::macMain(); Tomahawk::macMain();
@@ -253,11 +253,11 @@ main( int argc, char *argv[] )
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
#ifdef Q_OS_MAC64 #ifdef Q_OS_MAC64
static pascal OSErr appleEventHandler( const AppleEvent* e, AppleEvent*, void* ) static pascal OSErr appleEventHandler( const AppleEvent* e, AppleEvent*, void* )
#elif defined Q_OS_MAC32 #elif defined Q_OS_MAC32
static pascal OSErr appleEventHandler( const AppleEvent* e, AppleEvent*, long ) static pascal OSErr appleEventHandler( const AppleEvent* e, AppleEvent*, long )
#endif //Q_OS_MAC64/32 #endif //Q_OS_MAC64/32
{ {
OSType id = typeWildCard; OSType id = typeWildCard;
AEGetAttributePtr( e, keyEventIDAttr, typeType, 0, &id, sizeof( id ), 0 ); AEGetAttributePtr( e, keyEventIDAttr, typeType, 0, &id, sizeof( id ), 0 );

View File

@@ -447,7 +447,6 @@ SourceTreeView::deletePlaylist( const QModelIndex& idxIn )
m_popupDialog.data()->move( rightCenter.x() - m_popupDialog.data()->offset(), rightCenter.y() - m_popupDialog.data()->sizeHint().height() / 2. ); m_popupDialog.data()->move( rightCenter.x() - m_popupDialog.data()->offset(), rightCenter.y() - m_popupDialog.data()->sizeHint().height() / 2. );
m_popupDialog.data()->show(); m_popupDialog.data()->show();
} }
@@ -797,20 +796,21 @@ SourceTreeView::dragMoveEvent( QDragMoveEvent* event )
{ {
QTreeView::dragMoveEvent( event ); QTreeView::dragMoveEvent( event );
bool accept = false;
if ( DropJob::isDropType( DropJob::Playlist, event->mimeData() ) ) if ( DropJob::isDropType( DropJob::Playlist, event->mimeData() ) )
{ {
// Don't highlight the drop for a playlist, as it won't get added to the playlist but created generally // Don't highlight the drop for a playlist, as it won't get added to the playlist but created generally
event->setDropAction( Qt::CopyAction ); event->setDropAction( Qt::CopyAction );
event->accept(); accept = true;
} }
else if ( DropJob::acceptsMimeData( event->mimeData(), DropJob::Track, DropJob::Append ) ) else if ( DropJob::acceptsMimeData( event->mimeData(), DropJob::Track, DropJob::Append ) )
{ {
bool accept = false;
setDirtyRegion( m_dropRect ); setDirtyRegion( m_dropRect );
const QPoint pos = event->pos(); const QPoint pos = event->pos();
const QModelIndex index = indexAt( pos ); const QModelIndex index = indexAt( pos );
dataChanged( m_dropIndex, m_dropIndex );
m_dropIndex = QPersistentModelIndex( index ); if ( index != m_dropIndex )
dataChanged( m_dropIndex, m_dropIndex );
if ( index.isValid() ) if ( index.isValid() )
{ {
@@ -829,7 +829,8 @@ SourceTreeView::dragMoveEvent( QDragMoveEvent* event )
case SourcesModel::CategoryAdd: case SourcesModel::CategoryAdd:
case SourcesModel::Source: //drop to send tracks to peers case SourcesModel::Source: //drop to send tracks to peers
m_delegate->hovered( index, event->mimeData() ); m_delegate->hovered( index, event->mimeData() );
dataChanged( index, index ); if ( index != m_dropIndex )
dataChanged( index, index );
break; break;
default: default:
@@ -845,24 +846,28 @@ SourceTreeView::dragMoveEvent( QDragMoveEvent* event )
m_dropRect = QRect(); m_dropRect = QRect();
} }
if ( accept || DropJob::isDropType( DropJob::Playlist, event->mimeData() ) ) if ( accept )
{ {
// Playlists are accepted always since they can be dropped anywhere // Playlists are accepted always since they can be dropped anywhere
//tDebug() << Q_FUNC_INFO << "Accepting"; //tDebug() << Q_FUNC_INFO << "Accepting";
event->setDropAction( Qt::CopyAction ); event->setDropAction( Qt::CopyAction );
event->accept();
}
else
{
// tDebug() << Q_FUNC_INFO << "Ignoring";
event->ignore();
} }
m_dropIndex = QPersistentModelIndex( index );
} }
else if ( DropJob::acceptsMimeData( event->mimeData(), DropJob::Playlist | DropJob::Artist | DropJob::Album, DropJob::Create ) ) else if ( DropJob::acceptsMimeData( event->mimeData(), DropJob::Playlist | DropJob::Artist | DropJob::Album, DropJob::Create ) )
{ {
event->setDropAction( Qt::CopyAction ); event->setDropAction( Qt::CopyAction );
accept = true;
}
if ( accept )
{
event->accept(); event->accept();
} }
else
{
event->ignore();
}
setDirtyRegion( m_dropRect ); setDirtyRegion( m_dropRect );
} }