Commit Graph
61 Commits
Author SHA1 Message Date
Eberhard Graether 706119ebcc data: indexer processes
* TaskBuildIndex starts seperate indexer processes and communicates via shared memory
* indexer processes get restarted if they fail
* indexer processes are killed when the app closes or crashes
* added utility class SharedMemory to allocate and access shared memory, providing basic data structures
* added SharedMemoryGarbageCollector for keeping track of running instances and cleaning up shared memory in case of a crash
* show errors for source files that crashed during indexing
* added basic exception handling to task scheduling
* added option to turn off processes and use threads in preferences, but still use shared memory

fortune cookie message = Good news from someone dear is coming soon.
2017-05-04 15:50:59 +02:00
malte_langkabel 054b8fab17 logic: reduce access to filesystem while indexing
* use canonical filepath cache in cxx indexer
* made constructors of FilePath explicit
* use FilePath at more places instead of string
* forward declares FilePath wherever possible
2017-05-04 10:55:16 +02:00
Eberhard Graether b98444c15e ui: styled trail navigation
* added icons to buttons
* added toggle for collapsing and expanding controls
* added controls visibility to app settings
* fixed low contrast for disabled buttons in bright color scheme
2017-04-26 15:38:55 +02:00
Eberhard Graether 6cd6552343 data: improvements on error management
* mark all files with errors as incomplete
* fix incomplete label in codeview tooltip not updated properly
* added setting for canceling indexing for files with fatal errors
2017-04-15 17:57:20 +02:00
malte_langkabel c78fe0d8d4 logic: Use all available cores when setting indexer threads to 0 (issue #342) 2017-04-11 13:42:20 +02:00
Andreas Stallinger 045a259b2e build: renaming to sourcetrail 2017-04-07 13:19:09 +02:00
malte_langkabel da063377cd build: fix cyclic file dependencies that break the build on Linux 2017-04-03 09:53:04 +02:00
malte_langkabel 7b30ac18de logic: source groups for project settings
* project can not have multiple source groups with different types
* language of a project is now inferred from source groups
* setting global NameHierarchy delimiter of first sourceGroup in project
* added project settings migrations for source groups
* Add Settings Migration classes (MoveKey, DeleteKey, Lambda)
* Update sample projects with migrations
* added method to config to retrieve sublevel key names
* implemented recursive removing of keys in settings
* moved project files out of top level
* removed solution parsing code as it is not used anymore

fortune cookie message = The secret of getting ahead is getting started.
2017-03-31 16:11:37 +02:00
malte_langkabel 3cbe83f9e6 logic: maven project setup
* added option to create a Coati project from a Maven POM file
* show list of indexed file paths in maven project setup
* use FileManager to detect indexed files in project setup (except cdb)
* added Maven path to preferences window and added path detectors.
* fixed: QtDialogView::hideStatusDialog now also hides loader in status bar.
* refactored ProjectType

fortune cookie message = If you continually give, you will continually have.
2017-03-08 14:55:42 +01:00
Eberhard Graether 0ceff0203c ui: Revised project setup to customer feedback
* Support environment variables in compilation database path
* Moved advanced option (compiler flags & exclude paths) to separate dialog
* Allow environment variables that contain multiple paths
* Renamed 'Project Name' to 'Coati Project Name'
* Renamed 'Project File Location' to 'Coati Project Location'
* Renamed 'Project Paths' to 'Indexed Paths'
* Make all paths chosen by path picker relative to the project location
* Disabled name and location changing in project editing and removed project moving
* Added sub-titles to project setup dialogs
* Warn user when no Indexed Header Paths were set
* Deprecated lazy include search: It's only useable and visible to projects holding the key
* Split default file extensions for C++ and C

bug ids = 234 254 283 293 312 335
2017-02-13 01:02:09 +01:00
Eberhard Graether cee8a52ca4 ui: Added checkbox to enable/disable animations to preferences 2017-01-09 21:32:59 +01:00
Eberhard Graether 2bdc9b19a2 ui: Added single file mode to code view
* Added navigation to top of code view for iterating references and switching between list and single file mode
* current file name and reference count is shown on top in single file mode
* refactored scrolling to location or line via request system
* added parameters animated and toTop to scrolling system
* refactored class hierarchy and removed unused stuff in list mode
2017-01-09 00:48:20 +01:00
malte_langkabel 5482e56e82 build: deploy changes
* moved sample projects from data to user folder
* added fallback files for app and window settings
* implemented copying app and window settings to user folder when not found on app startup
* fixed upgrading for windows installer
2016-12-14 13:33:17 +01:00
Eberhard Graether 5845a98095 logic: polished status view
* click message in status bar to show status view
* renamed status tab to output
* renamed status column to message
* fixed list not properly updating when using filters
* scroll to first row after clearing
2016-12-12 11:08:07 +01:00
Andreas Stallinger 5d5a0922f5 ui: statusview
* statusview as tab
2016-12-07 12:56:56 +01:00
Andreas Stallinger f53f6dae98 ui: logview logic in controller
* logfilter in applicationsettings
* logview limit 500 entries
2016-11-25 15:16:07 +01:00
malte_langkabel 9084d3bd7c ui: added info screen for indexer crash investigation
* in case Coati crashes while indexing this screen will inform the user of further steps to take in order to find out what happened
2016-11-21 12:36:42 +01:00
Andreas Stallinger 98869e51a5 fix: astvisitor fixes
* renaming files
* fix typo
* clang waringns
2016-11-03 12:38:36 +01:00
malte_langkabel 9e4a02a33a src: added optional indexer AST logging
* removed old AstVisitor
* added new implementation called CxxAstVisitor
* added CxxVerboseAstVisitor that may wrap the CxxAstVisitor to log the AST while visiting
* added the same structure for the Java visitors
* removed all the logs that were fired when recording stuff
* Added UI setting for verbose indexer logging.
* implemented AST name obfuscation for Java and Cxx
* unified test visitors for Java and Cxx
* implemented recording using directive decl
* removed most of the old onXxxParsed methods
2016-11-01 10:37:30 +01:00
Eberhard Graether 76fb7c4e6c ui: Added setting for graph zoom on mouse wheel by default to preferences
On popular demand.

bug id = 237
2016-10-25 22:52:36 +02:00
Andreas Stallinger dc064e4756 ui: Errorview
Tabbed view with errorview as tab
2016-10-13 12:37:10 +02:00
Eberhard Graether f6ae1afdb2 ui & logic: fixes for release
* smaller indexing progress dialog with bar in the middle instead of golden ratio
* set default code snippet expand range to 3
* no minimum height for project file location element in project setup wizard
* move aggregation and inheritance edges to front when hovered or active
* push parent nodes of active nodes to back to make edges to the active child visible
* properly quit application when window is closed while confirm box is open
* properly quit application when window is closed while indexing
* only count top level nodes for count on bundle nodes
* give noLetterScore to index 0 in search index scoring

bug id = 121
2016-10-11 15:38:44 +02:00
malte_langkabel e5cd905670 ui: maximum allocated jvm memory configurable in preferences
* added setting for maximum memory allocated by JVM to Preferences window.
* a value of -1 ignores this setting
* changed default value for this setting to -1
* increased JNI version to Java 1.8

* disabled some file system tests for windows
2016-09-29 10:05:03 +02:00
Eberhard Graether a15dccb219 src: Fixed clang warnings 2016-08-25 14:45:18 +02:00
Eberhard Graether bff9430fa2 logic: Enable/Disable Logging in Preferences
* disabled by default
2016-08-25 13:44:43 +02:00
Eberhard Graether 03bbce45c9 logic: Application settings migration system
* Added version number to ApplicationSettings
* Added SettingsMigrator for defining migration rules for different ApplicationSettings versions
* Migrate ApplicationSettings when loading
2016-08-25 12:40:54 +02:00
Eberhard Graether c269493942 ui: Added scroll speed setting to preferences 2016-08-18 12:12:19 +02:00
malte_langkabel b072972b50 data: indexing java
* expanded appsettings to include java specific stuff
* added java indexer as separate project that can be build via its build script
* added dependencies for java indexer to the setup folder
* added license files for these dependencies.
* added sample project for java. this is just to test java on other machines and can be removed again in the future.
* the java parser test suite is currently uncommented because java is not running on every machine.
* added some more node types
* removed TokenComponentAccess::AccessType and replaced all its usages by using AccessKind
* moved access components from edges to nodes
* using recordReference of ParserClient for java
* removed recording access specifier of inheritance edges.
* added styles for new node types
2016-08-04 09:20:13 +02:00
Eberhard Graether b2cb95de1b ui: Moved color scheme selection to preferences
* removed 'Switch Color Scheme' action from View menu
* added dropdown with all fetched color schemes to preferences

bug id = 114
2016-07-20 17:27:53 +02:00
Eberhard Graether eb8808b624 logic: Hide non-fatal errors in unindexed files
* added database field indexed to error to tell if the error occured within an indexed file
* added checkbox to Preferences for showing them
2016-07-20 12:24:46 +02:00
malte_langkabel 98b13ef24d ui: overlay window base size
* added property in application settings to define a basic width and height that is used when creating new overlay windows.
* fixed crash in tests
2016-06-14 15:27:03 +02:00
malte_langkabel 67e4d84631 logic: indexer count and fixes
* added option to define the amount of parallel indexers in the appsettings
* fixed unparsed files query in ASTVisitor
* fixed: to update a node's type in the storage the node does not have to be defined anymore
2016-05-13 16:30:16 +02:00
Eberhard Graether 6be207a68a logic: Ask user before reparsing the project
While the message box with the question is visible the ui is blocked. A message appears when:
* when project was edited
* when preferences were edited
* when project file has more recent changes than db
* when db has a different version than Coati
2016-04-24 22:47:39 +02:00
Eberhard Graether 7cd38f8e56 logic: Fixed FilePath to not expand environment variables in constructor 2016-04-19 00:13:02 +02:00
malte_langkabel 73ee3a27d9 logic: iterated on license checking
- moved LicenseChecker from App to Lib project
- added MessageDispatchWhenLicenseValid. This message takes another message as an argument which is dispatched once the LicenseChecher confirms the current license key or (if the key is invalid) once the user entered a valid key. This message is used when messages are sent that should not be working when no license key has been entered (LoadProject or ActivateTokenLocation via the IDE communication).
- added MessageShowStartScreen which makes the MainView display this screen. This message is also sent via the MessageDispatchWhenLicenseValid.
- removed startup project from appsettings.
2016-04-14 15:25:40 +02:00
Andreas Stallinger 2ffec90c19 ui: startscreen display not existing project
* displays moved or deleted recent projects as disabled button
2016-04-04 20:43:56 +02:00
malte_langkabel fee1d97604 ui: moved recent projects submenu
* moved the menu entry for "recent projects" to be placed close to "open project"
* replaced enum for MaxRecentProjectsCount in AppSettings by a getter function.
2016-03-23 14:15:30 +01:00
Manuel Dobusch 612e12b35f ui: font size limits
Introduced font size limits and prevent ui refresh beyond those limits. Should prevent UI from freezing up with unlocked mouse wheel.
2016-03-02 16:22:16 +01:00
Eberhard Graether b07e562a6e logic: Check if color scheme path still exists 2016-02-24 00:30:16 +01:00
Manuel Dobusch 8d6220dafb logic: file paths
Changed relative file paths for resources to absolute paths to ensure functionality of shortcuts and file associations on windows platform
2016-01-26 15:28:43 +01:00
Eberhard Graether 75b102a528 ui, logic: design for license ui and forcing the user to enter a key on first open
This change integrates the license key ui into the application and makes it necessary for the user to enter a correct
key. The check for a correct key is done on startup and whenever a project is loaded. The check for the key also
includes a check whether the location of the application has changed.
2016-01-18 11:42:31 +01:00
Andreas StallingerandEberhard Graether 23257a3071 build,logic : Key/License Generator
Generator using the Botan Cyrptography library
2016-01-18 11:42:31 +01:00
malte_langkabel d5cf4b7109 logic: improved template argument parsing
* improved the way of gettig a TemplateSpecializationTypeLoc from any TypeLoc to parse template arguments.
* fixed wrong forward mouse button code in app settings.
2015-12-16 16:36:36 +01:00
Eberhard Graether 82a16341d8 ui: renamed undo&redo to back&forward, control back&forward via mouse and backspace
* the key codes for mouse back and forward buttons can be defined in the ApplicationSettings
* fixed only left mouse button allowed for graph interactions
2015-12-16 16:22:10 +01:00
Eberhard Graether faa79e44f1 ui: added help texts to directory list boxes
* added a ? button to the labels of the directory list boxes to show help messages
* added a window stack to QtMainWindow for easier screen handling
* added a button to the preferences in the project setup
* removed 'has seen settings' flag from AppSettings
2015-12-03 19:09:42 +01:00
Manuel Dobusch fbc5f7a7fe logic: network port option
Added options to Coati and VS plugin to set network ports
2015-11-18 17:08:05 +01:00
malte_langkabel 901fa1a387 data: template argument handling
* storing template argument relations for cases where at lease one of these (template class, template argument) is defined inside the parsed project files.
* prevented storage from saving the same source location multiple times.
2015-11-17 18:09:20 +01:00
Andreas Stallinger 88b94a21d0 build: linux package
linux package
2015-11-17 16:41:49 +01:00
Andreas Stallinger 86f06c9f78 ui: recent projects menu fix
recent projects updates now when a projects is loaded
2015-11-17 12:13:48 +01:00
malte_langkabel 73b25c45ff data: cleaning xml tag names
* replaced xml tags that have been written in PascalCase with the underscore_notation throughout all of the settings files.
2015-10-20 11:08:42 +02:00