本文整理汇总了C++中QCoreApplication::setLayoutDirection方法的典型用法代码示例。如果您正苦于以下问题:C++ QCoreApplication::setLayoutDirection方法的具体用法?C++ QCoreApplication::setLayoutDirection怎么用?C++ QCoreApplication::setLayoutDirection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QCoreApplication
的用法示例。
在下文中一共展示了QCoreApplication::setLayoutDirection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setLanguage
bool setLanguage(QCoreApplication& qapplication, QWidget* parent)
#endif
{
Q_UNUSED(qapplication); //silence MSVC wrong warning
static int cntTranslators=0;
if(cntTranslators>0){
qapplication.removeTranslator(&translator);
cntTranslators=0;
}
//translator stuff
QDir d("/usr/share/fet/translations");
bool translation_loaded=false;
if(FET_LANGUAGE!="en_US" && languagesSet.contains(FET_LANGUAGE)){
translation_loaded=translator.load("fet_"+FET_LANGUAGE, QDir::currentPath());
if(!translation_loaded){
translation_loaded=translator.load("fet_"+FET_LANGUAGE, qapplication.applicationDirPath());
if(!translation_loaded){
translation_loaded=translator.load("fet_"+FET_LANGUAGE, qapplication.applicationDirPath()+"/translations");
if(!translation_loaded){
if(d.exists()){
translation_loaded=translator.load("fet_"+FET_LANGUAGE, "/usr/share/fet/translations");
}
}
}
}
}
else{
if(FET_LANGUAGE!="en_US"){
FetMessage::warning(parent, QString("FET warning"),
QString("Specified language is incorrect - making it en_US (US English)"));
FET_LANGUAGE="en_US";
}
assert(FET_LANGUAGE=="en_US");
translation_loaded=true;
}
if(!translation_loaded){
FetMessage::warning(parent, QString("FET warning"),
QString("Translation for specified language not loaded - maybe the translation file is missing - setting the language to en_US (US English)")
+"\n\n"+
QString("FET searched for the translation file %1 in the directory %2, then in the directory %3 and "
"then in the directory %4 (under systems that support such a directory), but could not find it.")
.arg("fet_"+FET_LANGUAGE+".qm")
.arg(QDir::toNativeSeparators(qapplication.applicationDirPath()))
.arg(QDir::toNativeSeparators(qapplication.applicationDirPath()+"/translations"))
.arg("/usr/share/fet/translations")
);
FET_LANGUAGE="en_US";
}
if(FET_LANGUAGE=="ar" || FET_LANGUAGE=="he" || FET_LANGUAGE=="fa" || FET_LANGUAGE=="ur" /* and others? */){
LANGUAGE_STYLE_RIGHT_TO_LEFT=true;
}
else{
LANGUAGE_STYLE_RIGHT_TO_LEFT=false;
}
if(FET_LANGUAGE=="zh_CN"){
LANGUAGE_FOR_HTML="zh-Hans";
}
else if(FET_LANGUAGE=="zh_TW"){
LANGUAGE_FOR_HTML="zh-Hant";
}
else if(FET_LANGUAGE=="en_US"){
LANGUAGE_FOR_HTML=FET_LANGUAGE.left(2);
}
else{
LANGUAGE_FOR_HTML=FET_LANGUAGE;
LANGUAGE_FOR_HTML.replace(QString("_"), QString("-"));
}
assert(cntTranslators==0);
if(FET_LANGUAGE!="en_US"){
qapplication.installTranslator(&translator);
cntTranslators=1;
}
#ifndef FET_COMMAND_LINE
if(LANGUAGE_STYLE_RIGHT_TO_LEFT==true)
qapplication.setLayoutDirection(Qt::RightToLeft);
//retranslate
QList<QWidget*> tlwl=qapplication.topLevelWidgets();
foreach(QWidget* wi, tlwl)
if(wi->isVisible()){
FetMainForm* mainform=qobject_cast<FetMainForm*>(wi);
if(mainform!=NULL){
mainform->retranslateUi(mainform);
continue;
}
//help
//.........这里部分代码省略.........