TranslationSelectionDialog.cpp

Go to the documentation of this file.
00001 #include "TranslationSelectionDialog.h"
00002 
00003 TranslationSelectionDialog::TranslationSelectionDialog( const QString& caption, const QString& message, const QStringList& languages, int selectionMode, Controller* controller, QWidget* parent ) 
00004     : QDialog( parent, 0, TRUE ), controller( controller ) {
00005     init( caption, message, languages, selectionMode );
00006 }
00007 
00008 void TranslationSelectionDialog::init( const QString& caption, const QString& message, const QStringList& languages, int selectionMode ) {
00009     QFont mediumFont( controller->getPreferences().getMediumFont() );
00010 
00011     messageLabel = new QLabel( message, this, "MessageLabel" );
00012 
00013     languageList = new SmartListView( this, "LanguageList" ); 
00014     languageList->setStretchColumn( 0 );
00015     languageList->setAllColumnsShowFocus( true );
00016     languageList->addColumn( tr( "Languages" ) );
00017     for( QStringList::ConstIterator it = languages.begin(); it != languages.end(); it++ ) {
00018         QString lang = *it;
00019         QCheckListItem* item = new QCheckListItem( languageList, QObject::tr( lang ), QCheckListItem::CheckBox );
00020         switch( selectionMode ) {
00021             case selectionModeTargetLanguage : 
00022                 if( lang == controller->getPreferences().getTestLanguage() )
00023                     item->setOn( true );
00024                 break;
00025             case selectionModeStudyLanguages :
00026                 if( controller->getPreferences().isStudyLanguage( lang ) )
00027                     item->setOn( true );
00028                 break;
00029             case selectionModeAllLanguages :
00030                 item->setOn( true );
00031                 break;
00032         }
00033         languageList->insertItem( item );
00034     }
00035     checkAllLanguagesButton = new QPushButton( tr( "CheckAllLanguages" ), this, "CheckAllLanguagesButton" );
00036     connect( checkAllLanguagesButton, SIGNAL( clicked() ), this, SLOT( checkAllLanguages() ) );
00037 
00038     mainLayout = new QVBoxLayout( this );
00039     mainLayout->setMargin( 10 );
00040     mainLayout->setSpacing( 2 );
00041     mainLayout->addWidget( messageLabel );
00042     mainLayout->addWidget( languageList, 1 );
00043     mainLayout->addWidget( checkAllLanguagesButton );
00044 
00045     setCaption( caption );
00046 }
00047 
00048 TranslationSelectionDialog::~TranslationSelectionDialog() {
00049 }
00050 
00051 QStringList TranslationSelectionDialog::getSelectedLanguages() {
00052     QStringList selectedLanguages;
00053     for( QCheckListItem* item = (QCheckListItem*)languageList->firstChild(); item; item = (QCheckListItem*)item->nextSibling() ) {
00054         if( item->isOn() )
00055             selectedLanguages.append( Util::getLanguageCode( item->text() ) );
00056     }
00057     return( selectedLanguages );
00058 }
00059 
00060 void TranslationSelectionDialog::checkAllLanguages() const {
00061     for( QCheckListItem* item = (QCheckListItem*)languageList->firstChild(); item; item = (QCheckListItem*)item->nextSibling() ) {
00062         item->setOn( true );
00063     }
00064 }

Generated on Sun Mar 1 17:30:47 2009 for toMOTko by  doxygen 1.5.6