void LLPanelPlaces::onCancelButtonClicked()
{
	if (!mLandmarkInfo)
		return;

	if (mPlaceInfoType == CREATE_LANDMARK_INFO_TYPE)
	{
		onBackButtonClicked();
	}
	else
	{
		mLandmarkInfo->toggleLandmarkEditMode(FALSE);
		isLandmarkEditModeOn = false;

		updateVerbs();

		// Reload the landmark properties.
		mLandmarkInfo->displayItemInfo(mItem);
	}
}
Exemple #2
0
ProcessImage::ProcessImage( QWidget* parent ): DropArea(parent), _currentItem(-1), _currentImage(-1)
{
    layout = new QHBoxLayout( this );
    layout->setContentsMargins(0,0,0,0);
    layout->setSpacing(0);

    QFrame *processLeftColFrame = new QFrame();
    processLeftColFrame->setObjectName( "processLeftColFrame" );
    
    QVBoxLayout *leftLayout = new QVBoxLayout( processLeftColFrame );
    layout->addWidget( processLeftColFrame );

        QHBoxLayout *topLayout = new QHBoxLayout();

        topLayout->addWidget( backButton = new QPushButton( this ) );
        backButton->setText( "Choisir un autre media" );
        backButton->setObjectName("backButton");
        connect(backButton, SIGNAL(clicked()), SLOT(onBackButtonClicked()) );

        topLayout->addWidget( newSearch = new QPushButton( "Nouvelle recherche" ) );
        newSearch->setObjectName("newSearch");
        connect( newSearch, SIGNAL(clicked()), SLOT(onNewSearch()) );


        topLayout->addStretch(0);
        topLayout->addWidget( nbFacesLbl = new QLabel( this ) );
        nbFacesLbl->setObjectName( "nbFacesLbl" );


        /*
        overlap = new QLabel( this );
        overlap->setObjectName( "overlapLoader" );
        QMovie *loaderMovie = new QMovie(":/res/loader.gif");
        overlap->setMovie( loaderMovie );
        loaderMovie->start()
        */
        // overlap->setGeometry( imageLbl->geometry() );

        // topLayout->addWidget( overlap );

        leftLayout->addLayout( topLayout );



        leftLayout->addWidget( theater = new Theater( this ) );
        theater->imageOverlay->setOverlayText("Traitement en cours...");
        connect( theater, SIGNAL(rectClicked(int)), SLOT(onPersonSelected(int)) );
        


        QScrollArea *imagesScrollArea = new QScrollArea( this );
        leftLayout->addWidget( imagesScrollArea );

        imagesScrollArea->setWidgetResizable( true );
        imagesScrollArea->setObjectName( "imagesScrollArea" );
        imagesScrollArea->setWidget( showCase = new ShowCase( this ) );


        connect( showCase, SIGNAL(imageSelected(int)), SLOT(loadImageData(int)) );

    // COL 3
    layout->addWidget( sidePanel = new SidePanel(this, "view") );
    connect(sidePanel, SIGNAL(confirmChanges(QJsonObject)), SLOT(savePanelChanges(QJsonObject)) );

    connect( sidePanel, SIGNAL(confirmPerson()), SLOT( onConfirmPerson()) );
    connect( sidePanel, SIGNAL(refutePerson()), SLOT( onRefutePerson()) );



    //COL2
    QVBoxLayout* col2 = new QVBoxLayout();
    col2->setSpacing(0);

    col2->addWidget( detectedFacesScrollArea = new QScrollArea( this ) );
    detectedFacesScrollArea->setWidgetResizable( true );
    detectedFacesScrollArea->setObjectName( "detectedFacesScrollArea" );
    detectedFacesScrollArea->setWidget( detectedFaces = new DetectedFaces( this ) );
    
    layout->addLayout( col2 );
    connect( detectedFaces, SIGNAL(itemClicked(int)), SLOT(onPersonSelected(int)) );

    connect( &Socket::sock(), SIGNAL(faceRecognized(int, int, int, int, int, int)), SLOT(onFaceRecognized(int, int, int, int, int, int)) );
    connect( &Socket::sock(), SIGNAL(faceIs(int, QString, QString)), SLOT(onFaceIs(int, QString, QString)) );
    connect( &Socket::sock(), SIGNAL(got(QJsonObject, QByteArray)), sidePanel, SLOT(populate(QJsonObject, QByteArray)) );
}
void LLPanelPlaces::onOverflowMenuItemClicked(const LLSD& param)
{
	std::string item = param.asString();
	if (item == "landmark")
	{
		LLSD key;
		key["type"] = CREATE_LANDMARK_INFO_TYPE;
		key["x"] = mPosGlobal.mdV[VX];
		key["y"] = mPosGlobal.mdV[VY];
		key["z"] = mPosGlobal.mdV[VZ];
		onOpen(key);
	}
	else if (item == "copy")
	{
		LLLandmarkActions::getSLURLfromPosGlobal(mPosGlobal, boost::bind(&onSLURLBuilt, _1));
	}
	else if (item == "delete")
	{
		gInventory.removeItem(mItem->getUUID());

		onBackButtonClicked();
	}
	else if (item == "pick")
	{
		if (mPickPanel == NULL)
		{
			mPickPanel = LLPanelPickEdit::create();
			addChild(mPickPanel);

			mPickPanel->setExitCallback(boost::bind(&LLPanelPlaces::togglePickPanel, this, FALSE));
			mPickPanel->setCancelCallback(boost::bind(&LLPanelPlaces::togglePickPanel, this, FALSE));
			mPickPanel->setSaveCallback(boost::bind(&LLPanelPlaces::togglePickPanel, this, FALSE));
		}

		togglePickPanel(TRUE);
		mPickPanel->onOpen(LLSD());

		LLPanelPlaceInfo* panel = getCurrentInfoPanel();
		if (panel)
		{
			panel->createPick(mPosGlobal, mPickPanel);
		}

		LLRect rect = getRect();
		mPickPanel->reshape(rect.getWidth(), rect.getHeight());
		mPickPanel->setRect(rect);
	}
	else if (item == "add_to_favbar")
	{
		if ( mItem.notNull() )
		{
			const LLUUID& favorites_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
			if ( favorites_id.notNull() )
			{
				copy_inventory_item(gAgent.getID(),
									mItem->getPermissions().getOwner(),
									mItem->getUUID(),
									favorites_id,
									std::string(),
									LLPointer<LLInventoryCallback>(NULL));
				llinfos << "Copied inventory item #" << mItem->getUUID() << " to favorites." << llendl;
			}
		}
	}
}