Beispiel #1
0
        /// <summary>Sets Information Item.</summary>
        /// <param name="panel">Information Item Panel.</param>
        public void ShowInfoItem(IInfoItemPanel panel)
        {
            _infoItemPanel = panel;
            InfoItem item = panel.GetInfoItem();

            txbTitle.Text   = item.SrcTitle;
            txbUrl.Text     = item.Link;
            txbChannel.Text = item.Channel;

            dkpView.Children.Clear();
            InfoItemViewer intoViewer = new InfoItemViewer(item);

            intoViewer.Width  = dkpView.ActualWidth;
            intoViewer.Height = dkpView.ActualHeight;
            dkpView.Children.Add(intoViewer);

            if (item.Description == null || item.Description.Length <= 0)
            {
                lblEmpty.Visibility = Visibility.Visible;
            }
            else
            {
                lblEmpty.Visibility = Visibility.Hidden;
            }
        }
Beispiel #2
0
        /// <summary>Click event handler of each menu item.</summary>
        /// <param name="sender">Sender Object.</param>
        /// <param name="e">Event parameters.</param>
        public void menuItemZeptDistFolders_Click(object sender, MouseButtonEventArgs e)
        {
            if (_wndZeptDistFolders == null)
            {
                _wndZeptDistFolders        = new WndZeptDistFolders();
                _wndZeptDistFolders.Owner  = this;
                _wndZeptDistFolders.Width  = _naviConfig.WingWidth;
                _wndZeptDistFolders.Height = _naviConfig.WingHeight;

                System.Drawing.Rectangle rec = Screen.GetWorkingArea(new System.Drawing.Point(0, 0));
                double marginLeft            = this.Left;
                double marginRight           = rec.Width - (this.Left + this.Width);
                if (marginLeft > marginRight)
                {
                    _wndZeptDistFolders.Left = this.Left - _wndZeptDistFolders.Width;
                }
                else
                {
                    _wndZeptDistFolders.Left = this.Left + this.Width;
                }
                _wndZeptDistFolders.Top = this.Top + 30.0;
                _wndZeptDistFolders.Show();
            }

            if (_selPanel != null)
            {
                _selPanel.SetSelected(false);
            }

            _selPanel = (IInfoItemPanel)sender;
            _selPanel.SetSelected(true);
            _wndZeptDistFolders.Load(_selPanel.GetInfoItem().Title);
            _wndZeptDistFolders.Focus();
        }
Beispiel #3
0
        void infoPanel_Loaded(object sender, RoutedEventArgs e)
        {
            Image          imgThumb  = (Image)sender;
            IInfoItemPanel infoPanel = (IInfoItemPanel)((Grid)imgThumb.Parent).Parent;
            InfoItem       infoItem  = infoPanel.GetInfoItem();

            _errCountHash[infoItem.GeneratorId] = 0;
        }
Beispiel #4
0
        /// <summary>Click event handler of each information item.</summary>
        /// <param name="sender">Sender Object.</param>
        /// <param name="e">Event parameters.</param>
        public void infoItem_Click(object sender, MouseButtonEventArgs e)
        {
            if (_selPanel != null)
            {
                _selPanel.SetSelected(false);
            }

            _selPanel = (IInfoItemPanel)sender;
            _selPanel.SetSelected(true);

            if (_wndWing == null)
            {
                _wndWing        = new WndWing();
                _wndWing.Owner  = this;
                _wndWing.Width  = _naviConfig.WingWidth;
                _wndWing.Height = _naviConfig.WingHeight;

                System.Drawing.Rectangle rec = Screen.GetWorkingArea(new System.Drawing.Point(0, 0));
                double workAreaWidth         = SystemParameters.WorkArea.Width;
                double workAreaHeight        = SystemParameters.WorkArea.Height;
                double marginLeft            = this.Left;
                double marginRight           = workAreaWidth - (this.Left + this.Width);
                if (marginLeft > marginRight)
                {
                    _wndWing.Left = this.Left - _wndWing.Width;
                }
                else
                {
                    _wndWing.Left = this.Left + this.Width;
                }
                _wndWing.Top = this.Top + 30.0;
                if (workAreaHeight - _wndWing.Top < _wndWing.Height)
                {
                    _wndWing.Top = workAreaHeight - _wndWing.Height;
                }
                _wndWing.Show();
            }

            if (_wndWing.InfoItemPanel != null &&
                _wndWing.InfoItemPanel.GetInfoItem() == _selPanel.GetInfoItem())
            {
                _wndWing.Close();
                _wndWing = null;
            }
            else
            {
                _wndWing.chkUnread.IsChecked = false;

                _wndWing.ShowInfoItem(_selPanel);
                markRead(_selPanel, true);
            }
        }
