/// <summary> /// プレイリストをソートするカラムを設定する /// [ソートなし]に設定する場合,columnText=nullとする /// </summary> /// <param name="columnName">ソートに使用するカラム名</param> /// <param name="sortOrder">ソート順</param> public static void SetSortColumn(String columnName, SortOrders sortOrder = SortOrders.KeepOrFlip) { // ソートなし設定 if (GetColumnIndexByName(columnName) >= 0) { // ソート順を交換 if (sortOrder == SortOrders.KeepOrFlip && AppCore.PlaylistSortColumn == columnName) { sortOrder = AppCore.PlaylistSortOrder == SortOrders.Asc ? SortOrders.Desc : SortOrders.Asc; } } else { columnName = null; } // ソート順変更イベントを通知 if (PlaylistSortOrderChanged != null) { var lambda = (Action)(() => { AppCore.SetPlaylistSort(columnName, sortOrder); PlaylistSortOrderChanged.Invoke(AppCore.PlaylistSortColumn, AppCore.PlaylistSortOrder); }); lambda.BeginInvoke(_ => lambda.EndInvoke(_), null); } }
/// <summary> /// Coreより,Core,プラグイン初期化後に呼ばれる. /// 初期イベント通知とController部の動作を開始. /// </summary> internal static void Startup() { if (onVolumeChange != null) { onVolumeChange.Invoke(); } if (onPlaybackOrderChange != null) { onPlaybackOrderChange.Invoke(); } if (PlaylistUpdated != null) { PlaylistUpdated.Invoke(AppCore.LatestPlaylistQuery); } if (PlaylistSortOrderChanged != null) { PlaylistSortOrderChanged.Invoke(AppCore.PlaylistSortColumn, AppCore.PlaylistSortOrder); } }