mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
add size warning for movie
This commit is contained in:
parent
741ac58078
commit
46215d29b7
@ -621,8 +621,41 @@ generate_reduced_html(ostream &html, Photo *photo, int photo_index, int pi,
|
||||
Filename movie_icon_href = compose_href("../..", movie_icon);
|
||||
html << "<img src=\"" << movie_icon_href << "\" alt=\"\">";
|
||||
}
|
||||
|
||||
// Determine the size of the file.
|
||||
streampos size = 0;
|
||||
ifstream stream;
|
||||
Filename movie_filename(_dir->get_dir(), photo->get_movie());
|
||||
movie_filename.set_binary();
|
||||
if (movie_filename.open_read(stream)) {
|
||||
// Seek to the end and get the stream position there.
|
||||
stream.seekg(0, ios::end);
|
||||
size = stream.tellg();
|
||||
}
|
||||
|
||||
static const streampos MB = 1024 * 1024;
|
||||
static const streampos GB = 1024 * 1024 * 1024;
|
||||
string size_units;
|
||||
double size_float;
|
||||
|
||||
if (size > GB) {
|
||||
size_units = "GB";
|
||||
size_float = (double)size / (double)GB;
|
||||
} else if (size > MB) {
|
||||
size_units = "MB";
|
||||
size_float = (double)size / (double)MB;
|
||||
}
|
||||
|
||||
if (size_units.empty()) {
|
||||
html
|
||||
<< "<a href=\"" << movie << "\">Play movie</a></p>\n";
|
||||
} else {
|
||||
char buffer[128];
|
||||
sprintf(buffer, "%.1f", size_float);
|
||||
html
|
||||
<< "<a href=\"" << movie << "\">Play movie ("
|
||||
<< buffer << " " << size_units << ")</a></p>\n";
|
||||
}
|
||||
}
|
||||
|
||||
generate_nav_buttons(html, prev_photo_filename, next_photo_filename,
|
||||
|
Loading…
x
Reference in New Issue
Block a user