Beispiel #5
0
        /// <summary>Closing event handler.</summary>
        /// <param name="sender">Sender Object.</param>
        /// <param name="e">Event parameters.</param>
        private void wndWing_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            WndMain wndMain = (WndMain)App.Current.MainWindow;

            wndMain.NaviConfig.WingWidth  = Width;
            wndMain.NaviConfig.WingHeight = Height;

            if (_infoItemPanel != null)
            {
                //_infoItemPanel.SetSelected(false);
                _infoItemPanel = null;
            }
        }
Beispiel #6
0
        public void infoPanel_ImageFailed(object sender, ExceptionRoutedEventArgs e)
        {
            Image          imgThumb  = (Image)sender;
            IInfoItemPanel infoPanel = (IInfoItemPanel)((Grid)imgThumb.Parent).Parent;
            InfoItem       infoItem  = infoPanel.GetInfoItem();

            int errCnt = 0;

            if (_errCountHash[infoItem.GeneratorId] != null)
            {
                errCnt = (int)_errCountHash[infoItem.GeneratorId];
            }

            _errCountHash[infoItem.GeneratorId] = ++errCnt;
        }
Beispiel #7
0
        /// <summary>Key Down event handler.</summary>
        /// <param name="sender">Sender Object.</param>
        /// <param name="e">Event parameters.</param>
        private void viewFeed_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
        {
            switch (e.Key)
            {
            case Key.Return:
            case Key.Space:
            {
                IInfoItemPanel newSelPanel = null;

                _mutexPanel.WaitOne();
                foreach (IInfoItemPanel infoPanel in stpFeed.Children)
                {
                    if (infoPanel.IsMouseHovering())
                    {
                        newSelPanel = infoPanel;
                        break;
                    }
                }
                _mutexPanel.ReleaseMutex();

                if (newSelPanel != null)
                {
                    if (newSelPanel.GetType() == typeof(InfoItemPanel_A) ||
                        newSelPanel.GetType() == typeof(InfoItemPanel_B))
                    {
                        infoItem_Click(newSelPanel, null);
                    }
#if ZEPTAIR
                    else if (newSelPanel.GetType() == typeof(MenuItemPanel))
                    {
                        menuItemZeptDistFolders_Click(newSelPanel, null);
                    }
#endif
                }
            }
            break;

            default:
                break;
            }
        }
Beispiel #8
0
 /// <summary>Click event handler of each menu item.</summary>
 /// <param name="panel">Information Item Panel.</param>
 /// <param name="isRead">Flag whether read or not.</param>
 public void markRead(IInfoItemPanel panel, bool isRead)
 {
     if (isRead)
     {
         panel.MarkRead();
     }
     else
     {
         panel.MarkUnread();
     }
     try
     {
         ThetisCore.Lib.IIpcTaskService ipcTaskService = ThetisCore.Lib.IpcServiceAgent.GetTaskService();
         if (ipcTaskService != null)
         {
             ipcTaskService.SetRead(panel.GetInfoItem().Id, isRead);
         }
     }
     catch (Exception ex)
     {
         Log.AddError(ex.Message + "\n" + ex.StackTrace);
     }
 }