示例#1
0
        static void InternalLinkClicked(InternalLinkKind kind, string source)
        {
            switch (kind)
            {
            case InternalLinkKind.User:
                if (KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn != null &&
                    KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn.SelectedTabViewModel != null)
                {
                    KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn
                    .SelectedTabViewModel.AddTopUser(source);
                }
                break;

            case InternalLinkKind.Hash:
                if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
                {
                    // Browser.Start("http://twitter.com/#search?q=" + source);
                    Browser.Start("http://twitter.com/search/%23" + source.Replace("#", ""));
                }
                else
                {
                    if (KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn != null &&
                        KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn.SelectedTabViewModel != null)
                    {
                        KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn
                        .SelectedTabViewModel.AddTopTimeline(new[] { new FilterText(source) });
                    }
                }
                break;

            case InternalLinkKind.Tweet:
                if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
                {
                    Browser.Start(source);
                }
                else
                {
                    if (KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn != null &&
                        KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn.SelectedTabViewModel != null)
                    {
                        KernelService.MainWindowViewModel.ColumnOwnerViewModel.CurrentFocusColumn
                        .SelectedTabViewModel.AddTopTimeline(new[] { new FilterStatusId(long.Parse(Regex.Match(source, TweetUrlRegex).Groups["id"].ToString()), true) });
                    }
                }
                break;

            default:
                InvalidLinkClicked("Internal::" + kind.ToString() + "," + source);
                break;
            }
        }
        static void InternalLinkClicked(InternalLinkKind kind, string source)
        {
            switch (kind)
            {
                case InternalLinkKind.User:
                    System.Diagnostics.Debug.WriteLine("Opening user:"******"Extracting hash:" + source);
                    if (Keyboard.GetKeyStates(Key.LeftCtrl) == KeyStates.Down || Keyboard.GetKeyStates(Key.RightCtrl) == KeyStates.Down)
                    {

                        CommonOperation.StartBrowser("http://twitter.com/#search?q=" + source);
                    }
                    else
                    {
                        Helper.CommonEventServer.RaiseShowTweetPane("t:" + source);
                    }
                    break;
                default:
                    InvalidLinkClicked("Internal::" + kind.ToString() + "," + source);
                    break;

            }
        }