mirror of
https://gitlab.com/nkming2/nc-photos.git
synced 2025-03-22 15:09:22 +01:00
Helper fn to get preview url for a file
This commit is contained in:
parent
ae8156e0b7
commit
308f351863
8 changed files with 34 additions and 57 deletions
|
@ -6,7 +6,6 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
||||||
import 'package:kiwi/kiwi.dart';
|
import 'package:kiwi/kiwi.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:nc_photos/account.dart';
|
import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/api/api_util.dart' as api_util;
|
|
||||||
import 'package:nc_photos/app_localizations.dart';
|
import 'package:nc_photos/app_localizations.dart';
|
||||||
import 'package:nc_photos/di_container.dart';
|
import 'package:nc_photos/di_container.dart';
|
||||||
import 'package:nc_photos/download_handler.dart';
|
import 'package:nc_photos/download_handler.dart';
|
||||||
|
@ -37,6 +36,7 @@ import 'package:nc_photos/widget/album_share_outlier_browser.dart';
|
||||||
import 'package:nc_photos/widget/draggable_item_list_mixin.dart';
|
import 'package:nc_photos/widget/draggable_item_list_mixin.dart';
|
||||||
import 'package:nc_photos/widget/fancy_option_picker.dart';
|
import 'package:nc_photos/widget/fancy_option_picker.dart';
|
||||||
import 'package:nc_photos/widget/handler/add_selection_to_album_handler.dart';
|
import 'package:nc_photos/widget/handler/add_selection_to_album_handler.dart';
|
||||||
|
import 'package:nc_photos/widget/network_thumbnail.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_item.dart';
|
import 'package:nc_photos/widget/photo_list_item.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_util.dart' as photo_list_util;
|
import 'package:nc_photos/widget/photo_list_util.dart' as photo_list_util;
|
||||||
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
||||||
|
@ -735,12 +735,8 @@ class _AlbumBrowserState extends State<AlbumBrowser>
|
||||||
for (int i = 0; i < _sortedItems.length; ++i) {
|
for (int i = 0; i < _sortedItems.length; ++i) {
|
||||||
final item = _sortedItems[i];
|
final item = _sortedItems[i];
|
||||||
if (item is AlbumFileItem) {
|
if (item is AlbumFileItem) {
|
||||||
final previewUrl = api_util.getFilePreviewUrl(
|
final previewUrl =
|
||||||
widget.account,
|
NetworkRectThumbnail.imageUrlForFile(widget.account, item.file);
|
||||||
item.file,
|
|
||||||
width: k.photoThumbSize,
|
|
||||||
height: k.photoThumbSize,
|
|
||||||
);
|
|
||||||
if ((_editAlbum ?? _album)?.sortProvider is AlbumTimeSortProvider &&
|
if ((_editAlbum ?? _album)?.sortProvider is AlbumTimeSortProvider &&
|
||||||
Pref().isAlbumBrowserShowDateOr()) {
|
Pref().isAlbumBrowserShowDateOr()) {
|
||||||
final date = dateHelper.onFile(item.file);
|
final date = dateHelper.onFile(item.file);
|
||||||
|
|
|
@ -2,14 +2,13 @@ import 'package:collection/collection.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:nc_photos/account.dart';
|
import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/api/api_util.dart' as api_util;
|
|
||||||
import 'package:nc_photos/app_init.dart' as app_init;
|
import 'package:nc_photos/app_init.dart' as app_init;
|
||||||
import 'package:nc_photos/app_localizations.dart';
|
import 'package:nc_photos/app_localizations.dart';
|
||||||
import 'package:nc_photos/entity/album.dart';
|
import 'package:nc_photos/entity/album.dart';
|
||||||
import 'package:nc_photos/entity/file_descriptor.dart';
|
import 'package:nc_photos/entity/file_descriptor.dart';
|
||||||
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
||||||
import 'package:nc_photos/k.dart' as k;
|
|
||||||
import 'package:nc_photos/object_extension.dart';
|
import 'package:nc_photos/object_extension.dart';
|
||||||
|
import 'package:nc_photos/widget/network_thumbnail.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_item.dart';
|
import 'package:nc_photos/widget/photo_list_item.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_util.dart';
|
import 'package:nc_photos/widget/photo_list_util.dart';
|
||||||
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
||||||
|
@ -160,8 +159,7 @@ class _PhotoListItemBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectableItem? _buildListItem(int i, Account account, FileDescriptor file) {
|
SelectableItem? _buildListItem(int i, Account account, FileDescriptor file) {
|
||||||
final previewUrl = api_util.getFilePreviewUrl(account, file,
|
final previewUrl = NetworkRectThumbnail.imageUrlForFile(account, file);
|
||||||
width: k.photoThumbSize, height: k.photoThumbSize);
|
|
||||||
if (file_util.isSupportedImageFormat(file)) {
|
if (file_util.isSupportedImageFormat(file)) {
|
||||||
return PhotoListImageItem(
|
return PhotoListImageItem(
|
||||||
fileIndex: i,
|
fileIndex: i,
|
||||||
|
|
|
@ -5,7 +5,6 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
||||||
import 'package:kiwi/kiwi.dart';
|
import 'package:kiwi/kiwi.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:nc_photos/account.dart';
|
import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/api/api_util.dart' as api_util;
|
|
||||||
import 'package:nc_photos/app_localizations.dart';
|
import 'package:nc_photos/app_localizations.dart';
|
||||||
import 'package:nc_photos/debug_util.dart';
|
import 'package:nc_photos/debug_util.dart';
|
||||||
import 'package:nc_photos/di_container.dart';
|
import 'package:nc_photos/di_container.dart';
|
||||||
|
@ -33,6 +32,7 @@ import 'package:nc_photos/use_case/update_album.dart';
|
||||||
import 'package:nc_photos/use_case/update_album_with_actual_items.dart';
|
import 'package:nc_photos/use_case/update_album_with_actual_items.dart';
|
||||||
import 'package:nc_photos/widget/album_browser_mixin.dart';
|
import 'package:nc_photos/widget/album_browser_mixin.dart';
|
||||||
import 'package:nc_photos/widget/fancy_option_picker.dart';
|
import 'package:nc_photos/widget/fancy_option_picker.dart';
|
||||||
|
import 'package:nc_photos/widget/network_thumbnail.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_item.dart';
|
import 'package:nc_photos/widget/photo_list_item.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_util.dart' as photo_list_util;
|
import 'package:nc_photos/widget/photo_list_util.dart' as photo_list_util;
|
||||||
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
||||||
|
@ -618,12 +618,8 @@ class _DynamicAlbumBrowserState extends State<DynamicAlbumBrowser>
|
||||||
for (int i = 0; i < _sortedItems.length; ++i) {
|
for (int i = 0; i < _sortedItems.length; ++i) {
|
||||||
final item = _sortedItems[i];
|
final item = _sortedItems[i];
|
||||||
if (item is AlbumFileItem) {
|
if (item is AlbumFileItem) {
|
||||||
final previewUrl = api_util.getFilePreviewUrl(
|
final previewUrl =
|
||||||
widget.account,
|
NetworkRectThumbnail.imageUrlForFile(widget.account, item.file);
|
||||||
item.file,
|
|
||||||
width: k.photoThumbSize,
|
|
||||||
height: k.photoThumbSize,
|
|
||||||
);
|
|
||||||
if ((_editAlbum ?? _album)?.sortProvider is AlbumTimeSortProvider &&
|
if ((_editAlbum ?? _album)?.sortProvider is AlbumTimeSortProvider &&
|
||||||
Pref().isAlbumBrowserShowDateOr()) {
|
Pref().isAlbumBrowserShowDateOr()) {
|
||||||
final date = dateHelper.onFile(item.file);
|
final date = dateHelper.onFile(item.file);
|
||||||
|
|
|
@ -11,7 +11,6 @@ import 'package:intl/intl.dart';
|
||||||
import 'package:kiwi/kiwi.dart';
|
import 'package:kiwi/kiwi.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:nc_photos/account.dart';
|
import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/api/api_util.dart' as api_util;
|
|
||||||
import 'package:nc_photos/app_localizations.dart';
|
import 'package:nc_photos/app_localizations.dart';
|
||||||
import 'package:nc_photos/bloc/bloc_util.dart' as bloc_util;
|
import 'package:nc_photos/bloc/bloc_util.dart' as bloc_util;
|
||||||
import 'package:nc_photos/bloc/progress.dart';
|
import 'package:nc_photos/bloc/progress.dart';
|
||||||
|
@ -45,6 +44,7 @@ import 'package:nc_photos/widget/handler/archive_selection_handler.dart';
|
||||||
import 'package:nc_photos/widget/handler/double_tap_exit_handler.dart';
|
import 'package:nc_photos/widget/handler/double_tap_exit_handler.dart';
|
||||||
import 'package:nc_photos/widget/handler/remove_selection_handler.dart';
|
import 'package:nc_photos/widget/handler/remove_selection_handler.dart';
|
||||||
import 'package:nc_photos/widget/home_app_bar.dart';
|
import 'package:nc_photos/widget/home_app_bar.dart';
|
||||||
|
import 'package:nc_photos/widget/network_thumbnail.dart';
|
||||||
import 'package:nc_photos/widget/page_visibility_mixin.dart';
|
import 'package:nc_photos/widget/page_visibility_mixin.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_item.dart';
|
import 'package:nc_photos/widget/photo_list_item.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_util.dart' as photo_list_util;
|
import 'package:nc_photos/widget/photo_list_util.dart' as photo_list_util;
|
||||||
|
@ -1017,8 +1017,7 @@ class _SmartAlbumList extends StatelessWidget {
|
||||||
account: account,
|
account: account,
|
||||||
previewUrl: coverFile == null
|
previewUrl: coverFile == null
|
||||||
? null
|
? null
|
||||||
: api_util.getFilePreviewUrl(account, coverFile,
|
: NetworkRectThumbnail.imageUrlForFile(account, coverFile),
|
||||||
width: k.photoThumbSize, height: k.photoThumbSize),
|
|
||||||
label: a.name,
|
label: a.name,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
album_browser_util.push(context, account, a);
|
album_browser_util.push(context, account, a);
|
||||||
|
|
|
@ -18,14 +18,21 @@ class NetworkRectThumbnail extends StatelessWidget {
|
||||||
required this.errorBuilder,
|
required this.errorBuilder,
|
||||||
});
|
});
|
||||||
|
|
||||||
static String imageUrlForFile(Account account, FileDescriptor file) {
|
static String imageUrlForFile(Account account, FileDescriptor file) =>
|
||||||
return api_util.getFilePreviewUrl(
|
api_util.getFilePreviewUrl(
|
||||||
account,
|
account,
|
||||||
file,
|
file,
|
||||||
width: k.photoThumbSize,
|
width: k.photoThumbSize,
|
||||||
height: k.photoThumbSize,
|
height: k.photoThumbSize,
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
static String imageUrlForFileId(Account account, int fileId) =>
|
||||||
|
api_util.getFilePreviewUrlByFileId(
|
||||||
|
account,
|
||||||
|
fileId,
|
||||||
|
width: k.photoThumbSize,
|
||||||
|
height: k.photoThumbSize,
|
||||||
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -5,7 +5,6 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
||||||
import 'package:kiwi/kiwi.dart';
|
import 'package:kiwi/kiwi.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:nc_photos/account.dart';
|
import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/api/api_util.dart' as api_util;
|
|
||||||
import 'package:nc_photos/app_localizations.dart';
|
import 'package:nc_photos/app_localizations.dart';
|
||||||
import 'package:nc_photos/bloc/list_location.dart';
|
import 'package:nc_photos/bloc/list_location.dart';
|
||||||
import 'package:nc_photos/di_container.dart';
|
import 'package:nc_photos/di_container.dart';
|
||||||
|
@ -209,12 +208,8 @@ class _PlacesBrowserState extends State<PlacesBrowser> {
|
||||||
.map((e) => _PlaceItem(
|
.map((e) => _PlaceItem(
|
||||||
account: widget.account,
|
account: widget.account,
|
||||||
place: e.place,
|
place: e.place,
|
||||||
thumbUrl: api_util.getFilePreviewUrlByFileId(
|
thumbUrl: NetworkRectThumbnail.imageUrlForFileId(
|
||||||
widget.account,
|
widget.account, e.latestFileId),
|
||||||
e.latestFileId,
|
|
||||||
width: k.photoThumbSize,
|
|
||||||
height: k.photoThumbSize,
|
|
||||||
),
|
|
||||||
onTap: () => _onPlaceTap(e),
|
onTap: () => _onPlaceTap(e),
|
||||||
))
|
))
|
||||||
.toList();
|
.toList();
|
||||||
|
@ -223,12 +218,8 @@ class _PlacesBrowserState extends State<PlacesBrowser> {
|
||||||
.map((e) => _CountryItem(
|
.map((e) => _CountryItem(
|
||||||
account: widget.account,
|
account: widget.account,
|
||||||
country: e.place,
|
country: e.place,
|
||||||
thumbUrl: api_util.getFilePreviewUrlByFileId(
|
thumbUrl: NetworkRectThumbnail.imageUrlForFileId(
|
||||||
widget.account,
|
widget.account, e.latestFileId),
|
||||||
e.latestFileId,
|
|
||||||
width: k.photoThumbSize,
|
|
||||||
height: k.photoThumbSize,
|
|
||||||
),
|
|
||||||
onTap: () => _onCountryTap(e),
|
onTap: () => _onCountryTap(e),
|
||||||
))
|
))
|
||||||
.toList();
|
.toList();
|
||||||
|
|
|
@ -277,12 +277,8 @@ class _SearchLandingState extends State<SearchLanding> {
|
||||||
.map((e) => _LandingLocationItem(
|
.map((e) => _LandingLocationItem(
|
||||||
account: widget.account,
|
account: widget.account,
|
||||||
name: e.place,
|
name: e.place,
|
||||||
thumbUrl: api_util.getFilePreviewUrlByFileId(
|
thumbUrl: NetworkRectThumbnail.imageUrlForFileId(
|
||||||
widget.account,
|
widget.account, e.latestFileId),
|
||||||
e.latestFileId,
|
|
||||||
width: k.photoThumbSize,
|
|
||||||
height: k.photoThumbSize,
|
|
||||||
),
|
|
||||||
onTap: () => _onLocationItemTap(e),
|
onTap: () => _onLocationItemTap(e),
|
||||||
))
|
))
|
||||||
.toList();
|
.toList();
|
||||||
|
|
|
@ -4,7 +4,6 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
||||||
import 'package:kiwi/kiwi.dart';
|
import 'package:kiwi/kiwi.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:nc_photos/account.dart';
|
import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/api/api_util.dart' as api_util;
|
|
||||||
import 'package:nc_photos/app_localizations.dart';
|
import 'package:nc_photos/app_localizations.dart';
|
||||||
import 'package:nc_photos/di_container.dart';
|
import 'package:nc_photos/di_container.dart';
|
||||||
import 'package:nc_photos/download_handler.dart';
|
import 'package:nc_photos/download_handler.dart';
|
||||||
|
@ -14,12 +13,12 @@ import 'package:nc_photos/entity/album/provider.dart';
|
||||||
import 'package:nc_photos/entity/file.dart';
|
import 'package:nc_photos/entity/file.dart';
|
||||||
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
||||||
import 'package:nc_photos/flutter_util.dart' as flutter_util;
|
import 'package:nc_photos/flutter_util.dart' as flutter_util;
|
||||||
import 'package:nc_photos/k.dart' as k;
|
|
||||||
import 'package:nc_photos/object_extension.dart';
|
import 'package:nc_photos/object_extension.dart';
|
||||||
import 'package:nc_photos/share_handler.dart';
|
import 'package:nc_photos/share_handler.dart';
|
||||||
import 'package:nc_photos/use_case/preprocess_album.dart';
|
import 'package:nc_photos/use_case/preprocess_album.dart';
|
||||||
import 'package:nc_photos/widget/album_browser_mixin.dart';
|
import 'package:nc_photos/widget/album_browser_mixin.dart';
|
||||||
import 'package:nc_photos/widget/handler/add_selection_to_album_handler.dart';
|
import 'package:nc_photos/widget/handler/add_selection_to_album_handler.dart';
|
||||||
|
import 'package:nc_photos/widget/network_thumbnail.dart';
|
||||||
import 'package:nc_photos/widget/photo_list_item.dart';
|
import 'package:nc_photos/widget/photo_list_item.dart';
|
||||||
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
import 'package:nc_photos/widget/selectable_item_stream_list_mixin.dart';
|
||||||
import 'package:nc_photos/widget/viewer.dart';
|
import 'package:nc_photos/widget/viewer.dart';
|
||||||
|
@ -293,13 +292,8 @@ class _SmartAlbumBrowserState extends State<SmartAlbumBrowser>
|
||||||
for (int i = 0; i < _sortedItems.length; ++i) {
|
for (int i = 0; i < _sortedItems.length; ++i) {
|
||||||
final item = _sortedItems[i];
|
final item = _sortedItems[i];
|
||||||
if (item is AlbumFileItem) {
|
if (item is AlbumFileItem) {
|
||||||
final previewUrl = api_util.getFilePreviewUrl(
|
final previewUrl =
|
||||||
widget.account,
|
NetworkRectThumbnail.imageUrlForFile(widget.account, item.file);
|
||||||
item.file,
|
|
||||||
width: k.photoThumbSize,
|
|
||||||
height: k.photoThumbSize,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (file_util.isSupportedImageFormat(item.file)) {
|
if (file_util.isSupportedImageFormat(item.file)) {
|
||||||
yield _ImageListItem(
|
yield _ImageListItem(
|
||||||
index: i,
|
index: i,
|
||||||
|
|
Loading…
Reference in a new issue