├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── ----.md │ └── bug--.md └── workflows │ ├── QTTabBar.yml │ └── ql.yml ├── .gitignore ├── 01build_release.bat ├── 02build_sonar.bat ├── BUILD.txt ├── BandObjectLib ├── Attributes.cs ├── BandObject.cs ├── BandObject.resx ├── BandObjectLib.csproj ├── Dpi │ ├── DpiAwareControl.cs │ ├── DpiAwareForm.cs │ ├── DpiAwareTextBox.cs │ ├── DpiAwareUserControl.cs │ ├── DpiChangedEventArgs.cs │ ├── DpiManager.cs │ ├── IDpiAwareObject.cs │ ├── IObjectWithDpi.cs │ └── MCR.cs ├── Interop │ ├── DBIM.cs │ ├── DBIMF.cs │ ├── DESKBANDINFO.cs │ ├── ExplorerGUIDs.cs │ ├── IDeskBand.cs │ ├── IDockingWindow.cs │ ├── IInputObject.cs │ ├── IInputObjectSite.cs │ ├── IObjectWithSite.cs │ ├── IOleWindow.cs │ ├── IPersistStream.cs │ ├── MSG.cs │ ├── POINT.cs │ ├── REBARBANDINFO.cs │ ├── RebarConstants.cs │ └── _IServiceProvider.cs └── Properties │ └── AssemblyInfo.cs ├── CHANGES.txt ├── CONTRIBUTING.md ├── I18N ├── Lng_QTTabBar_br.xml ├── Lng_QTTabBar_de.xml ├── Lng_QTTabBar_en.xml ├── Lng_QTTabBar_es.xml ├── Lng_QTTabBar_es_ES.txt ├── Lng_QTTabBar_fr_FR.txt ├── Lng_QTTabBar_fr_FR.xml ├── Lng_QTTabBar_pt_BR.txt ├── Lng_QTTabBar_ru.xml ├── Lng_QTTabBar_ru_RU.txt ├── Lng_QTTabBar_tr.xml ├── Lng_QTTabBar_tr_TR.txt ├── Lng_QTTabBar_zh.xml ├── Lng_QTTabBar_中文简体.txt └── resgen.bat ├── Installer ├── CustomWelcomeEulaDlg.wxs ├── CustomWixUI_Minimal.wxs ├── GPL3.rtf ├── GPL3_zh_CN - 副本.rtf ├── GPL3_zh_CN.rtf ├── Installer.wixobj ├── Installer.wixproj ├── Installer.wxs ├── Installer451.wxs ├── QTTabBar.ico ├── config.ini ├── lang.wxl ├── lang_de_DE.wxl ├── lang_es_ES.wxl ├── lang_pt_BR.wxl ├── lang_ru_RU.wxl ├── lang_tr_TR.wxl ├── lang_zh_CN.wxl ├── libai.png ├── release.md ├── release_v1.5.5-beta.7.md ├── release_v1.5.5-beta.9.md ├── zip.bat └── 新建文件夹 │ └── Installer.wxs ├── InstallerHelper ├── CustomAction.cpp ├── InstallerHelper.def ├── InstallerHelper.vcxproj ├── InstallerHelper.vcxproj.filters └── InstallerHelper.vcxproj.user ├── InstallerMini ├── CustomWelcomeEulaDlg.wxs ├── CustomWixUI_Minimal.wxs ├── GPL3.rtf ├── GPL3_zh_CN.rtf ├── Installer.wixobj ├── Installer.wxs ├── Installer451.wxs ├── InstallerMini.wixproj ├── QTTabBar.ico ├── lang.wxl ├── lang_de_DE.wxl ├── lang_es_ES.wxl ├── lang_pt_BR.wxl ├── lang_ru_RU.wxl ├── lang_tr_TR.wxl ├── lang_zh_CN.wxl ├── release.md └── zip.bat ├── LICENSE.txt ├── MinHook ├── COPYING.txt ├── MinHook.h ├── libMinHook.vcxproj ├── libMinHook.vcxproj.filters ├── libMinHook.vcxproj.user └── src │ ├── HDE32 │ ├── hde32.c │ ├── hde32.h │ └── table32.h │ ├── HDE64 │ ├── include │ │ └── hde64.h │ └── src │ │ ├── hde64.c │ │ └── table64.h │ ├── buffer.cpp │ ├── buffer.h │ ├── export.cpp │ ├── hook.cpp │ ├── hook.h │ ├── pstdint.h │ ├── thread.cpp │ ├── thread.h │ ├── trampoline.cpp │ └── trampoline.h ├── NotifyPropertyWeaverVsPackage.vsix ├── Plugins ├── ActivateByMouseHover │ ├── ActivateByMouseHover.cs │ ├── ActivateByMouseHover.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── SettingForm.Designer.cs │ ├── SettingForm.cs │ └── SettingForm.resx ├── CreateNewItem │ ├── CreateNewItem.cs │ ├── CreateNewItem.csproj │ └── Properties │ │ └── AssemblyInfo.cs ├── Memo │ ├── Memo.cs │ ├── Memo.csproj │ ├── MemoForm.cs │ ├── Option.cs │ ├── PInvoke.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resource.cs │ ├── Resource.resx │ └── ToolStripTrackBar.cs ├── MigemoLoader │ ├── MigemoLoader.cs │ ├── MigemoLoader.csproj │ ├── MigemoOptionForm.Designer.cs │ ├── MigemoOptionForm.cs │ ├── MigemoOptionForm.resx │ ├── MigemoWrapper.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── QTClock │ ├── ChineseCalendar.cs │ ├── Clock.cs │ ├── NewsForm.Designer.cs │ ├── NewsForm.cs │ ├── NewsForm.resx │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QTClock.csproj │ ├── Resource.Designer.cs │ ├── Resource.resx │ └── Resources │ │ ├── img16.png │ │ ├── img24.png │ │ ├── 时间16.png │ │ └── 时间24.png ├── QTFileTools │ ├── FileOps.cs │ ├── FileTools.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QTFileTools.csproj │ ├── Resource.Designer.cs │ ├── Resource.resx │ └── Resources │ │ ├── CopyToButton_large.png │ │ ├── CopyToButton_small.png │ │ ├── MoveToButton_large.png │ │ ├── MoveToButton_small.png │ │ ├── PropertiesButton_large.png │ │ ├── PropertiesButton_small.png │ │ ├── SendUpOneLevelButton_large.png │ │ ├── SendUpOneLevelButton_small.png │ │ ├── imgCopy16.png │ │ ├── imgCopy24.png │ │ ├── imgCut16.png │ │ ├── imgCut24.png │ │ ├── imgDelete16.png │ │ ├── imgDelete24.png │ │ ├── imgPaste16.png │ │ ├── imgPaste24.png │ │ ├── imgRedo16.png │ │ ├── imgRedo24.png │ │ ├── imgUndo16.png │ │ └── imgUndo24.png ├── QTFolderButton │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QTFolderButton.cs │ ├── QTFolderButton.csproj │ ├── Resource.Designer.cs │ ├── Resource.resx │ └── Resources │ │ ├── QTFolderButton_large.png │ │ └── QTFolderButton_small.png ├── QTQuick │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QTQuick.cs │ ├── QTQuick.csproj │ ├── Resource.Designer.cs │ ├── Resource.resx │ └── Resources │ │ ├── 20120710111655756_easyicon_cn_24.png │ │ ├── 20120710111708126_easyicon_cn_16.png │ │ ├── 20120710111735227_easyicon_cn_59.png │ │ ├── 2012071011184831_easyicon_cn_24.png │ │ ├── 20120710111854106_easyicon_cn_16.png │ │ ├── 20120710111915192_easyicon_cn_24.png │ │ └── 20120710111919661_easyicon_cn_16.png ├── QTViewModeButton │ ├── FolderViewModeWindow.cs │ ├── FolderViewModeWindow.designer.cs │ ├── FolderViewModeWindow.resx │ ├── PInvoke.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resource.Designer.cs │ ├── Resource.resx │ ├── Resources │ │ ├── ViewModeButton_large.png │ │ ├── img16.png │ │ ├── imgDetails.png │ │ ├── imgFilm.png │ │ ├── imgIcon.png │ │ ├── imgList.png │ │ ├── imgThumb.png │ │ └── imgTiles.png │ ├── ViewModeButton.cs │ └── ViewModeButton.csproj ├── QTWindowManager │ ├── PInvoke_QTWM.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QTWindowManager.cs │ ├── QTWindowManager.csproj │ ├── Resource.Designer.cs │ ├── Resource.resx │ ├── Resources │ │ ├── QTWindowManager_large.png │ │ └── QTWindowManager_small.png │ ├── SettingWindow.Designer.cs │ ├── SettingWindow.cs │ └── SettingWindow.resx ├── Sample │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resource.Designer.cs │ ├── Resource.resx │ ├── Resources │ │ ├── shell32_268-006.png │ │ └── shell32_268-008.png │ ├── SamplePlugin.cs │ └── SamplePlugin.csproj ├── ShowStatusBar │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ShowStatusBar.cs │ └── ShowStatusBar.csproj └── TurnOffRepeat │ ├── Properties │ └── AssemblyInfo.cs │ ├── Resource.Designer.cs │ ├── Resource.resx │ ├── Resources │ ├── Repeat16.png │ ├── Repeat24.png │ ├── Sort16.png │ └── Sort24.png │ ├── TurnOffRepeat.cs │ └── TurnOffRepeat.csproj ├── QTHookLib ├── CComPtr.h ├── QTHookLib.vcxproj ├── QTHookLib.vcxproj.filters ├── QTHookLib.vcxproj.user └── main.cpp ├── QTPluginLib ├── Address.cs ├── CONSTANTS.cs ├── Commands.cs ├── DisplayStyle.cs ├── EndCode.cs ├── ExplorerWindowActions.cs ├── IBarButton.cs ├── IBarCustomItem.cs ├── IBarDropButton.cs ├── IBarMultipleCustomItems.cs ├── IEncodingDetector.cs ├── IFilter.cs ├── IFilterCore.cs ├── IPluginClient.cs ├── IPluginServer.cs ├── ITab.cs ├── Interop │ ├── FOLDERSETTINGS.cs │ ├── FOLDERVIEWMODE.cs │ ├── IEnumIDList.cs │ ├── IFolderView.cs │ ├── IPersistFolder2.cs │ ├── IShellBrowser.cs │ ├── IShellFolder.cs │ ├── IShellFolder2.cs │ ├── IShellView.cs │ ├── MSG.cs │ ├── PInvoke.cs │ ├── POINT.cs │ ├── RECT.cs │ ├── SHCOLUMNID.cs │ ├── SHELLDETAILS.cs │ ├── STRRET.cs │ ├── STRRETinternal.cs │ └── VARIANT.cs ├── LocalizedStringProvider.cs ├── MenuType.cs ├── PluginAttribute.cs ├── PluginEventArgs.cs ├── PluginEventHandler.cs ├── PluginType.cs ├── Properties │ └── AssemblyInfo.cs ├── QTPluginLib.csproj ├── TabBarOption.cs ├── TabBar_Options_Boolean.cs ├── TabBar_Options_Color.cs ├── TabBar_Options_Int.cs ├── TabBar_Options_Misc.cs └── TabBar_Options_String.cs ├── QTTabBar Rebirth.sln ├── QTTabBar Rebirth.snk ├── QTTabBar.doc ├── QTTabBar ├── AbstractListView.cs ├── ActionDelayer.cs ├── AppsManager.cs ├── AutoLoader.cs ├── AutomationClasses.cs ├── BreadcrumbBar.cs ├── ClassDiagram1.cd ├── Common │ ├── Blob.cs │ ├── CoreErrorHelper.cs │ ├── CoreHelpers.cs │ ├── CoreNativeMethods.cs │ ├── DefaultShellImageSizes.cs │ ├── DefinitionOptions.cs │ ├── ExplorerBrowserCOMGuids.cs │ ├── ExplorerBrowserCOMInterfaces.cs │ ├── ExplorerBrowserNativeMethods.cs │ ├── FileSystemKnownFolder.cs │ ├── FolderCategory.cs │ ├── FolderProperties.cs │ ├── FolderTypes.cs │ ├── FoldersIdentifiers.cs │ ├── IKnownFolder.cs │ ├── IShellProperty.cs │ ├── IconReference.cs │ ├── KnownFolderHelper.cs │ ├── KnownFolderSettings.cs │ ├── KnownFolders.cs │ ├── KnownFoldersCOMGuids.cs │ ├── KnownFoldersCOMInterfaces.cs │ ├── KnownFoldersNativeMethods.cs │ ├── LocalizedMessages.Designer.cs │ ├── LocalizedMessages.resx │ ├── NativePoint.cs │ ├── NativeRect.cs │ ├── NonFileSystemKnownFolder.cs │ ├── PROPARRAY.cs │ ├── PropVariant.cs │ ├── PropVariantNativeMethods.cs │ ├── PropertyKey.cs │ ├── PropertySystemCOMInterfaces.cs │ ├── PropertySystemException.cs │ ├── PropertySystemNativeMethods.cs │ ├── RedirectionCapabilities.cs │ ├── ShellCOMClasses.cs │ ├── ShellCOMGuids.cs │ ├── ShellCOMInterfaces.cs │ ├── ShellEnums.cs │ ├── ShellException.cs │ ├── ShellFile.cs │ ├── ShellFileSystemFolder.cs │ ├── ShellFolder.cs │ ├── ShellFolderItems.cs │ ├── ShellHelper.cs │ ├── ShellLibrary.cs │ ├── ShellLink.cs │ ├── ShellNativeMethods.cs │ ├── ShellNativeStructs.cs │ ├── ShellNonFileSystemFolder.cs │ ├── ShellNonFileSystemItem.cs │ ├── ShellObject.cs │ ├── ShellObjectCollection.cs │ ├── ShellObjectContainer.cs │ ├── ShellObjectFactory.cs │ ├── ShellObjectWatcherEnums.cs │ ├── ShellProperties.cs │ ├── ShellProperty.cs │ ├── ShellPropertyCollection.cs │ ├── ShellPropertyDescription.cs │ ├── ShellPropertyDescriptionsCache.cs │ ├── ShellPropertyEnumType.cs │ ├── ShellPropertyEnums.cs │ ├── ShellPropertyFactory.cs │ ├── ShellPropertyWriter.cs │ ├── ShellSavedSearchCollection.cs │ ├── ShellSearchCollection.cs │ ├── ShellSearchConnector.cs │ ├── ShellThumbnail.cs │ ├── ShellThumbnailEnums.cs │ ├── SortColumn.cs │ ├── StronglyTypedProperties.cs │ ├── SystemProperties.cs │ ├── TabbedThumbnailNativeMethods.cs │ ├── TaskbarNativeMethods.cs │ ├── WindowMessage.cs │ ├── WindowNativeMethods.cs │ └── WindowUtilities.cs ├── Config.cs ├── Constants.cs ├── CreateNewGroupForm.cs ├── DataGridViewEx.cs ├── Delegates.cs ├── DropDownMenuBase.cs ├── DropDownMenuDropTarget.cs ├── DropDownMenuReorderable.cs ├── EditableHeader.xaml ├── EditableHeader.xaml.cs ├── Events.cs ├── ExplorerBrowser │ ├── CommonControlException.cs │ ├── ExplorerBrowser.WPF.xaml │ ├── ExplorerBrowser.WPF.xaml.cs │ ├── ExplorerBrowser.cs │ ├── ExplorerBrowserContentOptions.cs │ ├── ExplorerBrowserDiagram.cd │ ├── ExplorerBrowserEnums.cs │ ├── ExplorerBrowserEvents.cs │ ├── ExplorerBrowserPaneVisibility.cs │ ├── ExplorerBrowserViewEvents.cs │ ├── NavigationLog.cs │ ├── NavigationLogEnums.cs │ ├── NavigationLogEvents.cs │ └── NavigationOptions.cs ├── ExplorerManager.cs ├── ExplorerProcessCaptor.cs ├── ExtendedItemsView.cs ├── ExtendedListViewCommon.cs ├── ExtendedSysListView32.cs ├── FileFolderEntryBox.xaml ├── FileFolderEntryBox.xaml.cs ├── FileHashComputerForm.cs ├── FileRename │ ├── FileRenameDialog.Designer.cs │ ├── FileRenameDialog.cs │ └── FileRenameDialog.resx ├── FindFile.cs ├── FolderBrowserDialogEx.cs ├── FreeBitmap.cs ├── Graphic.cs ├── GroupsManager.cs ├── HookLibManager.cs ├── ICommandInvokerWindow.cs ├── IDLWrapper.cs ├── ImageReservationKey.cs ├── InstanceManager.cs ├── Interop │ ├── BITMAPINFO.cs │ ├── BITMAPINFOHEADER.cs │ ├── BROWSEINFO.cs │ ├── CMINVOKECOMMANDINFO.cs │ ├── COPYDATASTRUCT.cs │ ├── CWPSTRUCT.cs │ ├── CoreErrorHelper.cs │ ├── DEV_BROADCAST_HDR.cs │ ├── DEV_BROADCAST_VOLUME.cs │ ├── DROPFILES.cs │ ├── DTTOPTS.cs │ ├── DropTargetWrapper.cs │ ├── EnumWndProc.cs │ ├── ExplorerManager.cs │ ├── FOLDERSETTINGS.cs │ ├── GWL.cs │ ├── HDITEM.cs │ ├── HookProc.cs │ ├── ICONINFO.cs │ ├── IContextMenu2.cs │ ├── IDeskBand2.cs │ ├── IEnumIDList.cs │ ├── IEnumTravelLogEntry.cs │ ├── IExtractImage.cs │ ├── IFolderView.cs │ ├── IFolderView2.cs │ ├── IFolderViewOptions.cs │ ├── INameSpaceTreeControl.cs │ ├── IOleCommandTarget.cs │ ├── IOleWindow.cs │ ├── IPersistFolder2.cs │ ├── IQueryInfo.cs │ ├── ISharedBitmap.cs │ ├── IShellBrowser.cs │ ├── IShellExecuteHook.cs │ ├── IShellFolder.cs │ ├── IShellFolderView.cs │ ├── IShellItem.cs │ ├── IShellLinkW.cs │ ├── IShellView.cs │ ├── ITaskbarList.cs │ ├── IThumbnailCache.cs │ ├── ITravelLogEntry.cs │ ├── ITravelLogStg.cs │ ├── IUIAutomation.cs │ ├── IUIAutomationElement.cs │ ├── IUIAutomationGridPattern.cs │ ├── IUIAutomationRegistrar.cs │ ├── IUIAutomationScrollPattern.cs │ ├── IUIAutomationSelectionItemPattern.cs │ ├── IUIAutomationTreeWalker.cs │ ├── IVisualProperties.cs │ ├── LOGFONT.cs │ ├── LVBKIMAGE.cs │ ├── LVHITTESTINFO.cs │ ├── LVITEM.cs │ ├── ListViewConstants.cs │ ├── LocalThumbnailCache.cs │ ├── MARGINS.cs │ ├── MCR.cs │ ├── MOUSEHOOKSTRUCT.cs │ ├── MOUSEHOOKSTRUCTEX.cs │ ├── NMCUSTOMDRAW.cs │ ├── NMHDR.cs │ ├── NMITEMACTIVATE.cs │ ├── NMLISTVIEW.cs │ ├── NMLVCUSTOMDRAW.cs │ ├── NMLVDISPINFO.cs │ ├── NMLVGETINFOTIP.cs │ ├── NMLVKEYDOWN.cs │ ├── NMLVODSTATECHANGE.cs │ ├── NMTTDISPINFO.cs │ ├── NMUPDOWN.cs │ ├── PInvoke.cs │ ├── RDW.cs │ ├── RECT.cs │ ├── RGBQUAD.cs │ ├── RegisteredMessage.cs │ ├── SHELLEXECUTEINFO.cs │ ├── SHELLSTATE.cs │ ├── SHFILEINFO.cs │ ├── SHFILEOPSTRUCT.cs │ ├── SHFILEOPSTRUCT64.cs │ ├── STRRET.cs │ ├── STRRETinternal.cs │ ├── SUBCLASSPROC.cs │ ├── SWP.cs │ ├── ShellConstants.cs │ ├── ShellMethods.cs │ ├── TBBUTTON.cs │ ├── TBBUTTONINFO.cs │ ├── TRACKMOUSEEVENT.cs │ ├── TVHITTESTINFO.cs │ ├── UIAutomationPropertyInfo.cs │ ├── VPCOLORFLAGS.cs │ ├── VPWATERMARKFLAGS.cs │ ├── WINDOWPOS.cs │ ├── WM.cs │ ├── WTS_THUMBNAILID.cs │ ├── _IDropTarget.cs │ └── _ShellLinkObject.cs ├── ListViewMonitor.cs ├── MarginCombo.xaml ├── MarginCombo.xaml.cs ├── MemoForm.cs ├── MenuItemEx.cs ├── MenuUtility.cs ├── MessageForm.cs ├── MiscClasses.cs ├── MsgEnum.cs ├── Multilang │ ├── CMLangConvertCharset.cs │ ├── CMLangConvertCharsetClass.cs │ ├── CMLangString.cs │ ├── CMLangStringClass.cs │ ├── CMultiLanguage.cs │ ├── CMultiLanguageClass.cs │ ├── IEnumCodePage.cs │ ├── IEnumRfc1766.cs │ ├── IEnumScript.cs │ ├── IMLangCodePages.cs │ ├── IMLangConvertCharset.cs │ ├── IMLangFontLink.cs │ ├── IMLangFontLink2.cs │ ├── IMLangLineBreakConsole.cs │ ├── IMLangString.cs │ ├── IMLangStringAStr.cs │ ├── IMLangStringBufA.cs │ ├── IMLangStringBufW.cs │ ├── IMLangStringWStr.cs │ ├── IMultiLanguage.cs │ ├── IMultiLanguage2.cs │ ├── IMultiLanguage3.cs │ ├── ISequentialStream.cs │ ├── IStream.cs │ ├── _FILETIME.cs │ ├── _LARGE_INTEGER.cs │ ├── _RemotableHandle.cs │ ├── _ULARGE_INTEGER.cs │ ├── __MIDL_IWinTypes_0009.cs │ ├── tagDetectEncodingInfo.cs │ ├── tagMIMECONTF.cs │ ├── tagMIMECPINFO.cs │ ├── tagMIMECSETINFO.cs │ ├── tagMLCPF.cs │ ├── tagMLDETECTCP.cs │ ├── tagMLSTR_FLAGS.cs │ ├── tagRFC1766INFO.cs │ ├── tagSCRIPFONTINFO.cs │ ├── tagSCRIPTINFO.cs │ ├── tagSTATSTG.cs │ └── tagUNICODERANGE.cs ├── NativeWindowController.cs ├── OptionsDialog │ ├── Options01_Window.xaml │ ├── Options01_Window.xaml.cs │ ├── Options02_Tabs.xaml │ ├── Options02_Tabs.xaml.cs │ ├── Options03_Tweaks.xaml │ ├── Options03_Tweaks.xaml.cs │ ├── Options04_Tooltips.xaml │ ├── Options04_Tooltips.xaml.cs │ ├── Options05_General.xaml │ ├── Options05_General.xaml.cs │ ├── Options06_Appearance.xaml │ ├── Options06_Appearance.xaml.cs │ ├── Options07_Mouse.xaml │ ├── Options07_Mouse.xaml.cs │ ├── Options08_Keys.xaml │ ├── Options08_Keys.xaml.cs │ ├── Options09_Groups.xaml │ ├── Options09_Groups.xaml.cs │ ├── Options10_Apps.xaml │ ├── Options10_Apps.xaml.cs │ ├── Options11_ButtonBar.xaml │ ├── Options11_ButtonBar.xaml.cs │ ├── Options12_Plugins.xaml │ ├── Options12_Plugins.xaml.cs │ ├── Options13_Language.xaml │ ├── Options13_Language.xaml.cs │ ├── Options14_About.xaml │ ├── Options14_About.xaml.cs │ ├── OptionsDialog.xaml │ ├── OptionsDialog.xaml.cs │ └── OptionsDialogResources.xaml ├── PluginManager.cs ├── PluginServer.cs ├── PreMergeToMergedDeserializationBinder.cs ├── ProcessUtil.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── QMenuItem.cs ├── QTButtonBar.cs ├── QTCommandBar.cs ├── QTDesktopTool.cs ├── QTSecondViewBar.cs ├── QTSecondViewBar.cs.bak ├── QTTabBar.csproj ├── QTTabBar │ └── WindowSubclass.cs ├── QTTabBarClass.cs ├── QTTabBar_i18n.zip ├── QTUtility.cs ├── QTUtility2.cs ├── QTabControl.cs ├── QTabItem.cs ├── RebarController.cs ├── RegistryUtil.cs ├── Resource_String_zh_CN.cs ├── Resource_String_zh_CN.resx ├── Resources │ ├── ButtonStrip16.png │ ├── ButtonStrip24.png │ ├── ButtonStrip_white16.png │ ├── ButtonStrip_white24.png │ ├── Monotone │ │ └── Monotone_sort.zip │ ├── Ricciolo.Controls.TreeListView.dll │ ├── TitleBar.png │ ├── finally.zip │ ├── finally │ │ ├── .DS_Store │ │ ├── ButtonStrip16.png │ │ └── ButtonStrip24.png │ ├── finally_white │ │ ├── .DS_Store │ │ ├── ButtonStrip_white16.png │ │ └── ButtonStrip_white24.png │ ├── icoEmpty.ico │ ├── icoOption.ico │ ├── imgBack.png │ ├── imgCapture.png │ ├── imgCloseButton_Cold.png │ ├── imgCloseButton_ColdAlt.png │ ├── imgCloseButton_Hot.png │ ├── imgCloseButton_Press.png │ ├── imgCurTabCloning.png │ ├── imgCurTabDrag.png │ ├── imgCurrent.png │ ├── imgFolIconBG.png │ ├── imgForward.png │ ├── imgGroupRoot.png │ ├── imgInsertL.png │ ├── imgInsertR.png │ ├── imgLocked.png │ ├── imgNavBack.png │ ├── imgNavFwd.png │ ├── imgNewTab.png │ ├── imgNewWindow.png │ ├── imgNoCapture.png │ ├── imgOptions_Hot.png │ ├── imgOptions_NoFocus.png │ ├── imgOptions_SelAndHot.png │ ├── imgOptions_Selected.png │ ├── imgPlugin16.png │ ├── imgPlugin24.png │ ├── imgRebar.png │ ├── imgSubDirBtnCold.png │ ├── imgSubDirBtnPress.png │ ├── imgTabAbout.png │ ├── imgTabApps.png │ ├── imgTabBBar.png │ ├── imgTabDeskop.png │ ├── imgTabGroups.png │ ├── imgTabKeys.png │ ├── imgTabLang.png │ ├── imgTabMisc.png │ ├── imgTabMouse.png │ ├── imgTabPlugin.png │ ├── imgTabSkin.png │ ├── imgTabTabs.png │ ├── imgTabTooltips.png │ ├── imgTabTweaks.png │ ├── imgTabWindow.png │ ├── imgUserAppsRoot.png │ ├── imgVistaMenu_Check.png │ ├── imgVistaMenu_LB.png │ ├── imgVistaMenu_LB_hot.png │ ├── imgVistaMenu_LM.png │ ├── imgVistaMenu_LM_hot.png │ ├── imgVistaMenu_LT.png │ ├── imgVistaMenu_LT_hot.png │ ├── imgVistaMenu_MB.png │ ├── imgVistaMenu_MB_hot.png │ ├── imgVistaMenu_MM.png │ ├── imgVistaMenu_MM_hot.png │ ├── imgVistaMenu_MT.png │ ├── imgVistaMenu_MT_hot.png │ ├── imgVistaMenu_RB.png │ ├── imgVistaMenu_RB_hot.png │ ├── imgVistaMenu_RM.png │ ├── imgVistaMenu_RM_hot.png │ ├── imgVistaMenu_RT.png │ ├── imgVistaMenu_RT_hot.png │ ├── menuClose.png │ ├── menuOpen.png │ ├── new │ │ ├── ButtonStrip16.png │ │ └── ButtonStrip24.png │ ├── old │ │ ├── ButtonStrip16.png │ │ ├── ButtonStrip24.png │ │ ├── Lng_QTTabBar_中文简体.xml │ │ ├── QTTabBarSettings-2023-1-16.reg │ │ ├── QTTabBarSettingsSkin-2022-12-26.reg │ │ └── 按钮图标.zip │ ├── paypalBtn.png │ ├── qttbar标签及背景皮肤.rar │ ├── qttbar标签及背景皮肤 │ │ ├── mlbg3.png │ │ └── tab.png │ ├── wechat_pay.jpg │ └── xiaogu │ │ └── ButtonStrip24.png ├── Resources_Image.cs ├── Resources_Image.resx ├── Resources_String.cs ├── Resources_String.resx ├── Resources_String_de_DE.cs ├── Resources_String_de_DE.resx ├── Resources_String_es_ES.cs ├── Resources_String_es_ES.resx ├── Resources_String_fr_FR.cs ├── Resources_String_fr_FR.resx ├── Resources_String_pt_BR.cs ├── Resources_String_pt_BR.resx ├── Resources_String_ru_RU.cs ├── Resources_String_ru_RU.resx ├── Resources_String_tr_TR.cs ├── Resources_String_tr_TR.resx ├── SFGAO.cs ├── ShellBrowserEx.cs ├── ShellColors.cs ├── ShellContextMenu.cs ├── Spinner.xaml ├── Spinner.xaml.cs ├── StaticReg.cs ├── SubDirTipForm.cs ├── TabBarBase.cs ├── TabSwitchForm.cs ├── ThumbnailTooltipForm.cs ├── ToolStripClasses.cs ├── Toolbar.cs ├── TrayIcon.cs ├── TreeViewWrapper.cs ├── TxtEnc.cs ├── UniqueList.cs ├── UpDown.cs ├── UpdateChecker.cs ├── WPFUtils.cs ├── WindowUtils.cs ├── packages.config └── todo.txt ├── README.md ├── README_zh.md ├── Register ├── Register - 副本.bat ├── Register.bat ├── Register.vcxproj └── Register.vcxproj.user ├── SECURITY.md ├── SetHome ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SetHome.cs ├── SetHome.csproj ├── SetHomeForm.Designer.cs ├── SetHomeForm.cs ├── SetHomeForm.resx ├── app.config ├── change.txt └── pen.ico ├── TODOS.txt ├── Test └── TestPreview │ ├── gbk.txt │ ├── libai.png │ ├── lvjuren.png │ ├── utf8.m │ ├── utf8.txt │ └── utf8bom.txt ├── Tools ├── NotifyPropertyWeaverMsBuildTask.dll ├── QTTabBarLib.ExplorerProcessCaptor.reg ├── QTTabBarLib.ExplorerProcessCaptor1.reg ├── QTTabBarLib.ExplorerProcessCaptor2.reg └── QTTabBarLib.ExplorerProcessCaptor3.reg ├── Votive2010.vsix ├── _config.yml ├── appveyor.yml ├── image.png ├── restart explorer.bat ├── url.txt └── 清理.bat /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7YNCVL5P9ZDY8 2 | # custom: ['https://www.paypal.com/donate/?cmd=_donations&business=qwop%40live.cn&item_name=QTTabBar&return=https%3A%2F%2Findiff.github.io%2Fqttabbar%2F&cancel_return=https%3A%2F%2Findiff.github.io%2Fqttabbar%2F&no_shipping=1&on0=msg&os0=¤cy_code=USD&submit.x=154&submit.y=31'] 3 | custom: ['https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7YNCVL5P9ZDY8'] 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/----.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 功能请求 3 | about: 为该项目的建议或者想法 4 | title: 期望添加一个特性或者功能 5 | labels: enhancement 6 | assignees: indiff 7 | 8 | --- 9 | 10 | **描述你想要的解决方案** 11 | - 一个清晰的描述列表. 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug--.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug报告 3 | about: 创建一个Bug报告来帮助我们 4 | title: '' 5 | labels: bug 6 | assignees: indiff 7 | 8 | --- 9 | 10 | **描述这个Bug** 11 | 清晰的Bug描述. 12 | 13 | **重现过程** 14 | 重现过程的步骤: 15 | 1. 点击 '...' 16 | 2. 打开 '....' 17 | 3. 滚动 '....' 18 | 4. 报错信息 19 | 20 | **期望的结构** 21 | 对你期望发生的事情的清晰而简洁的描述. 22 | 23 | **截图** 24 | 如果可以的话,截图说明问题 25 | 26 | **系统环境:** 27 | - 操作系统: [e.g. win10] 28 | - .net framework: [e.g. 3.5] 29 | - 软件版本: [e.g. 1.5.3] 30 | - 重点、重点、重点;没有报错日志本地复现不了的话,那这个问题不会处理 31 | **上传报错日志(C:\Users\Administrator\AppData\Roaming\QTTabBar\QTTabBarException.log):** 32 | 33 | -------------------------------------------------------------------------------- /01build_release.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set cur_path=%CD% 3 | call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 4 | rem call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 5 | 6 | "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "%cur_path%\QTTabBar Rebirth.sln" /t:Rebuild /property:Configuration=Release /property:Platform="Any CPU" 7 | pause -------------------------------------------------------------------------------- /02build_sonar.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set cur_path=%CD% 3 | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 4 | 5 | "%cur_path%\sonar-scanner-msbuild-4.9.0.17385-net46\SonarScanner.MSBuild.exe" begin /k:"qttabbar" /d:sonar.host.url="http://192.168.1.146:9000" /d:sonar.login="4e91ad1959c5f60eba7aa47266c0fca9c65e33ed" 6 | 7 | "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" "%cur_path%\QTTabBar Rebirth.sln" /t:Rebuild /property:Configuration=Release /property:Platform="Any CPU" 8 | 9 | "%cur_path%\sonar-scanner-msbuild-4.9.0.17385-net46\SonarScanner.MSBuild.exe" end /d:sonar.login="4e91ad1959c5f60eba7aa47266c0fca9c65e33ed" 10 | 11 | pause -------------------------------------------------------------------------------- /BUILD.txt: -------------------------------------------------------------------------------- 1 | You will need the Windows SDK in order to compile the C++ Hook DLL, and WiX 3.5 or higher to compile the installer. 2 | 3 | You will need Notify Property Weaver to compile the Options dialog, obtainable from 4 | http://visualstudiogallery.msdn.microsoft.com/bd351303-db8c-4771-9b22-5e51524fccd3 5 | 6 | Open the .sln in Visual Studio, select a configuration, and click Build > Build Solution to compile QTTabBar. The configurations Debug, 7 | Debug (No Plugins), and Release will also execute the Register script upon successful compilation, 8 | which will register the resulting binary with your computer. Restart Explorer for the changes to take effect. 9 | Beware, compiling these configurations will overwrite your original installation if you already have QTTabBar installed. 10 | 11 | Note that in order for the Register project to successfully register QTTabBar, it must be run with administrator privileges. 12 | The easiest way to accomplish this is to simply run Visual Studio with administrator privileges, 13 | by right-clicking the shortcut and selecting "Run as Administrator" from the menu. 14 | 15 | force remove qttabbar, delete all the files 16 | C:\Windows\assembly\temp -------------------------------------------------------------------------------- /BandObjectLib/BandObject.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/BandObjectLib/BandObject.cs -------------------------------------------------------------------------------- /BandObjectLib/Dpi/DpiAwareTextBox.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.DpiAwareTextBox 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | using System; 8 | using System.Windows.Forms; 9 | 10 | namespace QTTabBarLib 11 | { 12 | internal class DpiAwareTextBox : TextBox, IDpiAwareObject, IObjectWithDpi 13 | { 14 | private bool fNotified; 15 | 16 | public int Dpi { get; set; } = 96; 17 | 18 | public float Scaling => (float) this.Dpi / 96f; 19 | 20 | public void NotifyDpiChanged(int oldDpi, int newDpi) 21 | { 22 | this.fNotified = true; 23 | this.Dpi = newDpi; 24 | this.OnDpiChanged(oldDpi, newDpi); 25 | } 26 | 27 | protected virtual void OnDpiChanged(int oldDpi, int newDpi) 28 | { 29 | } 30 | 31 | protected override void OnVisibleChanged(EventArgs e) 32 | { 33 | base.OnVisibleChanged(e); 34 | if (this.fNotified || !this.Visible) 35 | return; 36 | this.Dpi = DpiManager.GetDpiForWindow(this.Handle); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /BandObjectLib/Dpi/DpiAwareUserControl.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.DpiAwareUserControl 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | using System; 8 | using System.Windows.Forms; 9 | 10 | namespace QTTabBarLib 11 | { 12 | internal class DpiAwareUserControl : UserControl, IDpiAwareObject, IObjectWithDpi 13 | { 14 | private bool fNotified; 15 | 16 | public int Dpi { get; set; } = 96; 17 | 18 | public float Scaling => (float) this.Dpi / 96f; 19 | 20 | public void NotifyDpiChanged(int oldDpi, int newDpi) 21 | { 22 | this.fNotified = true; 23 | this.Dpi = newDpi; 24 | this.OnDpiChanged(oldDpi, newDpi); 25 | } 26 | 27 | protected virtual void OnDpiChanged(int oldDpi, int newDpi) 28 | { 29 | } 30 | 31 | protected override void OnVisibleChanged(EventArgs e) 32 | { 33 | base.OnVisibleChanged(e); 34 | if (this.fNotified || !this.Visible) 35 | return; 36 | this.Dpi = DpiManager.GetDpiForWindow(this.Handle); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /BandObjectLib/Dpi/DpiChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.DpiChangedEventArgs 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | using System; 8 | using System.Drawing; 9 | 10 | namespace QTTabBarLib 11 | { 12 | public sealed class DpiChangedEventArgs : EventArgs 13 | { 14 | public int OldDpi { get; set; } 15 | 16 | public int NewDpi { get; set; } 17 | 18 | public Rectangle NewBounds { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /BandObjectLib/Dpi/IDpiAwareObject.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.IDpiAwareObject 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | namespace BandObjectLib 8 | { 9 | internal interface IDpiAwareObject 10 | { 11 | void NotifyDpiChanged(int oldDpi, int newDpi); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /BandObjectLib/Dpi/IObjectWithDpi.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.IObjectWithDpi 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | namespace BandObjectLib 8 | { 9 | internal interface IObjectWithDpi 10 | { 11 | int Dpi { get; set; } 12 | 13 | float Scaling { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /BandObjectLib/Interop/DBIM.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2002-2010 Pavel Zolnikov, Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | 20 | namespace BandObjectLib { 21 | [Flags] 22 | public enum DBIM : uint { 23 | ACTUAL = 8, 24 | BKCOLOR = 0x40, 25 | INTEGRAL = 4, 26 | MAXSIZE = 2, 27 | MINSIZE = 1, 28 | MODEFLAGS = 0x20, 29 | TITLE = 0x10 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /BandObjectLib/Interop/IInputObjectSite.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2002-2010 Pavel Zolnikov, Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | using System.Security; 20 | 21 | namespace BandObjectLib { 22 | [ComImport, SuppressUnmanagedCodeSecurity, Guid("f1db8392-7331-11d0-8c99-00a0c92dbfe8"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 23 | public interface IInputObjectSite { 24 | [PreserveSig] 25 | int OnFocusChangeIS([MarshalAs(UnmanagedType.IUnknown)] object punkObj, int fSetFocus); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /BandObjectLib/Interop/IOleWindow.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2002-2010 Pavel Zolnikov, Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | using System.Security; 21 | 22 | namespace BandObjectLib { 23 | [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("00000114-0000-0000-C000-000000000046"), SuppressUnmanagedCodeSecurity] 24 | internal interface IOleWindow { 25 | void GetWindow(out IntPtr phwnd); 26 | void ContextSensitiveHelp([In] bool fEnterMode); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /BandObjectLib/Interop/POINT.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2002-2010 Pavel Zolnikov, Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Drawing; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace BandObjectLib { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct POINT { 24 | public int x; 25 | public int y; 26 | public POINT(Point pnt) { 27 | x = pnt.X; 28 | y = pnt.Y; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /CHANGES.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/CHANGES.txt -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | indiff 2 | -------------------------------------------------------------------------------- /I18N/resgen.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem "D:\Visual Studio 2010 Ultimate\Microsoft SDKs\Windows\v7.0A\bin\ResGen.exe" Lng_QTTabBar_pt_BR.txt "D:\svn\myqttabbar\QTTabBar\i18n\Resources_String_pt_BR.resx" /str:cs 3 | rem "D:\Visual Studio 2010 Ultimate\Microsoft SDKs\Windows\v7.0A\bin\ResGen.exe" Lng_QTTabBar_fr_FR.txt rem "D:\svn\myqttabbar\QTTabBar\i18n\Resources_String_fr_FR.resx" /str:cs 4 | rem "D:\Visual Studio 2010 Ultimate\Microsoft SDKs\Windows\v7.0A\bin\ResGen.exe" Lng_QTTabBar_tr_TR.txt rem "D:\svn\myqttabbar\QTTabBar\i18n\Resources_String_tr_TR.resx" /str:cs 5 | "D:\Visual Studio 2010 Ultimate\Microsoft SDKs\Windows\v7.0A\bin\ResGen.exe" Lng_QTTabBar_ru_RU.txt "D:\svn\myqttabbar\QTTabBar\Resources_String_ru_RU.resx" /str:cs 6 | 7 | pause -------------------------------------------------------------------------------- /Installer/QTTabBar.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Installer/QTTabBar.ico -------------------------------------------------------------------------------- /Installer/config.ini: -------------------------------------------------------------------------------- 1 | [image] 2 | # 遍历模式生效 3 | random=false 4 | # 图片位置 5 | #0 = Left top 6 | #1 = Right top 7 | #2 = Left bottom 8 | #3 = Right bottom 9 | #4 = Center 10 | #5 = Zoom 11 | #6 = Zoom Fill 12 | posType=3 13 | # 图片透明度 14 | imgAlpha= 255 15 | # 如果自定义存在则加载,反之加载目录的图片 *.png *.jpg *.jpeg C:\\ProgramData\\QTTabBar\\Image\\bgImage.png 16 | imgPath="C:\ProgramData\QTTabBar\libai.png" -------------------------------------------------------------------------------- /Installer/lang_zh_CN.wxl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 你的本地字符串 4 | 请阅读以下信息。 5 | 关闭所有的资源管理器窗口并且重新打开 6 | 编译本地图像 7 | GPL3_zh_CN.rtf 8 | QTTab标准按钮 9 | QTTab桌面工具 10 | 11 | QTTabBar自动加载器 12 | 13 | 已安装较新的版本。 14 | 安装程序检测到已安装较旧版本的QTTabBar。 由于安装程序的更改,您必须手动卸载此旧版本并重新启动Explorer,然后才能继续。 卸载较旧的版本并重新启动资源管理器后,请再次运行安装程序。 15 | 似乎Windows资源管理器中仍加载了旧版本的QTTabBar。 请通过任务管理器重新启动资源管理器或重新启动计算机,然后再继续。 16 | 此应用程序要求.NET Framework版本至少为3.5。 请安装.NET Framework,然后再次运行此安装程序。 17 | 18 | 19 | -------------------------------------------------------------------------------- /Installer/libai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Installer/libai.png -------------------------------------------------------------------------------- /Installer/release.md: -------------------------------------------------------------------------------- 1 | v1.5.5-beta.6/导航栏添加鼠标中键操作/(Brazil Spanish French Turkish) 2 | 3 | > 山行 4 | 作者:杜牧 5 | 6 | 远上寒山石径斜,白云生处有人家。 7 | 停车坐爱枫林晚,霜叶红于二月花。 8 | ### 导航栏添加鼠标中键操作 9 | ![image](https://user-images.githubusercontent.com/501276/187018862-578c2e01-8ff4-43fb-b5f1-52f62f0419c5.png) 10 | 11 | ### 插件选项断言失败的问题修复 12 | ![image](https://user-images.githubusercontent.com/501276/187018291-faba61b3-0312-48a0-9ec8-36619cca00e8.png) 13 | 14 | ### 适配国际化(Brazil Spanish French Turkish) 15 | ![image](https://user-images.githubusercontent.com/501276/187018325-10d6fd17-207a-4aaa-b33c-a45858e89d06.png) 16 | 17 | ### 时钟插件 18 | ![1661583726236](https://user-images.githubusercontent.com/501276/187019127-e24caeec-cca4-4d40-ab3b-022a7b70fbb2.png) 19 | 20 | 1. 修改更新的策略 21 | 2. 修复剪切插件严重bug 22 | 3. 修复标签组问题 23 | 4. 更新快捷插件 24 | 5. 更新时钟插件 25 | 6. 去除控制面板自动忽略 26 | 7. 修复一些已知的问题 27 | 8. 修复托盘关闭窗口异常 28 | 29 | ### 重要,安装新版,请卸载原版,并且导出自己的设置项,再导入(导入直接双击注册表文件) 30 | 31 | 32 | -------------------------------------------------------------------------------- /Installer/release_v1.5.5-beta.9.md: -------------------------------------------------------------------------------- 1 | v1.5.5-beta.9修复文件捕获选中/Fix Capture to select 2 | 3 | > 微信、qq、钉钉捕获并选中 4 | >1. 修复快捷插件无法打开配置选项窗口bug 5 | >2. 修复日志文件写入问题(该文件已经打开异常) 6 | >3. 修复安装包检测旧版bug 7 | >4. 修复重名标签后缀错乱问题 8 | >5. 修复标签设置图片的问题 9 | >6. 修复微信或者qq打开文件未选中 10 | >7. 网络文件夹关闭预览功能 11 | >8. 默认加载最近关闭工具栏 12 | >9. 预览文本支持不同格式编码,支持主流 GB2312、UTF8Bom、UTF8NoBom、UTF16LeBom、UTF16BeBom、UTF16NoLeBom、UTF16NoBeBom等 13 | >10. SetHome插件修复设置环境变量PATH失效问题 14 | [详细查看](https://www.yuque.com/indiff/qttabbar/ocz0zwxu9ucyimst) 15 | 16 | ### 安装教程 17 | [安装教程](https://www.ixigua.com/7149475511784669711) 18 | 19 | > 20 | 来如流水逝如风,何处来兮何所终。 21 | 沧海茫茫挂帆去,天涯从此各西东。 -------------------------------------------------------------------------------- /InstallerHelper/CustomAction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/InstallerHelper/CustomAction.cpp -------------------------------------------------------------------------------- /InstallerHelper/InstallerHelper.def: -------------------------------------------------------------------------------- 1 | LIBRARY "InstallerHelper" 2 | EXPORTS 3 | HideBars 4 | CloseAndReopen 5 | CloseAndReopenAndDeletePlugins 6 | CheckOldVersion -------------------------------------------------------------------------------- /InstallerHelper/InstallerHelper.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | 23 | 24 | Source Files 25 | 26 | 27 | -------------------------------------------------------------------------------- /InstallerHelper/InstallerHelper.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /InstallerMini/QTTabBar.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/InstallerMini/QTTabBar.ico -------------------------------------------------------------------------------- /InstallerMini/lang_zh_CN.wxl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 你的本地字符串 4 | 请阅读以下信息。 5 | 关闭所有的资源管理器窗口并且重新打开 6 | 编译本地图像 7 | GPL3_zh_CN.rtf 8 | QTTab标准按钮 9 | QTTab桌面工具 10 | 11 | QTTabBar自动加载器 12 | 13 | 已安装较新的版本。 14 | 安装程序检测到已安装较旧版本的QTTabBar。 由于安装程序的更改,您必须手动卸载此旧版本并重新启动Explorer,然后才能继续。 卸载较旧的版本并重新启动资源管理器后,请再次运行安装程序。 15 | 似乎Windows资源管理器中仍加载了旧版本的QTTabBar。 请通过任务管理器重新启动资源管理器或重新启动计算机,然后再继续。 16 | 此应用程序要求.NET Framework版本至少为3.5。 请安装.NET Framework,然后再次运行此安装程序。 17 | 18 | 19 | -------------------------------------------------------------------------------- /InstallerMini/release.md: -------------------------------------------------------------------------------- 1 | v1.5.5-beta.6/导航栏添加鼠标中键操作/(Brazil Spanish French Turkish) 2 | 3 | > 山行 4 | 作者:杜牧 5 | 6 | 远上寒山石径斜,白云生处有人家。 7 | 停车坐爱枫林晚,霜叶红于二月花。 8 | ### 导航栏添加鼠标中键操作 9 | ![image](https://user-images.githubusercontent.com/501276/187018862-578c2e01-8ff4-43fb-b5f1-52f62f0419c5.png) 10 | 11 | ### 插件选项断言失败的问题修复 12 | ![image](https://user-images.githubusercontent.com/501276/187018291-faba61b3-0312-48a0-9ec8-36619cca00e8.png) 13 | 14 | ### 适配国际化(Brazil Spanish French Turkish) 15 | ![image](https://user-images.githubusercontent.com/501276/187018325-10d6fd17-207a-4aaa-b33c-a45858e89d06.png) 16 | 17 | ### 时钟插件 18 | ![1661583726236](https://user-images.githubusercontent.com/501276/187019127-e24caeec-cca4-4d40-ab3b-022a7b70fbb2.png) 19 | 20 | 1. 修改更新的策略 21 | 2. 修复剪切插件严重bug 22 | 3. 修复标签组问题 23 | 4. 更新快捷插件 24 | 5. 更新时钟插件 25 | 6. 去除控制面板自动忽略 26 | 7. 修复一些已知的问题 27 | 8. 修复托盘关闭窗口异常 28 | 29 | ### 重要,安装新版,请卸载原版,并且导出自己的设置项,再导入(导入直接双击注册表文件) 30 | 31 | 32 | -------------------------------------------------------------------------------- /MinHook/libMinHook.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /MinHook/src/buffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/MinHook/src/buffer.cpp -------------------------------------------------------------------------------- /MinHook/src/hook.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/MinHook/src/hook.cpp -------------------------------------------------------------------------------- /MinHook/src/thread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/MinHook/src/thread.cpp -------------------------------------------------------------------------------- /MinHook/src/thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/MinHook/src/thread.h -------------------------------------------------------------------------------- /MinHook/src/trampoline.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/MinHook/src/trampoline.cpp -------------------------------------------------------------------------------- /NotifyPropertyWeaverVsPackage.vsix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/NotifyPropertyWeaverVsPackage.vsix -------------------------------------------------------------------------------- /Plugins/ActivateByMouseHover/ActivateByMouseHover.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/ActivateByMouseHover/ActivateByMouseHover.cs -------------------------------------------------------------------------------- /Plugins/ActivateByMouseHover/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/ActivateByMouseHover/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /Plugins/ActivateByMouseHover/SettingForm.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | using System.Globalization; 3 | 4 | namespace QuizoPlugins 5 | { 6 | public partial class SettingForm : Form 7 | { 8 | public SettingForm( int delay ) 9 | { 10 | InitializeComponent(); 11 | 12 | if( this.numericUpDown1.Minimum <= delay && delay <= this.numericUpDown1.Maximum ) 13 | { 14 | this.numericUpDown1.Value = delay; 15 | } 16 | 17 | if (CultureInfo.CurrentCulture.Name == "ja-JP") 18 | { 19 | this.label1.Text = "待機時間(ミリ秒)"; 20 | this.Text = "Activate By MouseHover"; 21 | } 22 | 23 | if (CultureInfo.CurrentCulture.Name == "zh-CHS") 24 | { 25 | this.label1.Text = "延时时间(毫秒)"; 26 | this.Text = "鼠标悬浮激活标签"; 27 | } 28 | } 29 | 30 | public int Value 31 | { 32 | get 33 | { 34 | return (int)this.numericUpDown1.Value; 35 | } 36 | } 37 | 38 | private void label1_Click(object sender, System.EventArgs e) 39 | { 40 | 41 | } 42 | 43 | private void buttonOK_Click(object sender, System.EventArgs e) 44 | { 45 | 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Plugins/CreateNewItem/CreateNewItem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/CreateNewItem/CreateNewItem.cs -------------------------------------------------------------------------------- /Plugins/Memo/PInvoke.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2010 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QuizoPlugins { 22 | internal static class PInvoke { 23 | [DllImport("user32.dll", CharSet = CharSet.Auto)] 24 | public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 25 | [DllImport("user32.dll")] 26 | public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Plugins/MigemoLoader/MigemoLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/MigemoLoader/MigemoLoader.cs -------------------------------------------------------------------------------- /Plugins/QTClock/Clock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTClock/Clock.cs -------------------------------------------------------------------------------- /Plugins/QTClock/Resources/img16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTClock/Resources/img16.png -------------------------------------------------------------------------------- /Plugins/QTClock/Resources/img24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTClock/Resources/img24.png -------------------------------------------------------------------------------- /Plugins/QTClock/Resources/时间16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTClock/Resources/时间16.png -------------------------------------------------------------------------------- /Plugins/QTClock/Resources/时间24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTClock/Resources/时间24.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/FileOps.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/FileOps.cs -------------------------------------------------------------------------------- /Plugins/QTFileTools/FileTools.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/FileTools.cs -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/CopyToButton_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/CopyToButton_large.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/CopyToButton_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/CopyToButton_small.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/MoveToButton_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/MoveToButton_large.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/MoveToButton_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/MoveToButton_small.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/PropertiesButton_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/PropertiesButton_large.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/PropertiesButton_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/PropertiesButton_small.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/SendUpOneLevelButton_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/SendUpOneLevelButton_large.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/SendUpOneLevelButton_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/SendUpOneLevelButton_small.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgCopy16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgCopy16.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgCopy24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgCopy24.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgCut16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgCut16.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgCut24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgCut24.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgDelete16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgDelete16.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgDelete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgDelete24.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgPaste16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgPaste16.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgPaste24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgPaste24.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgRedo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgRedo16.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgRedo24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgRedo24.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgUndo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgUndo16.png -------------------------------------------------------------------------------- /Plugins/QTFileTools/Resources/imgUndo24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFileTools/Resources/imgUndo24.png -------------------------------------------------------------------------------- /Plugins/QTFolderButton/QTFolderButton.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFolderButton/QTFolderButton.cs -------------------------------------------------------------------------------- /Plugins/QTFolderButton/Resources/QTFolderButton_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFolderButton/Resources/QTFolderButton_large.png -------------------------------------------------------------------------------- /Plugins/QTFolderButton/Resources/QTFolderButton_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTFolderButton/Resources/QTFolderButton_small.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /Plugins/QTQuick/QTQuick.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/QTQuick.cs -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/20120710111655756_easyicon_cn_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/20120710111655756_easyicon_cn_24.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/20120710111708126_easyicon_cn_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/20120710111708126_easyicon_cn_16.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/20120710111735227_easyicon_cn_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/20120710111735227_easyicon_cn_59.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/2012071011184831_easyicon_cn_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/2012071011184831_easyicon_cn_24.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/20120710111854106_easyicon_cn_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/20120710111854106_easyicon_cn_16.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/20120710111915192_easyicon_cn_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/20120710111915192_easyicon_cn_24.png -------------------------------------------------------------------------------- /Plugins/QTQuick/Resources/20120710111919661_easyicon_cn_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTQuick/Resources/20120710111919661_easyicon_cn_16.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/ViewModeButton_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/ViewModeButton_large.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/img16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/img16.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/imgDetails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/imgDetails.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/imgFilm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/imgFilm.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/imgIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/imgIcon.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/imgList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/imgList.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/imgThumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/imgThumb.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/Resources/imgTiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/Resources/imgTiles.png -------------------------------------------------------------------------------- /Plugins/QTViewModeButton/ViewModeButton.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTViewModeButton/ViewModeButton.cs -------------------------------------------------------------------------------- /Plugins/QTWindowManager/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTWindowManager/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /Plugins/QTWindowManager/QTWindowManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTWindowManager/QTWindowManager.cs -------------------------------------------------------------------------------- /Plugins/QTWindowManager/Resources/QTWindowManager_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTWindowManager/Resources/QTWindowManager_large.png -------------------------------------------------------------------------------- /Plugins/QTWindowManager/Resources/QTWindowManager_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/QTWindowManager/Resources/QTWindowManager_small.png -------------------------------------------------------------------------------- /Plugins/Sample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/Sample/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /Plugins/Sample/Resources/shell32_268-006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/Sample/Resources/shell32_268-006.png -------------------------------------------------------------------------------- /Plugins/Sample/Resources/shell32_268-008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/Sample/Resources/shell32_268-008.png -------------------------------------------------------------------------------- /Plugins/Sample/SamplePlugin.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/Sample/SamplePlugin.cs -------------------------------------------------------------------------------- /Plugins/ShowStatusBar/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/ShowStatusBar/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /Plugins/ShowStatusBar/ShowStatusBar.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/ShowStatusBar/ShowStatusBar.cs -------------------------------------------------------------------------------- /Plugins/TurnOffRepeat/Resources/Repeat16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/TurnOffRepeat/Resources/Repeat16.png -------------------------------------------------------------------------------- /Plugins/TurnOffRepeat/Resources/Repeat24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/TurnOffRepeat/Resources/Repeat24.png -------------------------------------------------------------------------------- /Plugins/TurnOffRepeat/Resources/Sort16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/TurnOffRepeat/Resources/Sort16.png -------------------------------------------------------------------------------- /Plugins/TurnOffRepeat/Resources/Sort24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/TurnOffRepeat/Resources/Sort24.png -------------------------------------------------------------------------------- /Plugins/TurnOffRepeat/TurnOffRepeat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Plugins/TurnOffRepeat/TurnOffRepeat.cs -------------------------------------------------------------------------------- /QTHookLib/QTHookLib.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {1831c159-5b7e-4261-a2da-7aa874a0380e} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | 19 | 20 | Headers 21 | 22 | 23 | -------------------------------------------------------------------------------- /QTHookLib/QTHookLib.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /QTPluginLib/CONSTANTS.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public static class CONSTANTS { 20 | public const string REGISTRY_PLUGIN = @"Software\QTTabBar\Plugins"; 21 | public const string REGISTRY_PLUGINSETTINGS = @"Software\QTTabBar\Plugins\Settings"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QTPluginLib/DisplayStyle.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum DisplayStyle { 20 | ShowTextLabel, 21 | SelectiveText, 22 | NoLabel 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QTPluginLib/EndCode.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum EndCode { 20 | WindowClosed, 21 | Unloaded, 22 | Removed, 23 | Hidden 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /QTPluginLib/ExplorerWindowActions.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum ExplorerWindowActions { 20 | None, 21 | Maximized, 22 | Minimized, 23 | Restored 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /QTPluginLib/IBarButton.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Drawing; 19 | 20 | namespace QTPlugin { 21 | public interface IBarButton : IPluginClient { 22 | Image GetImage(bool fLarge); 23 | void InitializeItem(); 24 | void OnButtonClick(); 25 | 26 | bool ShowTextLabel { get; } 27 | 28 | string Text { get; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTPluginLib/IBarCustomItem.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Windows.Forms; 19 | 20 | namespace QTPlugin { 21 | public interface IBarCustomItem : IPluginClient { 22 | ToolStripItem CreateItem(bool fLarge, DisplayStyle displayStyle); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QTPluginLib/IBarDropButton.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Windows.Forms; 19 | 20 | namespace QTPlugin { 21 | public interface IBarDropButton : IBarButton { 22 | void OnDropDownItemClick(ToolStripItem item, MouseButtons mouseButton); 23 | void OnDropDownOpening(ToolStripDropDownMenu menu); 24 | 25 | bool IsSplitButton { get; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTPluginLib/IBarMultipleCustomItems.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Drawing; 19 | using System.Windows.Forms; 20 | 21 | namespace QTPlugin { 22 | public interface IBarMultipleCustomItems : IPluginClient { 23 | ToolStripItem CreateItem(bool fLarge, DisplayStyle displayStyle, int index); 24 | Image GetImage(bool fLarge, int index); 25 | string GetName(int index); 26 | void Initialize(int[] order); 27 | 28 | int Count { get; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTPluginLib/IEncodingDetector.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Text; 19 | 20 | namespace QTPlugin { 21 | public interface IEncodingDetector : IPluginClient { 22 | Encoding GetEncoding(ref byte[] data); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QTPluginLib/IFilter.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Text.RegularExpressions; 19 | 20 | namespace QTPlugin { 21 | public interface IFilter : IPluginClient { 22 | bool QueryRegex(string strQuery, out Regex re); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QTPluginLib/IFilterCore.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Text.RegularExpressions; 20 | using QTPlugin.Interop; 21 | 22 | namespace QTPlugin { 23 | public interface IFilterCore : IPluginClient { 24 | bool IsMatch(IShellFolder shellFolder, IntPtr pIDLChild, Regex reQurey); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTPluginLib/IPluginClient.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using QTPlugin.Interop; 19 | 20 | namespace QTPlugin { 21 | public interface IPluginClient { 22 | void Close(EndCode endCode); 23 | void OnMenuItemClick(MenuType menuType, string menuText, ITab tab); 24 | void OnOption(); 25 | void OnShortcutKeyPressed(int index); 26 | void Open(IPluginServer pluginServer, IShellBrowser shellBrowser); 27 | bool QueryShortcutKeys(out string[] actions); 28 | 29 | bool HasOption { get; } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/FOLDERSETTINGS.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTPlugin.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct FOLDERSETTINGS { 23 | public FOLDERVIEWMODE ViewMode; 24 | public int fFlags; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/FOLDERVIEWMODE.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin.Interop { 19 | public enum FOLDERVIEWMODE { 20 | FVM_DETAILS = 4, 21 | FVM_ICON = 1, 22 | FVM_LIST = 3, 23 | FVM_SMALLICON = 2, 24 | FVM_THUMBNAIL = 5, 25 | FVM_THUMBSTRIP = 7, 26 | FVM_TILE = 6 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/MSG.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTPlugin.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct MSG { 24 | public IntPtr hwnd; 25 | public uint message; 26 | public IntPtr wParam; 27 | public IntPtr lParam; 28 | public uint time; 29 | public POINT pt; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/POINT.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Drawing; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTPlugin.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct POINT { 24 | public int x; 25 | public int y; 26 | public POINT(Point pnt) { 27 | x = pnt.X; 28 | y = pnt.Y; 29 | } 30 | 31 | public Point ToPoint() { 32 | return new Point(x, y); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/SHCOLUMNID.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTPlugin.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct SHCOLUMNID { 24 | public Guid fmtid; 25 | public int pid; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/SHELLDETAILS.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTPlugin.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct SHELLDETAILS { 23 | public int fmt; 24 | public int cxChar; 25 | public STRRET str; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/STRRET.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTPlugin.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct STRRET { 23 | public uint uType; 24 | public STRRETinternal data; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTPluginLib/Interop/STRRETinternal.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTPlugin.Interop { 22 | [StructLayout(LayoutKind.Explicit, Size = 260)] 23 | public struct STRRETinternal { 24 | [FieldOffset(0)] 25 | public IntPtr cStr; 26 | [FieldOffset(0)] 27 | public IntPtr pOleStr; 28 | [FieldOffset(0)] 29 | public IntPtr pStr; 30 | [FieldOffset(0)] 31 | public uint uOffset; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QTPluginLib/LocalizedStringProvider.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public abstract class LocalizedStringProvider { 20 | public abstract void SetKey(int iKey); 21 | 22 | public abstract string Author { get; } 23 | 24 | public abstract string Description { get; } 25 | 26 | public abstract string Name { get; } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTPluginLib/MenuType.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | 20 | namespace QTPlugin { 21 | [Flags] 22 | public enum MenuType { 23 | None = 0 , 24 | Tab = 1 , 25 | Bar = 2 , 26 | Both = 4 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTPluginLib/PluginEventHandler.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public delegate void PluginEventHandler(object sender, PluginEventArgs e); 20 | } 21 | -------------------------------------------------------------------------------- /QTPluginLib/PluginType.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum PluginType { 20 | Interactive, 21 | Background, 22 | BackgroundMultiple, 23 | Static 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /QTPluginLib/TabBar_Options_Color.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum TabBar_Options_Color { 20 | AlternateBackgourndColor = 0x40004, 21 | AlternateTextColor = 0x40003, 22 | ClassicHiliteColor = 0x40005, 23 | TabTitleActiveColor = 0x40000, 24 | TabTitleInctiveColor = 0x40001, 25 | ToolbarBackgroundColor = 0x40002 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTPluginLib/TabBar_Options_Misc.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum TabBar_Options_Misc { 20 | PreviewTipTextExtensions = 0x80002, 21 | TabFontSize = 0x80001, 22 | TabSkinMargins = 0x80000 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QTPluginLib/TabBar_Options_String.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | namespace QTPlugin { 19 | public enum TabBar_Options_String { 20 | BarDoubleClickedPath = 0x20001, 21 | LanguageFilePath = 0x20000, 22 | PluginLanguageFilePath = 0x20004, 23 | TabFontFamilyName = 0x20003, 24 | TabSkinPath = 0x20002 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar Rebirth.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar Rebirth.snk -------------------------------------------------------------------------------- /QTTabBar.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar.doc -------------------------------------------------------------------------------- /QTTabBar/AutomationClasses.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/AutomationClasses.cs -------------------------------------------------------------------------------- /QTTabBar/Common/DefinitionOptions.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System; 4 | 5 | namespace QTTabBarLib.Common 6 | { 7 | /// Specifies behaviors for known folders. 8 | [Flags] 9 | public enum DefinitionOptions 10 | { 11 | /// No behaviors are defined. 12 | None = 0x0, 13 | 14 | /// Prevents a per-user known folder from being redirected to a network location. 15 | LocalRedirectOnly = 0x2, 16 | 17 | /// The known folder can be roamed through PC-to-PC synchronization. 18 | Roamable = 0x4, 19 | 20 | /// Creates the known folder when the user first logs on. 21 | Precreate = 0x8 22 | } 23 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ExplorerBrowserNativeMethods.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | namespace QTTabBarLib.Common 8 | { 9 | /// Internal class that contains interop declarations for functions that are not benign and are performance critical. 10 | [SuppressUnmanagedCodeSecurity] 11 | internal static class ExplorerBrowserNativeMethods 12 | { 13 | [DllImport("SHLWAPI.DLL", CharSet = CharSet.Unicode, SetLastError = true)] 14 | internal static extern HResult ConnectToConnectionPoint( 15 | [In, MarshalAs(UnmanagedType.IUnknown)] object punk, 16 | ref Guid riidEvent, 17 | [MarshalAs(UnmanagedType.Bool)] bool fConnect, 18 | [In, MarshalAs(UnmanagedType.IUnknown)] object punkTarget, 19 | ref uint pdwCookie, 20 | ref IntPtr ppcpOut); 21 | 22 | [DllImport("SHLWAPI.DLL", CharSet = CharSet.Unicode, SetLastError = true)] 23 | internal static extern HResult IUnknown_SetSite( 24 | [In, MarshalAs(UnmanagedType.IUnknown)] object punk, 25 | [In, MarshalAs(UnmanagedType.IUnknown)] object punkSite); 26 | } 27 | } -------------------------------------------------------------------------------- /QTTabBar/Common/KnownFoldersCOMGuids.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | namespace QTTabBarLib.Common 4 | { 5 | internal static class KnownFoldersCLSIDGuid 6 | { 7 | // CLSID GUID strings for relevant coclasses. 8 | internal const string KnownFolderManager = "4df0c730-df9d-4ae3-9153-aa6b82e9795a"; 9 | } 10 | 11 | internal static class KnownFoldersIIDGuid 12 | { 13 | // IID GUID strings for relevant Shell COM interfaces. 14 | internal const string IKnownFolder = "3AA7AF7E-9B36-420c-A8E3-F77D4674A488"; 15 | 16 | internal const string IKnownFolderManager = "8BE2D872-86AA-4d47-B776-32CCA40C7018"; 17 | } 18 | 19 | internal static class KnownFoldersKFIDGuid 20 | { 21 | internal const string ComputerFolder = "0AC0837C-BBF8-452A-850D-79D08E667CA7"; 22 | internal const string Documents = "FDD39AD0-238F-46AF-ADB4-6C85480369C7"; 23 | internal const string Favorites = "1777F761-68AD-4D8A-87BD-30B759FA33DD"; 24 | internal const string Profile = "5E6C858F-0E22-4760-9AFE-EA3317B67173"; 25 | } 26 | } -------------------------------------------------------------------------------- /QTTabBar/Common/KnownFoldersNativeMethods.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | namespace QTTabBarLib.Common 8 | { 9 | /// 10 | /// Internal class that contains interop declarations for functions that are considered benign but that are performance critical. 11 | /// 12 | /// Functions that are benign but not performance critical should be located in the NativeMethods class. 13 | [SuppressUnmanagedCodeSecurity] 14 | internal static class KnownFoldersSafeNativeMethods 15 | { 16 | [StructLayout(LayoutKind.Sequential)] 17 | internal struct NativeFolderDefinition 18 | { 19 | internal FolderCategory category; 20 | internal IntPtr name; 21 | internal IntPtr description; 22 | internal Guid parentId; 23 | internal IntPtr relativePath; 24 | internal IntPtr parsingName; 25 | internal IntPtr tooltip; 26 | internal IntPtr localizedName; 27 | internal IntPtr icon; 28 | internal IntPtr security; 29 | internal uint attributes; 30 | internal DefinitionOptions definitionOptions; 31 | internal Guid folderTypeId; 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /QTTabBar/Common/PROPARRAY.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics.CodeAnalysis; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace QTTabBarLib.Common 6 | { 7 | [StructLayout(LayoutKind.Sequential, Pack = 0)] 8 | [SuppressMessage("ReSharper", "InconsistentNaming")] 9 | internal struct PROPARRAY 10 | { 11 | internal UInt32 cElems; 12 | internal IntPtr pElems; 13 | } 14 | } -------------------------------------------------------------------------------- /QTTabBar/Common/RedirectionCapabilities.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | namespace QTTabBarLib.Common 4 | { 5 | /// Specifies the redirection capabilities for known folders. 6 | public enum RedirectionCapability 7 | { 8 | /// Redirection capability is unknown. 9 | None = 0x00, 10 | 11 | /// The known folder can be redirected. 12 | AllowAll = 0xff, 13 | 14 | /// 15 | /// The known folder can be redirected. Currently, redirection exists only for common and user folders; fixed and virtual folders 16 | /// cannot be redirected. 17 | /// 18 | Redirectable = 0x1, 19 | 20 | /// Redirection is not allowed. 21 | DenyAll = 0xfff00, 22 | 23 | /// The folder cannot be redirected because it is already redirected by group policy. 24 | DenyPolicyRedirected = 0x100, 25 | 26 | /// The folder cannot be redirected because the policy prohibits redirecting this folder. 27 | DenyPolicy = 0x200, 28 | 29 | /// The folder cannot be redirected because the calling application does not have sufficient permissions. 30 | DenyPermissions = 0x400 31 | } 32 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellCOMClasses.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace QTTabBarLib.Common 7 | { 8 | [ComImport, 9 | Guid(ShellIIDGuid.IShellLibrary), 10 | CoClass(typeof(ShellLibraryCoClass))] 11 | internal interface INativeShellLibrary : IShellLibrary 12 | { 13 | } 14 | 15 | [ComImport, 16 | ClassInterface(ClassInterfaceType.None), 17 | TypeLibType(TypeLibTypeFlags.FCanCreate), 18 | Guid(ShellCLSIDGuid.ShellLibrary)] 19 | internal class ShellLibraryCoClass 20 | { 21 | } 22 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellFolder.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using QTTabBarLib.Common; 4 | 5 | namespace QTTabBarLib.Common 6 | { 7 | /// Represents the base class for all types of folders (filesystem and non filesystem) 8 | public abstract class ShellFolder : ShellContainer 9 | { 10 | // empty 11 | } 12 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellNonFileSystemFolder.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | namespace QTTabBarLib.Common 4 | { 5 | /// Represents a Non FileSystem folder (e.g. My Computer, Control Panel) 6 | public class ShellNonFileSystemFolder : ShellFolder 7 | { 8 | internal ShellNonFileSystemFolder() 9 | { 10 | // Empty 11 | } 12 | 13 | internal ShellNonFileSystemFolder(IShellItem2 shellItem) 14 | { 15 | nativeShellItem = shellItem; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellNonFileSystemItem.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | namespace QTTabBarLib.Common 4 | { 5 | /// Represents a non filesystem item (e.g. virtual items inside Control Panel) 6 | public class ShellNonFileSystemItem : ShellObject 7 | { 8 | internal ShellNonFileSystemItem(IShellItem2 shellItem) 9 | { 10 | nativeShellItem = shellItem; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellPropertyDescriptionsCache.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System.Collections.Generic; 4 | 5 | namespace QTTabBarLib.Common 6 | { 7 | internal class ShellPropertyDescriptionsCache 8 | { 9 | private static ShellPropertyDescriptionsCache cacheInstance; 10 | 11 | private readonly IDictionary propsDictionary; 12 | 13 | private ShellPropertyDescriptionsCache() 14 | { 15 | propsDictionary = new Dictionary(); 16 | } 17 | 18 | public static ShellPropertyDescriptionsCache Cache 19 | { 20 | get 21 | { 22 | if (cacheInstance == null) 23 | { 24 | cacheInstance = new ShellPropertyDescriptionsCache(); 25 | } 26 | return cacheInstance; 27 | } 28 | } 29 | 30 | public ShellPropertyDescription GetPropertyDescription(PropertyKey key) 31 | { 32 | if (!propsDictionary.ContainsKey(key)) 33 | { 34 | propsDictionary.Add(key, new ShellPropertyDescription(key)); 35 | } 36 | return propsDictionary[key]; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellSavedSearchCollection.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | 4 | namespace QTTabBarLib.Common 5 | { 6 | /// Represents a saved search 7 | public class ShellSavedSearchCollection : ShellSearchCollection 8 | { 9 | internal ShellSavedSearchCollection(IShellItem2 shellItem) 10 | : base(shellItem) 11 | { 12 | CoreHelpers.ThrowIfNotVista(); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellSearchCollection.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | namespace QTTabBarLib.Common 4 | { 5 | /// Represents the base class for all search-related classes. 6 | public class ShellSearchCollection : ShellContainer 7 | { 8 | internal ShellSearchCollection() 9 | { 10 | } 11 | 12 | internal ShellSearchCollection(IShellItem2 shellItem) : base(shellItem) 13 | { 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /QTTabBar/Common/ShellSearchConnector.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | 4 | namespace QTTabBarLib.Common 5 | { 6 | /// A Serch Connector folder in the Shell Namespace 7 | public sealed class ShellSearchConnector : ShellSearchCollection 8 | { 9 | internal ShellSearchConnector() 10 | { 11 | CoreHelpers.ThrowIfNotWin7(); 12 | } 13 | 14 | internal ShellSearchConnector(IShellItem2 shellItem) 15 | : this() 16 | { 17 | nativeShellItem = shellItem; 18 | } 19 | 20 | /// Indicates whether this feature is supported on the current platform. 21 | public new static bool IsPlatformSupported 22 | { 23 | get 24 | { 25 | return // We need Windows 7 onwards ... 26 | CoreHelpers.RunningOnWin7; 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /QTTabBar/CreateNewGroupForm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/CreateNewGroupForm.cs -------------------------------------------------------------------------------- /QTTabBar/ExplorerBrowser/ExplorerBrowser.WPF.xaml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | Explorer Browser Control 7 | 8 | -------------------------------------------------------------------------------- /QTTabBar/ExplorerBrowser/ExplorerBrowserEvents.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System; 4 | using QTTabBarLib.Common; 5 | 6 | namespace QTTabBarLib.ExplorerBrowser 7 | { 8 | /// Event argument for The NavigationComplete event 9 | public class NavigationCompleteEventArgs : EventArgs 10 | { 11 | /// The new location of the explorer browser 12 | public ShellObject NewLocation { get; set; } 13 | } 14 | 15 | /// Event argument for the NavigatinoFailed event 16 | public class NavigationFailedEventArgs : EventArgs 17 | { 18 | /// The location the the browser would have navigated to. 19 | public ShellObject FailedLocation { get; set; } 20 | } 21 | 22 | /// Event argument for The NavigationPending event 23 | public class NavigationPendingEventArgs : EventArgs 24 | { 25 | /// Set to 'True' to cancel the navigation. 26 | public bool Cancel { get; set; } 27 | 28 | /// The location being navigated to 29 | public ShellObject PendingLocation { get; set; } 30 | } 31 | } -------------------------------------------------------------------------------- /QTTabBar/ExplorerBrowser/NavigationLogEnums.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | namespace QTTabBarLib.ExplorerBrowser 4 | { 5 | /// The direction argument for Navigate 6 | public enum NavigationLogDirection 7 | { 8 | /// Navigates forward through the navigation log 9 | Forward, 10 | 11 | /// Navigates backward through the travel log 12 | Backward 13 | } 14 | } -------------------------------------------------------------------------------- /QTTabBar/ExplorerBrowser/NavigationLogEvents.cs: -------------------------------------------------------------------------------- 1 | //Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | using System; 4 | 5 | namespace QTTabBarLib.ExplorerBrowser 6 | { 7 | /// The event argument for NavigationLogChangedEvent 8 | public class NavigationLogEventArgs : EventArgs 9 | { 10 | /// Indicates CanNavigateBackward has changed 11 | public bool CanNavigateBackwardChanged { get; set; } 12 | 13 | /// Indicates CanNavigateForward has changed 14 | public bool CanNavigateForwardChanged { get; set; } 15 | 16 | /// Indicates the Locations collection has changed 17 | public bool LocationsChanged { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /QTTabBar/ExtendedListViewCommon.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/ExtendedListViewCommon.cs -------------------------------------------------------------------------------- /QTTabBar/ExtendedSysListView32.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/ExtendedSysListView32.cs -------------------------------------------------------------------------------- /QTTabBar/FileHashComputerForm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/FileHashComputerForm.cs -------------------------------------------------------------------------------- /QTTabBar/FileRename/FileRenameDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace QTTabBarLib.FileRename 11 | { 12 | public partial class FileRenameDialog : Form 13 | { 14 | public FileRenameDialog() 15 | { 16 | InitializeComponent(); 17 | } 18 | 19 | private void listView1_SelectedIndexChanged(object sender, EventArgs e) 20 | { 21 | 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QTTabBar/ICommandInvokerWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace QTTabBarLib 7 | { 8 | internal interface ICommandInvokerWindow 9 | { 10 | // bool InvokeCommand(CommandInfo info); 11 | 12 | // CustomViewBase GetView(TargetView targetView); 13 | 14 | IntPtr CommandWindowHandle { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /QTTabBar/InstanceManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/InstanceManager.cs -------------------------------------------------------------------------------- /QTTabBar/Interop/COPYDATASTRUCT.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct COPYDATASTRUCT { 24 | public IntPtr dwData; 25 | public int cbData; 26 | public IntPtr lpData; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTTabBar/Interop/CWPSTRUCT.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct CWPSTRUCT { 24 | public IntPtr lParam; 25 | public IntPtr wParam; 26 | public uint message; 27 | public IntPtr hwnd; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/DEV_BROADCAST_HDR.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct DEV_BROADCAST_HDR { 23 | public int dbch_size; 24 | public int dbch_devicetype; 25 | public int dbch_reserved; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTTabBar/Interop/DEV_BROADCAST_VOLUME.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct DEV_BROADCAST_VOLUME { 23 | public int dbcv_size; 24 | public int dbcv_devicetype; 25 | public int dbcv_reserved; 26 | public uint dbcv_unitmask; 27 | public short dbcv_flags; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/DROPFILES.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Drawing; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential, Pack = 1)] 23 | public struct DROPFILES { 24 | public int pFiles; 25 | public Point pt; 26 | public bool fNC; 27 | public bool fWide; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/DropTargetWrapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Interop/DropTargetWrapper.cs -------------------------------------------------------------------------------- /QTTabBar/Interop/EnumWndProc.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | 20 | namespace QTTabBarLib.Interop { 21 | public delegate bool EnumWndProc(IntPtr hwnd, IntPtr lParam); 22 | } 23 | -------------------------------------------------------------------------------- /QTTabBar/Interop/FOLDERSETTINGS.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct FOLDERSETTINGS { 23 | public int ViewMode; 24 | public int fFlags; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar/Interop/GWL.cs: -------------------------------------------------------------------------------- 1 | namespace QTTabBarLib.Interop 2 | { 3 | public enum GWL 4 | { 5 | EXSTYLE = -20, // 0xFFFFFFEC 6 | STYLE = -16, // 0xFFFFFFF0 7 | HWNDPARENT = -8, // 0xFFFFFFF8 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /QTTabBar/Interop/ICONINFO.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct ICONINFO { 24 | public bool fIcon; 25 | public int xHotspot; 26 | public int yHotspot; 27 | public IntPtr hbmMask; 28 | public IntPtr hbmColor; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTTabBar/Interop/IOleWindow.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | using System.Security; 21 | 22 | namespace QTTabBarLib.Interop { 23 | [ComImport, SuppressUnmanagedCodeSecurity, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("00000114-0000-0000-C000-000000000046")] 24 | public interface IOleWindow { 25 | [PreserveSig] 26 | int GetWindow(out IntPtr phwnd); 27 | [PreserveSig] 28 | int ContextSensitiveHelp(bool fEnterMode); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTTabBar/Interop/IShellExecuteHook.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using System.Runtime.InteropServices; 3 | using System.Security; 4 | 5 | namespace QTTabBarLib.Interop 6 | { 7 | [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 8 | [Guid("000214FB-0000-0000-C000-000000000046")] 9 | [SuppressUnmanagedCodeSecurity] 10 | [ComImport] 11 | internal interface IShellExecuteHook 12 | { 13 | [MethodImpl(MethodImplOptions.PreserveSig)] 14 | int Execute([In] ref SHELLEXECUTEINFO sei); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /QTTabBar/Interop/ITravelLogEntry.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | using System.Security; 21 | 22 | namespace QTTabBarLib.Interop { 23 | [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("7EBFDD87-AD18-11d3-A4C5-00C04F72D6B8"), SuppressUnmanagedCodeSecurity] 24 | public interface ITravelLogEntry { 25 | [PreserveSig] 26 | int GetTitle(out IntPtr ppszTitle); 27 | [PreserveSig] 28 | int GetURL(out IntPtr ppszURL); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTTabBar/Interop/IUIAutomationRegistrar.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [ComImport, Guid("8609c4ec-4a1a-4d88-a357-5a66e060e1cf"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 22 | public interface IUIAutomationRegistrar { 23 | void RegisterProperty(ref UIAutomationPropertyInfo property, out int propertyId); 24 | /* NOT DECLARED */ void RegisterEvent(); 25 | /* NOT DECLARED */ void RegisterPattern(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTTabBar/Interop/LVBKIMAGE.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.Interop.LVBKIMAGE 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | using System; 8 | using System.Runtime.InteropServices; 9 | 10 | namespace QTTabBarLib.Interop 11 | { 12 | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] 13 | public struct LVBKIMAGE 14 | { 15 | public int ulFlags; 16 | public IntPtr hBmp; 17 | public IntPtr pszImage; 18 | public int cchImageMax; 19 | public int xOffset; 20 | public int yOffset; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QTTabBar/Interop/LVHITTESTINFO.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Drawing; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct LVHITTESTINFO { 24 | public Point pt; 25 | public uint flags; 26 | public int iItem; 27 | public int iSubItem; 28 | public int iGroup; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTTabBar/Interop/LocalThumbnailCache.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | using System.Security; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [ComImport, ClassInterface(ClassInterfaceType.None), SuppressUnmanagedCodeSecurity, Guid("50EF4544-AC9F-4A8E-B21B-8A26180DB13F")] 23 | internal class LocalThumbnailCache { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /QTTabBar/Interop/MARGINS.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct MARGINS { 23 | public int cxLeftWidth; 24 | public int cxRightWidth; 25 | public int cyTopHeight; 26 | public int cyBottomHeight; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTTabBar/Interop/MOUSEHOOKSTRUCT.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Drawing; 20 | using System.Runtime.InteropServices; 21 | 22 | namespace QTTabBarLib.Interop { 23 | [StructLayout(LayoutKind.Sequential)] 24 | public struct MOUSEHOOKSTRUCT { 25 | public Point pt; 26 | public IntPtr hwnd; 27 | public uint wHitTestCode; 28 | public IntPtr dwExtraInfo; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QTTabBar/Interop/MOUSEHOOKSTRUCTEX.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct MOUSEHOOKSTRUCTEX { 23 | public MOUSEHOOKSTRUCT mhs; 24 | public int mouseData; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMCUSTOMDRAW.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct NMCUSTOMDRAW { 24 | public NMHDR hdr; 25 | public int dwDrawStage; 26 | public IntPtr hdc; 27 | public RECT rc; 28 | public IntPtr dwItemSpec; 29 | public int uItemState; 30 | public IntPtr lItemlParam; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMHDR.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct NMHDR { 24 | public IntPtr hwndFrom; 25 | public IntPtr idFrom; 26 | public int code; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMLVDISPINFO.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct NMLVDISPINFO { 23 | public NMHDR hdr; 24 | public LVITEM item; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMLVGETINFOTIP.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct NMLVGETINFOTIP { 24 | public NMHDR hdr; 25 | public int dwFlags; 26 | public IntPtr pszText; 27 | public int cchTextMax; 28 | public int iItem; 29 | public int iSubItem; 30 | public IntPtr lParam; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMLVKEYDOWN.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential, Pack = 1)] 22 | public struct NMLVKEYDOWN { 23 | public NMHDR hdr; 24 | public short wVKey; 25 | public uint flags; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMLVODSTATECHANGE.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct NMLVODSTATECHANGE { 23 | public NMHDR hdr; 24 | public int iFrom; 25 | public int iTo; 26 | public uint uNewState; 27 | public uint uOldState; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/NMUPDOWN.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct NMUPDOWN { 23 | public NMHDR hdr; 24 | public int iPos; 25 | public int iDelta; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTTabBar/Interop/PInvoke.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Interop/PInvoke.cs -------------------------------------------------------------------------------- /QTTabBar/Interop/RGBQUAD.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct RGBQUAD { 23 | public byte rgbBlue; 24 | public byte rgbGreen; 25 | public byte rgbRed; 26 | public byte rgbReserved; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QTTabBar/Interop/SHELLEXECUTEINFO.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Interop/SHELLEXECUTEINFO.cs -------------------------------------------------------------------------------- /QTTabBar/Interop/STRRET.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct STRRET { 23 | public uint uType; 24 | public STRRETinternal data; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar/Interop/STRRETinternal.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Explicit, Size = 260)] 23 | public struct STRRETinternal { 24 | [FieldOffset(0)] 25 | public IntPtr cStr; 26 | [FieldOffset(0)] 27 | public IntPtr pOleStr; 28 | [FieldOffset(0)] 29 | public IntPtr pStr; 30 | [FieldOffset(0)] 31 | public uint uOffset; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QTTabBar/Interop/SUBCLASSPROC.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace QTTabBarLib.Interop 4 | { 5 | internal delegate IntPtr SUBCLASSPROC( 6 | IntPtr hWnd, 7 | int uMsg, 8 | IntPtr wParam, 9 | IntPtr lParam, 10 | IntPtr uIdSubclass, 11 | IntPtr dwRefData); 12 | } 13 | -------------------------------------------------------------------------------- /QTTabBar/Interop/SWP.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace QTTabBarLib.Interop 4 | { 5 | [Flags] 6 | public enum SWP 7 | { 8 | NOSIZE = 1, 9 | NOMOVE = 2, 10 | NOZORDER = 4, 11 | NOREDRAW = 8, 12 | NOACTIVATE = 16, // 0x00000010 13 | FRAMECHANGED = 32, // 0x00000020 14 | SHOWWINDOW = 64, // 0x00000040 15 | HIDEWINDOW = 128, // 0x00000080 16 | NOCOPYBITS = 256, // 0x00000100 17 | NOOWNERZORDER = 512, // 0x00000200 18 | NOSENDCHANGING = 1024, // 0x00000400 19 | DEFERERASE = 8192, // 0x00002000 20 | ASYNCWINDOWPOS = 16384, // 0x00004000 21 | STATECHANGED = 32768, // 0x00008000 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QTTabBar/Interop/TRACKMOUSEEVENT.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct TRACKMOUSEEVENT { 24 | public int cbSize; 25 | public int dwFlags; 26 | public IntPtr hwndTrack; 27 | public uint dwHoverTime; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/TVHITTESTINFO.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Drawing; 20 | using System.Runtime.InteropServices; 21 | 22 | namespace QTTabBarLib.Interop { 23 | [StructLayout(LayoutKind.Sequential)] 24 | public struct TVHITTESTINFO { 25 | public Point pt; 26 | public int flags; 27 | public IntPtr hItem; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/UIAutomationPropertyInfo.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System; 19 | using System.Runtime.InteropServices; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [StructLayout(LayoutKind.Sequential)] 23 | public struct UIAutomationPropertyInfo { 24 | public Guid guid; 25 | [MarshalAs(UnmanagedType.LPWStr)] 26 | public string pProgrammaticName; 27 | public int type; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QTTabBar/Interop/VPCOLORFLAGS.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.Interop.VPCOLORFLAGS 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | namespace QTTabBarLib.Interop 8 | { 9 | internal enum VPCOLORFLAGS 10 | { 11 | VPCF_TEXT = 1, 12 | VPCF_BACKGROUND = 2, 13 | VPCF_SORTCOLUMN = 3, 14 | VPCF_SUBTEXT = 4, 15 | VPCF_TEXTBACKGROUND = 5, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /QTTabBar/Interop/VPWATERMARKFLAGS.cs: -------------------------------------------------------------------------------- 1 | // Decompiled with JetBrains decompiler 2 | // Type: QTTabBarLib.Interop.VPWATERMARKFLAGS 3 | // Assembly: QTTabBar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=78a0cde69b47ca25 4 | // MVID: CF6CE8E6-DE2E-4190-8625-40058473C28C 5 | // Assembly location: D:\java\QTTabBar 2048 Beta2\QTTabBar.dll 6 | 7 | namespace QTTabBarLib.Interop 8 | { 9 | internal enum VPWATERMARKFLAGS 10 | { 11 | VPWF_DEFAULT, 12 | VPWF_ALPHABLEND, 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /QTTabBar/Interop/WINDOWPOS.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace QTTabBarLib.Interop 4 | { 5 | internal struct WINDOWPOS 6 | { 7 | public IntPtr hwnd; 8 | public IntPtr hwndInsertAfter; 9 | public int x; 10 | public int y; 11 | public int cx; 12 | public int cy; 13 | public SWP flags; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /QTTabBar/Interop/WTS_THUMBNAILID.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | 20 | namespace QTTabBarLib.Interop { 21 | [StructLayout(LayoutKind.Sequential)] 22 | public struct WTS_THUMBNAILID { 23 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x10)] 24 | public byte[] rgbKey; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar/Interop/_ShellLinkObject.cs: -------------------------------------------------------------------------------- 1 | // This file is part of QTTabBar, a shell extension for Microsoft 2 | // Windows Explorer. 3 | // Copyright (C) 2007-2021 Quizo, Paul Accisano 4 | // 5 | // QTTabBar is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // QTTabBar is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with QTTabBar. If not, see . 17 | 18 | using System.Runtime.InteropServices; 19 | using System.Security; 20 | 21 | namespace QTTabBarLib.Interop { 22 | [ComImport, SuppressUnmanagedCodeSecurity, ClassInterface(ClassInterfaceType.None), Guid("00021401-0000-0000-C000-000000000046")] 23 | internal class _ShellLinkObject { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /QTTabBar/MenuUtility.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/MenuUtility.cs -------------------------------------------------------------------------------- /QTTabBar/Multilang/CMLangConvertCharset.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System.Runtime.InteropServices; 4 | 5 | [ComImport, Guid("D66D6F98-CDAA-11D0-B822-00C04FC9B31F"), CoClass(typeof(CMLangConvertCharsetClass))] 6 | public interface CMLangConvertCharset : IMLangConvertCharset 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/CMLangString.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System.Runtime.InteropServices; 4 | 5 | [ComImport, CoClass(typeof(CMLangStringClass)), Guid("C04D65CE-B70D-11D0-B188-00AA0038C969")] 6 | public interface CMLangString : IMLangString 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/CMultiLanguage.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System.Runtime.InteropServices; 4 | 5 | [ComImport, Guid("275C23E1-3747-11D0-9FEA-00AA003F8646"), CoClass(typeof(CMultiLanguageClass))] 6 | public interface CMultiLanguage : IMultiLanguage 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IEnumCodePage.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("275C23E3-3747-11D0-9FEA-00AA003F8646"), InterfaceType((short) 1)] 9 | public interface IEnumCodePage 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void Clone([MarshalAs(UnmanagedType.Interface)] out IEnumCodePage ppEnum); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void Next([In] uint celt, out tagMIMECPINFO rgelt, out uint pceltFetched); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void Reset(); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void Skip([In] uint celt); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IEnumRfc1766.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("3DC39D1D-C030-11D0-B81B-00C04FC9B31F"), InterfaceType((short) 1)] 9 | public interface IEnumRfc1766 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void Clone([MarshalAs(UnmanagedType.Interface)] out IEnumRfc1766 ppEnum); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void Next([In] uint celt, out tagRFC1766INFO rgelt, out uint pceltFetched); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void Reset(); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void Skip([In] uint celt); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IEnumScript.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("AE5F1430-388B-11D2-8380-00C04F8F5DA1"), InterfaceType((short) 1)] 9 | public interface IEnumScript 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void Clone([MarshalAs(UnmanagedType.Interface)] out IEnumScript ppEnum); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void Next([In] uint celt, out tagSCRIPTINFO rgelt, out uint pceltFetched); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void Reset(); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void Skip([In] uint celt); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IMLangCodePages.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("359F3443-BD4A-11D0-B188-00AA0038C969"), InterfaceType((short) 1)] 9 | public interface IMLangCodePages 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void GetCharCodePages([In] ushort chSrc, out uint pdwCodePages); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void GetStrCodePages([In] ref ushort pszSrc, [In] int cchSrc, [In] uint dwPriorityCodePages, out uint pdwCodePages, out int pcchCodePages); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void CodePageToCodePages([In] uint uCodePage, out uint pdwCodePages); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void CodePagesToCodePage([In] uint dwCodePages, [In] uint uDefaultCodePage, out uint puCodePage); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IMLangLineBreakConsole.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, InterfaceType((short) 1), Guid("F5BE2EE1-BFD7-11D0-B188-00AA0038C969")] 9 | public interface IMLangLineBreakConsole 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void BreakLineML([In, MarshalAs(UnmanagedType.Interface)] CMLangString pSrcMLStr, [In] int lSrcPos, [In] int lSrcLen, [In] int cMinColumns, [In] int cMaxColumns, out int plLineLen, out int plSkipLen); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void BreakLineW([In] uint locale, [In] ref ushort pszSrc, [In] int cchSrc, [In] int cMaxColumns, out int pcchLine, out int pcchSkip); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void BreakLineA([In] uint locale, [In] uint uCodePage, [In] ref sbyte pszSrc, [In] int cchSrc, [In] int cMaxColumns, out int pcchLine, out int pcchSkip); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IMLangString.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("C04D65CE-B70D-11D0-B188-00AA0038C969"), InterfaceType((short) 1)] 9 | public interface IMLangString 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void Sync([In] int fNoAccess); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | int GetLength(); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void SetMLStr([In] int lDestPos, [In] int lDestLen, [In, MarshalAs(UnmanagedType.IUnknown)] object pSrcMLStr, [In] int lSrcPos, [In] int lSrcLen); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void GetMLStr([In] int lSrcPos, [In] int lSrcLen, [In, MarshalAs(UnmanagedType.IUnknown)] object pUnkOuter, [In] uint dwClsContext, [In] ref Guid piid, [MarshalAs(UnmanagedType.IUnknown)] out object ppDestMLStr, out int plDestPos, out int plDestLen); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IMLangStringBufA.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("D24ACD23-BA72-11D0-B188-00AA0038C969"), InterfaceType((short) 1), ComConversionLoss] 9 | public interface IMLangStringBufA 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void GetStatus(out int plFlags, out int pcchBuf); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void LockBuf([In] int cchOffset, [In] int cchMaxLock, [Out] IntPtr ppszBuf, out int pcchBuf); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void UnlockBuf([In] ref sbyte pszBuf, [In] int cchOffset, [In] int cchWrite); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void Insert([In] int cchOffset, [In] int cchMaxInsert, out int pcchActual); 19 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 20 | void Delete([In] int cchOffset, [In] int cchDelete); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/IMLangStringBufW.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, InterfaceType((short) 1), Guid("D24ACD21-BA72-11D0-B188-00AA0038C969"), ComConversionLoss] 9 | public interface IMLangStringBufW 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void GetStatus(out int plFlags, out int pcchBuf); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void LockBuf([In] int cchOffset, [In] int cchMaxLock, [Out] IntPtr ppszBuf, out int pcchBuf); 15 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 16 | void UnlockBuf([In] ref ushort pszBuf, [In] int cchOffset, [In] int cchWrite); 17 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 18 | void Insert([In] int cchOffset, [In] int cchMaxInsert, out int pcchActual); 19 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 20 | void Delete([In] int cchOffset, [In] int cchDelete); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/ISequentialStream.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | using System.Security; 7 | 8 | [ComImport, Guid("0C733A30-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType((short) 1)] 9 | public interface ISequentialStream 10 | { 11 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 12 | void RemoteRead(IntPtr pv, uint cb, ref uint pcbRead); 13 | [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] 14 | void RemoteWrite([In] ref byte pv, [In] uint cb, ref uint pcbWritten); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/_FILETIME.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=4)] 8 | public struct _FILETIME 9 | { 10 | public uint dwLowDateTime; 11 | public uint dwHighDateTime; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/_LARGE_INTEGER.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=8)] 8 | public struct _LARGE_INTEGER 9 | { 10 | public long QuadPart; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/_RemotableHandle.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=4)] 8 | public struct _RemotableHandle 9 | { 10 | public int fContext; 11 | public __MIDL_IWinTypes_0009 u; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/_ULARGE_INTEGER.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=8)] 8 | public struct _ULARGE_INTEGER 9 | { 10 | public ulong QuadPart; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/__MIDL_IWinTypes_0009.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Explicit, Pack=4)] 8 | public struct __MIDL_IWinTypes_0009 9 | { 10 | [FieldOffset(0)] 11 | public int hInproc; 12 | [FieldOffset(0)] 13 | public int hRemote; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagDetectEncodingInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | /// Thanks to jannewe for finding the fix! 8 | /// http://www.codeproject.com/KB/recipes/DetectEncoding.aspx?msg=3247475#xx3247475xx 9 | [StructLayout(LayoutKind.Sequential)] 10 | public struct DetectEncodingInfo 11 | { 12 | public uint nLangID; 13 | public uint nCodePage; 14 | public int nDocPercent; 15 | public int nConfidence; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagMIMECONTF.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Security; 5 | 6 | public enum tagMIMECONTF 7 | { 8 | MIMECONTF_BROWSER = 2, 9 | MIMECONTF_EXPORT = 0x400, 10 | MIMECONTF_IMPORT = 8, 11 | MIMECONTF_MAILNEWS = 1, 12 | MIMECONTF_MIME_IE4 = 0x10000000, 13 | MIMECONTF_MIME_LATEST = 0x20000000, 14 | MIMECONTF_MIME_REGISTRY = 0x40000000, 15 | MIMECONTF_MINIMAL = 4, 16 | MIMECONTF_PRIVCONVERTER = 0x10000, 17 | MIMECONTF_SAVABLE_BROWSER = 0x200, 18 | MIMECONTF_SAVABLE_MAILNEWS = 0x100, 19 | MIMECONTF_VALID = 0x20000, 20 | MIMECONTF_VALID_NLS = 0x40000 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagMIMECPINFO.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=4)] 8 | public struct tagMIMECPINFO 9 | { 10 | public uint dwFlags; 11 | public uint uiCodePage; 12 | public uint uiFamilyCodePage; 13 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x40)] 14 | public ushort[] wszDescription; 15 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=50)] 16 | public ushort[] wszWebCharset; 17 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=50)] 18 | public ushort[] wszHeaderCharset; 19 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=50)] 20 | public ushort[] wszBodyCharset; 21 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x20)] 22 | public ushort[] wszFixedWidthFont; 23 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x20)] 24 | public ushort[] wszProportionalFont; 25 | public byte bGDICharset; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagMIMECSETINFO.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=4)] 8 | public struct tagMIMECSETINFO 9 | { 10 | public uint uiCodePage; 11 | public uint uiInternetEncoding; 12 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=50)] 13 | public ushort[] wszCharset; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagMLDETECTCP.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace MultiLanguage 6 | { 7 | public enum MLDETECTCP { 8 | // Default setting will be used. 9 | MLDETECTCP_NONE = 0, 10 | 11 | // Input stream consists of 7-bit data. 12 | MLDETECTCP_7BIT = 1, 13 | 14 | // Input stream consists of 8-bit data. 15 | MLDETECTCP_8BIT = 2, 16 | 17 | // Input stream consists of double-byte data. 18 | MLDETECTCP_DBCS = 4, 19 | 20 | // Input stream is an HTML page. 21 | MLDETECTCP_HTML = 8, 22 | 23 | //Not currently supported. 24 | MLDETECTCP_NUMBER = 16 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagMLSTR_FLAGS.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Security; 5 | 6 | public enum tagMLSTR_FLAGS 7 | { 8 | MLSTR_READ = 1, 9 | MLSTR_WRITE = 2 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagRFC1766INFO.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=4)] 8 | public struct tagRFC1766INFO 9 | { 10 | public uint lcid; 11 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=6)] 12 | public ushort[] wszRfc1766; 13 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x20)] 14 | public ushort[] wszLocaleName; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagSCRIPFONTINFO.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=8)] 8 | public struct tagSCRIPFONTINFO 9 | { 10 | public long scripts; 11 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x20)] 12 | public ushort[] wszFont; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagSCRIPTINFO.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=4)] 8 | public struct tagSCRIPTINFO 9 | { 10 | public byte ScriptId; 11 | public uint uiCodePage; 12 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x30)] 13 | public ushort[] wszDescription; 14 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x20)] 15 | public ushort[] wszFixedWidthFont; 16 | [MarshalAs(UnmanagedType.ByValArray, SizeConst=0x20)] 17 | public ushort[] wszProportionalFont; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagSTATSTG.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=8)] 8 | public struct tagSTATSTG 9 | { 10 | [MarshalAs(UnmanagedType.LPWStr)] 11 | public string pwcsName; 12 | public uint type; 13 | public _ULARGE_INTEGER cbSize; 14 | public _FILETIME mtime; 15 | public _FILETIME ctime; 16 | public _FILETIME atime; 17 | public uint grfMode; 18 | public uint grfLocksSupported; 19 | public Guid clsid; 20 | public uint grfStateBits; 21 | public uint reserved; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QTTabBar/Multilang/tagUNICODERANGE.cs: -------------------------------------------------------------------------------- 1 | namespace MultiLanguage 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | [StructLayout(LayoutKind.Sequential, Pack=2)] 8 | public struct tagUNICODERANGE 9 | { 10 | public ushort wcFrom; 11 | public ushort wcTo; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /QTTabBar/PluginManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/PluginManager.cs -------------------------------------------------------------------------------- /QTTabBar/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /QTTabBar/QTTabBarClass.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/QTTabBarClass.cs -------------------------------------------------------------------------------- /QTTabBar/QTTabBar_i18n.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/QTTabBar_i18n.zip -------------------------------------------------------------------------------- /QTTabBar/QTUtility.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/QTUtility.cs -------------------------------------------------------------------------------- /QTTabBar/QTUtility2.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/QTUtility2.cs -------------------------------------------------------------------------------- /QTTabBar/QTabControl.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/QTabControl.cs -------------------------------------------------------------------------------- /QTTabBar/QTabItem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/QTabItem.cs -------------------------------------------------------------------------------- /QTTabBar/Resources/ButtonStrip16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/ButtonStrip16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/ButtonStrip24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/ButtonStrip24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/ButtonStrip_white16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/ButtonStrip_white16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/ButtonStrip_white24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/ButtonStrip_white24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/Monotone/Monotone_sort.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/Monotone/Monotone_sort.zip -------------------------------------------------------------------------------- /QTTabBar/Resources/Ricciolo.Controls.TreeListView.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/Ricciolo.Controls.TreeListView.dll -------------------------------------------------------------------------------- /QTTabBar/Resources/TitleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/TitleBar.png -------------------------------------------------------------------------------- /QTTabBar/Resources/finally.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally.zip -------------------------------------------------------------------------------- /QTTabBar/Resources/finally/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally/.DS_Store -------------------------------------------------------------------------------- /QTTabBar/Resources/finally/ButtonStrip16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally/ButtonStrip16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/finally/ButtonStrip24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally/ButtonStrip24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/finally_white/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally_white/.DS_Store -------------------------------------------------------------------------------- /QTTabBar/Resources/finally_white/ButtonStrip_white16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally_white/ButtonStrip_white16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/finally_white/ButtonStrip_white24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/finally_white/ButtonStrip_white24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/icoEmpty.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/icoEmpty.ico -------------------------------------------------------------------------------- /QTTabBar/Resources/icoOption.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/icoOption.ico -------------------------------------------------------------------------------- /QTTabBar/Resources/imgBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgBack.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCapture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCapture.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCloseButton_Cold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCloseButton_Cold.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCloseButton_ColdAlt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCloseButton_ColdAlt.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCloseButton_Hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCloseButton_Hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCloseButton_Press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCloseButton_Press.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCurTabCloning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCurTabCloning.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCurTabDrag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCurTabDrag.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgCurrent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgCurrent.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgFolIconBG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgFolIconBG.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgForward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgForward.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgGroupRoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgGroupRoot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgInsertL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgInsertL.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgInsertR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgInsertR.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgLocked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgLocked.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgNavBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgNavBack.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgNavFwd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgNavFwd.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgNewTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgNewTab.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgNewWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgNewWindow.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgNoCapture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgNoCapture.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgOptions_Hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgOptions_Hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgOptions_NoFocus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgOptions_NoFocus.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgOptions_SelAndHot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgOptions_SelAndHot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgOptions_Selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgOptions_Selected.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgPlugin16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgPlugin16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgPlugin24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgPlugin24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgRebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgRebar.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgSubDirBtnCold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgSubDirBtnCold.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgSubDirBtnPress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgSubDirBtnPress.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabAbout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabAbout.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabApps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabApps.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabBBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabBBar.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabDeskop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabDeskop.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabGroups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabGroups.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabKeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabKeys.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabLang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabLang.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabMisc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabMisc.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabMouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabMouse.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabPlugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabPlugin.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabSkin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabSkin.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabTabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabTabs.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabTooltips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabTooltips.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabTweaks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabTweaks.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgTabWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgTabWindow.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgUserAppsRoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgUserAppsRoot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_Check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_Check.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_LB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_LB.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_LB_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_LB_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_LM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_LM.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_LM_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_LM_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_LT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_LT.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_LT_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_LT_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_MB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_MB.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_MB_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_MB_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_MM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_MM.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_MM_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_MM_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_MT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_MT.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_MT_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_MT_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_RB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_RB.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_RB_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_RB_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_RM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_RM.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_RM_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_RM_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_RT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_RT.png -------------------------------------------------------------------------------- /QTTabBar/Resources/imgVistaMenu_RT_hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/imgVistaMenu_RT_hot.png -------------------------------------------------------------------------------- /QTTabBar/Resources/menuClose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/menuClose.png -------------------------------------------------------------------------------- /QTTabBar/Resources/menuOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/menuOpen.png -------------------------------------------------------------------------------- /QTTabBar/Resources/new/ButtonStrip16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/new/ButtonStrip16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/new/ButtonStrip24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/new/ButtonStrip24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/old/ButtonStrip16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/old/ButtonStrip16.png -------------------------------------------------------------------------------- /QTTabBar/Resources/old/ButtonStrip24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/old/ButtonStrip24.png -------------------------------------------------------------------------------- /QTTabBar/Resources/old/QTTabBarSettings-2023-1-16.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/old/QTTabBarSettings-2023-1-16.reg -------------------------------------------------------------------------------- /QTTabBar/Resources/old/QTTabBarSettingsSkin-2022-12-26.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/old/QTTabBarSettingsSkin-2022-12-26.reg -------------------------------------------------------------------------------- /QTTabBar/Resources/old/按钮图标.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/old/按钮图标.zip -------------------------------------------------------------------------------- /QTTabBar/Resources/paypalBtn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/paypalBtn.png -------------------------------------------------------------------------------- /QTTabBar/Resources/qttbar标签及背景皮肤.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/qttbar标签及背景皮肤.rar -------------------------------------------------------------------------------- /QTTabBar/Resources/qttbar标签及背景皮肤/mlbg3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/qttbar标签及背景皮肤/mlbg3.png -------------------------------------------------------------------------------- /QTTabBar/Resources/qttbar标签及背景皮肤/tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/qttbar标签及背景皮肤/tab.png -------------------------------------------------------------------------------- /QTTabBar/Resources/wechat_pay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/wechat_pay.jpg -------------------------------------------------------------------------------- /QTTabBar/Resources/xiaogu/ButtonStrip24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/Resources/xiaogu/ButtonStrip24.png -------------------------------------------------------------------------------- /QTTabBar/SFGAO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace QTTabBarLib 5 | { 6 | [Flags] 7 | internal enum SFGAO : uint 8 | { 9 | CANCOPY = 1, 10 | CANMOVE = 2, 11 | CANLINK = 4, 12 | STORAGE = 8, 13 | CANRENAME = 16, // 0x00000010 14 | CANDELETE = 32, // 0x00000020 15 | HASPROPSHEET = 64, // 0x00000040 16 | DROPTARGET = 256, // 0x00000100 17 | SYSTEM = 4096, // 0x00001000 18 | ENCRYPTED = 8192, // 0x00002000 19 | ISSLOW = 16384, // 0x00004000 20 | GHOSTED = 32768, // 0x00008000 21 | LINK = 65536, // 0x00010000 22 | SHARE = 131072, // 0x00020000 23 | READONLY = 262144, // 0x00040000 24 | HIDDEN = 524288, // 0x00080000 25 | NONENUMERATED = 1048576, // 0x00100000 26 | NEWCONTENT = 2097152, // 0x00200000 27 | STREAM = 4194304, // 0x00400000 28 | STORAGEANCESTOR = 8388608, // 0x00800000 29 | VALIDATE = 16777216, // 0x01000000 30 | REMOVABLE = 33554432, // 0x02000000 31 | COMPRESSED = 67108864, // 0x04000000 32 | BROWSABLE = 134217728, // 0x08000000 33 | FILESYSANCESTOR = 268435456, // 0x10000000 34 | FOLDER = 536870912, // 0x20000000 35 | FILESYSTEM = 1073741824, // 0x40000000 36 | HASSUBFOLDER = 2147483648, // 0x80000000 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QTTabBar/SubDirTipForm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/SubDirTipForm.cs -------------------------------------------------------------------------------- /QTTabBar/ThumbnailTooltipForm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/ThumbnailTooltipForm.cs -------------------------------------------------------------------------------- /QTTabBar/ToolStripClasses.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/ToolStripClasses.cs -------------------------------------------------------------------------------- /QTTabBar/Toolbar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace QTTabBarLib 7 | { 8 | internal enum Toolbar 9 | { 10 | TabBar = 0, 11 | [Obsolete] 12 | ButtonBar = 1, 13 | CommandBar1 = 1, 14 | CommandBar2 = 2, 15 | [Obsolete] 16 | HorizontalVersatileBar = 2, 17 | CommandBarVertical = 3, 18 | [Obsolete] 19 | VerticalVersatileBar = 3, 20 | [Obsolete] 21 | MenuBar = 4, 22 | [Obsolete] 23 | StatusBar = 5, 24 | BottomTabBar = 6, 25 | ManagementBar = 7, 26 | ExtraViewBottom = 8, 27 | SecondViewBar = 8, 28 | ExtraViewLeft = 9, 29 | ThirdViewBar = 9, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QTTabBar/WindowUtils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/QTTabBar/WindowUtils.cs -------------------------------------------------------------------------------- /QTTabBar/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /QTTabBar/todo.txt: -------------------------------------------------------------------------------- 1 | 1. to do translate 2 | 3 | 4 | -------------------------------------------------------------------------------- /Register/Register - 副本.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | 3 | call "D:\Visual Studio 2010 Ultimate\Common7\Tools\VCVarsQueryRegistry.bat" 32bit 64bit 4 | cd ..\QTTabBar\bin\%1 5 | IF EXIST QTTabBar.dll ( 6 | gacutil /if QTTabBar.dll 7 | call %FrameworkDir32%\%FrameworkVersion32%\regasm.exe QTTabBar.dll 8 | if not "%FrameworkDir64%"=="" ( 9 | call %FrameworkDir64%\%FrameworkVersion64%\regasm.exe QTTabBar.dll 10 | ) 11 | ) 12 | cd ..\..\ 13 | 14 | cd ..\QTPluginLib\bin\%1 15 | IF EXIST QTPluginLib.dll ( 16 | gacutil /if QTPluginLib.dll 17 | ) 18 | 19 | cd ..\..\..\BandObjectLib\bin\%1 20 | IF EXIST BandObjectLib.dll ( 21 | gacutil /if BandObjectLib.dll 22 | ) 23 | IF EXIST Interop.SHDocVw.dll ( 24 | gacutil /if Interop.SHDocVw.dll 25 | ) 26 | 27 | cd ..\..\..\QTHookLib\bin\%1 28 | REG ADD HKLM\SOFTWARE\QTTabBar /v InstallPath /t REG_SZ /d "%cd%" /f /reg:32 29 | REG ADD HKLM\SOFTWARE\QTTabBar /v InstallPath /t REG_SZ /d "%cd%" /f /reg:64 30 | 31 | cd ..\..\..\Register 32 | 33 | rem taskkill /f /im explorer.exe 34 | rem start explorer.exe 35 | 36 | rem timeout /nobreak /t 5 37 | 38 | start taskmgr 39 | 40 | exit 0 41 | rem start cmd.exe 42 | 43 | rem cmd cmd /k 44 | 45 | rem cmd /c start explorer.exe 46 | 47 | -------------------------------------------------------------------------------- /Register/Register.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | 3 | rem call VCVarsQueryRegistry.bat 32bit 64bit 4 | call "D:\Visual Studio 2010 Ultimate\Common7\Tools\VCVarsQueryRegistry.bat" 32bit 64bit 5 | cd ..\QTTabBar\bin\%1 6 | IF EXIST QTTabBar.dll ( 7 | gacutil /if QTTabBar.dll 8 | call %FrameworkDir32%\%FrameworkVersion32%\regasm.exe QTTabBar.dll 9 | if not "%FrameworkDir64%"=="" ( 10 | call %FrameworkDir64%\%FrameworkVersion64%\regasm.exe QTTabBar.dll 11 | ) 12 | ) 13 | cd ..\..\ 14 | 15 | cd ..\QTPluginLib\bin\%1 16 | IF EXIST QTPluginLib.dll ( 17 | gacutil /if QTPluginLib.dll 18 | ) 19 | 20 | cd ..\..\..\BandObjectLib\bin\%1 21 | IF EXIST BandObjectLib.dll ( 22 | gacutil /if BandObjectLib.dll 23 | ) 24 | IF EXIST Interop.SHDocVw.dll ( 25 | gacutil /if Interop.SHDocVw.dll 26 | ) 27 | 28 | cd ..\..\..\QTHookLib\bin\%1 29 | REG ADD HKLM\SOFTWARE\QTTabBar /v InstallPath /t REG_SZ /d "%cd%" /f /reg:32 30 | REG ADD HKLM\SOFTWARE\QTTabBar /v InstallPath /t REG_SZ /d "%cd%" /f /reg:64 31 | 32 | cd ..\..\..\Register 33 | 34 | rem taskkill /f /im explorer.exe 35 | rem start explorer.exe 36 | 37 | rem timeout /nobreak /t 5 38 | 39 | rem cmd.exe /c start taskmgr 40 | start taskmgr 41 | exit 0 42 | rem start cmd.exe 43 | 44 | rem cmd cmd /k 45 | 46 | rem cmd /c start explorer.exe 47 | 48 | -------------------------------------------------------------------------------- /Register/Register.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Use this section to tell people about which versions of your project are 6 | currently being supported with security updates. 7 | 8 | | Version | Supported | 9 | | ------- | ------------------ | 10 | | 5.1.x | :white_check_mark: | 11 | | 5.0.x | :x: | 12 | | 4.0.x | :white_check_mark: | 13 | | < 4.0 | :x: | 14 | 15 | ## Reporting a Vulnerability 16 | 17 | Use this section to tell people how to report a vulnerability. 18 | 19 | Tell them where to go, how often they can expect to get an update on a 20 | reported vulnerability, what to expect if the vulnerability is accepted or 21 | declined, etc. 22 | -------------------------------------------------------------------------------- /SetHome/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("SetHome")] 9 | [assembly: AssemblyDescription("设置Java工具集环境变量(JDK/ANT/MAVEN/GRADLE)")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("indiff")] 12 | [assembly: AssemblyProduct("SetHome")] 13 | [assembly: AssemblyCopyright("Copyright (C) 2021-2023")] 14 | [assembly: AssemblyTrademark("indiff")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("0bf24a71-b379-46c9-be2c-c5e7fcb2e7a9")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.6")] 36 | [assembly: AssemblyFileVersion("1.0.0.7")] 37 | -------------------------------------------------------------------------------- /SetHome/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SetHome.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SetHome/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SetHome/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /SetHome/change.txt: -------------------------------------------------------------------------------- 1 | 1.0.0.9 2 | 修复SetHome设置环境变量数据丢失 3 | 支持去重,自动识别扩展字符变量 4 | 1.0.0.8 5 | 修复快捷插件执行报错问题 6 | 1.0.0.7 7 | kill Path 过滤掉不存在的目录 例: Path -> xx1;xx2;xx3;; => xx1;xx3; xx2 目录不存在,或者删除 8 | kill Path 过滤掉2个以上的分号; 例: Path -> xx1;xx2;xx3;; => xx1;xx2;xx3; 9 | 1.0.0.6 10 | 支持修改Path系统变量,采用 setx 方法 -------------------------------------------------------------------------------- /SetHome/pen.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/SetHome/pen.ico -------------------------------------------------------------------------------- /TODOS.txt: -------------------------------------------------------------------------------- 1 | 希望可以加个标签组导入导出的功能 2 | 如果标签组能单独成一排(类似收藏夹)那就更好了 3 | 4 | 5 | 希望能实现原QTTabBar以下功能: 6 | 1、Ctrl+左键单击“导航窗格”如盘符等,可以在新标签打开 7 | 2、Ctrl+左键双击“文件夹”,可以在新标签打开 8 | 9 | 10 | 11 | 快速访问的几个文件夹(包括下面的图片、文档、下载等)目前似乎是没有中键或者ctrl+点击打开新标签的功能,不知道是不是可以加上,这几个真的是特别常用,谢谢! 12 | 13 | 14 | 现在可以在主视图的任意文件夹中键新建打开指定标签,我记得以前的qttabbar在地址栏按中键可以打开指定标签,比如在“D:\Software”中的“D:\”上面按中键可以打开一个D盘根目录的新标签,试了下好像没有这个功能,还是设置里面有这一项我没有发现呢? -------------------------------------------------------------------------------- /Test/TestPreview/gbk.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Test/TestPreview/gbk.txt -------------------------------------------------------------------------------- /Test/TestPreview/libai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Test/TestPreview/libai.png -------------------------------------------------------------------------------- /Test/TestPreview/lvjuren.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Test/TestPreview/lvjuren.png -------------------------------------------------------------------------------- /Test/TestPreview/utf8.m: -------------------------------------------------------------------------------- 1 | 测试 utf8 2 | 在你关闭所有 InPrivate 窗口时删除你的浏览信息 3 | 4 | 保存集锦、收藏夹和下载(但不保存下载历史记录) 5 | 6 | 阻止 Microsoft 必应搜索与你相关联 -------------------------------------------------------------------------------- /Test/TestPreview/utf8.txt: -------------------------------------------------------------------------------- 1 | 测试 utf8 2 | 在你关闭所有 InPrivate 窗口时删除你的浏览信息 3 | 4 | 保存集锦、收藏夹和下载(但不保存下载历史记录) 5 | 6 | 阻止 Microsoft 必应搜索与你相关联 -------------------------------------------------------------------------------- /Test/TestPreview/utf8bom.txt: -------------------------------------------------------------------------------- 1 | 测试 utf8bom 2 | 在你关闭所有 InPrivate 窗口时删除你的浏览信息 3 | 4 | 保存集锦、收藏夹和下载(但不保存下载历史记录) 5 | 6 | 阻止 Microsoft 必应搜索与你相关联 -------------------------------------------------------------------------------- /Tools/NotifyPropertyWeaverMsBuildTask.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Tools/NotifyPropertyWeaverMsBuildTask.dll -------------------------------------------------------------------------------- /Tools/QTTabBarLib.ExplorerProcessCaptor.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Tools/QTTabBarLib.ExplorerProcessCaptor.reg -------------------------------------------------------------------------------- /Tools/QTTabBarLib.ExplorerProcessCaptor1.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Tools/QTTabBarLib.ExplorerProcessCaptor1.reg -------------------------------------------------------------------------------- /Tools/QTTabBarLib.ExplorerProcessCaptor2.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Tools/QTTabBarLib.ExplorerProcessCaptor2.reg -------------------------------------------------------------------------------- /Tools/QTTabBarLib.ExplorerProcessCaptor3.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Tools/QTTabBarLib.ExplorerProcessCaptor3.reg -------------------------------------------------------------------------------- /Votive2010.vsix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/Votive2010.vsix -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-leap-day -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | os: Visual Studio 2015 2 | clone_folder: C:\QBuild\ 3 | test: off 4 | deploy: off 5 | configuration: Release 6 | platform: Any CPU 7 | 8 | 9 | build: 10 | - cmd: >- 11 | call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" 12 | 13 | msbuild /v:m /p:"Configuration=Release" /p:Platform="Any CPU" "QTTabBar Rebirth.sln" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" 14 | 15 | 16 | artifacts: 17 | - path: qttabbar\Installer\bin\Release\zh-CN\QTTabBar Setup.msi 18 | name: QTTabBar Setup_zh-CN.msi 19 | - path: qttabbar\Installer\bin\Release\en-US\QTTabBar Setup.msi 20 | name: QTTabBar Setup_en-US.msi 21 | -------------------------------------------------------------------------------- /image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indiff/qttabbar/28c649d8caaa36cb26356900d326af1e6327646a/image.png -------------------------------------------------------------------------------- /restart explorer.bat: -------------------------------------------------------------------------------- 1 | TASKkill /F /IM explorer.exe 2 | explorer.exe -------------------------------------------------------------------------------- /url.txt: -------------------------------------------------------------------------------- 1 | https://github.com/dsplaisted/NotifyPropertyWeaver -------------------------------------------------------------------------------- /清理.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | for /f "delims=" %%i in ('dir /ad /b' ) do @if exist "%CD%\%%i\Debug" @rmdir /s /q "%CD%\%%i\Debug" 3 | for /f "delims=" %%i in ('dir /ad /b' ) do @if exist "%CD%\%%i\Release" @rmdir /s /q "%CD%\%%i\Release" 4 | for /f "delims=" %%i in ('dir /ad /b' ) do @if exist "%CD%\%%i\Release64" @rmdir /s /q "%CD%\%%i\Release64" 5 | for /f "delims=" %%i in ('dir /ad /b' ) do @if exist "%CD%\%%i\bin" @rmdir /s /q "%CD%\%%i\bin" 6 | for /f "delims=" %%i in ('dir /ad /b' ) do @if exist "%CD%\%%i\obj" @rmdir /s /q "%CD%\%%i\obj" 7 | del /f /s /q *.plg 8 | del /f /s /q *.aps 9 | del /f /s /q *.cache 10 | del /f /s /q *.dll 11 | 12 | pause --------------------------------------------------------------------------------