Example #1
0
        private void RestoreQuickAccess()
        {
            const string name = "ribbon.xml";

            if (!File.Exists(name))
            {
                return;
            }

            try {
                var fs = File.OpenRead(name);
                using (var reader = new StreamReader(fs)) {
                    var serializer = new XmlSerializer(typeof(ArrayList));
                    var list       = serializer.Deserialize(reader) as ArrayList;
                    if (list == null)
                    {
                        return;
                    }
                    var names = list.OfType <string>();
                    var items = names.Select(QuickAccessRegistry.Find).Where(x => x != null);
                    QuickAccessItems.AddRange(items);
                }
            } catch (IOException ex) {
                Debug.WriteLine(ex);
            }
        }
Example #2
0
        private async Task StoreQuickAccessAsync()
        {
            var keys = new ArrayList(QuickAccessItems
                                     .Where(x => x.Key != null)
                                     .Select(x => x.Key)
                                     .ToArray());

            if (keys.Count == 0)
            {
                return;
            }

            const string name = "ribbon.xml";

            try {
                var fs = !File.Exists(name)
                    ? File.Create(name)
                    : File.Open(name, FileMode.Truncate, FileAccess.Write);

                using (var writer = new StreamWriter(fs)) {
                    var serializer = new XmlSerializer(typeof(ArrayList));
                    serializer.Serialize(writer, keys);
                    await writer.FlushAsync();
                }
            } catch (IOException ex) {
                Debug.WriteLine(ex);
            }
        }
Example #3
0
        private async void OnAddQuickAccess(object sender, ExecutedRoutedEventArgs e)
        {
            if (!(e.Parameter is IQuickAccessConform))
            {
                return;
            }

            QuickAccessItems.Add((IQuickAccessConform)e.Parameter);
            await StoreQuickAccessAsync();
        }