Пример #1
0
void MainWindow::varinit()
{
    // GLOBAL
        // iTestServer version
        ver = "1.4.2"; f_ver = 1.42;
        // iTest ITDB file version
        itdb_ver = "1.4"; f_itdb_ver = 1.4;
        // iTest ITOS file version
        itos_ver = "1.4.2"; f_itos_ver = 1.42;
        // URLs
        itest_url = "itest.sourceforge.net";
        docs_url = tr("http://itest.sourceforge.net/documentation/%1/en/").arg("1.4");
        // i18n
        QTranslator translator; translator.load(":/i18n/iTest-i18n.qm");
        itest_i18n.insert("English", "English");
        itest_i18n.insert(translator.translate("LanguageNames", "Slovak"), "Slovak");
        itest_i18n.insert(translator.translate("LanguageNames", "Russian"), "Russian");
        itest_i18n.insert(translator.translate("LanguageNames", "Turkish"), "Turkish");
        itest_i18n.insert(translator.translate("LanguageNames", "Portuguese"), "Portuguese");
        itest_i18n.insert(translator.translate("LanguageNames", "Spanish"), "Spanish");
        itest_i18n.insert(translator.translate("LanguageNames", "Italian"), "Italian");
        itest_i18n.insert(translator.translate("LanguageNames", "Latvian"), "Latvian");
    // CURRENT_DB
        current_db_open = false;
}
Пример #2
0
LanguageManager::LanguageManager()
{
	// lookup qm files under the :/lang dir

	QDir langDir( QmDirPath );
	for ( QListIterator<QFileInfo> it( langDir.entryInfoList(
		QStringList() << QmTemplate.arg( QmInfoPrefix ), QDir::Files | QDir::CaseSensitive ) ); it.hasNext(); )
	{
		const QFileInfo qmFileInfo = it.next();

		QString moduleName;
		QString suffix;
		if ( !_splitFileName( qmFileInfo.completeBaseName(), &moduleName, &suffix ) )
			continue;

		Q_ASSERT( moduleName == QmInfoPrefix );
		Q_ASSERT( !languageInfoForName_.contains( suffix ) );

		QTranslator * infoTranslator = new QTranslator( this );
		if ( !infoTranslator->load( qmFileInfo.filePath() ) )
		{
			delete infoTranslator;
			continue;
		}

		LanguageInfo languageInfo;
		languageInfo.isNull = false;
		languageInfo.name = suffix;
		languageInfo.englishName = infoTranslator->translate( "LanguageManager", LanguageNameInEnglish );
		languageInfo.nativeName = infoTranslator->translate( "LanguageManager", LanguageNameInNative );

		languageInfoForName_[ languageInfo.name ] = languageInfo;
		names_ << languageInfo.name;
	}

	QString defaultName;

	const QLocale currentLocale;
	if ( languageInfoForName_.contains( currentLocale.name() ) )
	{
		defaultName = currentLocale.name();
	}
	else
	{
		const QString localeLangName = currentLocale.name().left( currentLocale.name().indexOf( QLatin1Char( '_' ) ) );
		if ( languageInfoForName_.contains( localeLangName ) )
		{
			defaultName = localeLangName;
		}
		else
		{
			if ( languageInfoForName_.contains( DefaultLanguageName ) )
				defaultName = DefaultLanguageName;
		}
	}

	if ( !defaultName.isNull() )
		setCurrentName( defaultName );
}
Пример #3
0
// Keeps Data unique, i.e. replace if exist.
// NOTE: This function is only used by ptSettings, i.e. oldschool
void ptChoice::AddOrReplaceItem(const QString Text,const QVariant Data) {
  for (int i=0; i<m_ComboBox->count(); i++) {
    if (Data == m_ComboBox->itemData(i)) {
      QString Temp = appTranslator.translate("QObject",Text.toLocal8Bit().data());
      if (Temp == "") Temp = Text;
      m_ComboBox->setItemText(i,Temp);
      return;
    }
  }
  QString Temp = appTranslator.translate("QObject",Text.toLocal8Bit().data());
  if (Temp == "") Temp = Text;
  m_ComboBox->addItem(Temp,Data);
}
Пример #4
0
void MainWindow::initLanguage()
{
    QDir dir(":/res/lang");
    QString strLang = m_settings->value(STR_MY_LANGUAGE).toString().toLower();

    QStringList fileNames = dir.entryList(QStringList("*.qm"), QDir::Files,
                                          QDir::Name);  // njcs_chn.qm ; njcs_en.qm
    QString strLangPath;
    QAction* act = NULL;
    QTranslator translator;

    m_actGrpLang = new QActionGroup(this);

    foreach(QString fileName, fileNames)
    {
        translator.load(dir.filePath(fileName));

        if(fileName.length() > 8)
        {
            act = m_actGrpLang->addAction(translator.translate("MainWindow", "English"));
            act->setData(fileName.mid(5, fileName.length() - 8));
            act->setCheckable(true);
            if(strLang == act->data())
            {
                act->setChecked(true);
                strLangPath = dir.filePath(fileName);
            }
        }
    }
Пример #5
0
QString GeneralSettingsPage::languageName(const QString &qmFile)
{
    QTranslator translator;
    translator.load(translationPrefix + "_" + qmFile + ".qm", translationPath);
    
    return translator.translate("GeneralSettingsPage", "English");
}
Пример #6
0
void MainWindow::createLanguageMenu()
{
    _menuLanguage = new QMenu(_menuBar);

    _actionGroupLanguage = new QActionGroup(this);
    connect(_actionGroupLanguage, SIGNAL(triggered(QAction*)),
            this, SLOT(switchLanguage(QAction*)));

    QDir dir(_qmPath);
    QStringList fileNames =
            dir.entryList(QStringList("monofin_*.qm"));

    for (int i=0; i<fileNames.size(); ++i) {
        QString locale = fileNames[i];
        locale.remove(0, locale.indexOf('_')+1);
        locale.truncate(locale.indexOf('.'));

        QTranslator translator;
        translator.load(fileNames[i], _qmPath);
        QString language = translator.translate("MainWindow", "English");
        QAction *action = new QAction(tr("&%1 %2")
                                      .arg(i+1).arg(language), this);
        action->setCheckable(true);
        action->setData(locale);

        _menuLanguage->addAction(action);
        _actionGroupLanguage->addAction(action);

        if (language == _currentLanguage)
            action->setChecked(true);
    }
}
QString LanguageChooser::languageName(const QString &qmFile)
{
    QTranslator translator;
    translator.load(qmFile);

    return translator.translate("MainWindow", "English");
}
Пример #8
0
QString MainWindow::languageName(const QString &qmFile)
{
    QTranslator translator;
    translator.load(qmFile);
    QString lan = translator.translate("MainWindow","English");
    return lan;
}
Пример #9
0
QList<Translation> getAllTranslations(){
	QTranslator tmpTranslator;
	QList<Translation> translations;
	QSet<QString> names;
	
	QStringList paths = QStringList() << DataDir+"/i18n/" << HomeDir;
	QRegExp filename("keepassx-([^_]{2}_[^\\.]{2}|[^\\.]{2})\\.qm");
	for (int i=0;i<paths.size();i++){
		QDir dir(paths[i]);
		QStringList TrFiles=dir.entryList(QStringList()<<"*.qm",QDir::Files);
		for (int j=0;j<TrFiles.size();j++){
			if (filename.exactMatch(TrFiles[j]) && TrFiles[j]!="keepassx-xx_XX.qm" &&
				tmpTranslator.load(TrFiles[j],paths[i]) && !names.contains(filename.cap(1)))
			{
				Translation t;
				t.nameCode = filename.cap(1);
				t.nameLong = tmpTranslator.translate("Translation", "$LANGUAGE_NAME", "Insert your language name in the format: English (United States)");
				t.author = tmpTranslator.translate("Translation", "$TRANSLATION_AUTHOR");
				
				QLocale l(t.nameCode);
				t.nameEnglish = QLocale::languageToString(l.language());
				if (t.nameCode.size()==5){
					QString country = QLocale::countryToString(l.country());
					int size = country.size();
					for (int k=1; k<size; k++){
						if (country[k].isUpper()){
							country.insert(k, " ");
							k += 2;
							size++;
						}
					}
					t.nameEnglish.append(" (").append(country).append(")");
				}
				
				if (t.nameLong.isEmpty())
					t.nameLong = t.nameEnglish;
				
				translations << t;
				names << t.nameCode;
			}
		}
	}
	
	qSort(translations.begin(), translations.end());
	return translations;
}
Пример #10
0
extern "C" MY_EXPORT QString GetTranslatedGameName()
{	
	QString locale	= FindSupportedLocaleName();
	
    QTranslator translator;
   	translator.load( QString(":/%1Res").arg(gameName) + "/lang/"  + gameName + "_" + locale );
	return translator.translate( "NiuNiuController", gameName.toAscii() );
}
 QString tratra(const QTranslator &translator, const char *pCtxt,
                const char *pSrc, const char *pCmnt)
 {
     QString strMsg = translator.translate(pCtxt, pSrc, pCmnt);
     /* Return the source text if no translation is found: */
     if (strMsg.isEmpty())
         strMsg = QString(pSrc);
     return strMsg;
 }
Пример #12
0
QString IntroPage::languageName(const QString &qmFile)
{
    if(qmFile == DEFAULT_LANG_CODE)
        return DEFAULT_LANG_NAME;

    QTranslator translator;
    translator.load(translationPrefix + "_" + qmFile + ".qm", translationPath);
    
    return translator.translate("IntroPage", DEFAULT_LANG_NAME);
}
Пример #13
0
extern "C" MY_EXPORT QString GetTranslatedGameName()
{	
	QString locale	= GetSettingLocaleName();
	if ( locale == "auto" )
		locale	= QLocale::system().name();
	
    QTranslator translator;
   	translator.load( QString(":/%1Res").arg(gameName) + "/lang/"  + gameName + "_" + locale );
	return translator.translate( "GBMJController", gameName.toAscii() );
}
Пример #14
0
QString Config::languageName(const QString &qmFile)
{
    QTranslator translator;

    QString file = "rbutil_" + qmFile;
    if(!translator.load(file, programPath))
        translator.load(file, ":/lang");

    return translator.translate("Configure", "English",
        "This is the localized language name, i.e. your language.");
}
Пример #15
0
QString ApplicationHelper::tr(const char *sourceText, const char *disambiguation, int n)
{
    static IncludeController ic;
    static QTranslator translator;

    const QString path = ic.getRequest().header().path();
    int pos = path.indexOf('/') + 1;

    QString language = path.mid(pos, path.indexOf('/', pos) - 1);

    if(!translator.load(language, "./translations/"))
        return sourceText;

    return translator.translate("H", sourceText, disambiguation, n);
}
Пример #16
0
int main(int argc, char* argv[])
{
//    Q_INIT_RESOURCE(flags);

    QApplication app(argc, argv);

    QTranslator trans;
    bool ok = trans.load(":/qxt_"+QLocale::system().name());
    if (!ok)
      qDebug() << "Loading translation failed.";
    qDebug() << trans.translate("Country", "Germany");

    app.installTranslator(&trans);

    TestDialog* w = new TestDialog();

    w->show();
    app.exec();
} 
Пример #17
0
QList<QPair<QString, QString> > Translator::loadTranslationFiles()
{
    language = tr("English");
    QTranslator transl;

    QDir trPath(m_loc);
    QStringList fileNames = trPath.entryList(QStringList() << "*.qm", QDir::Files, QDir::Name);

    QList<QPair<QString, QString> > langsList;
    QPair<QString, QString> lang;

    for (int i = 0; i < fileNames.count(); i++) {
        lang.first = fileNames.at(i);

        transl.load(fileNames.at(i), m_loc);
        lang.second = transl.translate("Translator", "English");

        langsList << lang;
    }
    return langsList;
}
Пример #18
0
void ptChoice::createGUI() {
  QHBoxLayout *Layout = new QHBoxLayout(m_Parent);
  m_Parent->setLayout(Layout);

  m_ComboBox = new QComboBox(m_Parent);
  m_ComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
  m_ComboBox->setFixedHeight(24);
  m_ComboBox->setMaxVisibleItems(24);

  if (FIsNewSchool) {
    for (ptCfgItem::TComboEntry &hComboEntry: m_InitialOptionsNewschool) {
      m_ComboBox->addItem(hComboEntry.caption, hComboEntry.value);
    }

  } else {
    for (short i=0; m_InitialOptions && m_InitialOptions[i].Value !=-1; i++ ) {
      QString Temp = appTranslator.translate("QObject",m_InitialOptions[i].Text.toLocal8Bit().data());
      if (Temp == "") Temp = m_InitialOptions[i].Text;
      m_ComboBox->addItem(Temp,m_InitialOptions[i].Value);
    }
  }

  m_ComboBox->installEventFilter(this);
  m_ComboBox->setFocusPolicy(Qt::ClickFocus);
  Layout->addWidget(m_ComboBox);
  Layout->setContentsMargins(0,0,0,0);
  Layout->setMargin(0);
  Layout->addStretch(1);
  Layout->setSpacing(2);

  // A timer for time filtering signals going outside.
  m_Timer = new QTimer(this);
  m_Timer->setSingleShot(1);

  connect(m_Timer,    SIGNAL(timeout()),      this, SLOT(OnValueChangedTimerExpired()));
  connect(m_ComboBox, SIGNAL(activated(int)), this, SLOT(OnValueChanged(int)));

  // Set the default Value (and remember for later).
  SetValue(m_DefaultValue,1);
}
Пример #19
0
void ptChoice::Clear(const short WithDefault) {
  m_ComboBox->clear();
  m_Value.clear();

  if (WithDefault) {
    // Add the standard choices again.
    if (FIsNewSchool) {
      for (ptCfgItem::TComboEntry &hComboEntry: m_InitialOptionsNewschool) {
        m_ComboBox->addItem(hComboEntry.caption, hComboEntry.value);
      }

    } else {
      for (short i=0; m_InitialOptions && m_InitialOptions[i].Value !=-1; i++ ) {
        QString Temp = appTranslator.translate("QObject",m_InitialOptions[i].Text.toLocal8Bit().data());
        if (Temp == "") Temp = m_InitialOptions[i].Text;
        m_ComboBox->addItem(Temp,m_InitialOptions[i].Value);
      }
    }

    m_Value = m_DefaultValue;
  }
}
Пример #20
0
void Dialog2::func()
{
    int n = getCount();
    tr("%n files", "plural form", n);
    tr("%n cars", 0, n);
    tr("&Find %n cars", 0, n);
    tr("Search in %n items?", 0, n);
    tr("%1. Search in %n items?", 0, n);
    tr("Age: %1");
    tr("There are %n house(s)", "Plurals and function call", getCount());




    QCoreApplication::translate("Plurals, QCoreApplication", "%n house(s)", "Plurals and identifier", QCoreApplication::UnicodeUTF8, n);
    QCoreApplication::translate("Plurals, QCoreApplication", "%n car(s)", "Plurals and literal number", QCoreApplication::UnicodeUTF8, 1);
    QCoreApplication::translate("Plurals, QCoreApplication", "%n horse(s)", "Plurals and function call", QCoreApplication::UnicodeUTF8, getCount());








    QTranslator trans;
    trans.translate("QTranslator", "Simple");
    trans.translate("QTranslator", "Simple", 0);
    trans.translate("QTranslator", "Simple with comment", "with comment");
    trans.translate("QTranslator", "Plural without comment", 0, 1);
    trans.translate("QTranslator", "Plural with comment", "comment 1", n);
    trans.translate("QTranslator", "Plural with comment", "comment 2", getCount());












}
Пример #21
0
QStringList LanguageChooser::getLanguages() {
  QStringList filter;
  filter << "*.qm";
  QDir dir(QCoreApplication::applicationDirPath());
  QStringList entries = dir.entryList(filter);
  
  QStringList files;
  QTranslator *t = new QTranslator(qApp);
  foreach (QString entry, entries) {
    if (!t->load(entry, dir.absolutePath())) {
      continue;
    }
    QString lang = t->translate("LanguageChooser", "English (en)");
    if (!lang.isEmpty() && !lang.isNull()) {
      files << lang;
    }
  }
  
  files << "English (en)";
  files.sort();
  
  return files;
}
Пример #22
0
void DkUtils::addLanguages(QComboBox* langCombo, QStringList& languages) {

	QDir qmDir = qApp->applicationDirPath();

	// find all translations
	QStringList translationDirs = Settings::param().getTranslationDirs();
	QStringList fileNames;

	for (int idx = 0; idx < translationDirs.size(); idx++) {
		fileNames += QDir(translationDirs[idx]).entryList(QStringList("nomacs_*.qm"));
	}

	langCombo->addItem("English");
	languages << "en";

	for (int i = 0; i < fileNames.size(); ++i) {
		QString locale = fileNames[i];
		locale.remove(0, locale.indexOf('_') + 1);
		locale.chop(3);

		QTranslator translator;
		Settings::param().loadTranslation(fileNames[i], translator);

		//: this should be the name of the language in which nomacs is translated to
		QString language = translator.translate("nmc::DkGlobalSettingsWidget", "English");
		if (language.isEmpty())
			continue;

		langCombo->addItem(language);
		languages << locale;
	}

	langCombo->setCurrentIndex(languages.indexOf(Settings::param().global().language));
	if (langCombo->currentIndex() == -1) // set index to English if language has not been found
		langCombo->setCurrentIndex(0);

}
Пример #23
0
MainWindow::MainWindow()
{
    // User interface ----------------------------------------------------------
    if (tr("LTR") == "RTL") {
        qApp->setLayoutDirection(Qt::RightToLeft);
    }
    setupUi(this);
    network_access_manager = new QNetworkAccessManager(this);
    default_printer = NULL;
#ifdef Q_OS_MAC
    this->setUnifiedTitleAndToolBarOnMac(true);
#endif
    progressBar = new QProgressBar(this);
    progressBar->setTextVisible(false);
    progressBar->resize(QSize(30, 10));
    statusBar()->addPermanentWidget(progressBar, 0);
    statusBar()->setFixedHeight(20);
    progressBar->setFixedWidth(150);
    progressBar->setFixedHeight(15);
    progressBar->setVisible(false);
    LQCategoryComboBox->setVisible(false);
    SQStatisticsLabel->setVisible(false);
    currentSvgChanged();
    btnApply = SQButtonBox->button(QDialogButtonBox::Apply);
    btnApply->setText(tr("Apply"));
    btnApply->setStatusTip(tr("Apply any changes you have made to the question"));
    btnApply->setIcon(QIcon(QString::fromUtf8(":/images/images/button_ok.png")));
    btnDiscard = SQButtonBox->button(QDialogButtonBox::Discard);
    btnDiscard->setText(tr("Discard"));
    btnDiscard->setStatusTip(tr("Discard any changes you have made to the question"));
    btnDiscard->setIcon(QIcon(QString::fromUtf8(":/images/images/button_cancel.png")));
    SQQuestionTextEdit->setTitle(tr("Question:"));
    SQQuestionTextEdit->textEdit()->setStatusTip(tr("Text of the selected question"));
    ECTextEdit->setTitle(tr("Comments:"));
    ECTextEdit->textEdit()->setStatusTip(tr("Use this field for your comments, notes, reminders..."));
    EFTreeWidget->setMouseTracking(true);
    EFTreeWidget->header()->setSectionResizeMode(0, QHeaderView::Fixed);
    EFTreeWidget->header()->setSectionResizeMode(1, QHeaderView::Stretch);
    EFTreeWidget->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
    EFButtonBox->button(QDialogButtonBox::Apply)->setText(tr("Apply"));
    EFButtonBox->button(QDialogButtonBox::Apply)->setStatusTip(tr("Apply any changes you have made to the categories"));
    EFButtonBox->button(QDialogButtonBox::Apply)->setIcon(QIcon(QString::fromUtf8(":/images/images/button_ok.png")));
    EFButtonBox->button(QDialogButtonBox::Discard)->setText(tr("Discard"));
    EFButtonBox->button(QDialogButtonBox::Discard)->setStatusTip(tr("Discard any changes you have made to the categories"));
    EFButtonBox->button(QDialogButtonBox::Discard)->setIcon(QIcon(QString::fromUtf8(":/images/images/button_cancel.png")));
    // Initialize variables ----------------------------------------------------
    // URLs
    docs_url = tr("http://itest.sourceforge.net/documentation/%1/en/").arg("1.4");
    // i18n
    QTranslator translator; translator.load(":/i18n/iTest-i18n.qm");
    itest_i18n.insert("English", "en");
    itest_i18n.insert(translator.translate("LanguageNames", "Slovak"), "sk");
    itest_i18n.insert(translator.translate("LanguageNames", "Russian"), "ru");
    itest_i18n.insert(translator.translate("LanguageNames", "Turkish"), "tr");
    itest_i18n.insert(translator.translate("LanguageNames", "Portuguese"), "pt");
    itest_i18n.insert(translator.translate("LanguageNames", "Spanish"), "es");
    itest_i18n.insert(translator.translate("LanguageNames", "Italian"), "it");
    itest_i18n.insert(translator.translate("LanguageNames", "Latvian"), "lv");
    itest_i18n.insert(translator.translate("LanguageNames", "Ukrainian"), "uk");
    itest_i18n.insert(translator.translate("LanguageNames", "Czech"), "cs");
    itest_i18n.insert(translator.translate("LanguageNames", "Hungarian"), "hu");
    itest_i18n.insert(translator.translate("LanguageNames", "German"), "de");
    // CURRENT_DB
    current_db_open = false;
    current_db_session = NULL;
    current_db_class = NULL;
    current_db_categories.resize(20);
    current_db_categories_enabled.resize(20);
    // Connect slots -----------------------------------------------------------
    tbtnAddQuestion->setDefaultAction(actionAdd);
    tbtnDuplicateQuestion->setDefaultAction(actionDuplicate);
    tbtnDeleteQuestion->setDefaultAction(actionDelete);
    QObject::connect(actionAdd, SIGNAL(triggered()), this, SLOT(addQuestion()));
    QObject::connect(actionDelete, SIGNAL(triggered()), this, SLOT(deleteQuestion()));
    QObject::connect(actionDuplicate, SIGNAL(triggered()), this, SLOT(duplicateQuestion()));
    QObject::connect(btnApply, SIGNAL(released()), this, SLOT(applyQuestionChanges()));
    QObject::connect(actionApply, SIGNAL(triggered()), this, SLOT(applyQuestionChanges()));
    QObject::connect(btnDiscard, SIGNAL(released()), this, SLOT(discardQuestionChanges()));
    QObject::connect(actionDiscard, SIGNAL(triggered()), this, SLOT(discardQuestionChanges()));

    QObject::connect(actionNew, SIGNAL(triggered()), this, SLOT(newDB()));
    QObject::connect(btnNew, SIGNAL(released()), this, SLOT(newDB()));
    QObject::connect(actionOpen, SIGNAL(triggered()), this, SLOT(open()));
    QObject::connect(btnOpenOther, SIGNAL(released()), this, SLOT(open()));
    QObject::connect(btnOpenSelected, SIGNAL(released()), this, SLOT(openRecent()));
    QObject::connect(actionSave, SIGNAL(triggered()), this, SLOT(save()));
    QObject::connect(actionSave_as, SIGNAL(triggered()), this, SLOT(saveAs()));
    QObject::connect(actionSave_a_copy, SIGNAL(triggered()), this, SLOT(saveCopy()));
    QObject::connect(actionExport_CSV, SIGNAL(triggered()), this, SLOT(exportCSV()));
    QObject::connect(actionClose, SIGNAL(triggered()), this, SLOT(closeDB()));
    QObject::connect(actionQuit, SIGNAL(triggered()), this, SLOT(quit()));
    QObject::connect(actionAbout, SIGNAL(triggered()), this, SLOT(about()));

    QObject::connect(recentDBsListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(openRecent(QListWidgetItem *)));
    QObject::connect(LQListWidget, SIGNAL(currentTextChanged(QString)), this, SLOT(setCurrentQuestion()));

    QObject::connect(actionFrom_A_to_Z, SIGNAL(triggered()), this, SLOT(sortQuestionsAscending()));
    QObject::connect(actionFrom_Z_to_A, SIGNAL(triggered()), this, SLOT(sortQuestionsDescending()));
    QObject::connect(actionBy_category, SIGNAL(triggered()), this, SLOT(sortQuestionsByCategory()));

    tbtnAddSVG->setDefaultAction(actionAdd_SVG);
    tbtnRemoveSVG->setDefaultAction(actionRemove_SVG);
    tbtnEditSVG->setDefaultAction(actionEdit_SVG);
    tbtnExportSVG->setDefaultAction(actionExport_SVG);
    QObject::connect(actionAdd_SVG, SIGNAL(triggered()), this, SLOT(addSvg()));
    QObject::connect(actionRemove_SVG, SIGNAL(triggered()), this, SLOT(removeSvg()));
    QObject::connect(actionEdit_SVG, SIGNAL(triggered()), this, SLOT(editSvg()));
    QObject::connect(actionExport_SVG, SIGNAL(triggered()), this, SLOT(exportSvg()));
    QObject::connect(SQSVGListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(previewSvg(QListWidgetItem *)));
    QObject::connect(SQSVGListWidget, SIGNAL(currentTextChanged(QString)), this, SLOT(currentSvgChanged()));

    tbtnMoveUp->setDefaultAction(actionMove_up);
    tbtnMoveDown->setDefaultAction(actionMove_down);
    QObject::connect(actionMove_up, SIGNAL(triggered()), this, SLOT(moveUp()));
    QObject::connect(actionMove_down, SIGNAL(triggered()), this, SLOT(moveDown()));
    QObject::connect(actionMove_to_top, SIGNAL(triggered()), this, SLOT(moveToTop()));
    QObject::connect(actionMove_to_bottom, SIGNAL(triggered()), this, SLOT(moveToBottom()));
    QObject::connect(actionHide, SIGNAL(triggered()), this, SLOT(hideQuestion()));
    QObject::connect(actionShow_hidden, SIGNAL(triggered()), this, SLOT(filterLQSearch()));

    rbtngrpFilterLQ = new QButtonGroup(this);
    rbtngrpFilterLQ->addButton(LQAllRadioButton);
    rbtngrpFilterLQ->addButton(LQEasyRadioButton);
    rbtngrpFilterLQ->addButton(LQMediumRadioButton);
    rbtngrpFilterLQ->addButton(LQDifficultRadioButton);
    rbtngrpFilterLQ->addButton(LQCategoryRadioButton);

    actgrpFilterLQ = new QActionGroup(this);
    actgrpFilterLQ->addAction(actionShow_all);
    actgrpFilterLQ->addAction(actionShow_easy);
    actgrpFilterLQ->addAction(actionShow_medium);
    actgrpFilterLQ->addAction(actionShow_difficult);
    actgrpFilterLQ->addAction(actionShow_category);

    QObject::connect(rbtngrpFilterLQ, SIGNAL(buttonReleased(QAbstractButton *)), this, SLOT(filterLQ(QAbstractButton *)));
    QObject::connect(actgrpFilterLQ, SIGNAL(triggered(QAction *)), this, SLOT(filterLQAction(QAction *)));
    QObject::connect(LQCategoryComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterLQCategoryChanged()));
    QObject::connect(LQSearchLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(filterLQSearch()));
    QObject::connect(tbtnSearchByGroup, SIGNAL(released()), this, SLOT(searchByGroup()));

    actgrpPage = new QActionGroup(this);
    actgrpPage->addAction(actionEdit_questions);
    actgrpPage->addAction(actionEdit_comments);
    actgrpPage->addAction(actionEdit_categories);
    actgrpPage->addAction(actionEdit_test);
    actgrpPage->addAction(actionSaved_sessions);
    actgrpPage->addAction(actionEdit_classes);

    QObject::connect(actgrpPage, SIGNAL(triggered(QAction *)), this, SLOT(setPage(QAction *)));

    //QObject::connect(btnApply, SIGNAL(released()), this, SLOT(setDatabaseModified()));
    //QObject::connect(actionApply, SIGNAL(triggered()), this, SLOT(setDatabaseModified()));
    QObject::connect(ECTextEdit, SIGNAL(textChanged()), this, SLOT(setDatabaseModified()));

    QObject::connect(actionCheck_for_updates, SIGNAL(triggered()), this, SLOT(checkForUpdates()));
    QObject::connect(network_access_manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(httpRequestFinished(QNetworkReply *)));
    QObject::connect(actionDocumentation, SIGNAL(triggered()), this, SLOT(openDocumentation()));
    QObject::connect(SQStatisticsLabel, SIGNAL(linkActivated(QString)), this, SLOT(adjustQuestionDifficulty()));
    QObject::connect(actionPrint_questions, SIGNAL(triggered()), this, SLOT(showPrintQuestionsDialogue()));
    QObject::connect(actionOverall_statistics, SIGNAL(triggered()), this, SLOT(overallStatistics()));
    QObject::connect(actionChange_language, SIGNAL(triggered()), this, SLOT(changeLanguage()));

    QObject::connect(mainStackedWidget, SIGNAL(currentChanged(int)), this, SLOT(currentPageChanged(int)));
    // Disable all -------------------------------------------------------------
    setAllEnabled(false);
    // Categories -------------------------------------------------------------------
    setupCategoriesPage();
    // Server ------------------------------------------------------------------
    setupServer();
    // Session viewer ----------------------------------------------------------
    setupSessionViewer();
    // Class viewer ------------------------------------------------------------
    setupClassViewer();
    // -------------------------------------------------------------------------
#ifdef Q_OS_MAC
    show();
#endif
    // Load settings -----------------------------------------------------------
    loadSettings();
    // Ready -------------------------------------------------------------------
    statusBar()->showMessage(tr("Ready"), 10000);
    // Check app args ----------------------------------------------------------
    if (qApp->arguments().count() > 1) {
        openFile(qApp->arguments().at(1));
    }
    // -------------------------------------------------------------------------
#ifndef Q_OS_MAC
    show();
#endif
}
static PyObject *meth_QTranslator_translate(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        const char * a0;
        const char * a1;
        const char * a2 = 0;
        QTranslator *sipCpp;

        static const char *sipKwdList[] = {
            NULL,
            NULL,
            sipName_disambiguation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, NULL, "Bss|s", &sipSelf, sipType_QTranslator, &sipCpp, &a0, &a1, &a2))
        {
            QString *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new QString((sipSelfWasArg ? sipCpp->QTranslator::translate(a0,a1,a2) : sipCpp->translate(a0,a1,a2)));
            Py_END_ALLOW_THREADS

            return sipConvertFromNewType(sipRes,sipType_QString,NULL);
        }
    }
