Commit Graph
577 Commits
Author SHA1 Message Date
Eberhard Graether ff65a3f285 logic: Added update checker connecting to online API
* connects to https://www.sourcetrail.com/api/v1/versions/latest
* sends information about OS, platform, license type, current version and a unique user token
* Automatic update check is enabled via Startscreen and performed once every 24 hours on window focus
* Update check can be forced by clicking on "check for new version" on start screen
* renamed TimePoint to TimeStamp

fortune cookie message = In Träumen und im Leben ist nichts unmöglich.
2017-08-08 14:18:14 +02:00
malte_langkabel 8ec7f02433 logic: add NODE_ENUM to NODE_USEABLE_TYPE
* this makes sure that edges that point to an activated enum become aggregated
2017-08-04 10:55:05 +02:00
Eberhard Graether d80b1fc848 logic: removed preprocessor only option when indexing CXX source groups 2017-08-03 16:54:41 +02:00
Eberhard Graether 9e06323ba7 data: Fixed duplicate rows in database 2017-08-02 17:30:17 +02:00
Eberhard Graether 8c5b69dce6 ui: Show list in tooltip when clicking source location with multiple tokens or local symbols
* Also shows list of all implicit symbols at a source location e.g. default constructors or template specializations
2017-08-02 12:32:13 +02:00
malte_langkabel 91969770d5 logic: sort and shuffle indexer commands for performance
Before indexing the indexer commands are sorted according to byte size of the
indexed source file. Afterwards the list is split into two halves and each half
is shuffled. This ensures that bigger files tend to be indexed first, so that
no indexer thread runs idle at the end of indexing.
2017-08-02 12:03:53 +02:00
Eberhard Graether 01864b4d0c ui: Added custom tooltipping to code and graph (issue #195)
* Tooltips show node type with access specifier, reference count and fully qualified name
* Fields and global variables include the type name
* Methods and functinos show whole signature. Gets broken into multiple lines if too long.

Included changes:

* Upgraded to C++14
* fixed clang warnings
* Pass location of .srctrlprj file to build.sh script to load on launch
* Split off QtCodeField for showing highlighted and annotated code fom QtCodeArea
* removed TokenComponentSignature
* added TaskDecoratorDelay

bug id = 195
2017-07-31 12:45:22 +02:00
malte_langkabel cad595a32c logic: add storage transformation to merge anonymous types and the respective typedef
* moved storage related classes to data/storage folder
* implemented recording c++ unions as NODE_UNION instead of just using NODE_TYPE
* added transformation to merge anonymous classes/structs/enums/unions and typedef nodes
* added tests for this transformation
* added setting for enabling/disabling this transformation
2017-07-18 15:14:43 +02:00
Eberhard Graether e57e51a839 ui: Fixed class expand toggle shown in overview and namespace lists 2017-07-17 00:16:41 +02:00
Eberhard Graether 9d0b86ad98 logic: Show inheritance edges between parents of active symbol and other visible symbols (issue #167)
* add inheritance edges between parents of active symbol and other visible symbols
* add dashed inheritance edges when symbols are no direct decendants
* inheritance edges are also respected in layouting, putting base/derived classes in the correct top/bottom spot now

bug id = 167
2017-07-16 18:40:59 +02:00
Eberhard Graether 9a36d48d1e src: Improved project loading performance
* faster hierarchy cache building
* cache symbol definition kinds
* don't request files when caches can be used
* save SearchEdge by starting character in SearchNode to avoid iteration when adding to SearchIndex
* fixed disabled state of some search buttons
2017-07-15 15:21:08 +02:00
Eberhard Graether da756c9a4c src: Improved code view performance
* fixed slow annotation hovering
* improved retrieving source locations for whole files
2017-07-13 02:25:54 +02:00
malte_langkabel 9bcde198a5 logic: add auto-detection for JRE System Library
* fixed error columns are not saved to database correctly
* implemented setting JRE System Library paths in app settings
* added detector for JRE System Library that not use Java Runtime specified in AppSettings but detects JRE on its own by reusing the JavaPathDetector.
* added option to use JRE System Library in JavaSourceGroup
2017-07-10 18:12:52 +02:00
malte_langkabel 6ac340f602 logic: increase speed of inserting into persistent storage
* doubled storage injection speed by using precompiled sqlite statements.
2017-07-03 19:00:49 +02:00
malte_langkabel 31b9b74ca8 logic: improve database clearing performance
* added indices that speed up clearing elements
* enclosed clearing in transaction
2017-06-29 13:45:14 +02:00
malte_langkabel a66daa9ac0 build: reduce boost includes in FilePath.h 2017-06-28 17:50:51 +02:00
malte_langkabel e6c5ffa97a logic: apply some shared memory fixes
* corrections in estimating size of intermediate indexer commands
* avoided clearing and refilling the indexed files list every time files get added
* changed memory growth policy of InterprocessIndexingStatusManager to double allocated memory when it gets full
* added potential to grow memory when adding crashed file paths
2017-06-19 16:24:01 +02:00
Andreas Stallinger 148588b179 logic: add 1MB buffer to pushIntermediateStorge 2017-06-12 12:05:34 +02:00
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
malte_langkabel fb5bb33a10 logic: fix bookmark migration for Java projects
testing if currently loaded project is a Java project and setting delimiter for node names in bookmark tables accordingly.
2017-06-07 13:40:18 +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 8ab0abbe69 data: Added exception handling to database index 2017-05-31 14:07:21 +02:00
Eberhard Graether b79891693b ui: Fixed errors always shown after indexing 2017-05-31 13:44:58 +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
Eberhard Graether 082dfc2e1a logic: Fixed source files within CDB not indexed unless within Indexed Header Paths 2017-05-22 23:02:35 +02:00
Eberhard Graether 65b5bd47f6 logic: Fixed indexing progress file count in status bar and status view (issue #387)
bug id = 387
2017-05-19 14:26:52 +02:00
Eberhard Graether 9088de8105 ui: History list polishing
* Fixed fulltext searches not included
* Show smaller colored indicator in front of list items
* Font weight bold on history list item hover
2017-05-19 14:08:56 +02:00
Eberhard Graether 83356e58ee src: Fixed clang build 2017-05-17 13:02:38 +02:00
malte_langkabel 6cb2119cce src: remove unused includes 2017-05-17 12:10:22 +02:00
Eberhard Graether ea3fd8b928 build: updated changlog for release 0.12.25
* and fixed clang warnings
2017-05-16 16:38:34 +02:00
Eberhard Graether d4e5808524 src: Fixed clang issues 2017-05-16 16:30:50 +02:00
malte_langkabel 4d140e396a src: add IndexerCommandType that will be used instead of string 2017-05-16 15:29:46 +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
malte_langkabel 8a92453d60 logic: fix update of Java indexer to new version of Java dependencies
* reapplied previous reverts
* added cache for TypeSolvers in Java code
2017-05-10 17:54:21 +02:00
Eberhard Graether 960ca6703e logic: Fix indexing progress dialog not updated when fetching storage 2017-05-10 15:52:24 +02:00
Eberhard Graether f3cd9a1770 data: Fixed inconsistent node data in IntermediateStorage 2017-05-10 13:24:32 +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 3fdd24f038 data: Fixes in indexing
* Show status update for every indexed translation unit and only once
* Save nodes in same order they were indexed
2017-05-09 22:55:49 +02:00
Eberhard Graether f4caacacf2 ui: Added history of last active symbols to UI and menu (issue 151)
* holding down back or forward button shows list of current back-forward stack
* added narrow button between back and forward to show the list
* added History menu
* moved back and forward actions to History menu
* show chronological list of recently active symbols in History menu

bug id = 151

fortune cookie message = Dein Geschäft wird gut laufen und expandieren.
2017-05-09 17:14:43 +02:00
Eberhard Graether 14fa67b909 logic: Limit multi process indexing to projects with C/C++ source groups 2017-05-08 14:45:37 +02:00
malte_langkabel e8a24d3d98 logic: release fixes
* disable windows error dialogs on application crash for indexer target
* show indexing dialog at the start of indexing task instead of waiting for processes to start
* fix escaping path to binary for indexer process
* join garbagecollector thread when stopping
* fix compile errors related to FilePath in deploy mode on windows
2017-05-05 16:37:48 +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 9c6114336c data: Fixed TaskBuildIndex stops fetching when indexer commands are out and waits for indexer threads to stop first 2017-05-05 12:37:16 +02:00
malte_langkabel c93d5aa9f0 ui: add dialog to warn about active "verbose indexer logging" on refresh
* also featuring: remove unnecessary call in ParserClientImpl
2017-05-05 11:37:25 +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 9beea94fd8 src: Removed ApplicationStateMonitor 2017-05-04 13:49:38 +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
Andreas Stallinger 55d3f9c189 fix: 64bit builder segault
returning a bool seem to cause a seg fault on the linux 64 bit builder
since it is not used anyway i changed it back to the void return.
(dont know why it is a seg fault)
2017-05-03 11:22:28 +00:00