void FileSystemItem::load()
{
    if (!m_rendererFactory) {
        return;
    }

    QImage *cachedCover = g_coverCache[coverCacheKey()];
    if (cachedCover) {
        bool *isDefaultFolderCover = g_isDefaultFolderCover[coverCacheKey()];
        markIsDefaultFolderCover(
            isDefaultFolderCover ? *isDefaultFolderCover : true);
        setThumbnail(new QImage(*cachedCover));
    } else {
        LoadRunnable *r = new LoadRunnable(m_pathInfo);
        connect(r, SIGNAL(markIsDefaultFolderCover(bool)),
                this, SLOT(markIsDefaultFolderCover(bool)));
        connect(r, SIGNAL(gotThumbnail(QString)),
                this, SLOT(gotThumbnail(QString)));
        connect(r, SIGNAL(loadCover(QString)),
                this, SLOT(loadCover(QString)));
        threadPool()->start(r);
    }
}
int guMainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: abortInspectProcess(); break;
        case 1: show(); break;
        case 2: onGetSoapResponse(); break;
        case 3: testWebService(); break;
        case 4: loadCover((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 5: onCopyMD5ToClipboard(); break;
        case 6: onOpenCurrentEbook(); break;
        case 7: onSetLibraryForAllBooks(); break;
        case 8: onSetLibraryIssueForAllBooks(); break;
        case 9: onSetPeriodicalForAllBooks(); break;
        case 10: onSetTitleForAllBooks(); break;
        case 11: onSetAuthorsForAllBooks(); break;
        case 12: onSetSeriesForAllBooks(); break;
        case 13: onSetPublisherForAllBooks(); break;
        case 14: onSetSityForAllBooks(); break;
        case 15: onSetUdcForAllBooks(); break;
        case 16: onSetPubYearForAllBooks(); break;
        case 17: onSetBbcForAllBooks(); break;
        case 18: onSetLanguageForAllBooks(); break;
        case 19: onSetOrientationForAllBooks(); break;
        case 20: onSetScanDpiForAllBooks(); break;
        case 21: onSetColorScanForAllBooks(); break;
        case 22: onSetCleanScanForAllBooks(); break;
        case 23: { QString _r = getParamValue((*reinterpret_cast< QDomDocument*(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])));
            if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = _r; }  break;
        case 24: onSetCategoryForAllBooks(); break;
        case 25: onSetCommentaryForAllBooks(); break;
        case 26: onAbortInspectProcess(); break;
        case 27: onAllEbooksUploaded(); break;
        case 28: onShowAbout(); break;
        case 29: onHelp(); break;
        case 30: initBaseSettings(); break;
        case 31: initSearchFilesSettings(); break;
        case 32: processCheckDublicateReply((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        case 33: processFillBibliographyReply((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        case 34: processLoadCoverReply((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        case 35: onCurrentFileChanged((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QTreeWidgetItem*(*)>(_a[2]))); break;
        case 36: onFilesTreeDoubleClicked((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 37: onAddNewEbook((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< ebook(*)>(_a[2]))); break;
        case 38: onDublicateFinded(); break;
        case 39: onInspectFinished(); break;
        case 40: onStartProcess(); break;
        case 41: onEndProcess(); break;
        case 42: onTimerTimeout(); break;
        case 43: onCurrentCategoryChanged((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QTreeWidgetItem*(*)>(_a[2]))); break;
        case 44: onCurrentCategoryChangedFillStr((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QTreeWidgetItem*(*)>(_a[2]))); break;
        case 45: clearEditFields(); break;
        case 46: onInspectFolder(); break;
        case 47: onGetBiblioInfo(); break;
        case 48: onUploadToServer(); break;
        case 49: onFileListRight(); break;
        case 50: onFileListLeft(); break;
        case 51: onGetBiblioForCurrentEbook(); break;
        case 52: setGuiEditForCurrentItem(); break;
        case 53: onSaveChangesForBook(); break;
        case 54: onUploadEbookProgress((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 55: onUploadEbookFinished((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 56: onShowSettingsDialog(); break;
        case 57: onIsbnFieldChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 58: onIsbnsListItemActivated(); break;
        case 59: onAddIsbn(); break;
        case 60: onRemoveIsbn(); break;
        case 61: onAddIsbnToEbook((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 62: onRemoveIsbnFromEbook((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 63: onCommentaryTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 64: onTitleTextChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break;
        case 65: onAuthorsTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 66: onSeriesTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 67: onPublisherTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 68: onUdcTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 69: onBbcTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 70: onPubYearTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 71: onPageNumTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 72: onIssueTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 73: onVolumeTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 74: onLanguageTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 75: onDescriptionTextChanged(); break;
        case 76: onSityTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 77: onPeriodicalTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 78: onCategoryTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 79: onOrientationIndexChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 80: onBiblioTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 81: onDpiTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 82: onDvdNumTextChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 83: onColorScanStateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 84: onClearScanStateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 85: onSelectAllToUploadToogled((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 86: onSubjectIndexChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 87: onToogleShowDublicates((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 88: onToogleShowUploaded((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 89: onToogleShowWithISBN((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 90: onToogleShowWithBibliography((*reinterpret_cast< bool(*)>(_a[1]))); break;
        default: ;
        }
        _id -= 91;
    }
    return _id;
}
Exemple #3
0
void TagDialog::readTags()
{
    bool local = m_bundle.url().isLocalFile();

    setCaption( kapp->makeStdCaption( i18n("Track Information: %1 by %2").arg( m_bundle.title(),  m_bundle.artist() ) ) );

    QString niceTitle;
    if ( m_bundle.album().isEmpty() ) {
        if( !m_bundle.title().isEmpty() ) {
            if( !m_bundle.artist().isEmpty() )
                niceTitle = i18n( "<b>%1</b> by <b>%2</b>" ).arg( m_bundle.title(),  m_bundle.artist() );
            else
                niceTitle = QString( "<b>%1</b>" ).arg( m_bundle.title() );
        }
        else niceTitle = m_bundle.prettyTitle();
    }
    else {
        niceTitle = i18n( "<b>%1</b> by <b>%2</b> on <b>%3</b>" )
            .arg( m_bundle.title(), m_bundle.artist(), m_bundle.album() );
    }
    trackArtistAlbumLabel->setText( niceTitle );
    trackArtistAlbumLabel2->setText( niceTitle );

    kLineEdit_title        ->setText( m_bundle.title() );
    kComboBox_artist       ->setCurrentText( m_bundle.artist() );
    kComboBox_album        ->setCurrentText( m_bundle.album() );
    kComboBox_genre        ->setCurrentText( m_bundle.genre() );
    kComboBox_rating       ->setCurrentItem( m_bundle.rating() ? m_bundle.rating() - 1 : 0 );
    kIntSpinBox_track      ->setValue( m_bundle.track() );
    kComboBox_composer     ->setCurrentText( m_bundle.composer() );
    kIntSpinBox_year       ->setValue( m_bundle.year() );
    kIntSpinBox_score      ->setValue( m_score );
    kIntSpinBox_discNumber ->setValue( m_bundle.discNumber() );
    kTextEdit_comment      ->setText( m_bundle.comment() );

    bool extended = m_bundle.hasExtendedMetaInformation();
    kIntSpinBox_discNumber->setEnabled( extended );
    kComboBox_composer->setEnabled( extended );


    QString summaryText, statisticsText;
    const QString body2cols = i18n( "<tr><td>Label:</td><td><b>Value</b></td></tr>", "<tr><td><nobr>%1:</nobr></td><td><b>%2</b></td></tr>" );
    const QString body1col = "<tr><td colspan=2>%1</td></td></tr>";
    const QString emptyLine = "<tr><td colspan=2></td></tr>";

    summaryText = "<table width=100%><tr><td width=50%><table>";
    summaryText += body2cols.arg( i18n("Length"), unknownSafe( m_bundle.prettyLength() ) );
    summaryText += body2cols.arg( i18n("Bitrate"), unknownSafe( m_bundle.prettyBitrate() ) );
    summaryText += body2cols.arg( i18n("Samplerate"), unknownSafe( m_bundle.prettySampleRate() ) );
    summaryText += body2cols.arg( i18n("Size"), unknownSafe( m_bundle.prettyFilesize()  ) );
    summaryText += body2cols.arg( i18n("Format"), unknownSafe( m_bundle.type() ) );

    summaryText += "</table></td><td width=50%><table>";
    if( AmarokConfig::useScores() )
        summaryText += body2cols.arg( i18n("Score"), QString::number( m_score ) );
    if( AmarokConfig::useRatings() )
        summaryText += body2cols.arg( i18n("Rating"), m_bundle.prettyRating() );

    summaryText += body2cols.arg( i18n("Playcount"), QString::number( m_playcount ) );
    summaryText += body2cols.arg( i18n("First Played"), m_playcount ? KGlobal::locale()->formatDate( m_firstPlay.date() , true ) : i18n("Never") );
    summaryText += body2cols.arg( i18n("Last Played"), m_playcount ? KGlobal::locale()->formatDate( m_lastPlay.date() , true ) : i18n("Never") );

    summaryText += "</table></td></tr></table>";
    summaryLabel->setText( summaryText );

    statisticsText = "<table>";

    QStringList sData = statisticsData();
    for ( uint i = 0; i<sData.count(); i+=2 ) {
        statisticsText += body2cols.arg( sData[i], sData[i+1] );
    }

    statisticsText += "</table>";

    statisticsLabel->setText( statisticsText );

    kLineEdit_location->setText( local ? m_bundle.url().path() : m_bundle.url().url() );

    //lyrics
    kTextEdit_lyrics->setText( m_lyrics );

    loadCover( m_bundle.artist(), m_bundle.album() );


    // enable only for local files
    kLineEdit_title->setReadOnly( !local );
    kComboBox_artist->setEnabled( local );
    kComboBox_album->setEnabled( local );
    kComboBox_genre->setEnabled( local );
    kComboBox_rating->setEnabled( local );
    kIntSpinBox_track->setEnabled( local );
    kIntSpinBox_year->setEnabled( local );
    kIntSpinBox_score->setEnabled( local );
    kTextEdit_comment->setEnabled( local );

    // If it's a local file, write the directory to m_path, else disable the "open in konqui" button
    if ( local )
        m_path = m_bundle.url().directory();
    else
        pushButton_open->setEnabled( false );

    pushButton_ok->setEnabled( storedTags.count() > 0 || storedScores.count() > 0 || storedLyrics.count() > 0 );

#if HAVE_TUNEPIMP
    pushButton_musicbrainz->setEnabled( m_bundle.url().isLocalFile() );
#else
    pushButton_musicbrainz->setEnabled( false );
#endif

    if( m_playlistItem ) {
        pushButton_previous->setEnabled( m_playlistItem->itemAbove() );
        pushButton_next->setEnabled( m_playlistItem->itemBelow() );
    }
}
Exemple #4
0
void PlaylistEdit::filloutFields(PlaylistItem *item)
{
	ui.artist->setText(item->Artist);
	ui.title->setText(item->Title);
	ui.version->setText(item->Version);
	ui.genre->setText(item->Genre);
	ui.labelName->setText(item->Label);
	ui.album->setText(item->Album);
	ui.remarks->setText(item->Remarks);
	ui.bpm->setText(ppl6::ToString("%i",item->bpm));
	ui.bpmPlayed->setText(ppl6::ToString("%i",item->bpmPlayed));
	ui.musicKey->setText(DataTitle::keyName(item->musicKey,wm->conf.musicKeyDisplay));
	ui.keyVerified->setChecked(item->keyVerified);
	ui.energyLevel->setValue(item->energyLevel);

	ui.rating->setCurrentIndex(item->rating);

	ui.trackStart->setText(ppl6::ToString("%0d:%02d",(int)(item->startPositionSec/60),item->startPositionSec%60));
	ui.trackEnd->setText(ppl6::ToString("%0d:%02d",(int)(item->endPositionSec/60),item->endPositionSec%60));

	ui.cutStart0->setText(ppl6::ToString("%0d:%02d",(int)(item->cutStartPosition[0]/60),item->cutStartPosition[0]%60));
	ui.cutStart1->setText(ppl6::ToString("%0d:%02d",(int)(item->cutStartPosition[1]/60),item->cutStartPosition[1]%60));
	ui.cutStart2->setText(ppl6::ToString("%0d:%02d",(int)(item->cutStartPosition[2]/60),item->cutStartPosition[2]%60));
	ui.cutStart3->setText(ppl6::ToString("%0d:%02d",(int)(item->cutStartPosition[3]/60),item->cutStartPosition[3]%60));
	ui.cutStart4->setText(ppl6::ToString("%0d:%02d",(int)(item->cutStartPosition[4]/60),item->cutStartPosition[4]%60));

	ui.cutEnd0->setText(ppl6::ToString("%0d:%02d",(int)(item->cutEndPosition[0]/60),item->cutEndPosition[0]%60));
	ui.cutEnd1->setText(ppl6::ToString("%0d:%02d",(int)(item->cutEndPosition[1]/60),item->cutEndPosition[1]%60));
	ui.cutEnd2->setText(ppl6::ToString("%0d:%02d",(int)(item->cutEndPosition[2]/60),item->cutEndPosition[2]%60));
	ui.cutEnd3->setText(ppl6::ToString("%0d:%02d",(int)(item->cutEndPosition[3]/60),item->cutEndPosition[3]%60));
	ui.cutEnd4->setText(ppl6::ToString("%0d:%02d",(int)(item->cutEndPosition[4]/60),item->cutEndPosition[4]%60));
	ui.trackLength->setText(ppl6::ToString("%0d:%02d",(int)(item->trackLength/60),item->trackLength%60));

	CoverPreview=item->CoverPreview;
	Filename=item->File;

	ppl6::CID3Tag Tag;
	Tag.SetLogfile(wmlog);

	if(wmlog) wmlog->Printf(ppl6::LOG::DEBUG,9,"WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__,"Try to load ID3-Tags: %s",(const char*)item->File);
	if (!Tag.Load(item->File)) {
		if(wmlog) {
			wmlog->LogError("WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__);
			wmlog->Printf(ppl6::LOG::DEBUG,9,"WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__,"Load ID3-Tag failed: %s",(const char*)ppl6::Error2String());
		}
		ppl6::CString Tmp=wm->GetAudioFilename(item->DeviceType,item->DeviceId,item->DevicePage,item->DeviceTrack);

		if (Tmp.NotEmpty()==true && Tmp!=item->File) {
			item->File=Tmp;
			if(wmlog) wmlog->Printf(ppl6::LOG::DEBUG,9,"WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__,"File seems to be renamed, try to load again: %s",(const char*)item->File);
			if (!Tag.Load(item->File)) {
				if(wmlog) {
					wmlog->LogError("WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__);
					wmlog->Printf(ppl6::LOG::DEBUG,9,"WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__,"Load ID3-Tag failed: %s",(const char*)ppl6::Error2String());
				}
			}
		}
	}
	if (Tag.FrameCount()>0) {
		if(wmlog) wmlog->Printf(ppl6::LOG::DEBUG,9,"WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__,"ID3-Tag with %zd frames loaded",Tag.FrameCount());
		loadCover(Tag);
		loadTraktorCues(Tag);
		ppl6::CString Tmp;
		if (item->bpm==0) {
			// BPM
			Tmp=Tag.GetBPM();
			NormalizeImportString(Tmp);
			ui.bpm->setText(Tmp);
		}
		if (item->musicKey==0) {
			// Music Key
			ui.musicKey->setText(DataTitle::keyName(DataTitle::keyId(Tag.GetKey()),wm->conf.musicKeyDisplay));
		}
	} else {
		if(wmlog) wmlog->Printf(ppl6::LOG::DEBUG,9,"WinMusik","PlaylistEdit::filloutFields",__FILE__,__LINE__,"ID3-Tags not loaded");
	}
	updateTotalTime();
}