Commit Graph
102 Commits
Author SHA1 Message Date
malte_langkabel c551c9a1dd logic: add name delimiter to NameHierarchy
* NameHierarchy now looks like this: <delimiter>\tm<all the rest>
* made new baseclasses for SettingsMigration and SettingsMigrator
* Use the migration system for SqliteBookmarkStorage as well
2017-05-16 13:08:12 +02:00
malte_langkabel 156c3d4b9f src: refactor UUIDUtility to conform with our coding conventions 2017-05-11 15:02:07 +02:00
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
malte_langkabel bf094b52da logic: fix initialization of source groups
SourceGroups have been initialized with wrong default values which
have later been used to write for writing the ProjectSettings file
if not overwritten.
2017-04-26 11:24:13 +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
Eberhard Graether 2b38e0f45e src: Fixed C++ source extensions and standard saved to compilation database source group
bug id = 366
2017-04-14 12:57:32 +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 17c0189a83 build: get rid of some compiler warnings
<description>
2017-04-10 15:51:26 +02:00
Eberhard Graether 6ba93ca39f src: more bug fixes
* fixed snippets added twice on token reactivation for errors and fulltext search results
* fixed colorscheme gets refreshed when cancelling preferences
* scroll to first line in errors table after indexing and showing view
* fixed file not properly expanded when snippet covers full file
* fixed project type naming in project setup
* fixed set delimiter of NameHierarchy for projects that can't be loaded yet
* changed language order for project setup
2017-04-07 17:14:34 +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
Eberhard Graether aa49fffca6 src: fixed clang warnings 2017-03-15 12:58:06 +01:00
malte_langkabel 8533ad7535 logic: minor maven fixes
* changed maven related value name in project settings
* fixed JavaProjectSettings to return correct ProjectType for Maven project
2017-03-09 11:57:22 +01: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
malte_langkabel 4563cbe90a logic: indexer commands
* replaced parser arguments by project specific IndexerCommands that know everything the indexer needs to know to do its job
* added different language and project specific indexers that know how to handle a certain kind of indexer command
* refactored FileManager and FileRegister to have less overhead
* removed no-rtti restriction for clang files in lib cxx
* uncommented deprecated interprocess code.

fortune cookie message = Happiness will bring you good luck.
2017-02-22 16:42:20 +01:00
Eberhard Graether 2ade5ca976 logic: Fixed every project trying to load from cdb, added warning for trial mode on failed refresh 2017-02-13 12:40:45 +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
malte_langkabel 1bb25140a7 ui: renamed undefined to non-indexed and made node/edge names more readable 2017-02-06 16:18:00 +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 cf8e8c7655 ui: log tab 2016-11-10 11:09:24 +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 77cf33666f ui: Select code in code view with SHIFT + drag
bug id = 7
2016-09-21 11:23:47 +02:00
Eberhard Graether 5680bf7b25 logic: Added migration for C/C++ standard to ProjectSettings
* extended SettingsMigrator to support lambdas
* added PROJECT_STATE_NEEDS_MIGRATION and dialog for loading old project files
2016-09-15 12:23:18 +02:00
Eberhard Graether 73ef7c1bcb logic: Fixed C language setting not propagated to Parser and added all supported language standards for C/C++ 2016-09-15 00:07:47 +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
malte_langkabel 9255d45b94 ui: language dependent symbol name delimiter
* implemented symbol delimiter as static field of NameHierarchy which is set when a project is created.
2016-08-18 15:22:25 +02:00
Eberhard Graether c269493942 ui: Added scroll speed setting to preferences 2016-08-18 12:12:19 +02:00
Eberhard Graether a3001b2b72 ui: Added Java project setup UI 2016-08-17 13:12:26 +02:00
malte_langkabel c847fba568 src: Project Refactoring
* Added language specific Project and ProjectSettings
* moved project specific code from Application to Project
* made Application a singleton
* added handleDialog method to Application which displays a dialog window and waits for user input
* Added ScopedFunctor that executes a function when deleted
2016-08-11 12:17:13 +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
Eberhard Graether 8ca54f2091 ui: removed 'Save Project' and 'Save Project As' actions
* removed save actions from menu in QtMainWindow
* removed MessageSaveProject and all Listeners
* updated project loading to ask whether old project and db file should be kept at old location
* fixed crash for missing include files
* fixed simple header search within source paths was broken
2016-06-28 15:59:22 +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