genericmediadeviceconfigdialog.ui.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 325 行

H
325
字号
/*  (c) 2006 Roel Meeuws <r.j.meeuws+amarok@gmail.com> *************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * ***************************************************************************//****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you wish to add, delete or rename functions or slots use** Qt Designer which will update this file, preserving your code. Create an** init() function in place of a constructor, and a destroy() function in** place of a destructor.*****************************************************************************//// Configuration Dialog Extension slotsvoidGenericMediaDeviceConfigDialog::addSupportedButtonClicked( int id ){    QPopupMenu *unsupported = m_addSupportedButton->popup();    QComboBox *convert     = m_convertComboBox;    QListBox  *supported   = m_supportedListBox;    QString text = unsupported->text( id );    if( text.startsWith( "&" ) )        supported->insertItem( text.right( text.length() - 1 ) );    else        supported->insertItem( text );    QString temp = convert->currentText();    convert->insertItem( unsupported->text( id ) );    unsupported->removeItem( id );    supported->sort();    convert->listBox()->sort();    convert->setCurrentText( temp );}voidGenericMediaDeviceConfigDialog::removeSupportedButtonClicked(){    QStringList unsupported;    QComboBox *convert     = m_convertComboBox;    QListBox  *supported   = m_supportedListBox;    for( uint i = 0; i < m_addSupportedButton->popup()->count(); i++ )    {        int id = m_addSupportedButton->popup()->idAt( i );        unsupported.append( m_addSupportedButton->popup()->text( id ) );    }    for( uint i = 0; i < supported->count() ; /* nothing */)    {        QListBoxItem *item = supported->item( i );        if( item->isSelected() )        {            QString temp;            unsupported.append( item->text() );            temp = convert->currentText();            convert->setCurrentText( item->text() );            convert->removeItem( convert->currentItem() );            if( temp == item->text() )                convert->setCurrentItem( 0 );            else                convert->setCurrentText( temp );            item = 0;            supported->removeItem( i );            continue;        }        i++;    }    // at least support mp3 format.    if( supported->count() <= 0 )    {        supported->insertItem( "mp3" );        convert->insertItem( "mp3" );        convert->setCurrentItem( 0 );        unsupported.remove( "mp3" );    }    unsupported.sort();    m_addSupportedButton->popup()->clear();    for( QStringList::Iterator it = unsupported.begin(); it != unsupported.end(); it++ )    {        m_addSupportedButton->popup()->insertItem( *it );    }}voidGenericMediaDeviceConfigDialog::supportedListBoxDoubleClicked( QListBoxItem* item ){    m_convertComboBox->setCurrentText( item->text() );}voidGenericMediaDeviceConfigDialog::updateConfigDialogLists( const QStringList & supportedFileTypes ){    QStringList allTypes;    allTypes << "mp3" << "ogg" << "wma" << "mp4" << "aac" << "m4a" << "ac3";    allTypes << "wav" << "flac" << "asf" << "asx" << "mpg" << "mp4v" << "mpeg";    allTypes << "aa" << "3gp" << "mp2" << "ape" << "mpc";    QStringList unsupported;    QComboBox *convert      = m_convertComboBox;    QListBox  *supported    = m_supportedListBox;    for( QStringList::Iterator it = allTypes.begin(); it != allTypes.end(); it++ )    {        if( supportedFileTypes.contains( *it ) )        {            supported->insertItem( *it );            convert->insertItem( *it );        }        else        {            unsupported.append( *it );        }    }    supported->sort();    unsupported.sort();    m_addSupportedButton->popup()->clear();    for( QStringList::Iterator it = unsupported.begin(); it != unsupported.end(); it++ )    {        m_addSupportedButton->popup()->insertItem( *it );    }    convert->listBox()->sort();    convert->setCurrentText( supportedFileTypes.first() );}QStringGenericMediaDeviceConfigDialog::buildDestination( const QString &format, const MetaBundle &mb ) const{    bool isCompilation = mb.compilation() > 0;    QMap<QString, QString> args;    QString artist = mb.artist();    QString albumartist = artist;    if( isCompilation )        albumartist = i18n( "Various Artists" );    args["theartist"] = cleanPath( artist );    args["thealbumartist"] = cleanPath( albumartist );    if( m_ignoreTheCheck->isChecked() && artist.startsWith( "The " ) )        CollectionView::instance()->manipulateThe( artist, true );    artist = cleanPath( artist );    if( m_ignoreTheCheck->isChecked() && albumartist.startsWith( "The " ) )        CollectionView::instance()->manipulateThe( albumartist, true );    albumartist = cleanPath( albumartist );    for( int i = 0; i < MetaBundle::NUM_COLUMNS; i++ )    {        if( i == MetaBundle::Score || i == MetaBundle::PlayCount || i == MetaBundle::LastPlayed )            continue;        args[mb.exactColumnName( i ).lower()] = cleanPath( mb.prettyText( i ) );    }    args["artist"] = artist;    args["albumartist"] = albumartist;    args["initial"] = albumartist.mid( 0, 1 ).upper();    args["filetype"] = mb.url().path().section( ".", -1 ).lower();    QString track;    if ( mb.track() )        track.sprintf( "%02d", mb.track() );    args["track"] = track;    Amarok::QStringx formatx( format );    QString result = m_device->mountPoint().append( formatx.namedOptArgs( args ) );    QString tail = result.mid( m_device->mountPoint().length() );    if( !tail.startsWith( "/" ) )        tail.prepend( "/" );   return m_device->mountPoint() + tail.replace( QRegExp( "/\\.*" ), "/" );}QString GenericMediaDeviceConfigDialog::cleanPath( const QString &component ) const{    QString result = Amarok::cleanPath( component );    if( m_asciiCheck->isChecked() )        result = Amarok::asciiPath( result );    result.simplifyWhiteSpace();    if( m_spaceCheck->isChecked() )        result.replace( QRegExp( "\\s" ), "_" );    if( m_device->m_actuallyVfat || m_vfatCheck->isChecked() )        result = Amarok::vfatPath( result );    result.replace( "/", "-" );    return result;}voidGenericMediaDeviceConfigDialog::updatePreviewLabel(){    m_previewLabel->setText( buildDestination( m_songLocationBox->text(), *m_previewBundle ) );}voidGenericMediaDeviceConfigDialog::updatePreviewLabel( const QString& format){    m_previewLabel->setText( buildDestination( format , *m_previewBundle ) );}voidGenericMediaDeviceConfigDialog::setDevice( GenericMediaDevice* device ){    m_device = device;    m_songLocationBox->setText( m_device->m_songLocation );    m_podcastLocationBox->setText( m_device->m_podcastLocation );    updatePreviewLabel( m_device->m_songLocation );    updateConfigDialogLists( m_device->m_supportedFileTypes );    m_asciiCheck->setChecked( m_device->m_asciiTextOnly );    m_vfatCheck->setChecked( m_device->m_vfatTextOnly );    m_spaceCheck->setChecked( m_device->m_spacesToUnderscores );    m_ignoreTheCheck->setChecked( m_device->m_ignoreThePrefix );}QStringGenericMediaDeviceConfigDialog::buildFormatTip() const{    QMap<QString, QString> args;    for( int i = 0; i < MetaBundle::NUM_COLUMNS; i++ )    {        if( i == MetaBundle::Score || i == MetaBundle::PlayCount || i == MetaBundle::LastPlayed )            continue;        args[MetaBundle::exactColumnName( i ).lower()] = MetaBundle::prettyColumnName( i );    }    args["albumartist"] = i18n( "%1 or %2" ).arg( "Album Artist, The" , "The Album Artist" );    args["thealbumartist"] = "The Album Artist";    args["theartist"] = "The Artist";    args["artist"] = i18n( "%1 or %2" ).arg( "Artist, The" , "The Artist" );    args["initial"] = i18n( "Artist's Initial" );    args["filetype"] = i18n( "File Extension of Source" );    args["track"] = i18n( "Track Number" );    QString tooltip = i18n( "<h3>Custom Format String</h3>" );    tooltip += i18n( "You can use the following tokens:" );    tooltip += "<ul>";    for( QMap<QString, QString>::iterator it = args.begin();            it != args.end();            ++it )    {        tooltip += QString( "<li>%1 - %2" ).arg( it.data(), "%" + it.key() );    }    tooltip += "</ul>";    tooltip += i18n( "If you surround sections of text that contain a token with curly-braces, "            "that section will be hidden if the token is empty." );    return tooltip;}voidGenericMediaDeviceConfigDialog::init(){    m_previewBundle = new MetaBundle();    m_previewBundle->setAlbum( AtomicString( "Some Album" ) );    m_previewBundle->setArtist( AtomicString( "The One Artist" ) );    m_previewBundle->setBitrate( 128 );    m_previewBundle->setComment( AtomicString( "Some Comment" ) );    m_previewBundle->setCompilation( 0 );    m_previewBundle->setComposer( AtomicString( "The One Composer" ) );    m_previewBundle->setDiscNumber( 1 );    m_previewBundle->setFileType( 2 );    m_previewBundle->setFilesize( 1003264 );    m_previewBundle->setGenre( AtomicString( "Some Genre" ) );    m_previewBundle->setLength( 193 );    m_previewBundle->setPlayCount( 2 );    m_previewBundle->setRating( 3 );    m_previewBundle->setSampleRate( 44100 );    m_previewBundle->setScore( 3.f );    m_previewBundle->setTitle( AtomicString( "Some Title" ) );    m_previewBundle->setTrack( 7 );    m_previewBundle->setUrl( "/some%20directory/some%20file.mp3" );    m_previewBundle->setYear( 2006 );    m_formatHelp->setText( QString( "<a href='whatsthis:%1'>%2</a>" ).            arg( Amarok::escapeHTMLAttr( buildFormatTip() ), i18n( "(Help)" ) ) );    m_unsupportedMenu = new QPopupMenu( m_addSupportedButton, "unsupported" );    m_addSupportedButton->setPopup( m_unsupportedMenu );    connect( m_unsupportedMenu, SIGNAL( activated( int ) ), this, SLOT( addSupportedButtonClicked( int ) ) );}void GenericMediaDeviceConfigDialog::destroy(){    if( m_unsupportedMenu != NULL )        delete m_unsupportedMenu;    m_unsupportedMenu = NULL;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?