using Xamarin.Forms;
using Xamarin.Forms.PlatformConfiguration.TizenSpecific;
using Xamarin.Forms.Xaml;
+using static TVMediaHub.Tizen.Views.ImageItem;
namespace TVMediaHub.Tizen.Views
{
/// </summary>
private ICommand ItemClickCommand;
- public delegate void ItemDeleteHandler(MediaInformation info);
+ public delegate void ContextPopupItemSelectedEventHandler(MediaInformation info, ImageContextPopupItem item);
- public ItemDeleteHandler OnItemDeleteHandler;
+ public ContextPopupItemSelectedEventHandler ContextPopupItemSelectedHandler;
/// <summary>
/// Gets or set ItemSource to display item
{
ItemClickCommand?.Execute(info);
};
- view.DeleteItemHandler += (info) =>
+ view.ContextPopupItemSelectedHandler += (info, selItem) =>
{
- OnItemDeleteHandler?.Invoke(info);
+ ContextPopupItemSelectedHandler?.Invoke(info, selItem);
};
GroupContentArea.Children.Add(view, index / 3, index % 3);
index++;
/// </summary>
public enum ItemStatus
{
- NORMAL = 0,
- SELECTED,
+ Normal = 0,
+ Selected,
};
+ public enum ImageContextPopupItem
+ {
+ FileInfo = 0,
+ Delete,
+ }
/// <summary>
/// A flag that whether the item is loaded or not
/// </summary>
public ItemEventHandler OnItemClickedHandler;
- public ItemEventHandler DeleteItemHandler;
+ public delegate void ContextPopupItemSelectedEventHandler(MediaInformation info, ImageContextPopupItem item);
+
+ public ContextPopupItemSelectedEventHandler ContextPopupItemSelectedHandler;
/// <summary>
/// Identifies the IsDeleteMode bindable property
OnItemClickedHandler?.Invoke(SelectedImage);
if (IsDeleteMode)
{
- if (CurStatus == ItemStatus.NORMAL)
+ if (CurStatus == ItemStatus.Normal)
{
- CurStatus = ItemStatus.SELECTED;
+ CurStatus = ItemStatus.Selected;
}
else
{
- CurStatus = ItemStatus.NORMAL;
+ CurStatus = ItemStatus.Normal;
}
UpdateView();
{
ImgCheckDimmed.FadeTo(0.0, 167);
ImgCheck.FadeTo(0.0, 167);
- CurStatus = ItemStatus.NORMAL;
+ CurStatus = ItemStatus.Normal;
}
else
{
ImgCheckDimmed.FadeTo(0.75, 167);
ImgCheck.FadeTo(0.99, 167);
- CurStatus = ItemStatus.SELECTED;
+ CurStatus = ItemStatus.Selected;
}
}
{
switch (CurStatus)
{
- case ItemStatus.NORMAL:
+ case ItemStatus.Normal:
ImgCheckDimmed.FadeTo(0.0, 167);
ImgCheck.FadeTo(0.0, 167);
break;
- case ItemStatus.SELECTED:
+ case ItemStatus.Selected:
ImgCheckDimmed.FadeTo(0.75, 167);
ImgCheck.FadeTo(0.99, 167);
break;
{
if (!IsDeleteMode)
{
- CurStatus = ItemStatus.NORMAL;
+ CurStatus = ItemStatus.Normal;
UpdateView();
}
}
switch (ctxPopup.SelectedIndex)
{
case 0:
- DbgPort.D("File info selected");
+ ContextPopupItemSelectedHandler?.Invoke(SelectedImage, ImageContextPopupItem.FileInfo);
break;
case 1:
- DeleteItemHandler?.Invoke(SelectedImage);
+ ContextPopupItemSelectedHandler?.Invoke(SelectedImage, ImageContextPopupItem.Delete);
break;
}
ctxPopup.Dismiss();
using System.Threading;
using System.Windows.Input;
using Tizen.Content.MediaContent;
+using Tizen.Xamarin.Forms.Extension;
using TVMediaHub.Tizen.Controls;
using TVMediaHub.Tizen.DataModels;
using TVMediaHub.Tizen.Models;
using TVMediaHub.Tizen.ViewModels;
using Xamarin.Forms;
using Xamarin.Forms.PlatformConfiguration.TizenSpecific;
+using static TVMediaHub.Tizen.Views.ImageItem;
namespace TVMediaHub.Tizen.Views
{
galleryGroup.BindingContext = group;
galleryGroup.SetClickCommand(OnClickCommand);
- galleryGroup.OnItemDeleteHandler += (info) =>
+ galleryGroup.ContextPopupItemSelectedHandler += (info, item) =>
{
- ShowDeletePopup(info);
+ ShowPopup(info, item);
};
GalleryContentView.Children.Add(galleryGroup);
ImageGroupList.Add(galleryGroup);
}
}
- private async void ShowDeletePopup(MediaInformation item)
+ private async void ShowPopup(MediaInformation info, ImageContextPopupItem item)
{
- bool answer = await DisplayAlert("Delete", "Delete '" + item.Title + "'?", "Yes", "No");
- if (answer)
+ switch (item)
{
- DeleteContentCommand?.Execute(item);
+ case ImageContextPopupItem.FileInfo:
+ string message = "File name : " + info.Title + "\n";
+ message += "File size : " + info.Size + "\n";
+ message += "File format : " + info.MimeType + "\n";
+ message += "File size : " + info.Size + "\n";
+ message += "File path : " + info.FilePath;
+ await DisplayAlert("File Information", message, "Close");
+ Dialog dialog = new Dialog();
+ break;
+ case ImageContextPopupItem.Delete:
+ bool answer = await DisplayAlert("Delete", "Delete '" + info.Title + "'?", "Yes", "No");
+ if (answer)
+ {
+ DeleteContentCommand?.Execute(item);
+ }
+ break;
}
}
using Xamarin.Forms;
using Xamarin.Forms.PlatformConfiguration.TizenSpecific;
using Tizen.Content.MediaContent;
+using static TVMediaHub.Tizen.Views.VideoItem;
namespace TVMediaHub.Tizen.Views
{
/// </summary>
private ICommand ItemClickCommand;
- public delegate void ItemDeleteHandler(MediaInformation info);
+ public delegate void ContextPopupItemSelelectedEventHandler(MediaInformation info, VideoContextPopupItem item);
- public ItemDeleteHandler OnItemDeleteHandler;
+ public ContextPopupItemSelelectedEventHandler ContextPopupItemSelectedHandler;
/// <summary>
/// Gets or sets source of list items
/// </summary>
{
ItemClickCommand?.Execute(info);
};
- view.DeleteItemHandler += (info) =>
+ view.ContextPopupItemSelectedHandler += (info, selItem) =>
{
- OnItemDeleteHandler?.Invoke(info);
+ ContextPopupItemSelectedHandler?.Invoke(info, selItem);
};
GroupContentArea.Children.Add(view, index / 3, index % 3);
/// </summary>
public enum ItemStatus
{
- NORMAL = 0,
- SELECTED,
+ Normal = 0,
+ Selected,
};
+ public enum VideoContextPopupItem
+ {
+ FileInfo = 0,
+ Delete,
+ }
+
/// <summary>
/// A value of current ItemStatus
/// </summary>
/// </summary>
public ItemEventHandler OnItemClickedHandler;
- public ItemEventHandler DeleteItemHandler;
+ public delegate void ContextPopupItemSelectedEventHandler(MediaInformation info, VideoContextPopupItem item);
+
+ public ContextPopupItemSelectedEventHandler ContextPopupItemSelectedHandler;
/// <summary>
/// Identifies the IsDeleteMode bindable property
OnItemClickedHandler?.Invoke(VideoInfo);
if (IsDeleteMode)
{
- if (CurStatus == ItemStatus.NORMAL)
+ if (CurStatus == ItemStatus.Normal)
{
- CurStatus = ItemStatus.SELECTED;
+ CurStatus = ItemStatus.Selected;
PlayImage.FadeTo(0, 167);
}
else
{
- CurStatus = ItemStatus.NORMAL;
+ CurStatus = ItemStatus.Normal;
PlayImage.FadeTo(0.99, 167);
}
#pragma warning restore CS4014
{
CheckDimImage.FadeTo(0.0, 167);
CheckImage.FadeTo(0.0, 167);
- CurStatus = ItemStatus.NORMAL;
+ CurStatus = ItemStatus.Normal;
}
else
{
CheckDimImage.FadeTo(0.75, 167);
CheckImage.FadeTo(0.99, 167);
- CurStatus = ItemStatus.SELECTED;
+ CurStatus = ItemStatus.Selected;
}
}
{
switch (CurStatus)
{
- case ItemStatus.NORMAL:
+ case ItemStatus.Normal:
CheckDimImage.FadeTo(0.0, 167);
CheckImage.FadeTo(0.0, 167);
break;
- case ItemStatus.SELECTED:
+ case ItemStatus.Selected:
CheckDimImage.FadeTo(0.75, 167);
CheckImage.FadeTo(0.99, 167);
break;
{
if (!IsDeleteMode)
{
- CurStatus = ItemStatus.NORMAL;
+ CurStatus = ItemStatus.Normal;
UpdateView();
}
}
switch (ctxPopup.SelectedIndex)
{
case 0:
- DbgPort.D("File info selected");
+ ContextPopupItemSelectedHandler.Invoke(VideoInfo, VideoContextPopupItem.FileInfo);
break;
case 1:
- DeleteItemHandler?.Invoke(VideoInfo);
+ ContextPopupItemSelectedHandler?.Invoke(VideoInfo, VideoContextPopupItem.Delete);
break;
}
ctxPopup.Dismiss();
using Xamarin.Forms;
using Xamarin.Forms.PlatformConfiguration.TizenSpecific;
using Tizen.Content.MediaContent;
+using static TVMediaHub.Tizen.Views.VideoItem;
+using Tizen.Xamarin.Forms.Extension;
namespace TVMediaHub.Tizen.Views
{
var GroupItem = e.NewItems[0];
groupView.BindingContext = GroupItem;
groupView.SetClickCommand(OnClickCommand);
- groupView.OnItemDeleteHandler += (info) =>
+ groupView.ContextPopupItemSelectedHandler += (info, item) =>
{
- ShowDeletePopup(info);
+ ShowPopup(info, item);
};
VideoTabList.Children.Add(groupView);
}
- private async void ShowDeletePopup(MediaInformation item)
+ private async void ShowPopup(MediaInformation info, VideoContextPopupItem item)
{
- bool answer = await DisplayAlert("Delete", "Delete '" + item.Title + "'?", "Yes", "No");
- if (answer)
+ switch (item)
{
- DeleteContentCommand?.Execute(item);
+ case VideoContextPopupItem.FileInfo:
+ string message = "File name : " + info.Title + "\n";
+ message += "File size : " + info.Size + "\n";
+ message += "File format : " + info.MimeType + "\n";
+ message += "File size : " + info.Size + "\n";
+ message += "File path : " + info.FilePath;
+
+ await DisplayAlert("File Information", message, "Close");
+ break;
+ case VideoContextPopupItem.Delete:
+ bool answer = await DisplayAlert("Delete", "Delete '" + info.Title + "'?", "Yes", "No");
+ if (answer)
+ {
+ DeleteContentCommand?.Execute(item);
+ }
+ break;
}
-
}
}
}