Commit Graph
84 Commits
Author SHA1 Message Date
Eberhard Graether 610dbf5bfb src: Fixes for release
* Fixed annotations in code view when showing errors
* Fixed context menu hatched for non-indexed/incomplete file button
* Fixed file minimize button losing hover style when leaving to file bar
* Fixed only change bookmark button state when active node is bookmarked
* Fixed use bezier edges when expanding node on aggregation graph
* Fixed manually expanded nodes stay expanded
2017-06-07 17:46:16 +02:00
Eberhard Graether aaca8618e2 logic: Only request unconnected child nodes when expanding node
* increases graph performance by ~30%
2017-06-01 14:48:03 +02:00
Eberhard Graether 29cfbe0f66 logic: error limit and better user experience (issue #385)
* only show up to 1000 errors in table and code view
* click button in bottom right of error table to show all
* same error order in code and table
* highlight error line when switching reference in code view
* improved error view performance

bug id = 385
2017-05-30 23:11:20 +02:00
malte_langkabel 6cb2119cce src: remove unused includes 2017-05-17 12:10:22 +02:00
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 c58b6ae23c logic: fix properly create sqlite indices when changing DB mode 2017-05-16 10:08:26 +02:00
Eberhard Graether 4b9c9858b7 data: Save timestamp of project indexing and show it in overview 2017-05-09 23:47:34 +02:00
Eberhard Graether 8f44ad4a47 ui: Fixes for release
* updated keyboard shortcuts
* graph zooming also with Ctrl + Mouse Wheel
* display include and macro edges behind nodes
* allow more file search results
2017-05-05 12:40:51 +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
Eberhard Graether 74da2c7de9 src: fixes for FilePath refactoring on clang 2017-05-04 11:54:45 +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 0468168d61 ui: Fixes and improvements for bookmarks
* moved bookmark buttons behind search bar
* suggest qualified name when creating, file name for files
* fixed bug when updating bookmark category
* changed comment toggle arrow
* changed edit and delete icons
* fixed undo for edge bookmarks
* keep categories always alphabetical regardless of subsorting
* keep category expansion state when opening and closing browser
* removed QtBookmarkBar, moved logic into QtBookmarkView
* added bookmarks Menu with shortcuts
	Ctrl + D: Create Bookmark
	Ctrl + B: Bookmark Manager
2017-04-26 00:33:34 +02:00
malte_langkabel f6f7861ff1 logic: improve SQLite injection performance
* removed unique constraints again and added manual checks and db indices
2017-04-25 13:19:43 +02:00
malte_langkabel e669064452 logic: Add unique constraints to SQLite tables 2017-04-24 17:38:16 +02:00
Eberhard Graether 4bfe59df76 data: Fixed file complete flag not set when retrieving single source locations in SourceLocationCollection 2017-04-24 01:46:42 +02:00
Eberhard Graether f0b7dcdcdd ui: Show call graphs, inheritance trees and include trees for active symbol (issue 249 337)
* Added TrailLayouter with Sugiyama dependency layouting
* Layouter supports horizontal and vertical layouts
* Added basic ui to graph view for showing incoming and outgoing paths
* Added depth slider, with infinity at maximum
* Disable trail ui when not available
* Added trail messages to undo stack and only use last one when undoing
* Added QtGraphLineBezier for trail graphs and refactored other line types
* Disabled edge activation for trail layouts, shown only visually
* Highlight all connected edges when hovering a node in trail layout
* Use different color when highlighting call edges for better contrast
* Fixed BucketLayouter issue when edge does not leave node
* Increased click area for angled edges

bug id = 249 337

fortune cookie message = Answer just what the heart prompts to you.
2017-04-24 01:14:53 +02:00
malte_langkabel 2b24b88745 data: bookmark refactoring
* implemented handling of aggregations in bookmarks
* split index Storage and bookmark storage
* each sqlite database has its own version now
* added bookmark tests
* fixed creating bookmark tables when project can be loaded but bookmark db does not exist
* fixed font size for bookmarkview tooltips
* using bookmark cache now
* using default category name when none specified by the user
* raising bookmark windows when they should be shown
* clearing a bookmark or category in the editor will now update the star icon accordingly
* non-persistent bookmarks use ids of nodes and edges now (instead of names)
* git ignore .srctrlbm files
2017-04-17 10:55:59 +02:00
Eberhard Graether 8dc5ac7cbe data: stop indexing of files with fatal errors and store them as incomplete (issue 358)
* avoid AST traversial for CXX translation units with fatal errors
* save all files within those translation units as incomplete
* show number of complete files in finished indexing dialog and overview stats
* display incomplete files hatched in graph view
* display incomplete file titles hatched in code view
* mention file incompleteness in tooltips
* removed derived Indexer classes and set ParserType via template parameter instead
* moved getSourceFileFromCDB from IndexerCxxCdb to IndexerCommandCxxCdb

bug id = 358
2017-04-15 01:02:09 +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 4e9ba897ac src: Refactored TokenLocation classes to SourceLocation classes
* Removed TokenLocationLine
* decoupled TokenLocationFile from TokenLocationCollection
* save vector of Token ids to SourceLocation
* refactored SourceLocationFile::getFilteredByLines()
* refactored snippet creation
2017-03-25 02:05:48 +01:00
Eberhard Graether 139c49805d src: cleaned up StorageAccess 2017-03-17 00:47:01 +01:00
Eberhard Graether 630009a2ba logic: Refactored undo redo stack
* Store MessageActivateTokens instead of original view messages
* Renamed FeatureController to ActivationController
* Remove all non-activation messages from undo redo stack after reindexing project
* Added MessageShowReference to undo redo stack
* Added MessageScrollGraph for restoring graph view scroll position
* Fixed MessageGraphNodeMove not saved for bundles
* Refactored tokenIds and nodeNames in SearchMatch and MessageActivateTokens
* Refactored SearchController
* Fixed file expansion on undoing/redoing after switching code view mode
* Fixed redundant graph animation due to present qualifier nodes
* Fixed no restoring of graph node expansion when showing overview in between
2017-03-16 23:24:33 +01:00
Eberhard Graether 04a5abdf98 data: Fixed file id retrieval for file in search match 2017-02-20 11:24:01 +01:00
Eberhard Graether 1d133492ed data: Fixed file node finding in search and undoing file activations in graph 2017-02-13 22:31:42 +01:00
wrongway88 97fd40fe9b ui: bookmarks
can now bookmark tokens
2017-02-12 15:06:07 +01:00
Eberhard Graether 3a540285a3 logic: Show non-indexed nodes within their parents and their childs
* Added support for access nodes without title
2017-02-10 14:49:26 +01:00
Eberhard Graether e2a6d4e237 logic: Check whether nodes were not already added as symbols in namespace graph retrieval 2017-02-10 01:39:18 +01:00
Eberhard Graether 9a67835882 data: Updated color schemes to new node type names 2017-02-10 01:07:11 +01:00
Eberhard Graether ab7fdac2f8 logic: Fixed non-indexed symbols were not shown as namespace contents 2017-02-10 00:54:04 +01:00
Eberhard Graether bfb997d35f logic: Fixed SearchMatch sorting not updated after rescoring
* also ignore template section in SearchMatch sorting
2017-02-09 23:54:21 +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
malte_langkabel be1a44a763 ui: file clearing progress
* display some progress information when clearing files
2017-02-06 13:02:15 +01:00
Eberhard Graether 52b0cd2017 ui: redesigned graph overview and use new list layouting within overview bundles
* overview bundles imitate style of bundled node type
* removed bundle for built-in types
* show contents of overview bundle in vertical list layouted with new ListLayouter
* nodes starting with the same letter are grouped with the letter displayed above
* pressing the letter key will scroll to the group
* also use this list layouting for namespace & package contents
* renamed BucketGrid to BucketLayouter
* moved used functions of GraphPostProcessor to GraphViewStyle and removed GraphPostProcessor

fortune cookie message = Don't be afraid to take that big step
2017-02-02 13:29:40 +01:00
malte_langkabel a78cb1d020 logic: fixed names of file nodes that are target of macro use edge
* fixed name of macro use edge target
* fixed generating a file nodes full path in SqliteStorage
2017-01-27 15:43:35 +01:00
Eberhard Graether 590f4138e1 data: Fix file node search with concatenated file path in storage fails for relative paths containing .. 2017-01-27 10:30:26 +01:00
Eberhard Graether 2aa8c4c22c ui: Refactored context menu API, added file path actions in graph and code
* Add 'copy full path' and 'show containing folder' actions to graph view, code view
* Added file path to file node tooltip

bug id = 320
2017-01-26 21:54:57 +01:00
Eberhard Graether 9583b6bbea ui: Split aggregation edges when expanding nodes if possible 2017-01-26 16:29:11 +01:00
malte_langkabel 2759018374 ui: show when type is built-in (issue #2)
* renamed DefinitionType to DefinitionKind
* passing DefinitionKind from Java to C++ instead of just a single bool
* omitting to create a symbol for undefined types

fortune cookie message = Happy news is on the way to you.
2017-01-23 15:55:29 +01:00
malte_langkabel 6ea248b500 logic: clearing unused includes
* refresh also clears referenced (included or imported) files if they are not part of the project's source files and are not referenced by any other unchanged file anymore.
2017-01-23 10:36:42 +01:00
malte_langkabel 8e4179cbf0 logic: reduced overhead in storage data types
* node represents something that is not yet defines
* nodes that are defined are either files or symbols

fortune cookie message = trust your intuition
2017-01-18 14:46:44 +01:00
malte_langkabel e7d2ddbd2d logic: handling of multiple files with the same name
* implemented storing symbols and files in completely different tables
2017-01-17 11:27:20 +01:00
malte_langkabel 79937b21f0 logic: refactored using Occurrences in PersistentStorage 2016-12-19 14:20:54 +01:00
Eberhard Graether 8bf02140b2 logic: Aggregate type use edges to make referencing symbols appear collapsed 2016-12-09 20:43:46 +01:00
Eberhard Graether 6575485609 logic: Improved code view performance by removing duplicate TokenLocation check 2016-12-07 21:04:19 +01:00
Eberhard Graether a3428be65c logic: Improved code view performance by removing duplicate storage call 2016-12-07 18:47:07 +01:00
Eberhard Graether 32c2906bf0 logic: Improved performance of depending file path retrieval for refresh 2016-12-02 11:01:48 +01:00
Eberhard Graether 6e0eb89cd0 ui: Fixed issues in search field
* Fixed crashes when pressing return and only ? or ?? was entered
* Fixed "Find Symbol" after "Find Text" will remove the ?
* Do fulltext search when no match was found for the entered text
* Select current matches when using "Find Symbol"

bug id = 251
2016-12-01 11:21:32 +01:00
Eberhard Graether 949f738b3f logic: Fixes in error management
* Moved error filtering to PersistentStorage
* Fixed wrong error count in statusbar and dialog sometimes
* Make sure error tab is visible when showing Log View
* Don't show error view when no visible errors are added
2016-11-29 08:29:45 +01:00
Eberhard Graether 74d702095c ui: Fixed file name not shown in search view when activated from graph or code 2016-11-29 04:07:58 +01:00
malte_langkabel 7873710ba8 src: refactored name resolvers
* added classes that represent different name kinds
* rewrote NameResolvers to return the new name classes instead of NameElement and NameHierarchy
* removed DataType classes since their functionality moved to the CxxTypeName class.
2016-11-16 15:37:02 +01:00