public void Close(EndCode code) { if(code != EndCode.Hidden) { pluginServer = null; shellBrowser = null; } }
public void Dispose() { if(shellBrowser != null) { Marshal.FinalReleaseComObject(shellBrowser); shellBrowser = null; } if(folderView != null) { Marshal.ReleaseComObject(folderView); folderView = null; } }
public void Dispose() { if(shellBrowser != null) { if(shared) { Marshal.ReleaseComObject(shellBrowser); } else { Marshal.FinalReleaseComObject(shellBrowser); } shellBrowser = null; } }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; this.shellBrowser = shellBrowser; if(!pluginServer.TryGetLocalizedStrings(this, 3, out ResStrs)) { if(CultureInfo.CurrentCulture.Parent.Name == "ja") ResStrs = Resource.strQTFolderButton_ja.Split(new char[] { ';' }); else ResStrs = Resource.strQTFolderButton.Split(new char[] { ';' }); } }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; this.shellBrowser = shellBrowser; if(!pluginServer.TryGetLocalizedStrings(this, 1, out ResStr)) { ResStr = new string[] { StringResources.ButtonNames[0] }; } this.pluginServer.SelectionChanged += pluginServer_SelectionChanged; this.pluginServer.NavigationComplete += pluginServer_NavigationComplete; }
public void Close(EndCode code) { this.pluginServer = null; this.shellBrowser = null; if(this.button != null) { this.button.Dispose(); } if(this.fvmw != null) { this.fvmw.Dispose(); } }
public void Close(EndCode code) { pluginServer = null; shellBrowser = null; if(button != null) { button.Dispose(); } if(fvmw != null) { fvmw.Dispose(); } }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; if(!pluginServer.TryGetLocalizedStrings(this, RES_COUNT, out this.ResStrs)) { if(System.Globalization.CultureInfo.CurrentCulture.Parent.Name == "ja") this.ResStrs = Resource.ResStrs_ja.Split(new char[] { ';' }); else this.ResStrs = Resource.ResStrs.Split(new char[] { ';' }); } this.RestoreInitialSize(); }
public static void FileOperation(FileOpActions action, IntPtr hwndExplr, IShellBrowser shellBrowser) { IntPtr hwnd = FileOps.fVista ? FindWindowEx(hwndExplr, IntPtr.Zero, new StringBuilder("ShellTabWindowClass"), null) : hwndExplr; if(FileOps.fVista) SendMessage(hwnd, WM_COMMAND, (IntPtr)action, IntPtr.Zero); else PostMessage(hwnd, WM_COMMAND, (IntPtr)action, IntPtr.Zero); // make selected icons transparent and refresh them immediately. // ( when NO-FULLROW-SELECT setting is ON, vista's explorer won't redraw items... ) if(FileOps.fVista && action == FileOpActions.Cut && shellBrowser != null) FileOps.RefreshItems(shellBrowser); }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; if(!this.pluginServer.TryGetLocalizedStrings(this, 4, out ResStrs)) { if(CultureInfo.CurrentCulture.Parent.Name == "ja") { ResStrs = Resource.str_ja.Split(new char[] { ';' }); } else { ResStrs = Resource.str_en.Split(new char[] { ';' }); } } this.pluginServer.RegisterMenu(this, MenuType.Tab, ResStrs[0], true); this.pluginServer.NavigationComplete += pluginServer_NavigationComplete; this.pluginServer.ExplorerStateChanged += pluginServer_ExplorerStateChanged; }
internal event MouseLeaveHandler MouseLeave; // SysListView Only internal ListViewWrapper(IShellBrowser ShellBrowser, IntPtr ExplorerHandle) { this.ShellBrowser = ShellBrowser; this.ExplorerHandle = ExplorerHandle; if(QTUtility.IsVista) { hwndEnumResult = IntPtr.Zero; PInvoke.EnumChildWindows(ExplorerHandle, new EnumWndProc(this.CallbackEnumChildProc_Container), IntPtr.Zero); ShellContainer = hwndEnumResult; } else { ShellContainer = ExplorerHandle; } if(ShellContainer != IntPtr.Zero) { ContainerController = new NativeWindowController(ShellContainer); ContainerController.MessageCaptured += new NativeWindowController.MessageEventHandler(ContainerController_MessageCaptured); } Initialize(); }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { // called when this plugin class instantialized. this.pluginServer = pluginServer; this.shellBrowser = shellBrowser; // attached events are automatically detached when plugin closes. this.pluginServer.TabChanged += pluginServer_TabChanged; this.pluginServer.TabAdded += pluginServer_TabAdded; this.pluginServer.TabRemoved += pluginServer_TabRemoved; this.pluginServer.NavigationComplete += pluginServer_NavigationComplete; this.pluginServer.SettingsChanged += pluginServer_SettingsChanged; this.pluginServer.SelectionChanged += pluginServer_SelectionChanged; // registering to QTTabBar menu. this.pluginServer.RegisterMenu(this, MenuType.Both, "SampleSplitButton Menu test", true); }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; this.shellBrowser = shellBrowser; if(!this.pluginServer.TryGetLocalizedStrings(this, 7, out this.ResStrs)) { // if localized strings not found, falls back to default strings in assembly resource of this dll. // this plugin has 2 language resources in assemly, but usually there's no need to do like this. // it only has to have a resource of your own language. if(System.Globalization.CultureInfo.CurrentCulture.Parent.Name == "ja") this.ResStrs = Resource.viewModes_Ja.Split(new char[] { ';' }); else this.ResStrs = Resource.viewModes.Split(new char[] { ';' }); } this.pluginServer.NavigationComplete += new PluginEventHandler(pluginServer_NavigationComplete); }
int IShellView.CreateViewWindow([In, MarshalAs(UnmanagedType.Interface)] IShellView psvPrevious, [In] ref FOLDERSETTINGS pfs, [In, MarshalAs(UnmanagedType.Interface)] IShellBrowser psb, [In] ref RECT prcView, [In, Out] ref IntPtr phWnd) { // Store the shell browser. shellBrowser = psb; // Resize the custom view. customView.Bounds = new Rectangle(prcView.left, prcView.top, prcView.Width(), prcView.Height()); customView.Visible = true; // Set the handle to the handle of the custom view. phWnd = customView.Handle; // Set the custom view to be a child of the shell browser. IntPtr parentWindowHandle; psb.GetWindow(out parentWindowHandle); User32.SetParent(phWnd, parentWindowHandle); // TODO: finish this function off. return WinError.S_OK; }
private static void RefreshItems(IShellBrowser shellBrowser) { IShellView shellView = null; IShellFolderView shellFolderView = null; try { if(0 == shellBrowser.QueryActiveShellView(out shellView)) { shellFolderView = (IShellFolderView)shellView; // no need this? shellFolderView.SetClipboard(true); IntPtr p; int items; int ui; if(0 == shellFolderView.GetSelectedObjects(out p, out items)) { if(p != IntPtr.Zero) { if(items > 0) { IntPtr[] pIDLs = new IntPtr[items]; Marshal.Copy(p, pIDLs, 0, items); for(int i = 0; i < items; i++) { shellFolderView.RefreshObject(pIDLs[i], out ui); } } LocalFree(p); } } } } catch { } finally { if(shellView != null) Marshal.ReleaseComObject(shellView); if(shellFolderView != null) Marshal.ReleaseComObject(shellFolderView); } }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; MigemoLoader.ReadSettings(); }
public static void InitShellBrowserHook(IShellBrowser shellBrowser) { lock(typeof(HookLibManager)) { if(fShellBrowserIsHooked || hHookLib == IntPtr.Zero) return; IntPtr pFunc = PInvoke.GetProcAddress(hHookLib, "InitShellBrowserHook"); if(pFunc == IntPtr.Zero) return; InitShellBrowserHookDelegate initShellBrowserHook = (InitShellBrowserHookDelegate) Marshal.GetDelegateForFunctionPointer(pFunc, typeof(InitShellBrowserHookDelegate)); IntPtr pShellBrowser = Marshal.GetComInterfaceForObject(shellBrowser, typeof(IShellBrowser)); if(pShellBrowser == IntPtr.Zero) return; int retcode = -1; try { retcode = initShellBrowserHook(pShellBrowser); } catch(Exception e) { QTUtility2.MakeErrorLog(e, ""); } finally { Marshal.Release(pShellBrowser); } if(retcode != 0) { QTUtility2.MakeErrorLog(null, "InitShellBrowserHook failed: " + retcode); // TODO: Localize this MessageForm.Show(IntPtr.Zero, "Error: Unable to initialize QTTabBar hook library. " + "Some features might not be functional. " + "You may need to reinstall the applicaiton.", "Error", MessageBoxIcon.Hand, 30000, false, true); } else { fShellBrowserIsHooked = true; } } }
public void Close(EndCode code) { this.pluginServer = null; this.shellBrowser = null; }
private bool GetFolderView() { IntPtr pUnk = PInvoke.SendMessage(GetProgmanHWnd(), 0x407, IntPtr.Zero, IntPtr.Zero); if(pUnk != IntPtr.Zero) { try { IShellView view; this.shellBrowser = (IShellBrowser)Marshal.GetObjectForIUnknown(pUnk); if(this.shellBrowser.QueryActiveShellView(out view) == 0) { this.folderView = view as IFolderView; if(this.folderView != null) { return true; } } } catch { } finally { Marshal.Release(pUnk); } } return false; }
public ShellBrowserEx(IShellBrowser shellBrowser) { this.shellBrowser = shellBrowser; OnNavigateComplete(); }
public void Close(EndCode code) { pluginServer = null; shellBrowser = null; }
public static IntPtr ShellGetPath(IShellBrowser shellBrowser) { IShellView ppshv = null; IPersistFolder2 ppv = null; try { if(shellBrowser.QueryActiveShellView(out ppshv) == 0) { Guid riid = ExplorerGUIDs.IID_IPersistFolder2; IFolderView view2 = (IFolderView)ppshv; if(view2.GetFolder(ref riid, out ppv) == 0) { IntPtr ptr; ppv.GetCurFolder(out ptr); return ptr; } } } catch { } finally { if(ppshv != null) { Marshal.ReleaseComObject(ppshv); } if(ppv != null) { Marshal.ReleaseComObject(ppv); } } return IntPtr.Zero; }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; this.shellBrowser = shellBrowser; }
public ShellBrowserEx(IShellBrowser shellBrowser, bool shared = false) { this.shellBrowser = shellBrowser; this.shared = shared; }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { }
/** do not init shell brownser hook. */ public static void InitShellBrowserHook(IShellBrowser shellBrowser) { }
public static IShellView QueryActiveShellView(this IShellBrowser shellBrowser) { shellBrowser.QueryActiveShellView(out var ppshv); return(ppshv); }
public override void CloseDW(uint dwReserved) { if(iContextMenu2 != null) { Marshal.ReleaseComObject(iContextMenu2); iContextMenu2 = null; } if(this.folderView != null) { Marshal.ReleaseComObject(this.folderView); this.folderView = null; } if(this.shellBrowser != null) { Marshal.ReleaseComObject(this.shellBrowser); this.shellBrowser = null; } DisposeInvoker method = new DisposeInvoker(this.InvokeDispose); if(this.thumbnailTooltip != null) { this.thumbnailTooltip.Invoke(method, new object[] { this.thumbnailTooltip }); this.thumbnailTooltip = null; } if(this.subDirTip != null) { this.subDirTip.Invoke(method, new object[] { this.subDirTip }); this.subDirTip = null; } if(this.hashForm != null) { this.hashForm.Invoke(method, new object[] { this.hashForm }); this.hashForm = null; } if(this.hHook_MsgDesktop != IntPtr.Zero) { PInvoke.UnhookWindowsHookEx(this.hHook_MsgDesktop); this.hHook_MsgDesktop = IntPtr.Zero; } if(this.hHook_MsgShell_TrayWnd != IntPtr.Zero) { PInvoke.UnhookWindowsHookEx(this.hHook_MsgShell_TrayWnd); this.hHook_MsgShell_TrayWnd = IntPtr.Zero; } if(this.hHook_KeyDesktop != IntPtr.Zero) { PInvoke.UnhookWindowsHookEx(this.hHook_KeyDesktop); this.hHook_KeyDesktop = IntPtr.Zero; } if(this.shellViewController != null) { this.shellViewController.ReleaseHandle(); this.shellViewController = null; } base.CloseDW(dwReserved); }
int IServiceProvider.QueryService(ref Guid guidService, ref Guid riid, out IShellBrowser ppvObject) { var shellBrowserGuid = typeof (IShellBrowser).GUID; /*if (riid == Shell32.IID_IShellBrowser) { ppvObject = this; return WinError.S_OK; }*/ ppvObject = null; return WinError.E_NOINTERFACE; }
/// <summary> /// Open folder and select an item. /// </summary> /// <remarks> /// SHParseDisplayName will not always find the correct folder. If the user has a folder open that is rooted in their user folder (e.g. the desktop, Dropbox/Mega/Nextcloud folder), /// this won't match the folder reference returned by SHParseDisplayName if given the actual path of the same folder. This will result in opening a duplicate folder. /// So instead, we iterate through open folder windows for a path match first, then use the old method if one is not found. /// </remarks> /// <param name="filePath">Full path to a file to highlight in Windows Explorer</param> public static void OpenFolderAndSelectItem(string filePath) { var folderPath = Path.GetDirectoryName(filePath); bool opened = false; var shellWindowsType = Type.GetTypeFromCLSID(SID_ShellWindows); var shellWindows = (dynamic)Activator.CreateInstance(shellWindowsType); try { foreach (IServiceProvider sp in shellWindows) { var pidl = IntPtr.Zero; var nativeFile = IntPtr.Zero; try { sp.QueryService(SID_STopLevelBrowser, typeof(IShellBrowser).GUID, out object sb); IShellBrowser shellBrowser = (IShellBrowser)sb; shellBrowser.QueryActiveShellView(out object sv); IFolderView fv = sv as IFolderView; if (fv != null) { // only folder implementation support this (IE windows do not for example) fv.GetFolder(typeof(IPersistFolder2).GUID, out object pf); IPersistFolder2 persistFolder = (IPersistFolder2)pf; // get current folder pidl persistFolder.GetCurFolder(out pidl); var path = new StringBuilder(1024); if (SHGetPathFromIDList(pidl, path)) { if (string.Equals(path.ToString(), folderPath, StringComparison.InvariantCultureIgnoreCase)) { SHParseDisplayName(Path.Combine(folderPath, filePath), IntPtr.Zero, out nativeFile, 0, out _); IntPtr[] fileArray; if (nativeFile == IntPtr.Zero) { // Open the folder without the file selected if we can't find the file fileArray = new IntPtr[0]; } else { fileArray = new IntPtr[] { nativeFile }; } SHOpenFolderAndSelectItems(pidl, (uint)fileArray.Length, fileArray, 0); opened = true; break; } } } } finally { if (nativeFile != IntPtr.Zero) { Marshal.FreeCoTaskMem(nativeFile); } if (pidl != IntPtr.Zero) { Marshal.FreeCoTaskMem(pidl); } Marshal.ReleaseComObject(sp); } } } finally { Marshal.FinalReleaseComObject(shellWindows); } if (!opened) { IntPtr nativeFolder; uint psfgaoOut; SHParseDisplayName(folderPath, IntPtr.Zero, out nativeFolder, 0, out psfgaoOut); if (nativeFolder == IntPtr.Zero) { // Log error, can't find folder return; } IntPtr nativeFile; SHParseDisplayName(Path.Combine(folderPath, filePath), IntPtr.Zero, out nativeFile, 0, out psfgaoOut); IntPtr[] fileArray; if (nativeFile == IntPtr.Zero) { // Open the folder without the file selected if we can't find the file fileArray = new IntPtr[0]; } else { fileArray = new IntPtr[] { nativeFile }; } SHOpenFolderAndSelectItems(nativeFolder, (uint)fileArray.Length, fileArray, 0); Marshal.FreeCoTaskMem(nativeFolder); if (nativeFile != IntPtr.Zero) { Marshal.FreeCoTaskMem(nativeFile); } } }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; if(!pluginServer.TryGetLocalizedStrings(this, 1, out this.ResStr)) { this.ResStr = new string[] { StringResources.ButtonNames[7] }; } this.pluginServer.SelectionChanged += new PluginEventHandler(pluginServer_SelectionChanged); this.pluginServer.NavigationComplete += new PluginEventHandler(pluginServer_NavigationComplete); }
protected override void OnExplorerAttached() { this.ExplorerHandle = (IntPtr)base.Explorer.HWND; if(QTUtility.CheckConfig(Settings.NoWindowResizing)) { PInvoke.SetWindowLongPtr(this.ExplorerHandle, -16, PInvoke.Ptr_OP_AND(PInvoke.GetWindowLongPtr(this.ExplorerHandle, -16), 0xfffbffff)); } try { object obj2; object obj3; _IServiceProvider bandObjectSite = (_IServiceProvider)base.BandObjectSite; Guid guid = ExplorerGUIDs.IID_IShellBrowser; Guid riid = ExplorerGUIDs.IID_IUnknown; bandObjectSite.QueryService(ref guid, ref riid, out obj2); this.ShellBrowser = (IShellBrowser)obj2; Guid guid3 = ExplorerGUIDs.IID_ITravelLogStg; Guid guid4 = ExplorerGUIDs.IID_ITravelLogStg; bandObjectSite.QueryService(ref guid3, ref guid4, out obj3); this.TravelLog = (ITravelLogStg)obj3; } catch(COMException exception) { QTUtility2.MakeErrorLog(exception, null); } base.Explorer.BeforeNavigate2 += new DWebBrowserEvents2_BeforeNavigate2EventHandler(this.Explorer_BeforeNavigate2); base.Explorer.NavigateComplete2 += new DWebBrowserEvents2_NavigateComplete2EventHandler(this.Explorer_NavigateComplete2); base.Explorer.DownloadBegin += new SHDocVw.DWebBrowserEvents2_DownloadBeginEventHandler(this.Explorer_DownloadBegin); }
public override void CloseDW(uint dwReserved) { try { if(this.thumbnailTooltip != null) { this.thumbnailTooltip.Dispose(); this.thumbnailTooltip = null; } if(this.subDirTip != null) { this.subDirTip.Dispose(); this.subDirTip = null; } if(this.subDirTip_Tab != null) { this.subDirTip_Tab.Dispose(); this.subDirTip_Tab = null; } if(this.IsShown) { if(this.pluginManager != null) { this.pluginManager.Close(false); this.pluginManager = null; } if(this.hHook_Key != IntPtr.Zero) { PInvoke.UnhookWindowsHookEx(this.hHook_Key); this.hHook_Key = IntPtr.Zero; } if(this.hHook_Mouse != IntPtr.Zero) { PInvoke.UnhookWindowsHookEx(this.hHook_Mouse); this.hHook_Mouse = IntPtr.Zero; } if(this.hHook_Msg != IntPtr.Zero) { PInvoke.UnhookWindowsHookEx(this.hHook_Msg); this.hHook_Msg = IntPtr.Zero; } if(this.explorerController != null) { this.explorerController.ReleaseHandle(); this.explorerController = null; } if(this.shellViewController != null) { this.shellViewController.ReleaseHandle(); this.shellViewController = null; } if(this.rebarController != null) { this.rebarController.ReleaseHandle(); this.rebarController = null; } if(QTUtility.IsVista && (this.travelBtnController != null)) { this.travelBtnController.ReleaseHandle(); this.travelBtnController = null; } if(dicNotifyIcon != null) { dicNotifyIcon.Remove(this.ExplorerHandle); } if((hwndNotifyIconParent == this.ExplorerHandle) && (notifyIcon != null)) { notifyIcon.Dispose(); notifyIcon = null; contextMenuNotifyIcon.Dispose(); contextMenuNotifyIcon = null; hwndNotifyIconParent = IntPtr.Zero; if(dicNotifyIcon.Count > 0) { foreach(IntPtr ptr in dicNotifyIcon.Keys) { IntPtr tabBarHandle = QTUtility.instanceManager.GetTabBarHandle(ptr); if(1 == ((int)QTUtility2.SendCOPYDATASTRUCT(tabBarHandle, (IntPtr)0x30, "createNI", IntPtr.Zero))) { break; } } } } using(RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Quizo\QTTabBar")) { if(!QTUtility.CheckConfig(Settings.NoHistory)) { foreach(QTabItem item in this.tabControl1.TabPages) { AddToHistory(item); } QTUtility.SaveRecentlyClosed(key); } if(!QTUtility.CheckConfig(Settings.NoRecentFiles) && QTUtility.CheckConfig(Settings.AllRecentFiles)) { QTUtility.SaveRecentFiles(key); } List<string> list = new List<string>(); foreach(QTabItem item2 in this.tabControl1.TabPages) { if(item2.TabLocked) { list.Add(item2.CurrentPath); } } QTUtility2.WriteRegBinary<string>(list.ToArray(), "TabsLocked", key); string str = string.Empty; foreach(string str2 in QTUtility.StartUpGroupList) { str = str + str2 + ";"; } str = str.TrimEnd(QTUtility.SEPARATOR_CHAR); key.SetValue("StartUpGroups", str); if(QTUtility.instanceManager.RemoveInstance(this.ExplorerHandle, this)) { QTUtility.instanceManager.NextInstanceExists(); QTUtility2.WriteRegHandle("Handle", key, QTUtility.instanceManager.CurrentHandle); } if(QTUtility.CheckConfig(Settings.SaveTransparency)) { if(0x80000 != ((int)PInvoke.Ptr_OP_AND(PInvoke.GetWindowLongPtr(this.ExplorerHandle, -20), 0x80000))) { QTUtility.WindowAlpha = 0xff; } else { byte num; int num2; int num3; if(PInvoke.GetLayeredWindowAttributes(this.ExplorerHandle, out num2, out num, out num3)) { QTUtility.WindowAlpha = num; } else { QTUtility.WindowAlpha = 0xff; } } key.SetValue("WindowAlpha", QTUtility.WindowAlpha); } IDLWrapper.SaveCache(key); } if((md5Form != null) && !md5Form.InvokeRequired) { md5Form.SaveMD5FormStat(); md5Form.Dispose(); md5Form = null; } this.Cursor = Cursors.Default; if((this.curTabDrag != null) && (this.curTabDrag != Cursors.Default)) { PInvoke.DestroyIcon(this.curTabDrag.Handle); GC.SuppressFinalize(this.curTabDrag); this.curTabDrag = null; } if((this.curTabCloning != null) && (this.curTabCloning != Cursors.Default)) { PInvoke.DestroyIcon(this.curTabCloning.Handle); GC.SuppressFinalize(this.curTabCloning); this.curTabCloning = null; } if(this.dropTargetWrapper != null) { this.dropTargetWrapper.Dispose(); this.dropTargetWrapper = null; } if((optionsDialog != null) && this.fOptionDialogCreated) { this.fOptionDialogCreated = false; try { optionsDialog.Invoke(new MethodInvoker(this.odCallback_Close)); } catch(Exception exception) { QTUtility2.MakeErrorLog(exception, "optionDialogDisposing"); } } if(this.tabSwitcher != null) { this.tabSwitcher.Dispose(); this.tabSwitcher = null; } } QTUtility.InstancesCount--; if(this.TravelLog != null) { Marshal.FinalReleaseComObject(this.TravelLog); this.TravelLog = null; } if(this.iContextMenu2 != null) { Marshal.FinalReleaseComObject(this.iContextMenu2); this.iContextMenu2 = null; } if(this.ShellBrowser != null) { Marshal.FinalReleaseComObject(this.ShellBrowser); this.ShellBrowser = null; } foreach(ITravelLogEntry entry in this.LogEntryDic.Values) { if(entry != null) { Marshal.FinalReleaseComObject(entry); } } this.LogEntryDic.Clear(); if(this.bmpRebar != null) { this.bmpRebar.Dispose(); this.bmpRebar = null; } if(this.textureBrushRebar != null) { this.textureBrushRebar.Dispose(); this.textureBrushRebar = null; } base.fFinalRelease = true; base.CloseDW(dwReserved); } catch(Exception exception2) { QTUtility2.MakeErrorLog(exception2, "tabbar closing"); } }
public void Open(IPluginServer pluginServer, IShellBrowser shellBrowser) { this.pluginServer = pluginServer; if(!pluginServer.TryGetLocalizedStrings(this, 1, out ResStr)) { ResStr = new string[] { StringResources.ButtonNames[8] }; } }