Ejemplo n.º 1
0
CEditorStatusBar::CEditorStatusBar(CMapWidget *mapWidget, QWidget *parent) :
	QStatusBar(parent) {

	m_objLabel = new QLabel(this);
	m_posLabel = new QLabel(this);

	insertPermanentWidget(0, m_objLabel);
	insertPermanentWidget(1, m_posLabel);

	m_mapWidget = mapWidget;
	connect(mapWidget,
			SIGNAL(hoverStatusChanged(bool,CMapPoint,bool,CMapPoint,QMouseEvent*)),
			SLOT(hoverStatusChanged(bool,CMapPoint,bool,CMapPoint,QMouseEvent*)));
}
Ejemplo n.º 2
0
StatusBar::StatusBar(QWidget * parent)
    :QStatusBar(parent)
{


    mLoadingLabel = new QLabel;
    mLoadingLabel->setMovie(new QMovie(":/loading.gif"));
    insertPermanentWidget(0, mLoadingLabel);


}
Ejemplo n.º 3
0
void KviStatusBar::dragMoveEvent(QDragMoveEvent *de)
{
	// Unpack dropped data and handle it the way you want
	if(de->mimeData()->hasFormat("kvirc/statusbarapplet") &&
		de->source() != 0 &&
		m_pClickedApplet &&
		appletExists(m_pClickedApplet)
	)
	{
		KviStatusBarApplet * pApplet = m_pAppletList->last();
		int oldIndex = m_pClickedApplet->index();
		int newIndex=pApplet->index();

		// move!
		while(pApplet)
		{
			if(de->pos().x() < (pApplet->x() + pApplet->width() - m_pClickedApplet->width()))
			{
				pApplet = m_pAppletList->prev();
			} else {
				newIndex = pApplet->index();
				break;
			}
		}
		if(!pApplet)
		{
			pApplet=m_pAppletList->first();
			newIndex = pApplet->index();
		}

		//swap indexes
		if(newIndex!=oldIndex)
		{
			m_pClickedApplet->setIndex(newIndex);
			pApplet->setIndex(oldIndex);

			removeWidget(m_pClickedApplet); //Note: This function does not delete the widget but hides it. To add the widget again, you must call both the addWidget() and show() functions.
			insertPermanentWidget(newIndex, m_pClickedApplet);
			m_pClickedApplet->show();

			m_pAppletList->sort();
		}
	}
}
Ejemplo n.º 4
0
void StatusBar::addAppItem(StatusBarItemType before, const int appId, const QImage & image)
{
    // check duplicated or not.
    for(size_t i = 0; i < widgets_.size(); ++i)
    {
        StatusBarItemPtr ptr = widgets_.at(i);
        if (ptr->type() == APP_DEFINED)
        {
            StatusBarItemApp * app = (StatusBarItemApp *)ptr.get();
            if (app->appId() == appId)
            {
                return;
            }
        }
    }

    size_t index = 0;
    for(index = 0; index < widgets_.size(); ++index)
    {
        StatusBarItemPtr ptr = widgets_.at(index);
        if (ptr->type() == before)
        {
            break;
        }
    }
    if (index >= widgets_.size())
    {
        index = 0;
    }

    StatusBarItemApp * item = new StatusBarItemApp(this);
    item->setAppId(appId);
    item->setImage(image);
    connect(item, SIGNAL(clicked(int)), this, SLOT(onAppClicked(int)));
    StatusBarItemPtr ptr(item);
    widgets_.insert(widgets_.begin() + index, ptr);
    insertPermanentWidget(index, item);
}