const KeyboardTranslator* KeyboardTranslatorManager::defaultTranslator() { // Try to find the default.keytab file if it exists, otherwise // fall back to the hard-coded one const KeyboardTranslator* translator = findTranslator("default"); if (!translator) { QBuffer textBuffer; textBuffer.setData(defaultTranslatorText); textBuffer.open(QIODevice::ReadOnly); translator = loadTranslator(&textBuffer,"fallback"); } return translator; }
static void createTranslator(QTranslator *translator, const QString &transName, const QString &transDir) { #ifdef KTIKZ_USE_KDE const QString locale = KGlobal::locale()->language(); #else const QString locale = QString(QLocale::system().name()); #endif const QString localeShort = locale.left(2).toLower(); const QStringList transDirs = QStringList() << transDir #ifdef KTIKZ_TRANSLATIONS_INSTALL_DIR << QDir(QLatin1String(KTIKZ_TRANSLATIONS_INSTALL_DIR)).absolutePath() // set during compilation #endif // KTIKZ_TRANSLATIONS_INSTALL_DIR << QString(); // working dir for (int i = 0; i < transDirs.size(); ++i) { if (findTranslator(translator, transName + QLatin1Char('_') + locale, transDirs.at(i))) return; if (findTranslator(translator, transName + QLatin1Char('_') + localeShort, transDirs.at(i))) return; } }
bool FApplication::init() { //foreach (QString argument, m_arguments) { //DebugDialog::debug(QString("argument %1").arg(argument)); //} m_serviceType = NoService; QList<int> toRemove; for (int i = 0; i < m_arguments.length(); i++) { if ((m_arguments[i].compare("-h", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-help", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("--help", Qt::CaseInsensitive) == 0)) { return false; } if ((m_arguments[i].compare("-e", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-examples", Qt::CaseInsensitive) == 0)|| (m_arguments[i].compare("--examples", Qt::CaseInsensitive) == 0)) { m_serviceType = ExampleService; m_outputFolder = " "; // otherwise program will bail out toRemove << i; } if ((m_arguments[i].compare("-d", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-debug", Qt::CaseInsensitive) == 0)|| (m_arguments[i].compare("--debug", Qt::CaseInsensitive) == 0)) { DebugDialog::setEnabled(true); toRemove << i; } if (i + 1 >= m_arguments.length()) continue; if ((m_arguments[i].compare("-f", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-folder", Qt::CaseInsensitive) == 0)|| (m_arguments[i].compare("--folder", Qt::CaseInsensitive) == 0)) { FolderUtils::setApplicationPath(m_arguments[i + 1]); // delete these so we don't try to process them as files later toRemove << i << i + 1; } if ((m_arguments[i].compare("-geda", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("--geda", Qt::CaseInsensitive) == 0)) { m_serviceType = GedaService; m_outputFolder = m_arguments[i + 1]; toRemove << i << i + 1; } if ((m_arguments[i].compare("-kicad", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("--kicad", Qt::CaseInsensitive) == 0)) { m_serviceType = KicadFootprintService; m_outputFolder = m_arguments[i + 1]; toRemove << i << i + 1; } if ((m_arguments[i].compare("-kicadschematic", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("--kicadschematic", Qt::CaseInsensitive) == 0)) { m_serviceType = KicadSchematicService; m_outputFolder = m_arguments[i + 1]; toRemove << i << i + 1; } if ((m_arguments[i].compare("-g", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-gerber", Qt::CaseInsensitive) == 0)|| (m_arguments[i].compare("--gerber", Qt::CaseInsensitive) == 0)) { m_serviceType = GerberService; m_outputFolder = m_arguments[i + 1]; toRemove << i << i + 1; } if ((m_arguments[i].compare("-p", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-panel", Qt::CaseInsensitive) == 0)|| (m_arguments[i].compare("--panel", Qt::CaseInsensitive) == 0)) { m_serviceType = PanelizerService; m_panelFilename = m_arguments[i + 1]; m_outputFolder = " "; // otherwise program will bail out toRemove << i << i + 1; } if ((m_arguments[i].compare("-i", Qt::CaseInsensitive) == 0) || (m_arguments[i].compare("-inscription", Qt::CaseInsensitive) == 0)|| (m_arguments[i].compare("--inscription", Qt::CaseInsensitive) == 0)) { m_serviceType = InscriptionService; m_panelFilename = m_arguments[i + 1]; m_outputFolder = " "; // otherwise program will bail out toRemove << i << i + 1; } if (m_arguments[i].compare("-ep", Qt::CaseInsensitive) == 0) { m_externalProcessPath = m_arguments[i + 1]; toRemove << i << i + 1; } if (m_arguments[i].compare("-eparg", Qt::CaseInsensitive) == 0) { m_externalProcessArgs << m_arguments[i + 1]; toRemove << i << i + 1; } if (m_arguments[i].compare("-epname", Qt::CaseInsensitive) == 0) { m_externalProcessName = m_arguments[i + 1]; toRemove << i << i + 1; } } while (toRemove.count() > 0) { int ix = toRemove.takeLast(); m_arguments.removeAt(ix); } m_started = false; m_updateDialog = NULL; m_lastTopmostWindow = NULL; connect(&m_activationTimer, SIGNAL(timeout()), this, SLOT(updateActivation())); m_activationTimer.setInterval(10); m_activationTimer.setSingleShot(true); QCoreApplication::setOrganizationName("Fritzing"); QCoreApplication::setOrganizationDomain("fritzing.org"); QCoreApplication::setApplicationName("Fritzing"); installEventFilter(this); // tell app where to search for plugins (jpeg export and sql lite) m_libPath = FolderUtils::getLibraryPath(); QApplication::addLibraryPath(m_libPath); /*QFile file("libpath.txt"); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&file); out << m_libPath; file.close(); }*/ // !!! translator must be installed before any widgets are created !!! m_translationPath = FolderUtils::getApplicationSubFolderPath("translations"); bool loaded = findTranslator(m_translationPath); Q_UNUSED(loaded); Q_INIT_RESOURCE(phoenixresources); MainWindow::initNames(); FSvgRenderer::calcPrinterScale(); ViewIdentifierClass::initNames(); RatsnestColors::initNames(); Wire::initNames(); ItemBase::initNames(); ViewLayer::initNames(); Connector::initNames(); Helper::initText(); PartsEditorMainWindow::initText(); BinManager::initNames(); PaletteModel::initNames(); SvgIconWidget::initNames(); PinHeader::initNames(); CursorMaster::initCursors(); return true; }