void DeviceDetailViewFrame::applyStyle()
{
    QFile cssFile(GENIE2_RES(DETAILVIEWFRAME_STYLEFILE));
    if (cssFile.open(QIODevice::ReadOnly)) {
        setStyleSheet(QString::fromUtf8(cssFile.readAll().data()));
    }
}
void TopologyNode::updateShapeCache()
{
    QPainterPath    shapePath;
    QString         imagePath;

#ifdef PLUGIN_TARGET
    if(mNodeFlags & NF_ISCENTRALROUTER)
    {
        Q_ASSERT (m_paintStrategy);
        imagePath = m_paintStrategy->getImageName();
    }
    else
#endif
    {
#ifdef POWERLINE_REVISION
        if(m_isPowerLine)
        {
            imagePath = GENIE2_RES("map/devices/PowerLineNormal.png");
        }
        else
#endif
        {
            imagePath = getDeviceTypeImagePath(m_deviceType,DTIR_NORMAL);
        }
    }

    QPixmap pixDetecter(imagePath);
    shapePath.addRegion(QRegion(pixDetecter.mask()));
    shapePath.translate(-pixDetecter.width() / 2,-pixDetecter.height() / 2);

    m_shapePath = shapePath;
}
Beispiel #3
0
QString getCentralRouterImagePath(int imageRole, const QString &suffix)
{
    Q_ASSERT(sizeof(imageroles) / sizeof(imageroles[0]) == DTIR_IMAGEROLE_COUNT);
    Q_ASSERT((imageRole >= 0) && (imageRole < DTIR_IMAGEROLE_COUNT));

    return (GENIE2_RES(IMAGES_DEVICES_PATHPREFIX) + QString("CentralRouter") + imageroles[imageRole] + (suffix.isEmpty()?"":".") + suffix);
}
QRectF TopologyNode::boundingRect() const
{
#ifdef PLUGIN_TARGET
    if(mNodeFlags & NF_ISCENTRALROUTER)
    {
        Q_ASSERT (m_paintStrategy);

        QSize size = m_paintStrategy->getSize();
        return QRectF(-size.width() / 2,-size.height() / 2,size.width(),size.height());
    }
    else
#endif
    {
        QString imagePath;
#ifdef POWERLINE_REVISION
        if(m_isPowerLine)
        {
            imagePath = GENIE2_RES("map/devices/PowerLineNormal.png");
        }
        else
#endif
        {
            imagePath = getDeviceTypeImagePath(m_deviceType,(mNodeFlags & NF_ISONLINE)?DTIR_NORMAL:DTIR_OFFLINE);
        }

        QPixmap pixDetecter(imagePath);
        return QRectF(-pixDetecter.width() / 2,-pixDetecter.height() / 2,pixDetecter.width(),pixDetecter.height());
    }
}
Beispiel #5
0
QString getImagePath(int imageIdx, const QString &suffix)
{
    Q_ASSERT(sizeof(mapimages) / sizeof(mapimages[0]) == MII_COUNT);
    Q_ASSERT (imageIdx >= 0 && imageIdx < MII_COUNT);

    return GENIE2_RES(IMAGES_OTHERS_PATHPREFIX) + mapimages[imageIdx] + (suffix.isEmpty()?"":".") + suffix;

}
Beispiel #6
0
QString getLocalHostImagePath(int imageRole, const QString &suffix)
{
    Q_ASSERT(sizeof(imageroles) / sizeof(imageroles[0]) == DTIR_IMAGEROLE_COUNT);
    Q_ASSERT((imageRole >= 0) && (imageRole < DTIR_IMAGEROLE_COUNT));

    QString platformTag;
#ifdef Q_OS_MACX
    platformTag = "_Mac";
#endif
    return (GENIE2_RES(IMAGES_DEVICES_PATHPREFIX) + QString("LocalHost") + imageroles[imageRole] + platformTag + (suffix.isEmpty()?"":".") + suffix);
}
Beispiel #7
0
QString getWirelessSignalImagePath(int signal, const QString &suffix)
{
    if(signal < 0 || signal > 5)
    {
        qDebug() << "Wireless signal invalid ,signal = " << signal;
        return QString();
    }

    QString strSignal;
    strSignal.setNum(signal);

    return GENIE2_RES(IMAGES_OTHERS_PATHPREFIX) + "WirelessSignal_" + strSignal + (suffix.isEmpty()?"":".") + suffix;
}
QString QImageNameGengerator::getImageName(int type)
{
//    if(mInfoManager)
//    {
//        return mInfoManager->getInfo(type,idx);
//    }
    Q_ASSERT(!mRouterName.isEmpty());


    QString mode="";
    struct _{
        int name;
        const char *pic;
        //        int total;
    } cModeMap[]={
        {IE_B11,"images/route/%1big_1_1.png"}
        ,{IE_B12,"images/route/%1big_1_2.png"}
        ,{IE_B31,"images/route/%1big_3_1.png"}
        ,{IE_B32,"images/route/%1big_3_2.png"}
        ,{IE_NORMAL1,"images/route/%1Normal_1.png"}
        ,{IE_NORMAL2,"images/route/%1Normal_2.png"}
        ,{IE_SELECTED1,"images/route/%1Selected_1.png"}
        ,{IE_SELECTED2,"images/route/%1Selected_2.png"}
        ,{IE_OFFLINE,"images/route/%1OffLine_1.png"}
    };

    Q_ASSERT(type<IE_NUM);

    QString ret=GENIE2_RES( QString(cModeMap[type].pic).arg(mRouterName));
    if(!QFile::exists(ret))
    {
        ret=GENIE2_RES( QString(cModeMap[type].pic).arg("DEFAULT_NETGEAR"));
        Q_ASSERT(QFile::exists(ret));
    }
    return ret;

}
Beispiel #9
0
QString getDeviceTypeImagePath(int deviceType, int imageRole, const QString &suffix)
{
    Q_ASSERT(sizeof(devicetypes) / sizeof(devicetypes[0]) == MDT_DEVICETYPE_COUNT);
    Q_ASSERT(sizeof(imageroles) / sizeof(imageroles[0]) == DTIR_IMAGEROLE_COUNT);

    Q_ASSERT((deviceType >= 0) && (deviceType < MDT_DEVICETYPE_COUNT));
    Q_ASSERT((imageRole >= 0) && (imageRole < DTIR_IMAGEROLE_COUNT));

    QString strDeviceType(devicetypes[deviceType]);
    QString strImageRole(imageroles[imageRole]);

    strDeviceType = strDeviceType.simplified();
    strDeviceType = strDeviceType.replace(' ',"");

    return (GENIE2_RES(IMAGES_DEVICES_PATHPREFIX) + strDeviceType + strImageRole + (suffix.isEmpty()?"":".") + suffix);
}
QWidget *QGenieMapDbgWObject::getW()
{
    if(!mW)
    {
        bool btemp;
        QUiLoader loader;
        QFile f(GENIE2_RES("ui/mapdbgW.ui"));
        btemp=f.open(QFile::ReadOnly);
        Q_ASSERT(btemp);
        QWidget *w=loader.load(&f, NULL);
        Q_ASSERT(w);

//        deployIndicators(w);

        QList<QCheckBox*> bts=w->findChildren<QCheckBox *>();
        int c=bts.count();
        for(int i=0;i<c;i++)
        {
            connect(bts[i],SIGNAL(clicked(bool)),this,SLOT(slot_RdtClicked(bool)));
        }
        mW=w;

    }
//////////////////////////////////////////////////////////////////////////
///kai.yan modify 
///flag:等待时显示的文本信息标志 
///0:Receiving router response information
///1:Rebooting router
///2:Upgrading firmware 
//////////////////////////////////////////////////////////////////////////
void QGenieTimelineLocker::startTimer(int duration, QObject *obj, const char *slot, int flag)
{
//    mPi=pi;
//    if(pi)
//    {
//        pi->startAnimation();
//    }
    Q_ASSERT((duration/1000>qMax(NOTIFY_SSID_TIME,RECONNECT_TIME)) || !(mFlags&TF_NEED_RECONNECT));
    QGenieRCWirelessObject *rcwo=QGenieRCWirelessObject::GetSingletonPtr();
    Q_ASSERT(rcwo && rcwo->mWirelessW);
    if(!mLockerUi)
    {
        QUiLoader loader;
        bool btemp;
        QFile f(GENIE2_RES("ui/rccountdown.ui"));
        btemp=f.open(QFile::ReadOnly);
        Q_ASSERT(btemp);

        mLockerUi=loader.load(&f,rcwo->mWirelessW->parentWidget());
        QRect geo=rcwo->mWirelessW->geometry();
        mLockerUi->move(geo.center()-QPoint(mLockerUi->width(),mLockerUi->height())/2);

        QFile fqss(GENIE2_RES("ui/framelessframe.qss"));
        btemp=fqss.open(QIODevice::ReadOnly);
        Q_ASSERT(btemp);
        QString stemp=fqss.readAll();
        mLockerUi->setStyleSheet(stemp);
//        GENIE2_SET_FRAMELESSSTYLE(mLockerUi);
        fqss.close();

        Q_ASSERT(mLockerUi);
        mLabel=mLockerUi->findChild<QLabel *>("lab_content");
        Q_ASSERT(mLabel);
        mLabel->setStyleSheet("color:red;");

        mPi=new QPiObject(mLockerUi,"pi");
        mPi->startAnimation();

        mLockerUi->raise();
        mLockerUi->show();
    }
    mTimeLine.setDuration(duration);
    mTimeLine.setStartFrame(0);
    mTimeLine.setDirection(QTimeLine::Forward);
    mTimeLine.start();
	if(flag==0)
	{
		mMode=GENIE2_GET_TEXT(L_RTCT_MSG_COMMITWAIT);
	}else if(flag==1)
	{
		mMode=GENIE2_GET_TEXT(L_OHTERS_MSG_COMMITWAIT);
	}else if(flag ==2)
	{
		mMode=GENIE2_GET_TEXT(L_UPDATELAB_FIRMWARE_NEEDFEWTIME);
	}
	else
	{
		mMode=GENIE2_GET_TEXT(L_RTCT_MSG_COMMITWAIT);
	}
    sRCFlags |=RCF_TIMELINELOCKER_WORKING;
    if(sRCFlags &RCF_REMOTE)
    {
        sRCFlags |=RCF_IN_REMOTE_REFRESHING;
    }
    else
    {
        sRCFlags |=RCF_IN_LOCAL_REFRESHING;
    }

    mEndObj=obj;
    mEndSLOT=slot;
    setNeedReconnect();


}
void TopologyNode::paint(QPainter *painter,
                         const QStyleOptionGraphicsItem *option,
                         QWidget *widget)
{
    Q_UNUSED(widget)

    QRectF itemRect = boundingRect();

#ifdef POWERLINE_REVISION
    if(m_name == QString("POWERLINE"))
    {
        QString imagePath;
        if(option->state & QStyle::State_MouseOver)
        {
            imagePath = GENIE2_RES("map/devices/PowerLineSelected.png");
        }
        else
        {
            imagePath = GENIE2_RES("map/devices/PowerLineNormal.png");
        }

        QPixmap nodePixmap(imagePath);
        painter->drawPixmap(itemRect.topLeft(),nodePixmap);
        return;
    }
#endif

#ifdef PLUGIN_TARGET
    if((mNodeFlags & NF_ISCENTRALROUTER)||(m_deviceType==MDT_ROUTER))
    {
        Q_ASSERT (m_paintStrategy);
        m_paintStrategy->paint(painter,(option->state & QStyle::State_MouseOver),(mNodeFlags &NF_ISONLINE));
    }
    else
#endif
    {
        int pixmapRole = DTIR_NORMAL;

        if((option->state & QStyle::State_MouseOver) && (mNodeFlags & NF_ISONLINE) && (m_deviceType != MDT_INTERNET))
        {
            pixmapRole = DTIR_SELECTED;
        }
        else if(!(mNodeFlags&NF_ISONLINE))
        {
            pixmapRole = DTIR_OFFLINE;
        }

        QString pixmapPath;

        if(mNodeFlags & NF_ISLOCALHOST)
        {
            pixmapPath = getLocalHostImagePath(pixmapRole);
        }
        else if(mNodeFlags & NF_ISCENTRALROUTER)
        {
            pixmapPath = getCentralRouterImagePath(pixmapRole);
        }
        else
        {
            pixmapPath = getDeviceTypeImagePath(m_deviceType,pixmapRole);
        }

        QPixmap nodePixmap(pixmapPath);
        painter->drawPixmap(itemRect.topLeft(),nodePixmap);

    }

    //draw indicator pixmap

    paintSubIcons(painter,itemRect);

    //draw name
    if(!(mNodeFlags & NF_ISCENTRALROUTER) && (m_deviceType != MDT_INTERNET )
             &&(m_deviceType != MDT_ROUTER))
        {
        QColor penColor = ((mNodeFlags & NF_ISONLINE) ? ((option->state & QStyle::State_MouseOver) ? Qt::white : Qt::black) : QColor(204,204,204));

        painter->setPen(penColor);

        QFont font(painter->font());
#ifdef Q_OS_MACX
        font.setPointSize(10);
#else
        font.setPointSize(8);
#endif
        painter->setFont(font);

        QFontMetrics fm(font);

        QString labelText = m_name;

        if(fm.width(labelText) > (itemRect.width() - 2*fm.width('X')))
        {
            for(int k = 0 ; k < labelText.size() ; ++k)
            {
                if(fm.width(labelText.left(k)) + fm.width("...") >= (itemRect.width() - 2*fm.width('X')))
                {
                    labelText = labelText.left(k) + "...";
                    break;
                }
            }
        }

        int width = fm.width(labelText);
        int x = itemRect.left() + (itemRect.width() - width) / 2;

        painter->drawText(x, itemRect.top() + 62, labelText);
    }
}