示例#1
0
/*!
  Returns the list of objects currently available for scripting in
  this interpreter.
*/
QObjectList QSInterpreter::presentObjects() const
{
  startInterpreter();
  QObjectList *lst = interpreter()->topLevelObjects();
  stopInterpreter();
  return lst ? *lst : QObjectList();
}
示例#2
0
void djvStylePrefsWidget::widgetUpdate()
{
    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->colorWidget <<
        _p->colorForegroundWidget <<
        _p->colorBackgroundWidget <<
        _p->colorBackground2Widget <<
        _p->colorButtonWidget <<
        _p->colorSelectWidget <<
        _p->colorSwatchTransparencyWidget <<
        _p->sizeWidget <<
        _p->sizeValueWidget <<
        _p->fontNormalWidget <<
        _p->fontFixedWidget);

    _p->colorWidget->setCurrentIndex(context()->style()->palettesIndex());

    _p->colorForegroundWidget->setColor(context()->style()->palette().foreground);
    _p->colorBackgroundWidget->setColor(context()->style()->palette().background);
    _p->colorBackground2Widget->setColor(context()->style()->palette().background2);
    _p->colorButtonWidget->setColor(context()->style()->palette().button);
    _p->colorSelectWidget->setColor(context()->style()->palette().select);

    _p->colorSwatchTransparencyWidget->setChecked(
        context()->style()->hasColorSwatchTransparency());

    _p->sizeWidget->setCurrentIndex(context()->style()->sizeMetricsIndex());
    _p->sizeValueWidget->setValue(context()->style()->sizeMetric().fontSize);
    
    _p->fontNormalWidget->setCurrentFont(context()->style()->fonts().normal);
    _p->fontFixedWidget->setCurrentFont(context()->style()->fonts().fixed);
}
示例#3
0
void djvHelpPrefsWidget::widgetUpdate()
{
    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->toolTipsWidget);

    _p->toolTipsWidget->setChecked(context()->helpPrefs()->hasToolTips());
}
示例#4
0
void djvSequencePrefsWidget::widgetUpdate()
{
    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->maxFramesWidget);

    _p->maxFramesWidget->setValue(djvSequence::maxFrames());
}
示例#5
0
void DesignerOutputDockImpl::appendError( const QString &s, int l )
{
    QStringList ls;
    ls << s;
    QValueList<uint> ll;
    ll << l;
    outWin->setErrorMessages( ls, ll, FALSE, QStringList(), QObjectList() );
}
示例#6
0
void djvViewInfoTool::widgetUpdate()
{
    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->fileNameWidget <<
        _p->layerNameWidget <<
        _p->sizeWidget <<
        _p->pixelWidget <<
        _p->timeWidget <<
        _p->tagsWidget);

    const djvImageIoInfo & imageIoInfo = mainWindow()->imageIoInfo();

    if (isVisible())
    {
        _p->fileNameWidget->setText(
            QDir::toNativeSeparators(imageIoInfo.fileName));

        _p->layerNameWidget->setText(imageIoInfo.layerName);

        _p->sizeWidget->setText(
            qApp->translate("djvViewInfoTool", "%1x%2:%3").
            arg(imageIoInfo.size.x).
            arg(imageIoInfo.size.y).
            arg(djvVectorUtil::aspect(imageIoInfo.size)));

        _p->pixelWidget->setText(
            djvStringUtil::label(imageIoInfo.pixel).join(", "));

        _p->timeWidget->setText(
            qApp->translate("djvViewInfoTool", "%1@%2").
            arg(djvTime::frameToString(
                imageIoInfo.sequence.frames.count(),
                imageIoInfo.sequence.speed)).
            arg(djvSpeed::speedToFloat(imageIoInfo.sequence.speed), 0, 'f', 2));

        QString tmp;

        const QStringList keys = imageIoInfo.tags.keys();

        for (int i = 0; i < keys.count(); ++i)
        {
            tmp += qApp->translate("djvViewInfoTool", "%1 = %2\n").
                arg(keys[i]).arg(imageIoInfo.tags[keys[i]]);
        }

        if (! tmp.isEmpty())
        {
            _p->tagsWidget->setPlainText(tmp);
        }
        else
        {
            _p->tagsWidget->clear();
        }
    }
}
void djvFileBrowserPrefsWidget::widgetUpdate()
{
    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->seqWidget <<
        _p->showHiddenWidget <<
        _p->sortWidget <<
        _p->reverseSortWidget <<
        _p->sortDirsFirstWidget <<
        _p->thumbnailsWidget <<
        _p->thumbnailsSizeWidget <<
        _p->thumbnailsCacheWidget <<
        _p->bookmarksWidget <<
        _p->shortcutsWidget);

    _p->seqWidget->setCurrentIndex(
        djvFileBrowserPrefs::global()->sequence());

    _p->showHiddenWidget->setChecked(
        djvFileBrowserPrefs::global()->hasShowHidden());

    _p->sortWidget->setCurrentIndex(
        djvFileBrowserPrefs::global()->sort());

    _p->reverseSortWidget->setChecked(
        djvFileBrowserPrefs::global()->hasReverseSort());

    _p->sortDirsFirstWidget->setChecked(
        djvFileBrowserPrefs::global()->hasSortDirsFirst());

    _p->thumbnailsWidget->setCurrentIndex(
        djvFileBrowserPrefs::global()->thumbnails());

    _p->thumbnailsSizeWidget->setCurrentIndex(
        djvFileBrowserPrefs::global()->thumbnailsSize());

    _p->thumbnailsCacheWidget->setValue(
        djvFileBrowserPrefs::global()->thumbnailsCache() / djvMemory::megabyte);

    _p->bookmarksWidget->clear();
    const QStringList & bookmarks = djvFileBrowserPrefs::global()->bookmarks();
    for (int i = 0; i < bookmarks.count(); ++i)
    {
        QListWidgetItem * item = new QListWidgetItem(_p->bookmarksWidget);
        item->setFlags(
            Qt::ItemIsSelectable |
            Qt::ItemIsEditable |
            Qt::ItemIsEnabled);
        item->setData(Qt::DisplayRole, bookmarks[i]);
        item->setData(Qt::EditRole, bookmarks[i]);
    }

    _p->shortcutsWidget->setShortcuts(
        djvFileBrowserPrefs::global()->shortcuts());
}
示例#8
0
void QSAEditor::completeQObject(const QVector<QObject *> &objects,
                                    const QString &object,
                                    QVector<CompletionEntry> &res)
{
    for ( int i = 0; i < objects.count(); i++ ) {
        QObject *qobj = objects[ i ];
        if ( !qobj )
            continue;
        // children
        QObjectList clist;
        if ( qobj == qApp )
            clist = interpreter()->topLevelObjects() != 0 ?
                    *((QObjectList*)interpreter()->topLevelObjects()) :
                    QObjectList();
        else
            clist = qobj->children();

        if ( !clist.isEmpty() ) {
            for (int ci = 0; ci<clist.size(); ++ci) {
                const QObject *o = clist.at(ci);
                CompletionEntry c;
                c.type = o->isWidgetType() ? "widget" : "object";
                c.text = o->objectName();
                c.postfix2 = o->metaObject()->className();
                if ( !c.postfix2.isEmpty() )
                    c.postfix2.prepend( QString::fromLatin1(" : ") );
                res << c;
            }
        }

        QSObject qsobj = interpreter()->wrap( qobj );
        int flags = 0;
        if ( i == 0 )
            flags |= IncludeSuperClass;
        completeQMetaObject( qobj->metaObject(),
                             object,
                             res,
                             flags,
                             qsobj
                             );

    }
}
void djvViewPlaybackPrefsWidget::widgetUpdate()
{
    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->autoStartWidget <<
        _p->loopWidget <<
        _p->everyFrameWidget <<
        _p->layoutWidget);
    
    _p->autoStartWidget->setChecked(
        context()->playbackPrefs()->hasAutoStart());
    
    _p->loopWidget->setCurrentIndex(
        context()->playbackPrefs()->loop());
    
    _p->everyFrameWidget->setChecked(
        context()->playbackPrefs()->hasEveryFrame());
    
    _p->layoutWidget->setCurrentIndex(
        context()->playbackPrefs()->layout());
}
示例#10
0
void djvViewMagnifyTool::widgetUpdate()
{
    //DJV_DEBUG("djvViewMagnifyTool::widgetUpdate");

    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->slider <<
        _p->colorProfileButton <<
        _p->displayProfileButton);

    _p->slider->setValue(_p->zoom + 1);
    _p->colorProfileButton->setChecked(_p->colorProfile);
    _p->displayProfileButton->setChecked(_p->displayProfile);

    if (! _p->pixelDataInit && isVisible())
    {
        _p->pixelDataInit = true;

        QTimer::singleShot(0, this, SLOT(pixelDataUpdate()));
    }
}
示例#11
0
void djvSignalBlockerTest::run(int &, char **)
{
    DJV_DEBUG("djvSignalBlockerTest::run");

    Q_EMIT signal();
    
    DJV_ASSERT(1 == _counter);
    
    {
        djvSignalBlocker signalBlocker(this);
        
        Q_EMIT signal();
        
        DJV_ASSERT(1 == _counter);
        
        {
            djvSignalBlocker signalBlocker(QObjectList() << this);
        
            Q_EMIT signal();
        
            DJV_ASSERT(1 == _counter);
        
            {
                djvSignalBlocker signalBlocker(QVector<QObject *>() << this);
            
                Q_EMIT signal();
            
                DJV_ASSERT(1 == _counter);
            }
        }
    }

    Q_EMIT signal();
    
    DJV_ASSERT(2 == _counter);
}
示例#12
0
	QObjectList Core::GetBloggingPlatforms () const
	{
		return LJPlatform_ ? QObjectList () << LJPlatform_.get () : QObjectList ();
	}
