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() );