コード例 #1
0
ファイル: JournalView.cs プロジェクト: semiodesk/artivity
        protected void OnCellDoubleClick(object sender, EventArgs e)
        {
            JournalViewListItem selectedItem = _grid.SelectedItem as JournalViewListItem;

            if (selectedItem == null)
            {
                return;
            }

            MainWindow.Navigate <FileView>((window, view) =>
            {
                view.FilePath = selectedItem.FilePath;
            });
        }
コード例 #2
0
ファイル: JournalView.cs プロジェクト: semiodesk/artivity
        private void LoadBindings(IEnumerable <BindingSet> bindings)
        {
            Dictionary <string, JournalViewListItem> items = new Dictionary <string, JournalViewListItem>();

            foreach (BindingSet binding in bindings)
            {
                string url = binding["fileUrl"].ToString();

                // Skip any malformed URIs.
                if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
                {
                    continue;
                }

                // Do not list files which do not exist.
                string path = new Uri(url).LocalPath;

                if (!File.Exists(path))
                {
                    continue;
                }

                UriRef   agent       = new UriRef(binding["agent"].ToString());
                DateTime startTime   = (DateTime)binding["startTime"];
                DateTime endTime     = (DateTime)binding["endTime"];
                TimeSpan editingTime = endTime - startTime;

                JournalViewListItem item = new JournalViewListItem()
                {
                    Agent            = agent,
                    FileUrl          = url,
                    FilePath         = path,
                    LastEditingDate  = startTime,
                    TotalEditingTime = editingTime
                };

                if (items.ContainsKey(path))
                {
                    items[path].TotalEditingTime += item.TotalEditingTime;
                }
                else
                {
                    items[path] = item;
                }
            }

            _grid.DataStore = items.Values;
        }
コード例 #3
0
ファイル: JournalView.cs プロジェクト: semiodesk/artivity
        protected override void OnKeyUp(KeyEventArgs e)
        {
            if (e.Key == Keys.Enter)
            {
                JournalViewListItem selectedItem = _grid.SelectedItem as JournalViewListItem;

                if (selectedItem == null)
                {
                    return;
                }

                string filePath = selectedItem.FilePath;

                if (string.IsNullOrEmpty(filePath) || !File.Exists(filePath))
                {
                    return;
                }

                RaiseFileSelected(new FileSelectionEventArgs(filePath));
            }
            else if (e.Key == Keys.Space)
            {
                JournalViewListItem selectedItem = _grid.SelectedItem as JournalViewListItem;

                if (selectedItem == null)
                {
                    return;
                }

                RaiseFileSelected(new FileSelectionEventArgs(selectedItem.FilePath));
            }
            else if (e.Key == Keys.F5)
            {
                Refresh();
            }
        }