示例#13
0
	void DeliciousService::readyReadReply ()
	{
		QNetworkReply *reply = qobject_cast<QNetworkReply*> (sender ());
		if (!reply)
		{
			qWarning () << Q_FUNC_INFO
					<< sender ()
					<< "isn't a QNetworkReply";
			return;
		}

		QByteArray result = reply->readAll ();
		Entity e;
		Priority priority = PInfo_;
		QString msg;
		switch (Reply2Request_ [reply].Type_)
		{
		case OTAuth:
			if (DeliciousApi_->ParseAuthReply (result))
			{
				DeliciousAccount *account =
						new DeliciousAccount (Reply2Request_ [reply].Login_,
								this);
				account->SetPassword (Reply2Request_ [reply].Password_);
				Accounts_ << account;
				saveAccounts ();
				emit accountAdded (QObjectList () <<  account->GetQObject ());
				msg = tr ("Authentication successfull.");
				priority = LeechCraft::PInfo_;
			}
			else
			{
				msg = tr ("Invalid login or password.");
				priority = LeechCraft::PWarning_;
			}
			e = Util::MakeNotification ("OnlineBookmarks",
					msg,
					priority);
			break;
		case OTUpload:
			if (DeliciousApi_->ParseUploadReply (result))
			{
				if (Reply2Request_ [reply].Count_ == Reply2Request_ [reply].Current_ + 1)
				{
					msg = tr ("Bookmarks were sent to Del.icio.us.");
					priority = LeechCraft::PInfo_;
					DeliciousAccount *account = GetAccountByName (Reply2Request_ [reply].Login_);
					if (account)
						account->SetLastUploadDateTime (QDateTime::currentDateTime ());
					emit bookmarksUploaded ();
				}
			}
			else
			{
				msg = tr ("Error sending bookmarks to Del.icio.us.");
				priority = LeechCraft::PWarning_;
			}
			e = Util::MakeNotification ("OnlineBookmarks",
					msg,
					priority);
			break;
		case OTDownload:
			Account2ReplyContent_ [GetAccountByName (Reply2Request_ [reply].Login_)]
					.append (result);
			break;
		}
		if (!msg.isEmpty ())
			emit gotEntity (e);
	}
