From fa21e993d9eadfb3b38d8f49c1b6b30352c2bbd0 Mon Sep 17 00:00:00 2001 From: Tae Won Ha Date: Fri, 1 May 2015 10:17:02 +0200 Subject: [PATCH 1/6] :add qvworkspace as submodule - we want to migrate from workspace from textmate to a self-written one. --- .gitmodules | 3 ++ VimR.xcodeproj/project.pbxproj | 71 ++++++++++++++++++++++++++++++++-- qvworkspace | 1 + 3 files changed, 72 insertions(+), 3 deletions(-) create mode 160000 qvworkspace diff --git a/.gitmodules b/.gitmodules index d38d76ef..c914bbc2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "StandardPlugins/ocdiscount"] path = StandardPlugins/ocdiscount url = git://github.com/qvacua/ocdiscount.git +[submodule "qvworkspace"] + path = qvworkspace + url = https://github.com/qvacua/qvworkspace.git diff --git a/VimR.xcodeproj/project.pbxproj b/VimR.xcodeproj/project.pbxproj index eee6457d..d2bea6d9 100644 --- a/VimR.xcodeproj/project.pbxproj +++ b/VimR.xcodeproj/project.pbxproj @@ -20,7 +20,6 @@ 1929B15E4DE9D40CD001D126 /* VRScoredPath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1929B54A396D27D81AEB116E /* VRScoredPath.mm */; }; 1929B17F47B82FBA846A4936 /* VRFileBrowserOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1929BC6450833D2DD65D870F /* VRFileBrowserOutlineView.m */; }; 1929B1858DA515DAC0109F42 /* VRLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1929BC59B996498760F6EDE5 /* VRLogFormatter.m */; }; - 1929B19571A09E107B6A806F /* PBXBuildFile */ = {isa = PBXBuildFile; fileRef = 1929BD04907C009FBFD8BA3D /* NSStringCategoryTest.m */; }; 1929B1C7E68E1C86C0181882 /* VRFileItemManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1929B37A2B86D52B945AD0D8 /* VRFileItemManager.m */; }; 1929B1D2E7F9326E3A3749C5 /* VRFileItemOperation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1929BD08826A501D4F3AE082 /* VRFileItemOperation.mm */; }; 1929B1EAA9A1E1827AD89D73 /* VRNoPluginPreviewView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1929B9FEF57174D43BE0D166 /* VRNoPluginPreviewView.m */; }; @@ -151,6 +150,20 @@ 1929BFD2A870FBF210148877 /* VRPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1929BAEC891444D375F472C8 /* VRPluginManager.m */; }; 1929BFE651FC624FDBB6C8AB /* VRMainWindowControllerFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1929B19627AB3EEDD0C4A7E0 /* VRMainWindowControllerFactory.m */; }; 1929BFEE218D1F29938F4E99 /* VRTextMateCppUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1929B7D8D7809B241537B6F7 /* VRTextMateCppUtils.mm */; }; + 4B6BDCE91AF36DBE0019DB59 /* NSString+QVWorkspace.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCDA1AF36DBE0019DB59 /* NSString+QVWorkspace.m */; }; + 4B6BDCEA1AF36DBE0019DB59 /* NSString+QVWorkspace.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCDA1AF36DBE0019DB59 /* NSString+QVWorkspace.m */; }; + 4B6BDCEB1AF36DBE0019DB59 /* NSView+QVWorkspace.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCDC1AF36DBE0019DB59 /* NSView+QVWorkspace.m */; }; + 4B6BDCEC1AF36DBE0019DB59 /* NSView+QVWorkspace.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCDC1AF36DBE0019DB59 /* NSView+QVWorkspace.m */; }; + 4B6BDCED1AF36DBE0019DB59 /* QVSeparatorLine.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCDE1AF36DBE0019DB59 /* QVSeparatorLine.m */; }; + 4B6BDCEE1AF36DBE0019DB59 /* QVSeparatorLine.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCDE1AF36DBE0019DB59 /* QVSeparatorLine.m */; }; + 4B6BDCEF1AF36DBE0019DB59 /* QVTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE01AF36DBE0019DB59 /* QVTool.m */; }; + 4B6BDCF01AF36DBE0019DB59 /* QVTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE01AF36DBE0019DB59 /* QVTool.m */; }; + 4B6BDCF11AF36DBE0019DB59 /* QVToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE21AF36DBE0019DB59 /* QVToolbar.m */; }; + 4B6BDCF21AF36DBE0019DB59 /* QVToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE21AF36DBE0019DB59 /* QVToolbar.m */; }; + 4B6BDCF31AF36DBE0019DB59 /* QVToolbarButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE41AF36DBE0019DB59 /* QVToolbarButton.m */; }; + 4B6BDCF41AF36DBE0019DB59 /* QVToolbarButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE41AF36DBE0019DB59 /* QVToolbarButton.m */; }; + 4B6BDCF51AF36DBE0019DB59 /* QVWorkspace.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE71AF36DBE0019DB59 /* QVWorkspace.m */; }; + 4B6BDCF61AF36DBE0019DB59 /* QVWorkspace.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BDCE71AF36DBE0019DB59 /* QVWorkspace.m */; }; 4B6F24DB197B000100AB1DD8 /* NoPluginPreviewContent.html in Resources */ = {isa = PBXBuildFile; fileRef = 1929BADD87FEE7512FA3D9AE /* NoPluginPreviewContent.html */; }; 4B6F2573197BAD4300AB1DD8 /* VimRPluginDefinition.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4B6F2572197BAD4300AB1DD8 /* VimRPluginDefinition.framework */; }; 4B6F2574197BAD5300AB1DD8 /* VimRPluginDefinition.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B6F2572197BAD4300AB1DD8 /* VimRPluginDefinition.framework */; }; @@ -393,6 +406,22 @@ 1929BFDF13D59CE5B6D54B2D /* VRGeneralPrefPane.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VRGeneralPrefPane.m; sourceTree = ""; }; 1929BFE6F9FFFCCA920EF56C /* VRPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VRPluginManager.h; sourceTree = ""; }; 44ADE76C2C18B01D5595A5B8 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; + 4B6BDCD91AF36DBE0019DB59 /* NSString+QVWorkspace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+QVWorkspace.h"; path = "qvworkspace/Workspace/NSString+QVWorkspace.h"; sourceTree = ""; }; + 4B6BDCDA1AF36DBE0019DB59 /* NSString+QVWorkspace.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+QVWorkspace.m"; path = "qvworkspace/Workspace/NSString+QVWorkspace.m"; sourceTree = ""; }; + 4B6BDCDB1AF36DBE0019DB59 /* NSView+QVWorkspace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSView+QVWorkspace.h"; path = "qvworkspace/Workspace/NSView+QVWorkspace.h"; sourceTree = ""; }; + 4B6BDCDC1AF36DBE0019DB59 /* NSView+QVWorkspace.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSView+QVWorkspace.m"; path = "qvworkspace/Workspace/NSView+QVWorkspace.m"; sourceTree = ""; }; + 4B6BDCDD1AF36DBE0019DB59 /* QVSeparatorLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVSeparatorLine.h; path = qvworkspace/Workspace/QVSeparatorLine.h; sourceTree = ""; }; + 4B6BDCDE1AF36DBE0019DB59 /* QVSeparatorLine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QVSeparatorLine.m; path = qvworkspace/Workspace/QVSeparatorLine.m; sourceTree = ""; }; + 4B6BDCDF1AF36DBE0019DB59 /* QVTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVTool.h; path = qvworkspace/Workspace/QVTool.h; sourceTree = ""; }; + 4B6BDCE01AF36DBE0019DB59 /* QVTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QVTool.m; path = qvworkspace/Workspace/QVTool.m; sourceTree = ""; }; + 4B6BDCE11AF36DBE0019DB59 /* QVToolbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVToolbar.h; path = qvworkspace/Workspace/QVToolbar.h; sourceTree = ""; }; + 4B6BDCE21AF36DBE0019DB59 /* QVToolbar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QVToolbar.m; path = qvworkspace/Workspace/QVToolbar.m; sourceTree = ""; }; + 4B6BDCE31AF36DBE0019DB59 /* QVToolbarButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVToolbarButton.h; path = qvworkspace/Workspace/QVToolbarButton.h; sourceTree = ""; }; + 4B6BDCE41AF36DBE0019DB59 /* QVToolbarButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QVToolbarButton.m; path = qvworkspace/Workspace/QVToolbarButton.m; sourceTree = ""; }; + 4B6BDCE51AF36DBE0019DB59 /* QVToolbarButtonDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVToolbarButtonDelegate.h; path = qvworkspace/Workspace/QVToolbarButtonDelegate.h; sourceTree = ""; }; + 4B6BDCE61AF36DBE0019DB59 /* QVWorkspace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVWorkspace.h; path = qvworkspace/Workspace/QVWorkspace.h; sourceTree = ""; }; + 4B6BDCE71AF36DBE0019DB59 /* QVWorkspace.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QVWorkspace.m; path = qvworkspace/Workspace/QVWorkspace.m; sourceTree = ""; }; + 4B6BDCE81AF36DBE0019DB59 /* QVWorkspaceDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVWorkspaceDelegate.h; path = qvworkspace/Workspace/QVWorkspaceDelegate.h; sourceTree = ""; }; 4B6F2572197BAD4300AB1DD8 /* VimRPluginDefinition.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = VimRPluginDefinition.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4B6F2585197BB59000AB1DD8 /* Markdown.vimr-plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = "Markdown.vimr-plugin"; sourceTree = BUILT_PRODUCTS_DIR; }; 4B89F119190A473F00AA0EE5 /* MacVimFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MacVimFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -701,6 +730,29 @@ name = Resources; sourceTree = ""; }; + 4B6BDCD81AF36D780019DB59 /* QVWorkspace */ = { + isa = PBXGroup; + children = ( + 4B6BDCD91AF36DBE0019DB59 /* NSString+QVWorkspace.h */, + 4B6BDCDA1AF36DBE0019DB59 /* NSString+QVWorkspace.m */, + 4B6BDCDB1AF36DBE0019DB59 /* NSView+QVWorkspace.h */, + 4B6BDCDC1AF36DBE0019DB59 /* NSView+QVWorkspace.m */, + 4B6BDCDD1AF36DBE0019DB59 /* QVSeparatorLine.h */, + 4B6BDCDE1AF36DBE0019DB59 /* QVSeparatorLine.m */, + 4B6BDCDF1AF36DBE0019DB59 /* QVTool.h */, + 4B6BDCE01AF36DBE0019DB59 /* QVTool.m */, + 4B6BDCE11AF36DBE0019DB59 /* QVToolbar.h */, + 4B6BDCE21AF36DBE0019DB59 /* QVToolbar.m */, + 4B6BDCE31AF36DBE0019DB59 /* QVToolbarButton.h */, + 4B6BDCE41AF36DBE0019DB59 /* QVToolbarButton.m */, + 4B6BDCE51AF36DBE0019DB59 /* QVToolbarButtonDelegate.h */, + 4B6BDCE61AF36DBE0019DB59 /* QVWorkspace.h */, + 4B6BDCE71AF36DBE0019DB59 /* QVWorkspace.m */, + 4B6BDCE81AF36DBE0019DB59 /* QVWorkspaceDelegate.h */, + ); + name = QVWorkspace; + sourceTree = ""; + }; 4B6F2587197BB59800AB1DD8 /* Plugins */ = { isa = PBXGroup; children = ( @@ -721,6 +773,7 @@ 4BE9240A18C20DBC00E67BB6 = { isa = PBXGroup; children = ( + 4B6BDCD81AF36D780019DB59 /* QVWorkspace */, 4BE9241C18C20DBC00E67BB6 /* VimR */, 4BE9243A18C20DBC00E67BB6 /* VimRTests */, 4B6F2587197BB59800AB1DD8 /* Plugins */, @@ -928,8 +981,6 @@ mainGroup = 4BE9240A18C20DBC00E67BB6; productRefGroup = 4BE9241418C20DBC00E67BB6 /* Products */; projectDirPath = ""; - projectReferences = ( - ); projectRoot = ""; targets = ( 4BE9241218C20DBC00E67BB6 /* VimR */, @@ -1041,6 +1092,7 @@ buildActionMask = 2147483647; files = ( 4BE9242A18C20DBC00E67BB6 /* VRAppDelegate.m in Sources */, + 4B6BDCF31AF36DBE0019DB59 /* QVToolbarButton.m in Sources */, 4BE9242318C20DBC00E67BB6 /* main.m in Sources */, 1929BE2CA3488AB3824DF598 /* VRManualBeanProvider.m in Sources */, 1929BECCEE99FFCBA5ACD04E /* NSArray+VR.m in Sources */, @@ -1049,6 +1101,7 @@ 1929B22F52F120AB48CCEBE1 /* VRFileItem.m in Sources */, 1929B1C7E68E1C86C0181882 /* VRFileItemManager.m in Sources */, 1929B85F39A41C42C8860028 /* VROpenQuicklyWindow.m in Sources */, + 4B6BDCEB1AF36DBE0019DB59 /* NSView+QVWorkspace.m in Sources */, 1929BF1D3C2F7A3F89D6DD98 /* VROpenQuicklyWindowController.m in Sources */, 1929BF36720565B5E5A0C630 /* VRScoredPath.mm in Sources */, 1929BB2FD516E0C54A7F9F38 /* VRFilterItemsOperation.mm in Sources */, @@ -1063,6 +1116,7 @@ 1929BC611C605EA2EA42D6CA /* VRCppUtils.mm in Sources */, 1929BA227E512755391D3A00 /* VRUtils.m in Sources */, 1929B96602CF1132D3C20FC0 /* VRAlert.m in Sources */, + 4B6BDCEF1AF36DBE0019DB59 /* QVTool.m in Sources */, 1929BFEE218D1F29938F4E99 /* VRTextMateCppUtils.mm in Sources */, 1929B9588523C90BA38223FA /* VRWorkspaceView.m in Sources */, 1929B78E947C50865826F723 /* VRTextMateUiUtils.m in Sources */, @@ -1083,11 +1137,14 @@ 1929B06DA7EA030C15EA09FB /* VRGeneralPrefPane.m in Sources */, 1929B581DE1040A8E30A9368 /* VRFileBrowserPrefPane.m in Sources */, 1929BFE651FC624FDBB6C8AB /* VRMainWindowControllerFactory.m in Sources */, + 4B6BDCED1AF36DBE0019DB59 /* QVSeparatorLine.m in Sources */, 1929B8D9F169426078FA957B /* VRWorkspaceFactory.m in Sources */, 1929B146BD30BF4DD3720188 /* VRWorkspaceViewFactory.m in Sources */, 1929B89B42D69989BF0CBC3D /* VRFileBrowserViewFactory.m in Sources */, 1929B683C26F3C2903644800 /* NSString+VR.m in Sources */, + 4B6BDCF11AF36DBE0019DB59 /* QVToolbar.m in Sources */, 1929B9A5D27234DBF2990E31 /* VRApplication.m in Sources */, + 4B6BDCE91AF36DBE0019DB59 /* NSString+QVWorkspace.m in Sources */, 1929B45FB56172D6481C412A /* VROpenFilesInNewWindowCommand.m in Sources */, 1929BB9338D726C44D38C16A /* VROpenFilesCommand.m in Sources */, 1929BDF505FDA350AFD3FD44 /* VROpenFilesInFrontmostWindowCommand.m in Sources */, @@ -1096,6 +1153,7 @@ 1929BDE700B7387B64B9BB40 /* VRPropertyService.m in Sources */, 1929B9F07662B5DE6F2D1A94 /* VROpenQuicklyIgnorePattern.m in Sources */, 1929B0FE2E3F340E4AFFC552 /* VRMenuItem.m in Sources */, + 4B6BDCF51AF36DBE0019DB59 /* QVWorkspace.m in Sources */, 1929BA14409C8CB2603B8E8E /* VRKeyBinding.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1107,6 +1165,7 @@ 4B8BE1EE18EB556C004840F1 /* VRAppDelegate.m in Sources */, 1929B65D8458FE1E5D4E0594 /* VRBaseTestCase.m in Sources */, 1929B93BBCD53898D16541CD /* VRManualBeanProvider.m in Sources */, + 4B6BDCF61AF36DBE0019DB59 /* QVWorkspace.m in Sources */, 1929BD434C100AD15EDA2FAF /* VRMainWindowControllerTest.m in Sources */, 1929BD58ED16CFBDF23E41A5 /* VRWorkspaceControllerTest.m in Sources */, 1929B99E6ED2346227C88A2B /* VRAppDelegateTest.m in Sources */, @@ -1133,10 +1192,12 @@ 1929BD58A3D5B75CD348D907 /* VRMainWindow.m in Sources */, 1929B8B706AC7A4DEBEA23BA /* VRWorkspace.m in Sources */, 1929B3017554189DF3D5AB3E /* VRWorkspaceController.m in Sources */, + 4B6BDCEA1AF36DBE0019DB59 /* NSString+QVWorkspace.m in Sources */, 1929BA573D9D927EF4FDA4E0 /* VRMainWindowController.m in Sources */, 1929B44A377085462454D47A /* VRCppUtils.mm in Sources */, 1929B64D6959587E9FAA14F2 /* VRUtils.m in Sources */, 1929BAFE398C4B624DAC7FD9 /* VRAlert.m in Sources */, + 4B6BDCF41AF36DBE0019DB59 /* QVToolbarButton.m in Sources */, 1929B159A8EDC43B78E512AD /* VRTextMateCppUtils.mm in Sources */, 1929B55E015D40CDDCE5A13F /* VRWorkspaceView.m in Sources */, 1929BA0717682C263764E1D8 /* VRTextMateUiUtils.m in Sources */, @@ -1155,9 +1216,11 @@ 1929BB368BEEB9BEDE7797D9 /* VRPrefWindow.m in Sources */, 1929BBFC6EFD8C4DD4861506 /* VRUserDefaults.m in Sources */, 1929BFD2A870FBF210148877 /* VRPluginManager.m in Sources */, + 4B6BDCEE1AF36DBE0019DB59 /* QVSeparatorLine.m in Sources */, 1929BB4F2309E600CC048F28 /* VRPluginManagerTest.m in Sources */, 1929BEFE9E22FDC8EBD5A63D /* VRDummyPlugins.m in Sources */, 1929B1EAA9A1E1827AD89D73 /* VRNoPluginPreviewView.m in Sources */, + 4B6BDCF01AF36DBE0019DB59 /* QVTool.m in Sources */, 1929B620973945EF0B21A31F /* VRPreviewWindowController.m in Sources */, 1929BA323D66CF24342883A8 /* VRPrefPane.m in Sources */, 1929B489548A5818E1BA83F3 /* VRGeneralPrefPane.m in Sources */, @@ -1177,8 +1240,10 @@ 1929BB4053A03944A91AB10E /* VRPropertyService.m in Sources */, 1929BA1E08F2DA3328BA7D3C /* NSStringCategoryTest.m in Sources */, 1929BACF4FF114769BC0DCA8 /* VROpenQuicklyIgnorePattern.m in Sources */, + 4B6BDCF21AF36DBE0019DB59 /* QVToolbar.m in Sources */, 1929BCAAC084135BB4FB7A8E /* VROpenQuicklyIgnorePatternTest.m in Sources */, 1929B9FD4D9474227497BFF0 /* VRMenuItem.m in Sources */, + 4B6BDCEC1AF36DBE0019DB59 /* NSView+QVWorkspace.m in Sources */, 1929B7B8C69FAD008AFD9E13 /* VRKeyBinding.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/qvworkspace b/qvworkspace new file mode 160000 index 00000000..39df5fa3 --- /dev/null +++ b/qvworkspace @@ -0,0 +1 @@ +Subproject commit 39df5fa3cbb4e2a506f4e7ade0183ed6ab302edd From 306a7afd54ee82fec2f43628063d6ba9f06e885e Mon Sep 17 00:00:00 2001 From: Tae Won Ha Date: Fri, 1 May 2015 16:13:21 +0200 Subject: [PATCH 2/6] kind of working... --- VimR/TextMate/VRWorkspaceView.m | 2 +- VimR/VRFileBrowserView.h | 2 + VimR/VRFileBrowserView.m | 24 ++++++++-- VimR/VRFileBrowserViewFactory.h | 3 +- VimR/VRFileBrowserViewFactory.m | 6 +-- VimR/VRMainWindowController.h | 2 + VimR/VRMainWindowController.m | 71 ++++++++++++++++------------ VimR/VRMainWindowControllerFactory.h | 2 + VimR/VRMainWindowControllerFactory.m | 8 +++- VimR/VRWorkspaceViewFactory.h | 4 +- VimR/VRWorkspaceViewFactory.m | 12 ++--- qvworkspace | 2 +- 12 files changed, 88 insertions(+), 50 deletions(-) diff --git a/VimR/TextMate/VRWorkspaceView.m b/VimR/TextMate/VRWorkspaceView.m index 05c7b7a9..4de2aa48 100644 --- a/VimR/TextMate/VRWorkspaceView.m +++ b/VimR/TextMate/VRWorkspaceView.m @@ -228,7 +228,7 @@ static const int qMinimumFileBrowserWidth = 100; _fileBrowserWidth = savedSidebarWidth; } - _cachedFileBrowserView = [_fileBrowserViewFactory newFileBrowserViewWithWorkspaceView:self rootUrl:self.mainWindowController.workingDirectory]; + _cachedFileBrowserView = [_fileBrowserViewFactory newFileBrowserViewWithVimController:self rootUrl:self.mainWindowController.workingDirectory]; [_cachedFileBrowserView setUp]; if ([_userDefaults boolForKey:qDefaultShowSideBar]) { diff --git a/VimR/VRFileBrowserView.h b/VimR/VRFileBrowserView.h index 08b07253..fdaa996a 100644 --- a/VimR/VRFileBrowserView.h +++ b/VimR/VRFileBrowserView.h @@ -17,6 +17,7 @@ @class VRFileBrowserOutlineView; @class VRNode; @class VRWorkspaceView; +@class MMVimController; @protocol VRFileBrowserActionDelegate; @@ -30,6 +31,7 @@ @property (nonatomic, weak) VRFileItemManager *fileItemManager; @property (nonatomic, weak) NSUserDefaults *userDefaults; @property (nonatomic, weak) NSNotificationCenter *notificationCenter; +@property (nonatomic, weak) MMVimController *vimController; @property (nonatomic) NSURL *rootUrl; diff --git a/VimR/VRFileBrowserView.m b/VimR/VRFileBrowserView.m index c35796dd..a9f8b530 100644 --- a/VimR/VRFileBrowserView.m +++ b/VimR/VRFileBrowserView.m @@ -8,6 +8,7 @@ */ #import +#import #import "VRFileBrowserOutlineView.h" #import "VRFileBrowserView.h" #import "VRUtils.h" @@ -363,10 +364,6 @@ static NSComparisonResult (^qNodeDirComparator)(NSNumber *, NSNumber *) = ^NSCom } #pragma mark Private -- (MMVimController *)vimController { - return self.workspaceView.vimView.vimController; -} - - (void)addViews { NSTableColumn *tableColumn = [[NSTableColumn alloc] initWithIdentifier:@"name"]; tableColumn.dataCell = [[OakImageAndTextCell alloc] init]; @@ -514,7 +511,7 @@ static NSComparisonResult (^qNodeDirComparator)(NSNumber *, NSNumber *) = ^NSCom } - (NSArray *)filterWildIngoreNodes:(NSArray *)children forParentPath:(NSString *)parentPath { - NSSet *paths = [self.workspaceView nonFilteredWildIgnorePathsForParentPath:parentPath]; + NSSet *paths = [self nonFilteredWildIgnorePathsForParentPath:parentPath]; NSMutableArray *result = [[NSMutableArray alloc] initWithCapacity:paths.count]; for (VRNode *node in children) { @@ -526,6 +523,23 @@ static NSComparisonResult (^qNodeDirComparator)(NSNumber *, NSNumber *) = ^NSCom return result; } +- (NSSet *)nonFilteredWildIgnorePathsForParentPath:(NSString *)path { + NSString *pathExpression = SF(@"globpath(\"%@\", \"*\")", path); + NSString *dotPathExpression = SF(@"globpath(\"%@\", \".*\")", path); + + // 공부 = ACF5 BD80 in composed Unicode, what Vim returns + // 공부 = 1100 1169 11BC 1107 116E in decomposed Unicode, what usual NSStrings use + NSMutableSet *paths = [NSMutableSet set]; + [paths addObjectsFromArray: + [[_vimController evaluateVimExpression:pathExpression].decomposedStringWithCanonicalMapping componentsSeparatedByString:@"\n"] + ]; + [paths addObjectsFromArray: + [[_vimController evaluateVimExpression:dotPathExpression].decomposedStringWithCanonicalMapping componentsSeparatedByString:@"\n"] + ]; + + return paths; +} + - (NSArray *)filterHiddenNodesIfNec:(NSArray *)nodes { if (_workspaceView.showHiddenFiles) {return nodes;} diff --git a/VimR/VRFileBrowserViewFactory.h b/VimR/VRFileBrowserViewFactory.h index 3a295636..8fe8f102 100644 --- a/VimR/VRFileBrowserViewFactory.h +++ b/VimR/VRFileBrowserViewFactory.h @@ -14,6 +14,7 @@ @class VRFileItemManager; @class VRFileBrowserView; @class VRWorkspaceView; +@class MMVimController; @interface VRFileBrowserViewFactory : NSObject @@ -23,6 +24,6 @@ @property (nonatomic, weak) NSUserDefaults *userDefaults; @property (nonatomic, weak) NSNotificationCenter *notificationCenter; -- (VRFileBrowserView *)newFileBrowserViewWithWorkspaceView:(VRWorkspaceView *)workspaceView rootUrl:(NSURL *)rootUrl; +- (VRFileBrowserView *)newFileBrowserViewWithVimController:(MMVimController *)vimController rootUrl:(NSURL *)rootUrl; @end diff --git a/VimR/VRFileBrowserViewFactory.m b/VimR/VRFileBrowserViewFactory.m index b8bb953d..f8b9338c 100644 --- a/VimR/VRFileBrowserViewFactory.m +++ b/VimR/VRFileBrowserViewFactory.m @@ -7,11 +7,11 @@ * See LICENSE */ +#import #import "VRFileBrowserViewFactory.h" #import "VRFileItemManager.h" #import "VRFileBrowserOutlineView.h" #import "VRFileBrowserView.h" -#import "VRWorkspaceView.h" @implementation VRFileBrowserViewFactory @@ -21,14 +21,14 @@ @autowire(userDefaults) @autowire(notificationCenter) -- (VRFileBrowserView *)newFileBrowserViewWithWorkspaceView:(VRWorkspaceView *)workspaceView rootUrl:(NSURL *)rootUrl { +- (VRFileBrowserView *)newFileBrowserViewWithVimController:(MMVimController *)vimController rootUrl:(NSURL *)rootUrl { VRFileBrowserView *view = [[VRFileBrowserView alloc] initWithRootUrl:rootUrl]; view.fileItemManager = _fileItemManager; view.userDefaults = _userDefaults; view.notificationCenter = _notificationCenter; view.fileManager = _fileManager; - view.workspaceView = workspaceView; + view.vimController = vimController; return view; } diff --git a/VimR/VRMainWindowController.h b/VimR/VRMainWindowController.h index 538244ed..78f83249 100644 --- a/VimR/VRMainWindowController.h +++ b/VimR/VRMainWindowController.h @@ -20,6 +20,7 @@ @class VRPreviewWindowController; @class VRFileItemManager; @class VRWorkspaceViewFactory; +@class VRFileBrowserViewFactory; extern const int qMainWindowBorderThickness; @@ -33,6 +34,7 @@ extern const int qMainWindowBorderThickness; @property (nonatomic, weak) VRWorkspace *workspace; @property (nonatomic, weak) VRWorkspaceViewFactory *workspaceViewFactory; +@property (nonatomic, weak) VRFileBrowserViewFactory *fileBrowserViewFactory; @property (nonatomic, weak) VRFileItemManager *fileItemManager; @property (nonatomic, weak) VROpenQuicklyWindowController *openQuicklyWindowController; @property (nonatomic, weak) NSUserDefaults *userDefaults; diff --git a/VimR/VRMainWindowController.m b/VimR/VRMainWindowController.m index e1207779..7d8ec71a 100644 --- a/VimR/VRMainWindowController.m +++ b/VimR/VRMainWindowController.m @@ -26,6 +26,10 @@ #import "NSArray+VR.h" #import "VRPreviewWindowController.h" #import "VRWorkspaceViewFactory.h" +#import "QVWorkspace.h" +#import "VRFileBrowserViewFactory.h" +#import "QVToolbarButtonDelegate.h" +#import "QVToolbar.h" const int qMainWindowBorderThickness = 22; @@ -46,7 +50,8 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa BOOL _needsToResizeVimView; BOOL _windowOriginShouldMoveToKeepOnScreen; - VRWorkspaceView *_workspaceView; + QVWorkspace *_workspaceView; + VRFileBrowserView *_fileBrowserView; } #pragma mark Public @@ -60,7 +65,7 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa } - (void)updateWorkingDirectory { - _workspaceView.fileBrowserView.rootUrl = _workspace.workingDirectory; + _fileBrowserView.rootUrl = _workspace.workingDirectory; } - (void)cleanUpAndClose { @@ -70,9 +75,10 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa [_previewWindowController close]; + // FIXME: where is the bar?! trbl? if (self.window.isKeyWindow) { [_userDefaults setObject:NSStringFromRect(self.window.frame) forKey:qMainWindowFrameAutosaveName]; - [_userDefaults setFloat:(float) _workspaceView.fileBrowserWidth forKey:qSidebarWidthAutosaveName]; + [_userDefaults setFloat:(float) _workspaceView.leftBar.dimension forKey:qSidebarWidthAutosaveName]; } [self close]; @@ -250,8 +256,6 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa #ifdef DEBUG - (IBAction)debug1Action:(id)sender { - [_workspaceView setFileBrowserWidth:400]; - // DDLogDebug(@"tabs: %@", _vimController.tabs); // DDLogDebug(@"buffers: %@", _vimController.buffers); // NSMenu *menu = _vimController.mainMenu; @@ -549,22 +553,24 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa } - (void)controller:(MMVimController *)controller setVimState:(NSDictionary *)vimState data:(NSData *)data { - if (_workspaceView.syncWorkspaceWithPwd) { - NSString *pwdPath = _vimController.vimState[@"pwd"]; - if (![_workspace.workingDirectory.path isEqualToString:pwdPath]) { - [_workspace updateWorkingDirectoryToUrl:[[NSURL alloc] initFileURLWithPath:pwdPath]]; - } - } + // FIXME +// if (_workspaceView.syncWorkspaceWithPwd) { +// NSString *pwdPath = _vimController.vimState[@"pwd"]; +// if (![_workspace.workingDirectory.path isEqualToString:pwdPath]) { +// [_workspace updateWorkingDirectoryToUrl:[[NSURL alloc] initFileURLWithPath:pwdPath]]; +// } +// } } - (void)controller:(MMVimController *)controller setWindowTitle:(NSString *)title data:(NSData *)data { + // FIXME [self setWindowTitleToCurrentBuffer]; - if (!_vimController.currentBuffer.fileName) { - [_workspaceView setUrlOfPathControl:_workspace.workingDirectory]; - } else { - [_workspaceView setUrlOfPathControl:[NSURL fileURLWithPath:_vimController.currentBuffer.fileName]]; - } +// if (!_vimController.currentBuffer.fileName) { +// [_workspaceView setUrlOfPathControl:_workspace.workingDirectory]; +// } else { +// [_workspaceView setUrlOfPathControl:[NSURL fileURLWithPath:_vimController.currentBuffer.fileName]]; +// } } /** @@ -856,11 +862,14 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa _vimView.tabBarControl.styleNamed = @"Metal"; _workspaceView = [_workspaceViewFactory newWorkspaceViewWithFrame:CGRectZero vimView:_vimView]; - _workspaceView.translatesAutoresizingMaskIntoConstraints = NO; - NSView *contentView = self.window.contentView; - [contentView addSubview:_workspaceView]; - [_workspaceView setUp]; + // FIXME: nil workspace view + _fileBrowserView = [_fileBrowserViewFactory newFileBrowserViewWithVimController:_vimController rootUrl:self.workingDirectory]; + [_fileBrowserView setUp]; + + [_workspaceView addToolView:_fileBrowserView displayName:@"Files" location:QVToolbarLocationLeft]; + + [self.window.contentView addSubview:_workspaceView]; [_workspaceView autoPinEdgesToSuperviewEdgesWithInsets:ALEdgeInsetsZero]; } @@ -932,9 +941,10 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa - (void)updateBuffersInTabs { [_workspace updateBuffersInTabs]; - if (_workspaceView.syncWorkspaceWithPwd) { - return; - } + // FIXME +// if (_workspaceView.syncWorkspaceWithPwd) { +// return; +// } [_workspace updateWorkingDirectoryToCommonParent]; } @@ -967,7 +977,7 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa } - (BOOL)fileBrowserVisible { - return _workspaceView.fileBrowserView != nil; + return _workspaceView.leftBar.hasActiveTool; } - (NSData *)vimArgsAsDataFromUrl:(NSURL *)url mode:(NSUInteger)mode { @@ -986,8 +996,9 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa - (CGSize)uncorrectedVimViewSizeForWinFrameRect:(CGRect)winFrameRect { CGSize winContentSize = [self.window contentRectForFrameRect:winFrameRect].size; - winContentSize.width = winContentSize.width - _workspaceView.sidebarAndDividerWidth; - winContentSize.height = winContentSize.height - (_workspaceView.showStatusBar ? (qMainWindowBorderThickness + 1) : 0); + // FIXME + winContentSize.width = winContentSize.width - _workspaceView.leftBar.dimension; + winContentSize.height = winContentSize.height;// - (_workspaceView.showStatusBar ? (qMainWindowBorderThickness + 1) : 0); return winContentSize; } @@ -996,9 +1007,10 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa * Resize code */ - (CGSize)winContentSizeForVimViewSize:(CGSize)vimViewSize { + // FIXME return CGSizeMake( - _workspaceView.sidebarAndDividerWidth + vimViewSize.width, - vimViewSize.height + (_workspaceView.showStatusBar ? (qMainWindowBorderThickness + 1) : 0) + _workspaceView.leftBar.dimension + vimViewSize.width, + vimViewSize.height// + (_workspaceView.showStatusBar ? (qMainWindowBorderThickness + 1) : 0) ); } @@ -1133,8 +1145,9 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa winFrameRect.size = [self winContentSizeForVimViewSize:_vimView.minSize]; self.window.minSize = [self.window frameRectForContentRect:winFrameRect].size; + // FIXME // We also update the increment of the workspace view, because it could be that the font size has changed - _workspaceView.dragIncrement = (NSUInteger) _vimView.textView.cellSize.width; + _workspaceView.leftBar.dragIncrement = (NSUInteger) _vimView.textView.cellSize.width; } @end diff --git a/VimR/VRMainWindowControllerFactory.h b/VimR/VRMainWindowControllerFactory.h index 1984c47a..888a1a66 100644 --- a/VimR/VRMainWindowControllerFactory.h +++ b/VimR/VRMainWindowControllerFactory.h @@ -18,6 +18,7 @@ @class VRFileItemManager; @class VROpenQuicklyWindowController; @class VRWorkspaceViewFactory; +@class VRFileBrowserViewFactory; @interface VRMainWindowControllerFactory : NSObject @@ -28,6 +29,7 @@ @property (nonatomic, weak) VROpenQuicklyWindowController *openQuicklyWindowController; @property (nonatomic, weak) NSNotificationCenter *notificationCenter; @property (nonatomic, weak) VRWorkspaceViewFactory *workspaceViewFactory; +@property (nonatomic, weak) VRFileBrowserViewFactory *fileBrowserViewFactory; @property (nonatomic, unsafe_unretained) NSFontManager *fontManager; - (VRMainWindowController *)newMainWindowControllerWithContentRect:(CGRect)contentRect diff --git a/VimR/VRMainWindowControllerFactory.m b/VimR/VRMainWindowControllerFactory.m index e20a16ff..4d73b9af 100644 --- a/VimR/VRMainWindowControllerFactory.m +++ b/VimR/VRMainWindowControllerFactory.m @@ -16,6 +16,7 @@ #import "VRFileItemManager.h" #import "VROpenQuicklyWindowController.h" #import "VRWorkspaceViewFactory.h" +#import "VRFileBrowserViewFactory.h" @implementation VRMainWindowControllerFactory @@ -26,9 +27,13 @@ @autowire(pluginManager) @autowire(notificationCenter) @autowire(workspaceViewFactory) +@autowire(fileBrowserViewFactory) @autowire(fontManager) -- (VRMainWindowController *)newMainWindowControllerWithContentRect:(CGRect)contentRect workspace:(VRWorkspace *)workspace vimController:(MMVimController *)vimController { +- (VRMainWindowController *)newMainWindowControllerWithContentRect:(CGRect)contentRect + workspace:(VRWorkspace *)workspace + vimController:(MMVimController *)vimController { + VRMainWindowController *mainWinController = [[VRMainWindowController alloc] initWithContentRect:contentRect]; mainWinController.workspace = workspace; mainWinController.vimController = vimController; @@ -36,6 +41,7 @@ mainWinController.openQuicklyWindowController = _openQuicklyWindowController; mainWinController.userDefaults = _userDefaults; mainWinController.workspaceViewFactory = _workspaceViewFactory; + mainWinController.fileBrowserViewFactory = _fileBrowserViewFactory; mainWinController.fontManager = _fontManager; mainWinController.vimView = vimController.vimView; diff --git a/VimR/VRWorkspaceViewFactory.h b/VimR/VRWorkspaceViewFactory.h index 5a7ac2c7..2b2f2fa5 100644 --- a/VimR/VRWorkspaceViewFactory.h +++ b/VimR/VRWorkspaceViewFactory.h @@ -12,7 +12,7 @@ @class VRFileBrowserViewFactory; -@class VRWorkspaceView; +@class QVWorkspace; @interface VRWorkspaceViewFactory : NSObject @@ -20,6 +20,6 @@ @property (nonatomic, weak) NSUserDefaults *userDefaults; @property (nonatomic, weak) VRFileBrowserViewFactory *fileBrowserViewFactory; -- (VRWorkspaceView *)newWorkspaceViewWithFrame:(NSRect)frame vimView:(MMVimView *)vimView; +- (QVWorkspace *)newWorkspaceViewWithFrame:(NSRect)frame vimView:(MMVimView *)vimView; @end diff --git a/VimR/VRWorkspaceViewFactory.m b/VimR/VRWorkspaceViewFactory.m index 387dc968..51158ad5 100644 --- a/VimR/VRWorkspaceViewFactory.m +++ b/VimR/VRWorkspaceViewFactory.m @@ -8,9 +8,9 @@ */ #import +#import #import "VRWorkspaceViewFactory.h" -#import "VRFileBrowserViewFactory.h" -#import "VRWorkspaceView.h" +#import "QVWorkspace.h" @implementation VRWorkspaceViewFactory @@ -18,12 +18,10 @@ @autowire(userDefaults) @autowire(fileBrowserViewFactory) -- (VRWorkspaceView *)newWorkspaceViewWithFrame:(NSRect)frame vimView:(MMVimView *)vimView { - VRWorkspaceView *view = [[VRWorkspaceView alloc] initWithFrame:frame]; +- (QVWorkspace *)newWorkspaceViewWithFrame:(NSRect)frame vimView:(MMVimView *)vimView { + QVWorkspace *view = [[QVWorkspace alloc] initForAutoLayout]; - view.fileBrowserViewFactory = _fileBrowserViewFactory; - view.userDefaults = _userDefaults; - view.vimView = vimView; + view.centerView = vimView; return view; } diff --git a/qvworkspace b/qvworkspace index 39df5fa3..12b007f3 160000 --- a/qvworkspace +++ b/qvworkspace @@ -1 +1 @@ -Subproject commit 39df5fa3cbb4e2a506f4e7ade0183ed6ab302edd +Subproject commit 12b007f31ecedd19c757065b0e08af0cdffb337a From 1af2732130a4130d078f525955e8863a0f6f9523 Mon Sep 17 00:00:00 2001 From: Tae Won Ha Date: Wed, 3 Jun 2015 15:21:30 +0200 Subject: [PATCH 3/6] update qvworkspace --- qvworkspace | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qvworkspace b/qvworkspace index 12b007f3..6b7acde8 160000 --- a/qvworkspace +++ b/qvworkspace @@ -1 +1 @@ -Subproject commit 12b007f31ecedd19c757065b0e08af0cdffb337a +Subproject commit 6b7acde88b5a3b7003d98646b81cf35bbe8d79f3 From 83c34b4e698aca025ddfe510ca7b033b4e8495eb Mon Sep 17 00:00:00 2001 From: Tae Won Ha Date: Wed, 3 Jun 2015 15:33:08 +0200 Subject: [PATCH 4/6] make sync workspace with pwd work again --- VimR.xcodeproj/project.pbxproj | 2 ++ VimR/VRMainWindowController.h | 7 ++++++- VimR/VRMainWindowController.m | 36 ++++++++++++++++++++++------------ VimR/VRWorkspace.h | 2 ++ 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/VimR.xcodeproj/project.pbxproj b/VimR.xcodeproj/project.pbxproj index d2bea6d9..4d0a78e1 100644 --- a/VimR.xcodeproj/project.pbxproj +++ b/VimR.xcodeproj/project.pbxproj @@ -309,6 +309,7 @@ 1929B5FC0CACD06A926BB858 /* VROpenFilesInFrontmostWindowCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VROpenFilesInFrontmostWindowCommand.m; sourceTree = ""; }; 1929B60202DAE063135DD32C /* VRLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VRLog.h; sourceTree = ""; }; 1929B610BD09830F426CB915 /* VRUserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VRUserDefaults.h; sourceTree = ""; }; + 1929B625D1EA6CD6EFF958D6 /* QVToolbarDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QVToolbarDelegate.h; path = qvworkspace/Workspace/QVToolbarDelegate.h; sourceTree = ""; }; 1929B6422375B345DAA4E35A /* VRCppUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VRCppUtils.mm; sourceTree = ""; }; 1929B68C34C504CB9E6CF69B /* VROpenFilesInNewWindowCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VROpenFilesInNewWindowCommand.m; sourceTree = ""; }; 1929B68FDCF00DC74509A5DB /* VRInactiveTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VRInactiveTableView.h; sourceTree = ""; }; @@ -749,6 +750,7 @@ 4B6BDCE61AF36DBE0019DB59 /* QVWorkspace.h */, 4B6BDCE71AF36DBE0019DB59 /* QVWorkspace.m */, 4B6BDCE81AF36DBE0019DB59 /* QVWorkspaceDelegate.h */, + 1929B625D1EA6CD6EFF958D6 /* QVToolbarDelegate.h */, ); name = QVWorkspace; sourceTree = ""; diff --git a/VimR/VRMainWindowController.h b/VimR/VRMainWindowController.h index 78f83249..90007bcd 100644 --- a/VimR/VRMainWindowController.h +++ b/VimR/VRMainWindowController.h @@ -11,6 +11,7 @@ #import #import "VRUserDefaults.h" #import "VRUserDefaultsObserver.h" +#import "QVWorkspaceDelegate.h" @class VRWorkspaceController; @@ -22,6 +23,8 @@ @class VRWorkspaceViewFactory; @class VRFileBrowserViewFactory; +@protocol QVToolbarDelegate; + extern const int qMainWindowBorderThickness; @@ -30,7 +33,7 @@ extern const int qMainWindowBorderThickness; NSWindowDelegate, MMVimControllerDelegate, VRUserDefaultsObserver, - NSUserInterfaceValidations> + NSUserInterfaceValidations, QVToolbarDelegate> @property (nonatomic, weak) VRWorkspace *workspace; @property (nonatomic, weak) VRWorkspaceViewFactory *workspaceViewFactory; @@ -70,6 +73,8 @@ extern const int qMainWindowBorderThickness; - (IBAction)zoomOut:(id)sender; - (IBAction)selectNthTab:(id)sender; +- (IBAction)toggleSyncWorkspaceWithPwd:(NSMenuItem *)sender; + #pragma mark NSUserInterfaceValidations - (BOOL)validateUserInterfaceItem:(id )anItem; diff --git a/VimR/VRMainWindowController.m b/VimR/VRMainWindowController.m index 7d8ec71a..bdd19af5 100644 --- a/VimR/VRMainWindowController.m +++ b/VimR/VRMainWindowController.m @@ -131,6 +131,7 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa } - (void)forceRedrawVimView { + DDLogError(@"forcing redraw"); [self sendCommandToVim:@":redraw!"]; } @@ -254,6 +255,11 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa [_vimView selectTabWithIndex:(int) [sender tag] fromVim:NO]; } +- (IBAction)toggleSyncWorkspaceWithPwd:(id)sender { + _workspace.syncWorkspaceWithPwd = ! _workspace.syncWorkspaceWithPwd; + [_fileBrowserView reload]; +} + #ifdef DEBUG - (IBAction)debug1Action:(id)sender { // DDLogDebug(@"tabs: %@", _vimController.tabs); @@ -313,6 +319,12 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa [_userDefaults removeObserver:self forKeyPath:qDefaultAutoSaveOnCursorHold]; } +#pragma mark QVToolbarDelegate +- (void)toolbarChangedDimension:(QVToolbar *)toolbar { + DDLogError(@"toolbar changed!"); + [self forceRedrawVimView]; +} + #pragma mark MMViewDelegate informal protocol /** * Resize code @@ -492,7 +504,8 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa } - (void)controller:(MMVimController *)controller openWindowWithData:(NSData *)data { - self.window.acceptsMouseMovedEvents = YES; // Vim wants to have mouse move events + // FIXME find out why Vim wants to get the mouse events! +// self.window.acceptsMouseMovedEvents = YES; // Vim wants to have mouse move events [self updateResizeConstraints]; @@ -553,13 +566,12 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa } - (void)controller:(MMVimController *)controller setVimState:(NSDictionary *)vimState data:(NSData *)data { - // FIXME -// if (_workspaceView.syncWorkspaceWithPwd) { -// NSString *pwdPath = _vimController.vimState[@"pwd"]; -// if (![_workspace.workingDirectory.path isEqualToString:pwdPath]) { -// [_workspace updateWorkingDirectoryToUrl:[[NSURL alloc] initFileURLWithPath:pwdPath]]; -// } -// } + if (_workspace.syncWorkspaceWithPwd) { + NSString *pwdPath = _vimController.vimState[@"pwd"]; + if (![_workspace.workingDirectory.path isEqualToString:pwdPath]) { + [_workspace updateWorkingDirectoryToUrl:[[NSURL alloc] initFileURLWithPath:pwdPath]]; + } + } } - (void)controller:(MMVimController *)controller setWindowTitle:(NSString *)title data:(NSData *)data { @@ -862,6 +874,7 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa _vimView.tabBarControl.styleNamed = @"Metal"; _workspaceView = [_workspaceViewFactory newWorkspaceViewWithFrame:CGRectZero vimView:_vimView]; + _workspaceView.leftBar.delegate = self; // FIXME: nil workspace view _fileBrowserView = [_fileBrowserViewFactory newFileBrowserViewWithVimController:_vimController rootUrl:self.workingDirectory]; @@ -941,10 +954,9 @@ static NSString *const qMainWindowFrameAutosaveName = @"main-window-frame-autosa - (void)updateBuffersInTabs { [_workspace updateBuffersInTabs]; - // FIXME -// if (_workspaceView.syncWorkspaceWithPwd) { -// return; -// } + if (_workspace.syncWorkspaceWithPwd) { + return; + } [_workspace updateWorkingDirectoryToCommonParent]; } diff --git a/VimR/VRWorkspace.h b/VimR/VRWorkspace.h index 92dcd7ec..bb832024 100644 --- a/VimR/VRWorkspace.h +++ b/VimR/VRWorkspace.h @@ -31,6 +31,8 @@ @property (nonatomic) VRMainWindowController *mainWindowController; @property (nonatomic) NSURL *workingDirectory; +@property (nonatomic) BOOL syncWorkspaceWithPwd; + #pragma mark Public - (void)ensureUrlsAreVisible:(NSArray *)urls; - (BOOL)isOnlyWorkspace; From d0b2aea30d1c8148b33c1edc6c9bd89dadaa7279 Mon Sep 17 00:00:00 2001 From: Tae Won Ha Date: Sat, 4 Jul 2015 14:24:12 +0200 Subject: [PATCH 5/6] compile again --- VimR/VRMainWindowController.m | 1 + 1 file changed, 1 insertion(+) diff --git a/VimR/VRMainWindowController.m b/VimR/VRMainWindowController.m index bdd19af5..e67712e5 100644 --- a/VimR/VRMainWindowController.m +++ b/VimR/VRMainWindowController.m @@ -10,6 +10,7 @@ #import #import #import +#import "QVToolbarDelegate.h" #import "VRMainWindowController.h" #import "VRLog.h" #import "VRAlert.h" From 21e260b2e2ef9ce883581d403b950c6a5a62fbbe Mon Sep 17 00:00:00 2001 From: Isam Machlovi Date: Sun, 13 Sep 2015 09:39:30 -0400 Subject: [PATCH 6/6] Added cmd+shift+D and cmd+shift+I for toggling Browser Directory First and Hidden Files items, respectively --- VimR/Base.lproj/MainMenu.xib | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/VimR/Base.lproj/MainMenu.xib b/VimR/Base.lproj/MainMenu.xib index c7cc33bb..6980e406 100644 --- a/VimR/Base.lproj/MainMenu.xib +++ b/VimR/Base.lproj/MainMenu.xib @@ -333,8 +333,7 @@ Gw - - + @@ -342,8 +341,7 @@ Gw - - +