diff --git a/projects/macos/ecode/Info.plist.tpl b/projects/macos/ecode/Info.plist.tpl
index 1d48ff8db..8cc1b903d 100644
--- a/projects/macos/ecode/Info.plist.tpl
+++ b/projects/macos/ecode/Info.plist.tpl
@@ -26,5 +26,1316 @@
NSMainNibFile
+ CFBundleDocumentTypes
+
+
+ CFBundleTypeExtensions
+
+ h
+
+ CFBundleTypeIconFile
+ c.icns
+ CFBundleTypeName
+ C header file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ c
+
+ CFBundleTypeIconFile
+ c.icns
+ CFBundleTypeName
+ C source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ gitattributes
+ gitconfig
+ gitignore
+
+ CFBundleTypeIconFile
+ config.icns
+ CFBundleTypeName
+ Git configuration file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ asp
+ aspx
+ cshtml
+ jshtm
+ jsp
+ phtml
+ shtml
+
+ CFBundleTypeIconFile
+ html.icns
+ CFBundleTypeName
+ HTML template document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ bat
+ cmd
+
+ CFBundleTypeIconFile
+ bat.icns
+ CFBundleTypeName
+ Windows command script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ bowerrc
+
+ CFBundleTypeIconFile
+ Bower.icns
+ CFBundleTypeName
+ Bower document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ config
+ editorconfig
+ ini
+ cfg
+
+ CFBundleTypeIconFile
+ config.icns
+ CFBundleTypeName
+ Configuration file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ hh
+ hpp
+ hxx
+ h++
+
+ CFBundleTypeIconFile
+ cpp.icns
+ CFBundleTypeName
+ C++ header file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ cc
+ cpp
+ cxx
+ c++
+
+ CFBundleTypeIconFile
+ cpp.icns
+ CFBundleTypeName
+ C++ source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ m
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Objective-C source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ mm
+
+ CFBundleTypeIconFile
+ cpp.icns
+ CFBundleTypeName
+ Objective-C++ source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ cs
+ csx
+
+ CFBundleTypeIconFile
+ csharp.icns
+ CFBundleTypeName
+ C# source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ css
+
+ CFBundleTypeIconFile
+ css.icns
+ CFBundleTypeName
+ CSS
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ go
+
+ CFBundleTypeIconFile
+ go.icns
+ CFBundleTypeName
+ Go source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ htm
+ html
+ xhtml
+
+ CFBundleTypeIconFile
+ HTML.icns
+ CFBundleTypeName
+ HTML document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ jade
+
+ CFBundleTypeIconFile
+ Jade.icns
+ CFBundleTypeName
+ Jade document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ jav
+ java
+
+ CFBundleTypeIconFile
+ Java.icns
+ CFBundleTypeName
+ Java document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ js
+ jscsrc
+ jshintrc
+ mjs
+ cjs
+
+ CFBundleTypeIconFile
+ Javascript.icns
+ CFBundleTypeName
+ Javascript file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ json
+
+ CFBundleTypeIconFile
+ JSON.icns
+ CFBundleTypeName
+ JSON document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ less
+
+ CFBundleTypeIconFile
+ Less.icns
+ CFBundleTypeName
+ Less document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ markdown
+ md
+ mdoc
+ mdown
+ mdtext
+ mdtxt
+ mdwn
+ mkd
+ mkdn
+
+ CFBundleTypeIconFile
+ Markdown.icns
+ CFBundleTypeName
+ Markdown document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ php
+
+ CFBundleTypeIconFile
+ PHP.icns
+ CFBundleTypeName
+ PHP source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ ps1
+ psd1
+ psm1
+
+ CFBundleTypeIconFile
+ Powershell.icns
+ CFBundleTypeName
+ Powershell script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ py
+ pyi
+
+ CFBundleTypeIconFile
+ Python.icns
+ CFBundleTypeName
+ Python script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ gemspec
+ rb
+ erb
+
+ CFBundleTypeIconFile
+ Ruby.icns
+ CFBundleTypeName
+ Ruby source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ scss
+ sass
+
+ CFBundleTypeIconFile
+ SASS.icns
+ CFBundleTypeName
+ SASS file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ sql
+
+ CFBundleTypeIconFile
+ SQL.icns
+ CFBundleTypeName
+ SQL script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ ts
+
+ CFBundleTypeIconFile
+ TypeScript.icns
+ CFBundleTypeName
+ TypeScript file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ tsx
+ jsx
+
+ CFBundleTypeIconFile
+ React.icns
+ CFBundleTypeName
+ React source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ vue
+
+ CFBundleTypeIconFile
+ Vue.icns
+ CFBundleTypeName
+ Vue source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ ascx
+ csproj
+ dtd
+ plist
+ wxi
+ wxl
+ wxs
+ xml
+ xaml
+
+ CFBundleTypeIconFile
+ XML.icns
+ CFBundleTypeName
+ XML document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ eyaml
+ eyml
+ yaml
+ yml
+
+ CFBundleTypeIconFile
+ YAML.icns
+ CFBundleTypeName
+ YAML document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ bash
+ bash_login
+ bash_logout
+ bash_profile
+ bashrc
+ profile
+ rhistory
+ rprofile
+ sh
+ zlogin
+ zlogout
+ zprofile
+ zsh
+ zshenv
+ zshrc
+
+ CFBundleTypeIconFile
+ Shell.icns
+ CFBundleTypeName
+ Shell script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ clj
+ cljs
+ cljx
+ clojure
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Clojure source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ coffee
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ CoffeeScript source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ csv
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Comma Separated Values
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ cmake
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ CMake script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ dart
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Dart script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ diff
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Diff file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ dockerfile
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Dockerfile
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ gradle
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Gradle file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ groovy
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Groovy script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ makefile
+ mk
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Makefile
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ lua
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Lua script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ pug
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Pug document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ ipynb
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Jupyter
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ lock
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Lockfile
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ log
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Log file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ txt
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Plain Text File
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ xcodeproj
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Xcode project file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ xcworkspace
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Xcode workspace file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ vb
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Visual Basic script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ r
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ R source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ rs
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Rust source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ rst
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Restructured Text document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ tex
+ cls
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ LaTeX document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ fs
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ F# source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ fsi
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ F# signature file
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ fsx
+ fsscript
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ F# script
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ svg
+ svgz
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ SVG document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ toml
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ TOML document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ swift
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Swift source code
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ containerfile
+ ctp
+ dot
+ edn
+ handlebars
+ hbs
+ ml
+ mli
+ pl
+ pl6
+ pm
+ pm6
+ pod
+ pp
+ properties
+ psgi
+ rt
+ t
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Visual Studio Code document
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ CFBundleTypeIconFile
+ default.icns
+ CFBundleTypeName
+ Folder
+ CFBundleTypeOSTypes
+
+ TEXT
+ utxt
+ TUTX
+ ****
+
+ CFBundleTypeRole
+ Editor
+ LSItemContentTypes
+
+ public.folder
+
+
+
diff --git a/src/tools/ecode/ecode.cpp b/src/tools/ecode/ecode.cpp
index bc874d563..b53973848 100644
--- a/src/tools/ecode/ecode.cpp
+++ b/src/tools/ecode/ecode.cpp
@@ -600,9 +600,14 @@ void App::onFileDropped( String file ) {
}
}
- loadFileFromPath( file, false, codeEditor, [tab]( UICodeEditor*, const std::string& ) {
+ loadFileFromPath( file, false, codeEditor, [this, tab]( UICodeEditor* editor, const std::string& ) {
if ( tab )
- tab->getTabWidget()->setTabSelected( tab );
+ tab->setTabSelected();
+ else {
+ UITab* tab = mSplitter->tabFromEditor( editor );
+ if ( tab )
+ tab->setTabSelected();
+ }
} );
}
@@ -1636,6 +1641,8 @@ void App::loadFileDelayed() {
editor->runOnMainThread( [this, editor, fileAndPos] {
editor->goToLine( fileAndPos.second );
mSplitter->addEditorPositionToNavigationHistory( editor );
+ UITab* tab = mSplitter->tabFromEditor( editor );
+ if (tab) tab->setTabSelected();
} );
} );
}