void OptionHandler::reloadSettings() { // gather options... QSettings config; config.beginGroup("/baghira/Style"); //we need that first to make sure we use some proper settings ;) customButtonColor = QColor(config.readNumEntry("Design_ButtonColor",(int)qApp->palette().active().button().rgb())); // design handling: // first try file: QString tmpString; FILE *file = NULL; wmDesign = 5; for (int i = 0; i < 8; i++) custCols[i] = -1; if (qstrcmp( qApp->argv() [ 0 ], "ksplash" ) == 0) { style_ = Panther; _toolbuttonStyle = Panther; _buttonStyle = Panther; tabStyle_ = Clever; bgStipple = false; inactiveButtonColor = Background; } else { // first try for a tmp file from bab starter int tmpFile = 0; tmpString = QDir::homeDirPath() + "/.baghira/.bab/" + qApp->argv() [ 0 ]; file = fopen(tmpString.latin1(), "r"); if( file == NULL ) { tmpFile = 1; tmpString = QDir::homeDirPath() + "/.baghira/" + qApp->argv() [ 0 ]; file = fopen(tmpString.latin1(), "r"); if( file == NULL ) { tmpFile = 2; tmpString = QDir::homeDirPath() + "/.baghira/.bab/.style"; file = fopen(tmpString.latin1(), "r"); } } if (file != NULL) { style_ = _buttonStyle = _toolbuttonStyle = Panther; int i3 = inactiveButtonColor = -1; tabStyle_ = (tabStyle)-1; fscanf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",&style_, &wmDesign, &_buttonStyle, &_toolbuttonStyle, &tabStyle_, &i3, &custCols[0], &custCols[1], &custCols[2], &custCols[3], &custCols[4], &custCols[5], &custCols[6], &custCols[7], &inactiveButtonColor); fclose(file); if (_toolbuttonStyle < 0 || _toolbuttonStyle >= NUMSTYLES) _toolbuttonStyle = (Style)config.readNumEntry( "Special_ToolbuttonStyle", style_); if (_buttonStyle < 0 || _buttonStyle >= NUMSTYLES) _buttonStyle = (Style)config.readNumEntry( "Special_ButtonStyle", style_); if (tabStyle_ < 0 || tabStyle_ > 2) tabStyle_ = (tabStyle) config.readNumEntry( (style_ == Brushed)?"Design_TabStyleBrushed":"Design_TabStyleAqua", Clever); if (inactiveButtonColor < 0 || inactiveButtonColor > 3) inactiveButtonColor = config.readNumEntry( "Design_InactiveButtonStyle", Background); if (style_ == Brushed) bgStipple = TRUE; else if (i3 == 0) bgStipple = FALSE; else bgStipple = config.readBoolEntry( "Design_StippleBackground", true ); // inactive Button if (tmpFile == 0) remove(tmpString.latin1()); // remove TEMPORARY file else if (tmpFile == 2) { tmpString = QDir::homeDirPath() + "/.baghira/.bab/.deco"; if ((file = fopen(tmpString.latin1(), "r")) != NULL) { fscanf(file,"%u\n%u\n",&i3, &wmDesign); fclose(file); } } } else { style_ = (Style)config.readNumEntry( "Design_Default", Panther ); _toolbuttonStyle = (Style)config.readNumEntry( "Special_ToolbuttonStyle", style_); _buttonStyle = (Style)config.readNumEntry( "Special_ButtonStyle", style_); tabStyle_ = (tabStyle) config.readNumEntry( (style_ == Brushed)?"Design_TabStyleBrushed":"Design_TabStyleAqua", Clever); bgStipple = (style_ == Brushed) ? true : config.readBoolEntry( "Design_StippleBackground", true ); inactiveButtonColor = config.readNumEntry( "Design_InactiveButtonStyle", Background); } } contrast = 0; if (wmDesign > 4) wmDesign = style_; if (style_ == Jaguar) contrast = 4; else if (style_ == Brushed) { tintBrush = config.readBoolEntry( "Colors_TintBrushedMetal", false ); if (tintBrush) brushTint.setRgb( config.readNumEntry( "Colors_BrushTint", ( int ) bgColor().rgb())); } // menu stuff glossyMenus_ = config.readBoolEntry( "Menu_Glossy", true ); menuBackground = config.readNumEntry( "Menu_Background", Standard); menuOpacity = config.readNumEntry( "Menu_Opacity", 70); int menuColorStyle = config.readNumEntry( "Menu_ColorStyle", 0); menuColorButton = (menuColorStyle == 1); useCustomMenuColor = (menuColorStyle == 2); shadowText = config.readBoolEntry( "Menu_ShadowText", false); if (useCustomMenuColor){ color = QColor( config.readNumEntry( "Menu_Color1", 0 ) ); color2 = QColor( config.readNumEntry( "Menu_Color2", 0 ) ); colorHigh = QColor( config.readNumEntry( "Menu_ColorHighlight", 0 ) ); fgColor = QColor( config.readNumEntry( "Menu_TextColor", 0 ) ); fgColorHigh = QColor( config.readNumEntry( "Menu_TextColorHighlight", 0 ) ); } else if (menuColorButton){ color = customButtonColor; color2 = customButtonColor.dark(130); } else { color = qApp->palette().active().background(); color2 = qApp->palette().active().background().dark(130); } drawMenuStripe_ = config.readBoolEntry("Menu_DrawMenuStripe", false); if (drawMenuStripe_) menuStripeColor_ = QColor(config.readNumEntry("Menu_StripeColor"),(int)Qt::white.rgb()); // color stuff // widgets customWidgetColor = config.readBoolEntry( "Colors_UseCustomColors", false); if ( customWidgetColor ) { customColors[ CustomRadioOn ].setRgb( config.readNumEntry( "Colors_RadioOn", ( int ) buttonColor().rgb() ) ); customColors[ CustomRadioOff ].setRgb( config.readNumEntry( "Colors_RadioOff", ( int ) bgColor().rgb() ) ); customColors[ CustomCBOn ].setRgb( config.readNumEntry( "Colors_CheckOn", ( int ) buttonColor().rgb() ) ); customColors[ CustomCBOff ].setRgb( config.readNumEntry( "Colors_CheckOff", ( int ) bgColor().rgb() ) ); customColors[ CustomTabOn ].setRgb( config.readNumEntry( "Colors_TabActive", ( int ) buttonColor().rgb() ) ); customColors[ CustomTabOff ].setRgb( config.readNumEntry( "Colors_TabInactive", ( int ) bgColor().rgb() ) ); customColors[ CustomSBSlider ].setRgb( config.readNumEntry( "Colors_Slider", ( int ) bgColor().rgb() ) ); customColors[ CustomSBSliderHover ].setRgb( config.readNumEntry( "Colors_SliderHovered", ( int ) buttonColor().rgb() ) ); customColors[ CustomSBSliderPressed ].setRgb( config.readNumEntry( "Colors_SliderPressed", ( int ) buttonColor().dark(110).rgb() ) ); customColors[ CustomSBGroove ].setRgb( config.readNumEntry( "Colors_SliderGroove", ( int ) bgColor().rgb() ) ); } if (inactiveButtonColor == Custom) customInactiveButtonColor = QColor( config.readNumEntry( "Design_InactiveButtonColor", (int) bgColor().rgb())); contrast += config.readNumEntry( "Design_StippleContrast", 3); bevelHighlights_ = config.readBoolEntry( "Design_BevelAsHighlight", true); //shadows groupboxshadow = (style_ == Brushed) ? false : config.readBoolEntry( "Design_ShadowGroupBoxes", true ); shadowDarkness = config.readNumEntry( "Design_GroupBoxeShadowDarkness", 6); //ListViews expanderStyle = config.readNumEntry( "Special_ExpanderStyle", Apple); useCustomExpanderColor = config.readBoolEntry( "Special_CustomExpanderColor", false); if (useCustomExpanderColor) expanderColor = QColor( config.readNumEntry( "Special_ExpanderColor", (int) qApp->palette().active().text().rgb())); drawDotlines = config.readBoolEntry( "Special_DrawTreeLines", true); if (drawDotlines){ dotlineStyle = config.readNumEntry( "Special_TreelineStyle", Line); dotlineColor = QColor( config.readNumEntry( "Special_TreelineColor", (int) qApp->palette().active().mid().rgb())); } //slider squeezesbslider = config.readBoolEntry( "Special_SqueezeSlider", false ); shadowsbslider = config.readBoolEntry( "Special_ShadowSlider", false ); animateSlider = config.readBoolEntry( "Special_AnimateSlider", true ); // toolbar int utb = config.readNumEntry( "Special_UnhoveredToolButtons", 2 ); tbFrame = (utb == 2) || ((style_ == Brushed) && (utb == 1)) || ((style_ != Brushed) && (utb == 0)); // tweaks centerTabs = config.readBoolEntry( "Design_CenterTabs", true); smoothListViewHeaders = (style_ == Milk) ? true : !config.readBoolEntry( "Special_UseFlatLVH", false); smootherLVH = config.readBoolEntry( "Special_RoundTaskbuttons", false); icyButtons = config.readNumEntry( "Design_ButtonStyle", 0) == 0; progressBar = config.readNumEntry( "Special_ProgressStyle", baghira); removeKickerBevel = config.readBoolEntry( "Special_RemoveKickerBevel", false); animateButton = config.readBoolEntry( "Design_AnimateButtons", true); animateProgress = config.readBoolEntry( "Design_AnimateProgress", true); drawProgressLabel = config.readBoolEntry( "Special_ShowProgressValue", false); config.endGroup(); config.beginGroup("/baghira/Deco"); titleButtonColor_[0] = QColor((unsigned int)config.readNumEntry( "CloseButtonColor", QColor(200,85,70).rgb())); titleButtonColor_[1] = QColor((unsigned int)config.readNumEntry( "MinButtonColor", QColor(230,155,40).rgb())); titleButtonColor_[2] = QColor((unsigned int)config.readNumEntry( "MaxButtonColor", QColor(121,180,54).rgb())); if (style_ == Jaguar) { titleColor_[0] = QColor((unsigned int)config.readNumEntry( "inactiveColor1_1", QColor(204,214,230).rgb())); titleColor_[1] = QColor((unsigned int)config.readNumEntry( "inactiveColor2_1", QColor(194,196,211).rgb())); } else if (style_ != Brushed) { titleColor_[0] = QColor((unsigned int)config.readNumEntry( "activeColor1_2", QColor(238,238,238).rgb())); titleColor_[1] = QColor((unsigned int)config.readNumEntry( "activeColor2_2", QColor(205,202,205).rgb())); } if (style_ == Tiger) { int r,g,b; aDecoColor1_ = QColor((unsigned int)config.readNumEntry( "activeColor2_4", (unsigned int) QColor(205,202,205).rgb())); aDecoColor2_ = QColor((unsigned int)config.readNumEntry( "activeColor1_4", (unsigned int) QColor(238,238,238).rgb())); r = (int)CLAMP(aDecoColor1_.red() * pow((double)aDecoColor1_.red() / (double)aDecoColor2_.red(),2.0),0,255); g = (int)CLAMP(aDecoColor1_.green() * pow((double)aDecoColor1_.green() / (double)aDecoColor2_.green(),2.0),0,255); b = (int)CLAMP(aDecoColor1_.blue() * pow((double)aDecoColor1_.blue() / (double)aDecoColor2_.blue(),2.0),0,255); aDecoColor2_.setRgb(r,g,b); } else { aDecoColor1_ = Qt::black; aDecoColor2_ = Qt::black; } config.endGroup(); // Option gathered }
QMediaControl *CameraBinService::requestControl(const char *name) { if (!m_captureSession) return 0; //qDebug() << "Request control" << name; if (!m_videoOutput) { if (qstrcmp(name, QVideoRendererControl_iid) == 0) { m_videoOutput = m_videoRenderer; } else if (qstrcmp(name, QVideoWindowControl_iid) == 0) { m_videoOutput = m_videoWindow; } #if defined(HAVE_WIDGETS) else if (qstrcmp(name, QVideoWidgetControl_iid) == 0) { m_videoOutput = m_videoWidgetControl; } #endif if (m_videoOutput) { m_captureSession->setViewfinder(m_videoOutput); return m_videoOutput; } } if (qstrcmp(name,QAudioInputSelectorControl_iid) == 0) return m_audioInputSelector; if (qstrcmp(name,QVideoDeviceSelectorControl_iid) == 0) return m_videoInputDevice; if (qstrcmp(name,QMediaRecorderControl_iid) == 0) return m_captureSession->recorderControl(); if (qstrcmp(name,QAudioEncoderSettingsControl_iid) == 0) return m_captureSession->audioEncodeControl(); if (qstrcmp(name,QVideoEncoderSettingsControl_iid) == 0) return m_captureSession->videoEncodeControl(); if (qstrcmp(name,QImageEncoderControl_iid) == 0) return m_captureSession->imageEncodeControl(); if (qstrcmp(name,QMediaContainerControl_iid) == 0) return m_captureSession->mediaContainerControl(); if (qstrcmp(name,QCameraControl_iid) == 0) return m_captureSession->cameraControl(); if (qstrcmp(name,QMetaDataWriterControl_iid) == 0) return m_metaDataControl; if (qstrcmp(name, QCameraImageCaptureControl_iid) == 0) return m_imageCaptureControl; #ifdef HAVE_GST_PHOTOGRAPHY if (qstrcmp(name, QCameraExposureControl_iid) == 0) return m_captureSession->cameraExposureControl(); if (qstrcmp(name, QCameraFlashControl_iid) == 0) return m_captureSession->cameraFlashControl(); if (qstrcmp(name, QCameraFocusControl_iid) == 0) return m_captureSession->cameraFocusControl(); if (qstrcmp(name, QCameraLocksControl_iid) == 0) return m_captureSession->cameraLocksControl(); if (qstrcmp(name, QCameraZoomControl_iid) == 0) return m_captureSession->cameraZoomControl(); #endif if (qstrcmp(name, QCameraImageProcessingControl_iid) == 0) return m_captureSession->imageProcessingControl(); if (qstrcmp(name, QCameraCaptureDestinationControl_iid) == 0) return m_captureSession->captureDestinationControl(); if (qstrcmp(name, QCameraCaptureBufferFormatControl_iid) == 0) return m_captureSession->captureBufferFormatControl(); if (qstrcmp(name, QCameraViewfinderSettingsControl_iid) == 0) return m_captureSession->viewfinderSettingsControl(); if (qstrcmp(name, QCameraInfoControl_iid) == 0) { if (!m_cameraInfoControl) m_cameraInfoControl = new CameraBinInfoControl(m_captureSession->sourceFactory(), this); return m_cameraInfoControl; } return 0; }
void* TemplatesManageWindow::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "TemplatesManageWindow" ) ) return this; return QWidget::qt_cast( clname ); }
// Convert complex DOM types with the help of QAbstractFormBuilder QVariant domPropertyToVariant(QAbstractFormBuilder *afb,const QMetaObject *meta,const DomProperty *p) { // Complex types that need functions from QAbstractFormBuilder switch(p->kind()) { case DomProperty::String: { const int index = meta->indexOfProperty(p->attributeName().toUtf8()); if (index != -1 && meta->property(index).type() == QVariant::KeySequence) return qVariantFromValue(QKeySequence(p->elementString()->text())); } break; case DomProperty::Palette: { const DomPalette *dom = p->elementPalette(); QPalette palette; if (dom->elementActive()) afb->setupColorGroup(palette, QPalette::Active, dom->elementActive()); if (dom->elementInactive()) afb->setupColorGroup(palette, QPalette::Inactive, dom->elementInactive()); if (dom->elementDisabled()) afb->setupColorGroup(palette, QPalette::Disabled, dom->elementDisabled()); palette.setCurrentColorGroup(QPalette::Active); return qVariantFromValue(palette); } case DomProperty::Set: { const QByteArray pname = p->attributeName().toUtf8(); const int index = meta->indexOfProperty(pname); if (index == -1) { uiLibWarning(QCoreApplication::translate("QFormBuilder", "The set-type property %1 could not be read.").arg(p->attributeName())); return QVariant(); } const QMetaEnum e = meta->property(index).enumerator(); Q_ASSERT(e.isFlag() == true); return QVariant(e.keysToValue(p->elementSet().toUtf8())); } case DomProperty::Enum: { const QByteArray pname = p->attributeName().toUtf8(); const int index = meta->indexOfProperty(pname); QString enumValue = p->elementEnum(); // Triggers in case of objects in Designer like Spacer/Line for which properties // are serialized using language introspection. On preview, however, these objects are // emulated by hacks in the formbuilder (size policy/orientation) fixEnum(enumValue); if (index == -1) { // ### special-casing for Line (QFrame) -- fix for 4.2. Jambi hack for enumerations if (!qstrcmp(meta->className(), "QFrame") && (pname == QByteArray("orientation"))) { return QVariant(enumValue == QFormBuilderStrings::instance().horizontalPostFix ? QFrame::HLine : QFrame::VLine); } else { uiLibWarning(QCoreApplication::translate("QFormBuilder", "The enumeration-type property %1 could not be read.").arg(p->attributeName())); return QVariant(); } } const QMetaEnum e = meta->property(index).enumerator(); return QVariant(e.keyToValue(enumValue.toUtf8())); } case DomProperty::Brush: return qVariantFromValue(afb->setupBrush(p->elementBrush())); default: if (afb->resourceBuilder()->isResourceProperty(p)) { return afb->resourceBuilder()->loadResource(afb->workingDirectory(), p); } break; } // simple type return domPropertyToVariant(p); }
void* ListViewDnd::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "ListViewDnd" ) ) return this; return ListDnd::qt_cast( clname ); }
void* UITBPropWidget::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "UITBPropWidget" ) ) return this; return QDialog::qt_cast( clname ); }
void* Form1::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "Form1" ) ) return this; return QDialog::qt_cast( clname ); }
int main(int argc, char* argv[]) { #ifdef Q_OS_WIN _setmode(1, _O_BINARY); _setmode(2, _O_BINARY); #endif // Suppress debug output from Qt if not started with -v bool suppressQtDebugOutput = true; for (int i = 1; i < argc; ++i) { if (!qstrcmp(argv[i], "-v")) { suppressQtDebugOutput = false; break; } } // Has to be done before QApplication is constructed in case // QApplication itself produces debug output. if (suppressQtDebugOutput) qInstallMessageHandler(messageHandler); WebKit::QtTestSupport::initializeTestFonts(); QApplication::setStyle(QStyleFactory::create(QLatin1String("windows"))); QApplication::setDesktopSettingsAware(false); QApplication app(argc, argv); app.setQuitOnLastWindowClosed(false); QCoreApplication::setAttribute(Qt::AA_Use96Dpi, true); WTFInstallReportBacktraceOnCrashHook(); QStringList args = app.arguments(); if (args.count() < (!suppressQtDebugOutput ? 3 : 2)) { printUsage(); exit(1); } // Remove the first arguments, it is application name itself args.removeAt(0); DumpRenderTree dumper; int index = args.indexOf(QLatin1String("--stdout")); if (index != -1) { QString fileName = takeOptionValue(args, index); dumper.setRedirectOutputFileName(fileName); if (fileName.isEmpty() || !freopen(qPrintable(fileName), "w", stdout)) { fprintf(stderr, "STDOUT redirection failed."); exit(1); } } index = args.indexOf(QLatin1String("--stderr")); if (index != -1) { QString fileName = takeOptionValue(args, index); dumper.setRedirectErrorFileName(fileName); if (!freopen(qPrintable(fileName), "w", stderr)) { fprintf(stderr, "STDERR redirection failed."); exit(1); } } index = args.indexOf("--pixel-tests"); if (index == -1) index = args.indexOf("-p"); if (index != -1) { dumper.setShouldDumpPixelsForAllTests(); args.removeAt(index); } QWebDatabase::removeAllDatabases(); index = args.indexOf(QLatin1String("--timeout")); if (index != -1) { int timeout = takeOptionValue(args, index).toInt(); dumper.setTimeout(timeout); } index = args.indexOf(QLatin1String("--no-timeout")); if (index != -1) { dumper.setShouldTimeout(false); args.removeAt(index); } index = args.indexOf(QLatin1String("-")); if (index != -1) { args.removeAt(index); // Continue waiting in STDIN for more test case after process one test case QObject::connect(&dumper, SIGNAL(ready()), &dumper, SLOT(readLine()), Qt::QueuedConnection); // Read and only read the first test case, ignore the others if (args.size() > 0) { // Process the argument first dumper.processLine(args[0]); } else QTimer::singleShot(0, &dumper, SLOT(readLine())); } else { // Go into standalone mode // Standalone mode need at least one test case if (args.count() < 1) { printUsage(); exit(1); } dumper.processArgsLine(args); } return app.exec(); }
void* ExpressionFieldsListView::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "ExpressionFieldsListView" ) ) return this; return QListView::qt_cast( clname ); }
void* ExpressionFieldValueWidget::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "ExpressionFieldValueWidget" ) ) return this; return QWidget::qt_cast( clname ); }
void* RulePropertyListView::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "RulePropertyListView" ) ) return this; return QListView::qt_cast( clname ); }
void* RulePropertyWindow::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "RulePropertyWindow" ) ) return this; return QWidget::qt_cast( clname ); }
void* TemplatesManageListView::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "TemplatesManageListView" ) ) return this; return QListView::qt_cast( clname ); }
void EngineShoutcast::updateFromPreferences() { qDebug() << "EngineShoutcast: updating from preferences"; m_pUpdateShoutcastFromPrefs->slotSet(0.0f); m_format_is_mp3 = false; m_format_is_ov = false; m_protocol_is_icecast1 = false; m_protocol_is_icecast2 = false; m_protocol_is_shoutcast = false; m_ogg_dynamic_update = false; // Convert a bunch of QStrings to QByteArrays so we can get regular C char* // strings to pass to libshout. QString codec = m_pConfig->getValueString(ConfigKey(SHOUTCAST_PREF_KEY, "metadata_charset")); QByteArray baCodec = codec.toLatin1(); m_pTextCodec = QTextCodec::codecForName(baCodec); if (!m_pTextCodec) { qDebug() << "Couldn't find shoutcast metadata codec for codec:" << codec << " defaulting to ISO-8859-1."; } // Indicates our metadata is in the provided charset. shout_metadata_add(m_pShoutMetaData, "charset", baCodec.constData()); // Host, server type, port, mountpoint, login, password should be latin1. QByteArray baHost = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "host")).toLatin1(); QByteArray baServerType = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "servertype")).toLatin1(); QByteArray baPort = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "port")).toLatin1(); QByteArray baMountPoint = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "mountpoint")).toLatin1(); QByteArray baLogin = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "login")).toLatin1(); QByteArray baPassword = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "password")).toLatin1(); QByteArray baFormat = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "format")).toLatin1(); QByteArray baBitrate = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "bitrate")).toLatin1(); // Encode metadata like stream name, website, desc, genre, title/author with // the chosen TextCodec. QByteArray baStreamName = encodeString(m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "stream_name"))); QByteArray baStreamWebsite = encodeString(m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "stream_website"))); QByteArray baStreamDesc = encodeString(m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "stream_desc"))); QByteArray baStreamGenre = encodeString(m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "stream_genre"))); QByteArray baStreamPublic = encodeString(m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "stream_public"))); // Dynamic Ogg metadata update m_ogg_dynamic_update = (bool)m_pConfig->getValueString(ConfigKey(SHOUTCAST_PREF_KEY,"ogg_dynamicupdate")).toInt(); m_custom_metadata = (bool)m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "enable_metadata")).toInt(); QString title = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "custom_title")); QString artist = m_pConfig->getValueString( ConfigKey(SHOUTCAST_PREF_KEY, "custom_artist")); m_baCustomSong = encodeString(artist.isEmpty() ? title : artist + " - " + title); int format; int protocol; if (shout_set_host(m_pShout, baHost.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting hostname!"), shout_get_error(m_pShout)); return; } // WTF? Why SHOUT_PROTOCOL_HTTP and not.. the chosen protocol? if (shout_set_protocol(m_pShout, SHOUT_PROTOCOL_HTTP) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting protocol!"), shout_get_error(m_pShout)); return; } if (shout_set_port(m_pShout, baPort.toUInt()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting port!"), shout_get_error(m_pShout)); return; } if (shout_set_password(m_pShout, baPassword.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting password!"), shout_get_error(m_pShout)); return; } if (shout_set_mount(m_pShout, baMountPoint.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting mount!"), shout_get_error(m_pShout)); return; } if (shout_set_user(m_pShout, baLogin.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting username!"), shout_get_error(m_pShout)); return; } if (shout_set_name(m_pShout, baStreamName.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting stream name!"), shout_get_error(m_pShout)); return; } if (shout_set_description(m_pShout, baStreamDesc.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting stream description!"), shout_get_error(m_pShout)); return; } if (shout_set_genre(m_pShout, baStreamGenre.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting stream genre!"), shout_get_error(m_pShout)); return; } if (shout_set_url(m_pShout, baStreamWebsite.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting stream url!"), shout_get_error(m_pShout)); return; } m_format_is_mp3 = !qstrcmp(baFormat.constData(), SHOUTCAST_FORMAT_MP3); m_format_is_ov = !qstrcmp(baFormat.constData(), SHOUTCAST_FORMAT_OV); if (m_format_is_mp3) { format = SHOUT_FORMAT_MP3; } else if (m_format_is_ov) { format = SHOUT_FORMAT_OGG; } else { qDebug() << "Error: unknown format:" << baFormat.constData(); return; } if (shout_set_format(m_pShout, format) != SHOUTERR_SUCCESS) { errorDialog("Error setting soutcast format!", shout_get_error(m_pShout)); return; } bool bitrate_is_int = false; int iBitrate = baBitrate.toInt(&bitrate_is_int); if (!bitrate_is_int) { qDebug() << "Error: unknown bitrate:" << baBitrate.constData(); } int iMasterSamplerate = m_pMasterSamplerate->get(); if (m_format_is_ov && iMasterSamplerate == 96000) { errorDialog(tr("Broadcasting at 96kHz with Ogg Vorbis is not currently " "supported. Please try a different sample-rate or switch " "to a different encoding."), tr("See https://bugs.launchpad.net/mixxx/+bug/686212 for more " "information.")); return; } if (shout_set_audio_info(m_pShout, SHOUT_AI_BITRATE, baBitrate.constData()) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting bitrate"), shout_get_error(m_pShout)); return; } m_protocol_is_icecast2 = !qstricmp(baServerType.constData(), SHOUTCAST_SERVER_ICECAST2); m_protocol_is_shoutcast = !qstricmp(baServerType.constData(), SHOUTCAST_SERVER_SHOUTCAST); m_protocol_is_icecast1 = !qstricmp(baServerType.constData(), SHOUTCAST_SERVER_ICECAST1); if (m_protocol_is_icecast2) { protocol = SHOUT_PROTOCOL_HTTP; } else if (m_protocol_is_shoutcast) { protocol = SHOUT_PROTOCOL_ICY; } else if (m_protocol_is_icecast1) { protocol = SHOUT_PROTOCOL_XAUDIOCAST; } else { errorDialog(tr("Error: unknown server protocol!"), shout_get_error(m_pShout)); return; } if (m_protocol_is_shoutcast && !m_format_is_mp3) { errorDialog(tr("Error: libshout only supports Shoutcast with MP3 format!"), shout_get_error(m_pShout)); return; } if (shout_set_protocol(m_pShout, protocol) != SHOUTERR_SUCCESS) { errorDialog(tr("Error setting protocol!"), shout_get_error(m_pShout)); return; } // Initialize m_encoder if (m_encoder) { // delete m_encoder if it has been initalized (with maybe) different bitrate delete m_encoder; m_encoder = NULL; } if (m_format_is_mp3) { m_encoder = new EncoderMp3(this); } else if (m_format_is_ov) { m_encoder = new EncoderVorbis(this); } else { qDebug() << "**** Unknown Encoder Format"; return; } if (m_encoder->initEncoder(iBitrate, iMasterSamplerate) < 0) { //e.g., if lame is not found //init m_encoder itself will display a message box qDebug() << "**** Encoder init failed"; delete m_encoder; m_encoder = NULL; } }
int main(int argc, char *argv[]) { QApplication *app; if (argc >= 2 && !qstrcmp(argv[1], "-tty")) { ++argv; --argc; app = new QApplication(argc, argv, QApplication::Tty); } else { app = new QApplication(argc, argv); } QScriptEngine *eng = new QScriptEngine(); QScriptValue globalObject = eng->globalObject(); globalObject.setProperty("load", eng->newFunction(loadScripts, /*length=*/1)); { if (!globalObject.property("qt").isObject()) globalObject.setProperty("qt", eng->newObject()); QScriptValue qscript = eng->newObject(); qscript.setProperty("importExtension", eng->newFunction(importExtension)); globalObject.property("qt").setProperty("script", qscript); } ByteArrayClass *byteArrayClass = new ByteArrayClass(eng); globalObject.setProperty("ByteArray", byteArrayClass->constructor()); if (! *++argv) { interactive(eng); return EXIT_SUCCESS; } while (const char *arg = *argv++) { QString fn = QString::fromLocal8Bit(arg); if (fn == QLatin1String("-i")) { interactive(eng); break; } QString contents; int lineNumber = 1; if (fn == QLatin1String("-")) { QTextStream stream(stdin, QFile::ReadOnly); contents = stream.readAll(); } else { QFile file(fn); if (file.open(QFile::ReadOnly)) { QTextStream stream(&file); contents = stream.readAll(); file.close(); // strip off #!/usr/bin/env qscript line if (contents.startsWith("#!")) { contents.remove(0, contents.indexOf("\n")); ++lineNumber; } } } if (contents.isEmpty()) continue; QScriptValue r = eng->evaluate(contents, fn, lineNumber); if (eng->hasUncaughtException()) { QStringList backtrace = eng->uncaughtExceptionBacktrace(); fprintf (stderr, " %s\n%s\n\n", qPrintable(r.toString()), qPrintable(backtrace.join("\n"))); return EXIT_FAILURE; } } delete eng; delete app; return EXIT_SUCCESS; }
static QSObject qsConnectCommon( QSEnv *env, QSObject &arg0, QSObject &arg2, QSWrapperShared *&sendObj, QSWrapperShared *&recObj, const QPtrVector<QObject> *&sendIfaces, const QPtrVector<QObject> *&recIfaces, QString &sig, QString &sl, int &signal_index, QObject *&sender, const QString &func ) { const QSList &args = *env->arguments(); QuickInterpreter *ip = QuickInterpreter::fromEnv( env ); const QString overloads = QString::fromLatin1( "Following overloads are possible:\n" "%1( sender : QObject, signal : String, receiver : QObject, slot : String )\n" "%2( sender : QObject, signal : String, function : DeclaredFunction )" ). arg( func ).arg( func ); if ( args.size() < 3 || args.size() > 4 ) { QString msg = QString::fromLatin1("No matching overload found. ") + overloads; return env->throwError( SyntaxError, msg ); } QSWrapperClass *wClass = ip->wrapperClass(); if ( !args[0].isA( wClass ) ) { QString msg = QString::fromLatin1("No matching overload found. 'sender' must be of type QObject but is of type ") + args[0].typeName() + QString::fromLatin1("\n") + overloads; return env->throwError( TypeError, msg ); } if ( args.size() == 3 && !args[2].isFunction() ) { QString msg = QString::fromLatin1("No matching overloads found. Third argument in this overload " "must be of type function but is of type ") + args[2].typeName() + QString::fromLatin1("\n") + overloads; return env->throwError( TypeError, msg ); } arg0 = args[0]; arg2 = args[2]; sendObj = wClass->shared( &arg0 ); recObj = arg2.isA( wClass ) ? wClass->shared( &arg2 ) : 0; sendIfaces = sendObj->interfaceObjects(); recIfaces = recObj ? recObj->interfaceObjects() : 0; // signal and slot in string representation sig = args[1].toString(); sl = ( args.size()>3 ? args[3] : env->createUndefined() ).toString(); // find sender and signal sender = 0; signal_index = -1; const char *sigName = sig.ascii(); int i; for ( i = (int)sendIfaces->count()-1; i >= 0; --i ) { sender = sendIfaces->at( i ); signal_index = sender->metaObject()->findSignal( sigName, TRUE ); if ( signal_index > 0 ) break; } if ( signal_index == -1 ) { // didn't find the signal- this signature might be in Qt // Script syntax, so lets's try to find out if we can connect QString sn = sig; QString arg = sig.mid( sig.find( '(' ) + 1 ); arg = arg.left( arg.findRev( ')' ) ); QStringList args = QStringList::split( ',', arg ); sn = sig.left( sig.find( '(' ) ); for ( i = (int)sendIfaces->count()-1; i >= 0; --i ) { sender = sendIfaces->at( i ); for ( int j = 0; j < (int)sender->metaObject()->numSignals( TRUE ); ++j ) { const QMetaData *md = sender->metaObject()->signal( j, TRUE ); QString mdn = QString::fromLatin1(md->name); mdn = mdn.left( mdn.find( '(' ) ); if ( mdn != sn ) continue; const QUMethod *method = md->method; bool ok = method->count == (int)args.count(); for ( int k = 0; k < method->count; ++k ) { QUParameter p = method->parameters[k]; QString s = *args.at( k ); int sep; if ( ( sep = s.find( ':' ) ) != -1 ) s = s.mid( sep + 1 ); s = s.simplifyWhiteSpace(); if ( s == QString::fromLatin1(p.type->desc()) || s == QString::fromLatin1((const char*)p.typeExtra)) continue; if ( s == QString::fromLatin1("Number") && ( qstrcmp( p.type->desc(), "int" ) == 0 || qstrcmp( p.type->desc(), "long" ) == 0 || qstrcmp( p.type->desc(), "double" ) == 0 || qstrcmp( p.type->desc(), "float" ) == 0 || qstrcmp( p.type->desc(), "short" ) == 0 || qstrcmp( p.type->desc(), "uint" ) == 0 || qstrcmp( p.type->desc(), "ushort" ) == 0 || qstrcmp( p.type->desc(), "ulong" ) == 0 || qstrcmp( p.type->desc(), "unsigned int" ) == 0 || qstrcmp( p.type->desc(), "unsigned short" ) == 0 || qstrcmp( p.type->desc(), "unsigned long" ) == 0 ) ) continue; s.prepend( QString::fromLatin1("Q") ); if (s == QString::fromLatin1(p.type->desc()) || s == QString::fromLatin1((const char*)p.typeExtra)) continue; ok = FALSE; break; } if ( !ok ) continue; signal_index = j; sig = sender->metaObject()->signal( j, TRUE )->name; break; } if ( signal_index != -1 ) break; } } return QSObject(); }
void* SearchPath::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "SearchPath" ) ) return this; return QObject::qt_cast( clname ); }
inline bool operator<(const RGBData &data, const char *name) { return qstrcmp(data.name, name) < 0; }
void KoGenStyle::writeStyle(KoXmlWriter* writer, const KoGenStyles& styles, const char* elementName, const QString& name, const char* propertiesElementName, bool closeElement, bool drawElement) const { //kDebug(30003) <<"writing out style" << name <<" display-name=" << m_attributes["style:display-name"] <<" family=" << m_familyName; writer->startElement(elementName); const KoGenStyle* parentStyle = 0; if (!m_defaultStyle) { if (!drawElement) writer->addAttribute("style:name", name); else writer->addAttribute("draw:name", name); if (!m_parentName.isEmpty()) { parentStyle = styles.style(m_parentName); if (parentStyle && m_familyName.isEmpty()) { // get family from parent style, just in case // Note: this is saving code, don't convert to attributeNS! const_cast<KoGenStyle *>(this)-> m_familyName = parentStyle->attribute("style:family").toLatin1(); //kDebug(30003) <<"Got familyname" << m_familyName <<" from parent"; } if (parentStyle && !parentStyle->isDefaultStyle()) writer->addAttribute("style:parent-style-name", m_parentName); } } else { // default-style Q_ASSERT(qstrcmp(elementName, "style:default-style") == 0); Q_ASSERT(m_parentName.isEmpty()); } if (!m_familyName.isEmpty()) const_cast<KoGenStyle *>(this)-> addAttribute("style:family", QString::fromLatin1(m_familyName)); else { if (qstrcmp(elementName, "style:style") == 0) kWarning(30003) << "User style " << name << " is without family - invalid. m_type=" << m_type; } #if 0 // #ifndef NDEBUG kDebug(30003) << "style:" << name; printDebug(); if (parentStyle) { kDebug(30003) << " parent:" << m_parentName; parentStyle->printDebug(); } #endif // Write attributes [which differ from the parent style] // We only look at the direct parent style because we assume // that styles are fully specified, i.e. the inheritance is // only in the final file, not in the caller's code. QMap<QString, QString>::const_iterator it = m_attributes.constBegin(); for (; it != m_attributes.constEnd(); ++it) { bool writeit = true; if (parentStyle && it.key() != "style:family" // always write the family out && parentStyle->attribute(it.key()) == it.value()) writeit = false; if (writeit) writer->addAttribute(it.key().toUtf8(), it.value().toUtf8()); } bool createPropertiesTag = propertiesElementName && propertiesElementName[0] != '\0'; KoGenStyle::PropertyType i = KoGenStyle::DefaultType; KoGenStyle::PropertyType defaultPropertyType = KoGenStyle::DefaultType; if (createPropertiesTag) defaultPropertyType = propertyTypeByElementName(propertiesElementName); if (!m_properties[i].isEmpty() || !m_properties[KoGenStyle::ChildElement].isEmpty() || !m_properties[defaultPropertyType].isEmpty()) { if (createPropertiesTag) writer->startElement(propertiesElementName); // e.g. paragraph-properties it = m_properties[i].constBegin(); for (; it != m_properties[i].constEnd(); ++it) { if (!parentStyle || parentStyle->property(it.key(), i) != it.value()) writer->addAttribute(it.key().toUtf8(), it.value().toUtf8()); } //write the explicitly-defined properties that are the same type as the default, //but only if defaultPropertyType is Text, Paragraph, or GraphicType if (defaultPropertyType != 0) { it = m_properties[defaultPropertyType].constBegin(); for (; it != m_properties[defaultPropertyType].constEnd(); ++it) { if (!parentStyle || parentStyle->property(it .key(), defaultPropertyType) != it.value()) writer->addAttribute(it.key().toUtf8(), it.value().toUtf8()); } } //write child elements of the properties elements i = KoGenStyle::ChildElement; it = m_properties[i].constBegin(); for (; it != m_properties[i].constEnd(); ++it) { if (!parentStyle || parentStyle->property(it.key(), i) != it.value()) { writer->addCompleteElement(it.value().toUtf8()); } } if (createPropertiesTag) writer->endElement(); } // now write out any other properties elements //start with i=1 to skip the defaultType that we already took care of for (int i = 1; i < s_propertyNamesCount; ++i) { //skip any properties that are the same as the defaultType if (s_propertyTypes[i] != defaultPropertyType) { writeStyleProperties(writer, s_propertyTypes[i], parentStyle); } } //write child elements that aren't in any of the properties elements i = KoGenStyle::StyleChildElement; it = m_properties[i].constBegin(); for (; it != m_properties[i].constEnd(); ++it) { if (!parentStyle || parentStyle->property(it.key(), i) != it.value()) { writer->addCompleteElement(it.value().toUtf8()); } } // And now the style maps for (int i = 0; i < m_maps.count(); ++i) { bool writeit = true; if (parentStyle && compareMap(m_maps[i], parentStyle->m_maps[i]) == 0) writeit = false; if (writeit) { writer->startElement("style:map"); QMap<QString, QString>::const_iterator it = m_maps[i].constBegin(); for (; it != m_maps[i].constEnd(); ++it) { writer->addAttribute(it.key().toUtf8(), it.value().toUtf8()); } writer->endElement(); // style:map } } if (closeElement) writer->endElement(); }
void* QColorPushButton::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "QColorPushButton" ) ) return this; return QPushButton::qt_cast( clname ); }
void* MainWindowImpl::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "MainWindowImpl" ) ) return this; return MainWindow::qt_cast( clname ); }
int QElfParser::parse(const char *dataStart, ulong fdlen, const QString &library, QLibraryPrivate *lib, long *pos, ulong *sectionlen) { #if defined(QELFPARSER_DEBUG) qDebug() << "QElfParser::parse " << library; #endif if (fdlen < 64){ if (lib) lib->errorString = QLibrary::tr("'%1' is not an ELF object (%2)").arg(library).arg(QLatin1String("file too small")); return NotElf; } const char *data = dataStart; if (qstrncmp(data, "\177ELF", 4) != 0) { if (lib) lib->errorString = QLibrary::tr("'%1' is not an ELF object").arg(library); return NotElf; } // 32 or 64 bit if (data[4] != 1 && data[4] != 2) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library).arg(QLatin1String("odd cpu architecture")); return Corrupt; } m_bits = (data[4] << 5); /* If you remove this check, to read ELF objects of a different arch, please make sure you modify the typedefs to match the _plugin_ architecture. */ if ((sizeof(void*) == 4 && m_bits != 32) || (sizeof(void*) == 8 && m_bits != 64)) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library).arg(QLatin1String("wrong cpu architecture")); return Corrupt; } // endian if (data[5] == 0) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library).arg(QLatin1String("odd endianess")); return Corrupt; } m_endian = (data[5] == 1 ? ElfLittleEndian : ElfBigEndian); data += 16 // e_ident + sizeof(qelfhalf_t) // e_type + sizeof(qelfhalf_t) // e_machine + sizeof(qelfword_t) // e_version + sizeof(qelfaddr_t) // e_entry + sizeof(qelfoff_t); // e_phoff qelfoff_t e_shoff = read<qelfoff_t> (data); data += sizeof(qelfoff_t) // e_shoff + sizeof(qelfword_t); // e_flags qelfhalf_t e_shsize = read<qelfhalf_t> (data); if (e_shsize > fdlen) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library).arg(QLatin1String("unexpected e_shsize")); return Corrupt; } data += sizeof(qelfhalf_t) // e_ehsize + sizeof(qelfhalf_t) // e_phentsize + sizeof(qelfhalf_t); // e_phnum qelfhalf_t e_shentsize = read<qelfhalf_t> (data); if (e_shentsize % 4){ if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library).arg(QLatin1String("unexpected e_shentsize")); return Corrupt; } data += sizeof(qelfhalf_t); // e_shentsize qelfhalf_t e_shnum = read<qelfhalf_t> (data); data += sizeof(qelfhalf_t); // e_shnum qelfhalf_t e_shtrndx = read<qelfhalf_t> (data); data += sizeof(qelfhalf_t); // e_shtrndx if ((quint32)(e_shnum * e_shentsize) > fdlen) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("announced %2 sections, each %3 bytes, exceed file size")) .arg(e_shnum).arg(e_shentsize); return Corrupt; } #if defined(QELFPARSER_DEBUG) qDebug() << e_shnum << "sections starting at " << ("0x" + QByteArray::number(e_shoff, 16)).data() << "each" << e_shentsize << "bytes"; #endif ElfSectionHeader strtab; qulonglong soff = e_shoff + e_shentsize * (e_shtrndx); if ((soff + e_shentsize) > fdlen || soff % 4 || soff == 0) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("shstrtab section header seems to be at %1")) .arg(QString::number(soff, 16)); return Corrupt; } parseSectionHeader(dataStart + soff, &strtab); m_stringTableFileOffset = strtab.offset; if ((quint32)(m_stringTableFileOffset + e_shentsize) >= fdlen || m_stringTableFileOffset == 0) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("string table seems to be at %1")) .arg(QString::number(soff, 16)); return Corrupt; } #if defined(QELFPARSER_DEBUG) qDebug(".shstrtab at 0x%s", QByteArray::number(m_stringTableFileOffset, 16).data()); #endif const char *s = dataStart + e_shoff; for (int i = 0; i < e_shnum; ++i) { ElfSectionHeader sh; parseSectionHeader(s, &sh); if (sh.name == 0) { s += e_shentsize; continue; } const char *shnam = dataStart + m_stringTableFileOffset + sh.name; if (m_stringTableFileOffset + sh.name > fdlen) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("section name %2 of %3 behind end of file")) .arg(i).arg(e_shnum); return Corrupt; } #if defined(QELFPARSER_DEBUG) qDebug() << "++++" << i << shnam; #endif if (qstrcmp(shnam, ".qtplugin") == 0 || qstrcmp(shnam, ".rodata") == 0) { if (!(sh.type & 0x1)) { if (shnam[1] == 'r') { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("empty .rodata. not a library.")); return Corrupt; } #if defined(QELFPARSER_DEBUG) qDebug()<<"section is not program data. skipped."; #endif s += e_shentsize; continue; } if (sh.offset == 0 || (sh.offset + sh.size) > fdlen) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("missing section data. This is not a library.")); return Corrupt; } *pos = sh.offset; *sectionlen = sh.size - 1; if (shnam[1] == 'q') return Ok; } s += e_shentsize; } return NoQtSection; }
void* LCDRange::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "LCDRange" ) ) return this; return QWidget::qt_cast( clname ); }