Esempio n. 1
0
LPTypeInfo RDOArrayType::typeInfo() const
{
    LPTypeInfo pType = rdo::Factory<TypeInfo>::create(
        const_cast<RDOArrayType*>(this),
        src_info()
    );
    ASSERT(pType);
    return pType;
}
Esempio n. 2
0
void RDOTypeRangeRange::checkValue(const LPRDOValue& pValue) const
{
	if (pValue->value() < m_pMinValue->value() || pValue->value() > m_pMaxValue->value())
	{
		if (pValue->src_filetype() == src_filetype() && pValue->src_pos().m_last_line == src_pos().m_last_line)
		{
			rdo::converter::smr2rdox::g_error().error(pValue->src_info(), rdo::format("Значение выходит за допустимый диапазон [%s..%s]: %s", m_pMinValue->value().getAsString().c_str(), m_pMaxValue->value().getAsString().c_str(), pValue->value().getAsString().c_str()));
		}
		else
		{
			rdo::converter::smr2rdox::g_error().push_only(pValue->src_info(), rdo::format("Значение выходит за допустимый диапазон [%s..%s]: %s", m_pMinValue->value().getAsString().c_str(), m_pMaxValue->value().getAsString().c_str(), pValue->value().getAsString().c_str()));
			rdo::converter::smr2rdox::g_error().push_only(src_info(),         rdo::format("См. описание диапазона"));
			rdo::converter::smr2rdox::g_error().push_done();
		}
	}
}
bool PlayerApplication::open(const QString &path_name)
{
    ui::loadTranslator(QLocale::system().name());
    bool need_reload = true;
    QString selected_file;
    if (path_name.isEmpty() && path_.isEmpty())
    {
        path_ = PlayerUtils::lastSong();
    }
    else if (path_name.isEmpty() && !path_.isEmpty())
    {
        need_reload = false;
    }
    else //if (!path_name.isEmpty() && !path_.isEmpty())
    {
        // check if the path's directories are the same.
        if (!path_.isEmpty())
        {
            QFileInfo src_info(path_);
            QFileInfo dst_info(path_name);
            if (src_info.dir().absolutePath() == dst_info.dir().absolutePath())
            {
                need_reload = false;
                selected_file = path_name;
                view_.stop();
            }
            else
            {
                // reload
                close(path_);
                path_ = path_name;
            }
        }
        else
        {
            // reload
            close(path_);
            path_ = path_name;
        }
    }

    if (need_reload)
    {
        model_.reset(new PlayListModel);

        view_.attachModel(model_.get());

        if (path_.contains("://"))
        {
            model_->addFile(path_);
        }
        else if (QFile::exists(path_))
        {
            model_->addDirectory(path_);
        }

        model_->sort(PlayListModel::FILENAME);
    }

    view_.activateWindow();

    // load audio files from media db
    model_->readMediaInfos();
    model_->sort(PlayListModel::FILENAME);
    model_->preparePlayState();

    sys::SysStatus::instance().setSystemBusy( false );
    onyx::screen::instance().enableUpdate(true);
    if(!hide_view_on_waking_up)
    {
        view_.show();
    }

    if (!selected_file.isEmpty())
    {
        view_.playFile(selected_file);
    }

    view_.songListView()->repaint();
    if(!hide_view_on_waking_up)
    {
        onyx::screen::instance().flush(&view_, onyx::screen::ScreenProxy::GC,
                false, onyx::screen::ScreenCommand::WAIT_ALL);
        onyx::screen::watcher().addWatcher(&view_);
    }
    view_.enableProgressBar(true);
    return true;
}