Commit Graph
52 Commits
Author SHA1 Message Date
Eberhard Graether f13aec70dd ui: Added tabs UI to top of main window (issue #215)
* Added tab bar to top of main window with UI/shortcuts similar to web browsers
* ComponentManager offers components for 2 use-cases: application and tab
* Application components: log view (status/errors), bookmarks, screen search, status bar, tabs, tooltips, dialogs and all tab views disabled
* Tab components: graph, code, history and search
* When a project is loaded there is always at least one tab, otherwise there is none
* Each tab replaces the application views of the same name in the main layout when activated
* Each tab has it's own TaskScheduler, to process tasks independent from other tabs
* The application has a global TaskScheduler for application wide tasks
* The singloton class TaskManager is responsible for managing the TaskSchedulers
* MessageListeners and Messages hold an optional schedulerId, both must be set to only send to a specific TaskScheduler
* Bookmark buttons where split off into a separate view per tab, bookmark managemement is done in the application
* History menu processing is done by the QtMainWindow now
* Screen search is an application component, the responders are always changed to the active tab
* Plugin messages are opened in a new tab
* Symbols can be opened in a new tab via middle click/context menu in graph, code, history dropdown
* Full text index creation is mutexed now in PersistenStorage to make it fully thread-safe
* All tabs are closed when switching projects
* Tab contents are only animated when visible

fortune cookie message = Catch your lucky star!
2018-11-05 01:28:12 +01:00
mlangkabel dfc6d88432 build: search headers in all source directories
* removed paths in include directives
* changed cmake to provide necessary header search paths
* changed name of version.h to productVersion.h due to name conflict
2018-09-18 19:00:18 +02:00
Eberhard Graether c0984b2ca4 ui: Display count circle of bundle node as rounded rect 2018-08-27 19:42:20 +02:00
Eberhard Graether ae7b827b0c ui: Added expand and collapse node actions to graph view context menu
* expand/collapse node via graph view context menu
* also possible with Shift + Left Click
2018-08-05 19:49:18 +02:00
Eberhard Graether ed0ade034e ui: Graph legend (issue #308, #540)
* Show graph legend via 'legend' command or '?' button in the lower right corner
* Legend is not interactive: nodes and edges not clickable or moveable
* CXX and Java node types are mixed
2018-07-23 16:55:58 +02:00
Eberhard Graether ad6f5c8727 ui: Added show definition context menu action for graph nodes (issue #83)
* use 'show definition' context menu action or 'Ctrl/Cmd + Left Click' to show definition of node in code
2018-07-22 14:30:56 +02:00
mlangkabel 98f4ec62ec logic: implemented exporting graph as .svg (issue #596) 2018-07-10 14:31:39 +02:00
Eberhard Graether 20f87b084f ui: Improved horizontal graph layout
* extend horizontal edges to origin column width
* leave horizontal gap in the middle of the left and right buckets for routing edges
* move left and right buckets vertically so that edges enter and leave horizontally
* removed third pivoting for graph edges, all edges enter and leave relative to the node center now
2018-04-10 01:45:56 +02:00
Eberhard Graether 166d82b44f ui: made icon buttons self updating on color scheme change
* fixed hatching not replaced in single file view title bar on color scheme change
2018-03-19 22:44:45 +01:00
Eberhard Graether 9773c30fdc ui: Improved vertical layout for override and inheritance edges 2018-02-07 23:15:55 +01:00
mlangkabel 9e041c1f0a logic: use wstring in symbol and bookmark names
* use wstring in symbol and bookmark names
* fixed setting apppath in windows includes
* regard utf8 encoding in shared indexer commands
* regard utf8 encoding in shared indexer status
2018-02-05 17:17:33 +01:00
mlangkabel 0dda63f7ae logic: used wstring in FilePath constructor
* used wstring in FilePath constructor where easily possible
* added FilePath concatenate method that accepts string parameter
* implemented using only wstring in MessageStatus
* used wstring in config
2018-01-30 11:00:23 +01:00
mlangkabel 7ec02d28ea ui: Filepicker fixes
* don't reset filepath used to open file picker dialog for SaveFileDialog
* don't reset filepath used to open filepicker for OpenProject dialog
* fixed non-native file picker starts in wrong directory if provided with filename to open (instead of directory)
* fixed non-native dialog displays machines root directory if empty path is provided
2018-01-26 12:43:17 +01:00
mlangkabel 0c01c39698 ui: added "Exported from Sourcetrail" note to saved graph images 2017-12-12 12:56:15 +01:00
Eberhard Graether 0d5c19db00 ui: Hide nodes and edges from graph via context menu action or Alt + Click (issue #472)
* show all context menu actions, but disable unavailable
* added hide action to undo redo stack
2017-11-26 12:54:42 +01:00
Eberhard Graether 37b6453644 ui: Fixed exporting images from the graph resulted in too large images (issue #511)
* Fixed style issue in save dialog on Linux
* Fixed wrong dialog used on Mac and Windows
* Improved image quality

bug id = 511
2017-11-17 22:41:43 +01:00
Eberhard Graether 4700cb802e ui: Start from home directory instead of working directory in first file dialog (issue #448)
bug id = 448
2017-08-31 16:30:37 +02:00
Andreas Stallinger 37ead804bf src: clazy compiler warnings
get rid of most clazy warnings (https://github.com/KDE/clazy)
* range loop use refs
* qcolor ctor with ints
* missing Q_OBJECT macro
* use .constfirst instead of .first

enabled ccache for unix systems for fasterr recompiling
* if ccache is in path we use it now
2017-08-10 09:45:55 +02:00
Eberhard Graether 2305a74e6c logic: Added cross-compilation UI to CXX source group setup (issue #370)
Allows for defining specific target triple of architecture, vendor, OS and environment as set of dropdown lists
in CXX source group setup.

bug id = 370
2017-08-08 16:00:32 +02:00
Eberhard Graether 299b3a1cf7 ui: Fixes for upcoming release
* improved comment colors in all color schemes
* improved contrasts for dark color scheme
* fixed error locations stay visible when activating file in single file view
* removed scroll speed change listener from search autocompletion because it caused slowdown on macOS
* fixed bounding rects of graph edges to contain arrow
* fixed tooltip list shown with just one element
2017-08-03 16:15:27 +02:00
Andreas Stallinger 244c9af3c6 src: new signal slot syntax
SLOT()/SIGNAL() -> &class::method()
2017-08-01 12:35:33 +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 99ea3b2a25 ui: Fixed zoom issues
* Show font size change as number not percent
* Show current graph zoom in label next to zoom buttons
* Fixed search blocks not properly updated when fonts size changes
2017-06-28 16:38:40 +02:00
Eberhard Graether d7fbaede79 src: Fixed crash when using shortcuts with focus on the graph (issue #390)
bug id = 390
2017-06-20 12:53:13 +02:00
Eberhard Graether 3e62367af0 src: More fixes for release
* Show declname in java import error
* Don't clear window stack when saving preferences
* Fixed spacing in source group UI, status view and error view
* Resize graph scene rect when widget is resized
* Graph node centering respect no animation preference
* Fixed undoing of view commands
* Avoid scrollbar jump when restoring graph scroll position
* Deactivate local symbols in code when clicking into empty space
2017-06-08 00:35:31 +02:00
Eberhard Graether a34abe6b4b ui: fixes and improvements in graph
* use bezier edges for aggregations
* fixed expanding nodes in trail graph makes trouble
* fixed hovering of edges at arrow
2017-05-30 15:08:01 +02:00
Eberhard Graether c94b5f34a3 ui: Create bookmarks from graph context menu for node under mouse cursor (issue #373)
bug id = 373
2017-05-15 00:45:50 +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
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 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 7f2db69995 build: offer windows 64 bit build (issue #300)
* update to clang/llvm to 3.9
* update to qt 5.8
* fixed windows javapathdetector for 64 bit java.
* added LibGui as dependency to tests
* fixed legacy Java 6 install necessary on MacOS
* fixed setting of user path for 64 bit build
* added missing pngs to windows installer
* renamed graph zoom button images
* reverted moving of setupLogging call to fix crash on deployed exe

fortune cookie message = An old acquaintance will enter your life.
2017-02-03 14:31:43 +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
Eberhard Graether 00cba732df ui: Added style for graph zoom buttons
* moved zoom buttons to QtGraphicsView due to stylesheet and repositioning on resize
2017-01-30 16:28:32 +01:00
Eberhard Graether 32550dcb77 ui: Fixed scrolling broken in graph view 2017-01-27 10:12:12 +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
Manuel Dobusch cdde712a2c ui: graph zoom buttons
Added simple zoom buttons to graph
2017-01-26 16:33:49 +01:00
malte_langkabel 212c0e71fa ui: added context menu option to copy a graph-node's name 2017-01-19 12:01:08 +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 b11f583729 utility: graph export linux
qfiledialog on linux does not add extension of filter to filename
2016-10-18 13:05:20 +02:00
Eberhard Graether cbcf56f7dc ui: Save graph as image via context menu
bug id = 180
2016-09-06 15:16:49 +02:00
Eberhard Graether f4677a902d ui: Pan graph view to name of active symbol after activation
bug id = 80
2016-07-22 13:57:58 +02:00
Eberhard Graether 6165d2fffa ui: Fixed edge drawn wrong when leaving from child nod of smaller node 2016-05-27 12:06:16 +02:00
Eberhard Graether ce5c3e8626 ui: Added timer stopper to QtGraphicsView to stop movement if keyup event not registered 2016-04-19 23:13:41 +02:00
Eberhard Graether e68177b634 ui: Fixed backspace not working when focus is on graph 2016-04-15 11:16:38 +02:00
Eberhard Graether 93f21283f6 ui: improved angled edges and new style of aggregation
* added different routing options for horizontal, vertical or any
* added different pivot options to connect in the middle or at thirds
* changed aggregation to angled edge with thickness logarithmic to weight
* aggregation to pivot at middle and route any direction
* aggregation weight displayed in tooltip
* inheritance to route vertical
2016-04-04 21:05:39 +02:00
Eberhard Graether 31f366ab8f ui: Increased graph edge drawing performance
* only draw lines within the redrawn rectangle
* cache polygon points
2016-04-01 15:26:44 +02:00
Manuel Dobusch 82db193c78 logic: solution parsing refactor
Refactored solution parser handling to make it more generic
Also includes new parser (wip)
2016-03-23 17:06:40 +01:00
Andreas Stallinger f6de07ecf1 build: update botan paths
botan has new paths on linux build, debug - release fix on linux
2016-03-17 13:58:47 +01:00
Eberhard Graether a78e7b85d1 ui: Use update loop in graph panning and zooming for smooth interaction 2016-03-16 15:03:57 +01:00
Eberhard Graether ba523111af ui: Tuned graph zooming 2016-03-14 23:42:45 +01:00