private static void OnResorceBrowserContentChanged(object sender, EventArgs e) { IResourceBrowser resourceBrowser = ICore.Instance.ResourceBrowser; resourceBrowser.LinksPaneExpanded = false; resourceBrowser.ContentChanged -= OnResorceBrowserContentChanged; }
private void OnMirandaOptionsChanged(object sender, EventArgs e) { if (IniSettings.SyncImmediate) { CreateMirandaWatcher(); } else { DisposeMirandaWatcher(); } _convManager.ReverseMode = IniSettings.LatestOnTop; if (!_convManager.ConversationPeriod.Equals(IniSettings.ConversationPeriodTimeSpan)) { _convManager.ConversationPeriod = IniSettings.ConversationPeriodTimeSpan; Core.ResourceAP.QueueJob(JobPriority.BelowNormal, new MethodInvoker(RebuildConversations)); } else { IResourceBrowser rBrowser = Core.ResourceBrowser; if (rBrowser.SelectedResources.AllResourcesOfType("MirandaConversation")) { rBrowser.RedisplaySelectedResource(); } } }
public MockPluginEnvironment(IResourceStore storage) { _picoContainer = new DefaultPicoContainer(); _mockPicoContainer = new DefaultPicoContainer(_picoContainer); Storage = storage; if (storage != null) { _picoContainer.RegisterComponentInstance(storage); } File.Delete(".\\MockPluginEnvironment.ini"); _settingStore = new Ini.IniFile(".\\MockPluginEnvironment.ini"); DynamicMock actionManagerMock = new DynamicMock(typeof(IActionManager)); actionManagerMock.SetupResult("GetKeyboardShortcut", "", typeof(IAction)); _actionManager = (IActionManager)actionManagerMock.MockInstance; _uiManager = (IUIManager) new DynamicMock(typeof(IUIManager)).MockInstance; _pluginLoader = (IPluginLoader) new DynamicMock(typeof(IPluginLoader)).MockInstance; _resourceBrowser = (IResourceBrowser) new DynamicMock(typeof(IResourceBrowser)).MockInstance; _tabManager = new MockTabManager(); _resourceAP = new MockAsyncProcessor(); _networkAP = new MockAsyncProcessor(); _uiAP = new MockAsyncProcessor(); DynamicMock resourceIconManagerMock = new DynamicMock(typeof(IResourceIconManager)); resourceIconManagerMock.SetupResult("IconColorDepth", ColorDepth.Depth8Bit); resourceIconManagerMock.SetupResult("GetIconIndex", 0, typeof(IResource)); _resourceIconManager = (IResourceIconManager)resourceIconManagerMock.MockInstance; _notificationManager = (INotificationManager) new DynamicMock(typeof(INotificationManager)).MockInstance; _textIndexManager = (ITextIndexManager) new DynamicMock(typeof(ITextIndexManager)).MockInstance; _messageFormatter = (IMessageFormatter) new DynamicMock(typeof(IMessageFormatter)).MockInstance; _displayColumnManager = (IDisplayColumnManager) new DynamicMock(typeof(IDisplayColumnManager)).MockInstance; // DynamicMock filterManagerMock = new DynamicMock( typeof(IFilterRegistry) ); DynamicMock filterEngineMock = new DynamicMock(typeof(IFilterEngine)); filterEngineMock.SetupResult("ExecRules", true, typeof(string), typeof(IResource)); DynamicMock filterManagerMock = new DynamicMock(typeof(IFilterRegistry)); _filterRegistry = (IFilterRegistry)filterManagerMock.MockInstance; _rcManager = (IRemoteControlManager) new DynamicMock(typeof(IRemoteControlManager)).MockInstance; _trayIconManager = (ITrayIconManager) new DynamicMock(typeof(ITrayIconManager)).MockInstance; _formattingRuleManager = (IFormattingRuleManager) new DynamicMock(typeof(IFormattingRuleManager)).MockInstance; _expirationRuleManager = (IExpirationRuleManager) new DynamicMock(typeof(IExpirationRuleManager)).MockInstance; _filteringFormsManager = (IFilteringFormsManager) new DynamicMock(typeof(IFilteringFormsManager)).MockInstance; _searchQueryExtensions = (ISearchQueryExtensions) new DynamicMock(typeof(ISearchQueryExtensions)).MockInstance; _filterEngine = (IFilterEngine) new DynamicMock(typeof(IFilterEngine)).MockInstance; theInstance = this; }
private void ICQOptionsChanged(object sender, EventArgs e) { bool reverseMode = GetReverseMode(); if (_conversationManager.ReverseMode != reverseMode) { _conversationManager.ReverseMode = reverseMode; IResourceBrowser rBrowser = Core.ResourceBrowser; if (rBrowser != null && rBrowser.SelectedResources != null && rBrowser.SelectedResources.AllResourcesOfType(_icqConversationResName)) { rBrowser.RedisplaySelectedResource(); } } }
private void WeblinkOrFolderChanged(object sender, ResourcePropIndexEventArgs e) { IResource webLink = e.Resource; IPropertyChangeSet set = e.ChangeSet; int propLastModified = Core.ResourceStore.PropTypes["LastModified"].Id; if (BookmarkService.DownloadMethod != 2 && webLink == _lastDisplayedWeblink && ((set.IsPropertyChanged(propLastModified) && webLink.HasProp("Source")) || (set.IsPropertyChanged(Core.Props.LastError) && webLink.HasProp(Core.Props.LastError)))) { // if the displayed web link has changed, redisplay it IResourceBrowser browser = Core.ResourceBrowser; if ((webLink == _favoritesTreePane.SelectedNode && Core.TabManager.CurrentTabId == "Web") || (browser.SelectedResources.Count == 1 && webLink == browser.SelectedResources[0])) { Core.UserInterfaceAP.QueueJobAt(DateTime.Now.AddSeconds(1), "RedisplaySelectedResource", browser.RedisplaySelectedResource); } } string URL = webLink.GetPropText(_propURL); if (URL.Length > 0) { if (set.IsPropertyChanged(_propLastUpdated) || set.IsPropertyChanged(_propUpdateFreq)) { BookmarkService.QueueWeblink(webLink, URL, BookmarkService.BookmarkSynchronizationTime(webLink)); } if (set.IsPropertyChanged(_propURL)) { BookmarkService.ImmediateQueueWeblink(webLink, URL); } } if (set.IsPropertyChanged(Core.PropIds.Name) || set.IsPropertyChanged(_propURL)) { IBookmarkProfile profile = _bookmarkService.GetOwnerProfile(webLink); string error; if (profile != null && profile.CanCreate(webLink, out error)) { profile.Create(webLink); } } }
public void Execute(IActionContext context) { IResourceList selected = context.SelectedResources; ArrayList names = new ArrayList(selected.Count); foreach (IResource res in selected.ValidResources) { string name = res.GetStringProp(FileProxy._propDirectory); if (res.Type != FileProxy._folderResourceType) { name = Path.Combine(name, res.GetPropText(Core.Props.Name)); } names.Add(name); } if (names.Count > 0) { IResourceBrowser rBrowser = Core.ResourceBrowser; IResourceList viewedResources = selected.Intersect(rBrowser.SelectedResources); IResource res2Select = null; foreach (IResource res in viewedResources.ValidResources) { res2Select = rBrowser.GetResourceBelow(res); } try { FoldersCollection foldersCollection = FoldersCollection.Instance; if (Control.ModifierKeys == Keys.Shift) { if (MessageBox.Show(Core.MainWindow, "Are you sure you want to delete " + ((names.Count > 1) ? (names.Count + " selected items?") : ("'" + names[0] + "'?")), "Confirm Deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { foreach (IResource res in selected.ValidResources) { foldersCollection.DeleteResource(res); } foreach (string name in names) { if (File.Exists(name)) { File.Delete(name); } else if (Directory.Exists(name)) { Directory.Delete(name, true); } } } } else { Shell32.MoveFile2RecycleBin((string[])names.ToArray(typeof(string))); FileProxy._filesProcessor.QueueJob( new ResourceListDelegate(foldersCollection.EnumerateParents), selected); } } catch (Exception e) { Utils.DisplayException(e, "Error"); return; } if (res2Select != null) { rBrowser.SelectResource(res2Select); } } }
private static void ResourceNodeSelected(IResource res, bool displayAnotherFolder) { if (Core.State != CoreState.ShuttingDown && res.Type == _folderResourceType) { IResourceBrowser rBrowser = Core.ResourceBrowser; // for deleted folder display empty resource list if (res.IsDeleted) { rBrowser.DisplayResourceList( null, Core.ResourceStore.EmptyResourceList, res.DisplayName, null); return; } if (!displayAnotherFolder && res != rBrowser.OwnerResource) { return; } IResourceList selected = null; if (res == rBrowser.OwnerResource) { selected = rBrowser.SelectedResources; } FoldersCollection foldersCollection = FoldersCollection.Instance; string path = res.GetPropText(_propDirectory); IResourceList folderContents = res.GetLinksToLive(null, _propParentFolder); /** * look through folders, create new ones and delete obsolete */ DirectoryInfo[] dirs = IOTools.GetDirectories(path); if (dirs != null) { foreach (DirectoryInfo dir in dirs) { foldersCollection.FindOrCreateDirectory(dir.FullName); } HashSet fileNames = new HashSet(); bool viewHidden = Core.SettingStore.ReadBool("FilePlugin", "ViewHidden", false); foreach (IResource file in folderContents.ValidResources) { if (file.Type == _folderResourceType) { if (!Directory.Exists(file.GetPropText(_propDirectory))) { foldersCollection.DeleteResource(file); } } else { string fullname = foldersCollection.GetFullName(file); if (!File.Exists(fullname)) { foldersCollection.DeleteResource(file); } else { FileInfo fi = IOTools.GetFileInfo(fullname); if (viewHidden || (fi.Attributes & FileAttributes.Hidden) == 0) { fileNames.Add(file.GetPropText(Core.Props.Name)); } } } } /** * collect not indexed files */ FileInfo[] files = IOTools.GetFiles(path); if (files != null) { foreach (FileInfo fi in files) { if ((viewHidden || (fi.Attributes & FileAttributes.Hidden) == 0) && !fileNames.Contains(fi.Name)) { IResource file = foldersCollection.FindOrCreateFile(fi, true); if (file != null) { folderContents = folderContents.Union(file.ToResourceList(), true); } } } } } /** * for folders excluded from indexing display deleted resources as well */ if (FoldersCollection.Instance.IsPathDeferred(path) || FoldersCollection.Instance.IsPathMonitored(path)) { folderContents = folderContents.Minus( Core.ResourceStore.FindResourcesWithPropLive(null, _propDeletedFile)); } ColumnDescriptor[] fileColumns = new ColumnDescriptor[4]; fileColumns[0].PropNames = new[] { "DisplayName" }; fileColumns[0].Width = 300; fileColumns[0].CustomComparer = new FoldersUpComparer(); fileColumns[1].PropNames = new[] { "FileType" }; fileColumns[1].Width = 120; fileColumns[2].PropNames = new[] { "Size" }; fileColumns[2].Width = 120; fileColumns[3].PropNames = new[] { "Date" }; fileColumns[3].Width = 120; rBrowser.DisplayUnfilteredResourceList( res, folderContents, path, Core.DisplayColumnManager.AddAnyTypeColumns(fileColumns)); if (selected != null) { foreach (IResource file in selected.ValidResources) { rBrowser.SelectResource(file); } } } }