int UIGDetailsSet::minimumWidthHint() const { /* Zero if has no details: */ if (!hasDetails()) return 0; /* Prepare variables: */ int iMargin = data(SetData_Margin).toInt(); int iSpacing = data(SetData_Spacing).toInt(); int iMinimumWidthHint = 0; /* Take into account all the elements: */ foreach (UIGDetailsItem *pItem, items()) { /* Skip hidden: */ if (!pItem->isVisible()) continue; /* For each particular element: */ UIGDetailsElement *pElement = pItem->toElement(); switch (pElement->elementType()) { case DetailsElementType_General: case DetailsElementType_System: case DetailsElementType_Display: case DetailsElementType_Storage: case DetailsElementType_Audio: case DetailsElementType_Network: case DetailsElementType_Serial: #ifdef VBOX_WITH_PARALLEL_PORTS case DetailsElementType_Parallel: #endif /* VBOX_WITH_PARALLEL_PORTS */ case DetailsElementType_USB: case DetailsElementType_SF: case DetailsElementType_Description: { iMinimumWidthHint = qMax(iMinimumWidthHint, pItem->minimumWidthHint()); break; } case DetailsElementType_Preview: { UIGDetailsItem *pGeneralItem = element(DetailsElementType_General); UIGDetailsItem *pSystemItem = element(DetailsElementType_System); int iGeneralElementWidth = pGeneralItem ? pGeneralItem->minimumWidthHint() : 0; int iSystemElementWidth = pSystemItem ? pSystemItem->minimumWidthHint() : 0; int iFirstColumnWidth = qMax(iGeneralElementWidth, iSystemElementWidth); iMinimumWidthHint = qMax(iMinimumWidthHint, iFirstColumnWidth + iSpacing + pItem->minimumWidthHint()); break; } } } /* And two margins finally: */ iMinimumWidthHint += 2 * iMargin; /* Return result: */ return iMinimumWidthHint; }
SxArtist::~SxArtist() { while (m_isLoadingDetails) { //Session::getInstance()->processEvents(); Logger::printOut("waiting for artist to die"); } removeAllTracks(); removeAllAlbums(); removeAllArtists(); if (m_thumb) ThumbStore::getInstance()->removeThumb(m_thumb); delete m_uri; if (hasDetails() && m_browse != NULL) m_dll->sp_artistbrowse_release(m_browse); m_dll->sp_artist_release(m_spArtist); delete m_dll; }