Пример #25
0
QString Translation::languageName(const QString &qmFile)
{
    QTranslator translator;
    translator.load(qmFile);
    return translator.translate("Translation", "english");
}
Пример #26
-1
LangManager::LangManager(QObject *parent) :
    QObject(parent)
{
    //: Fill this with your language (ex: English, Deutch, Français, etc)
    tr("__LANG__");
    //: Fill this with the country your language is for (United-States, France, etc.)
    tr("__COUNTRY__");

    QStringList searchDirs;
#ifdef Q_OS_MAC
    searchDirs << qApp->applicationDirPath() + "/../Resources/lang"
               << qApp->applicationDirPath() + "/../../../../resources";
#else
    searchDirs << qApp->applicationDirPath() + "/lang"
               << qApp->applicationDirPath() + "/../resources";
#endif

    QDir searchDir;
    searchDir.setFilter(QDir::Files);
    searchDir.setNameFilters(QStringList() << "*.qm");

    QFileInfoList files;
    for(QString dir : searchDirs) {
        searchDir.setPath(dir);
        files = searchDir.entryInfoList();
        if(files.count()) {
            LOG_INFO(QString("%1 translations found in the directory %2")
                     .arg(files.count())
                     .arg(searchDir.absolutePath()));
            break;
        }
    }

    // Insert default translation. By doing this here, we ensure the LanguageEvent will
    // correctly be posted when switching from any language to default.
    _langMap.insert(TYM_DEFAULT_LANGUAGE, "English (United States)");
    _translatorMap.insert(TYM_DEFAULT_LANGUAGE, new QTranslator(this));

    for(QFileInfo f : files) {
        QString key = f.baseName();

        QTranslator* transl = new QTranslator(this);
        transl->load(f.fileName(), f.absolutePath());
        _translatorMap.insert(key, transl);

        QString langName = transl->translate("LangManager", "__LANG__")
                + " (" + transl->translate("LangManager", "__COUNTRY__") + ")";
        if(langName == " ()") {
            langName = key;
        }
        _langMap.insert(key, langName);
    }
}