示例#14
0
void djvViewMagnifyTool::pixelDataUpdate()
{
    //DJV_DEBUG("djvViewMagnifyTool::pixelDataUpdate");

    djvSignalBlocker signalBlocker(QObjectList() <<
        _p->widget);

    djvPixelData tmp(djvPixelDataInfo(
        _p->widget->width(),
        _p->widget->height(),
        djvPixel::RGB_U8));

    if (const djvPixelData * data = viewWidget()->data())
    {
        //DJV_DEBUG_PRINT("data = " << *data);

        const double zoom = djvMath::pow(2, _p->zoom);

        djvVector2i pick = djvVectorUtil::floor<double, int>(
            djvVector2f(_p->pick - viewWidget()->viewPos()) * zoom -
            djvVector2f(tmp.info().size) / 2.0);

        //DJV_DEBUG_PRINT("zoom = " << zoom);
        //DJV_DEBUG_PRINT("pick = " << pick);

        try
        {
            viewWidget()->makeCurrent();

            if (! _p->magnifyBuffer || _p->magnifyBuffer->info() != tmp.info())
            {
                _p->magnifyBuffer.reset(new djvOpenGlOffscreenBuffer(tmp.info()));
            }

            djvOpenGlImageOptions options = viewWidget()->options();
            options.xform.position -= pick;
            options.xform.scale *= zoom * viewWidget()->viewZoom();

            if (! _p->colorProfile)
            {
                options.colorProfile = djvColorProfile();
            }

            if (! _p->displayProfile)
            {
                options.displayProfile = djvViewDisplayProfile();
            }

            djvOpenGlImage::copy(
                *data,
                tmp,
                options,
                &_p->magnifyState,
                _p->magnifyBuffer.data());
            
            _p->widget->setPixmap(
                djvPixmapUtil::toQt(
                    tmp,
                    djvOpenGlImageOptions(),
                    &_p->convertState,
                    _p->convertBuffer.data()));
        }
        catch (djvError error)
        {
            error.add(
                djvViewUtil::errorLabels()[djvViewUtil::ERROR_MAGNIFY]);

            context()->printError(error);
        }
    }

    //_p->widget->setPixelData(tmp);

    _p->pixelDataInit = false;
}
示例#15
0
	void GlooxAccount::handleEntryRemoved (QObject *entry)
	{
		emit removedCLItems (QObjectList () << entry);
	}