browserinterface.cpp
来自「konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版」· C++ 代码 · 共 98 行
CPP
98 行
#include "browserinterface.h"#include <qmetaobject.h>#if QT_VERSION >= 300#include <private/qucomextra_p.h>#endifusing namespace KParts;BrowserInterface::BrowserInterface( QObject *parent, const char *name ) : QObject( parent, name ){}BrowserInterface::~BrowserInterface(){}void BrowserInterface::callMethod( const char *name, const QVariant &argument ){#if QT_VERSION >= 300 int slot = metaObject()->findSlot( name ); if ( slot == -1 ) return; QUObject o[ 2 ]; QStringList strLst; uint i; switch ( argument.type() ) { case QVariant::Invalid: break; case QVariant::String: static_QUType_QString.set( o + 1, argument.toString() ); break; case QVariant::StringList: strLst = argument.toStringList(); static_QUType_ptr.set( o + 1, &strLst ); break; case QVariant::Int: static_QUType_int.set( o + 1, argument.toInt() ); break; case QVariant::UInt: i = argument.toUInt(); static_QUType_ptr.set( o + 1, &i ); break; case QVariant::Bool: static_QUType_bool.set( o + 1, argument.toBool() ); break; default: return; } qt_invoke( slot, o );#else QMetaData *mdata = metaObject()->slot( name ); if ( !mdata ) return; // only the most common types for now typedef void (QObject::*VoidMethod)(void); typedef void (QObject::*StringMethod)(const QString &); typedef void (QObject::*StringListMethod)(const QStringList &); typedef void (QObject::*IntMethod)(int); typedef void (QObject::*UIntMethod)(uint); typedef void (QObject::*BoolMethod)(bool); switch ( argument.type() ) { case QVariant::Invalid: (this->*((VoidMethod)mdata->ptr))(); break; case QVariant::String: (this->*((StringMethod)mdata->ptr))( argument.toString() ); break; case QVariant::StringList: (this->*((StringListMethod)mdata->ptr))( argument.toStringList() ); break; case QVariant::Int: (this->*((IntMethod)mdata->ptr))( argument.toInt() ); break; case QVariant::UInt: (this->*((UIntMethod)mdata->ptr))( argument.toUInt() ); break; case QVariant::Bool: (this->*((BoolMethod)mdata->ptr))( argument.toBool() ); break; default: break; }#endif}#include "browserinterface.moc"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?