void BackGroundPropertyGridWidget::OpenSpriteDialog()
{
	// Pack all available sprites each time user open sprite dialog
	ResourcePacker *resPacker = new ResourcePacker();
	resPacker->PackResources(ResourcesManageHelper::GetSpritesDatasourceDirectory().toStdString(),
	 					 				ResourcesManageHelper::GetSpritesDirectory().toStdString());
	// Get sprites directory to open
	QString currentSpriteDir = ResourcesManageHelper::GetDefaultSpritesPath(this->ui->spriteLineEdit->text());
	// Get sprite path from file dialog
    QString spriteName = QFileDialog::getOpenFileName( this, tr( "Choose a sprite file" ),
															currentSpriteDir,
															tr( "Sprites (*.txt)" ) );
	if(!spriteName.isNull() && !spriteName.isEmpty())
    {
		// Convert file path into Unix-style path
		spriteName = ResourcesManageHelper::ConvertPathToUnixStyle(spriteName);

		if (ResourcesManageHelper::ValidateResourcePath(spriteName))
        {
            WidgetSignalsBlocker blocker(ui->spriteLineEdit);
			
            // Sprite name should be pre-processed to use relative path.
            ui->spriteLineEdit->setText(PreprocessSpriteName(spriteName));
            HandleLineEditEditingFinished(ui->spriteLineEdit);
        }
		else
		{
			ResourcesManageHelper::ShowErrorMessage(spriteName);
		}
    }
	
	SafeDelete(resPacker);
}
void BackGroundPropertyGridWidget::OpenSpriteDialog()
{
	// Get sprites directory to open
	QString currentSpriteDir = ResourcesManageHelper::GetDefaultSpritesPath(this->ui->spriteLineEdit->text());
	// Get sprite path from file dialog
    QString spriteName = QFileDialog::getOpenFileName( this, tr( "Choose a sprite file" ),
															currentSpriteDir,
															tr( "Sprites (*.txt)" ) );
	if(!spriteName.isNull() && !spriteName.isEmpty())
    {
		// Convert file path into Unix-style path
		spriteName = ResourcesManageHelper::ConvertPathToUnixStyle(spriteName);

		if (ResourcesManageHelper::ValidateResourcePath(spriteName))
        {
            WidgetSignalsBlocker blocker(ui->spriteLineEdit);
			
            // Sprite name should be pre-processed to use relative path.
            ui->spriteLineEdit->setText(PreprocessSpriteName(spriteName));
            HandleLineEditEditingFinished(ui->spriteLineEdit);
			// Update max-min values
			SetStretchCapMaxValues();
        }
		else
		{
			ResourcesManageHelper::ShowErrorMessage(spriteName);
		}
    }
}
void BackGroundPropertyGridWidget::RemoveSprite()
{
    //When we pass empty spriteLineEdit to command - this will cause removal of sprite
    if (!ui->spriteLineEdit->text().isEmpty())
    {
        WidgetSignalsBlocker blocker(ui->spriteLineEdit);
        ui->spriteLineEdit->setText("");
        HandleLineEditEditingFinished(ui->spriteLineEdit);
    }
}
void BackGroundPropertyGridWidget::OpenSpriteDialog()
{
    QString spriteName = QFileDialog::getOpenFileName( this, tr( "Choose a sprite file file" ), "/", tr( "Sprites (*.* *.txt)" ) );
    if( !spriteName.isNull() )
    {
        {
            WidgetSignalsBlocker blocker(ui->spriteLineEdit);
            
            // Sprite name should be pre-processed to use relative path.
            ui->spriteLineEdit->setText(PreprocessSpriteName(spriteName));
            HandleLineEditEditingFinished(ui->spriteLineEdit);
        }
    }
}