예제 #1
0
파일: Lutea.cs 프로젝트: gageas/lutea
        /// <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);
            }
        }
예제 #2
0
파일: Lutea.cs 프로젝트: gageas/lutea
 /// <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);
     }
 }