QString QTorrentItemDelegat::GetStatusString(const Torrent& tor) const
{
	QString upSpeed(tor.GetUploadSpeed());
	QString downSpeed(tor.GetDwonloadSpeed());
	QString status(tor.GetStatusString());
	bool hasError(tor.hasError());

	if(hasError)
	{
		return tor.GetErrorMessage();
	}

	if(tor.isPaused())
	{
		return tr("STR_PAUSED");
	}

	if(tor.isDownloading())
	{
		return QString("%1: %2 %3 - %4 %5").arg(status).arg(QChar(0x2193)).arg(downSpeed).arg(QChar(0x2191)).arg(upSpeed);
	}

	if(tor.isSeeding())
	{
		if(!upSpeed.isEmpty())
		{
			return QString("%2 %3 - %1").arg(status).arg(QChar(0x2191)).arg(upSpeed);
		}
	}

	return status;
}
Пример #2
0
void Mino::update(int ds)
{
	if (m_updatable)
	{
		int currentTime = SDL_GetTicks();
		if (currentTime - m_lastTimeUpdated > 80)
		{
				if (InputHandler::getInstance()->getButtonState(0, 10))
				{
					std::pair<int, int>* newTiles = rotation(m_tiles);
					if (!collision(newTiles))
					{
						delete m_tiles;
						m_tiles = newTiles;
						m_rotNumber = (m_rotNumber + 1) % 4;
					}
					else
					{
						delete newTiles;
					}
				}
				else if (InputHandler::getInstance()->xvalue(0, 1) > 0)
				{
					std::pair<int,int>* newTiles = positionsFromAnchor(m_type, m_tiles[0].first + 1, m_tiles[0].second);
					for (int i = 0; i < m_rotNumber; i++)
					{
						newTiles = rotation(newTiles);
					}
					if (!collision(newTiles))
					{
						delete m_tiles;
						m_tiles = newTiles;
					}
					else
					{
						delete newTiles;
					}
				}
				else if (InputHandler::getInstance()->xvalue(0, 1) < 0)
				{
					std::pair<int, int>* newTiles = positionsFromAnchor(m_type, m_tiles[0].first - 1, m_tiles[0].second);
					for (int i = 0; i < m_rotNumber; i++)
					{
						newTiles = rotation(newTiles);
					}
					if (!collision(newTiles))
					{
						delete m_tiles;
						m_tiles = newTiles;
					}
					else
					{
						delete newTiles;
					}
				}
			m_lastTimeUpdated = SDL_GetTicks();
		}
		if (currentTime - m_lastTimeWentDown > downSpeed())
		{
			std::pair<int, int>* newTiles = positionsFromAnchor(m_type, m_tiles[0].first, m_tiles[0].second + 1);
			for (int i = 0; i < m_rotNumber; i++)
			{
				newTiles = rotation(newTiles);
			}
			if (!collision(newTiles, true))
			{
				delete m_tiles;
				m_tiles = newTiles;
			}
			else
			{
				delete newTiles;
			}
			m_lastTimeWentDown = SDL_GetTicks();
		}
	}
}