28 #define YUILogComponent "ui"
31 #include "YUISymbols.h"
32 #include "YDownloadProgress.h"
39 const std::string & filename,
40 YFileSize_t expectedSize )
42 , filename( filename )
43 , expectedSize( expectedSize )
48 YFileSize_t expectedSize;
53 const std::string & label,
54 const std::string & filename,
55 YFileSize_t expectedSize )
59 YUI_CHECK_NEW( priv );
89 return priv->filename;
103 return priv->expectedSize;
110 priv->expectedSize = newSize;
117 if ( priv->expectedSize == 0 )
122 if ( currentSize >= priv->expectedSize )
125 return (
int) ( (100 * currentSize ) / priv->expectedSize );
132 struct stat stat_info;
134 if ( stat( priv->filename.c_str(), & stat_info ) == 0 )
135 return (YFileSize_t) stat_info.st_size;
155 propSet.
add(
YProperty( YUIProperty_Label, YStringProperty ) );
156 propSet.
add(
YProperty( YUIProperty_Filename, YStringProperty ) );
157 propSet.
add(
YProperty( YUIProperty_ExpectedSize, YIntegerProperty ) );
158 propSet.
add(
YProperty( YUIProperty_CurrentSize, YIntegerProperty,
true ) );
159 propSet.
add(
YProperty( YUIProperty_Value, YIntegerProperty,
true ) );
174 if ( propertyName == YUIProperty_ExpectedSize )
setExpectedSize( val.integerVal() );
void check(const std::string &propertyName) const
void add(const YProperty &prop)
std::string filename() const
virtual YPropertyValue getProperty(const std::string &propertyName)
virtual void setExpectedSize(YFileSize_t newSize)
std::string stringVal() const
virtual void setLabel(const std::string &label)
std::string label() const
virtual void setFilename(const std::string &filename)
virtual ~YDownloadProgress()
int currentPercent() const
YDownloadProgress(YWidget *parent, const std::string &label, const std::string &filename, YFileSize_t expectedSize)
YFileSize_t expectedSize() const
virtual const YPropertySet & propertySet()
YPropertyType type() const
virtual bool setProperty(const std::string &propertyName, const YPropertyValue &val)
virtual YFileSize_t currentFileSize() const