Commit Graph
212 Commits
Author SHA1 Message Date
Eberhard GrätherandGitHub b0616778f3 ui: Keyboard controls (#935)
* switch focus between views with Tab
* move focus within views with WASD/HJKL/Arrows
* move focus between graph edges by holding Shift
* move focus between code references by holding Shift
* removed graph panning with WASD and moved zooming to Alt + W/S
* removed graph navigation by pressing starting character in graph view lists
* changed local reference and custom trail shortcuts
* updated Keyboard Shortcuts window
* use common back and forward shortcuts and YZ & Shift + YZ
* fix macOS issue where widgets don't get proper focus after creating a new tab
* don't use shared_ptr in QtMainView

fixes #486, #327, #214, #210
2020-03-02 14:48:03 +01:00
Eberhard GrätherandGitHub 260f1227bc Removed multiple dialog steps in Source Group setup (issue #723) (#913)
* removed QtSourceGroupWizard, QtSourceGroupWizardPage and context types
* removed isInForm flag of QtProjectWizardContent
* added check of empty source paths
* set project window as parent for message boxes, so they don't get hidden behind main window
* fixed issues when removing and duplicating source groups
* updated project setup tests to no steps
2020-02-10 20:00:36 +01:00
Malte LangkabelandGitHub 00bf7ebda6 logic: color scheme fixes (#821)
* fixed issues where color scheme entries were missing
* removed color scheme entries for nodes and edges that do not exist anymore
2019-12-03 14:46:11 +01:00
Eberhard Graether b5e0387f1e ui: Added GitHub and Patreon buttons to start window 2019-11-17 16:14:24 +01:00
mlangkabel ceb30020b5 src: removed sonargraph based project setup methods 2019-11-09 17:56:51 +01:00
Eberhard Graether 0d8e992bdf src: Removed everything license key related
* removed license check
* removed license from ApplicationSettings
* removed LicenseGenerator
* removed license tests
* removed lib_license
* removed dependency on Botan
* removed license generation in all scripts
2019-10-18 13:05:30 +02:00
Eberhard Graether 68c9782e33 ui: Added custom trail dialog (issue #249)
* open custom trail dialg via button in top of trail controls
* search from symbol to symbol or all referenced/referencing of symbol
* define search depth with slider
* define horizontal/vertical layout
* define node and edge types
* renamed depth graph to trail in graph ui
* added custom trail UI tests

fortune cookie message = A happy surprise is waiting for you.
2019-07-29 11:25:34 +02:00
Eberhard Graether 5084a11dec ui: Fixed annotation hovering slow in code snippet view due to style calculation from setting stylesheets 2019-05-28 14:30:23 +02:00
mlangkabel 3106257692 ui: add python project icon 2019-05-07 16:28:29 +02:00
Eberhard Graether edf319cde9 data: removed directory data/gui/installer and moved EULA files to data/license
* moved EULA files to data/license
* moved 3rd party license to data/license
* updated paths in installer scripts
2019-04-08 18:25:13 +02:00
mlangkabel 6ff7d22641 data: update EULA to allow for lifelong licenses 2019-03-12 15:48:37 +01:00
mlangkabel b6031fdb3a ui: fixed tooltips were not resizing if app font size was changed on windows 2019-03-11 18:01:16 +01:00
Eberhard Graether 6d5a3c047d logic: Added SourceGroupCustomCommand to use with SourcetrailDB binaries
* Added new Source Group type SourceGroupCustomCommand to UI and ProjectSettings
* The Source Group executes a specified command on every source file
* The variables $SOURCE_PATH, $PROJECT_PATH, $DB_PATH, $STORAGE_VERSION can be passed
* The commands are executed after all other source groups finished indexing
* The command is executed with working directory set to project directory
* Errors during command execution are shown as status update and in the Status View
* SourceGroupCustomCommand cannot be partially cleared, when one file needs clearing the project must be fully re-indexed
2018-12-11 14:05:26 +01:00
Eberhard Graether a044e17fdc ui: Reduced code view snippet style 2018-11-30 22:40:07 +01:00
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
Eberhard Graether 6a6bd0fca8 ui: Show news sent with update check on start screen
* News are passed as JSON string, containing an array of news items.
* Each news item has version and content (html).
* Items can be filtered by min/max version, OS and license. The first item that fits is used.
* Items can be important, which highlights the news box.
* News are not shown if older than 5 days.

fortune cookie message = You will be financially successful in case your actions are well planned.
2018-10-21 13:49:06 +02:00
mlangkabel 9813c9873f logic: index and store Java annotations
* add annotation symbol kind
* add annotation_usage edge kind
* increment storage version
* record java annotation decls
* record java annotation member decls (as fields)
* update expected output of java sample project indexing tests
* add tests for recording annotations
* add annotation icon, annotation colors
* add new annotation node and edge types to legend
2018-08-14 17:33:00 +02:00
Eberhard Graether d96baad91d src: Fixes for Release
* pass log directory absolute to indexers
* pass app and user paths absolute to indexers
* removed QCoreApplication instance from indexer process
* removed mutex from ConsoleLogger
* updated shortcut window
* renamed code reference menu items
2018-07-24 12:53:55 +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 95ebfff19c ui: Added on-demand local reference navigation to code view navigation bar (issue #453, #538)
* show local reference navigation for local symbols and multiple edge references
* shortcut Ctrl/Cmd + T
* iterate with consecutive edge clicks
2018-07-23 03:13:41 +02:00
Eberhard Graether 151fb666e4 ui: Fixed bookmark creator/editor header 2018-07-10 15:59:39 +02:00
Eberhard Graether ad325ac974 logic: background indexing (issue #175)
* allow hiding of indexing dialogs to browse loaded project while indexing
* show indexing status in status bar while indexing
* use different dialog views for different use cases to avoid state collisions
* fixed error label in status bar jittering while indexing
* show hand cursors for clickable elements in status bar
* indexing is not interrupted on pressing ESC while in hidden
* disable error table and error label while indexing
* refactored indexing messages
* forbid indexing and changing project while indexing
* don't show indexing status messages in status bar when indexing in the background
* allow tasks to run in the background

fortune cookie message = A journey is waiting for you.
2018-07-10 11:42:58 +02:00
mlangkabel 32d0b01694 ui: added icon for CBP sourcegroups to project setup 2018-06-12 11:30:12 +02:00
Eberhard Graether ce0a8a6444 ui: Use flow layout in source group selection window 2018-06-05 16:24:13 +02:00
mlangkabel 3cc51e0d01 logic: sonargraph fixes
* updated sonargraph project icon
* fixed Sonargraph SourceGroup to only return indexer commands for requested files
* fixed refresh info generator to ignore non-existing files
2018-06-04 19:05:54 +02:00
mlangkabel 7b735cfd17 logic: added project setup support for Sonargraph projects (Java and CMake-JSON modules supported)
* added classes for loading a Sonargraph project
* added Sonargraph options to project setup wizard
* added test for generating indexer commands from Sonargraph modules
* fixed sqlite storage crashing in constructor when parent directory of provided path does not exist
* removed unused FileRegister from Java indexing
* removed unused info from IndexerCommandJava
* refactored loading and saving of SourceGroupSettings
* extracted sourcepaths settings to own class that can be re-used
* merged CDB wizard contentents for source file and indexed paths
* unified wizard content for sonargraph project path
* removed include filters from default source groups
* extracted generation of RefreshInfo from Project to RefreshInfoGenerator
* added tests for RefreshInfoGenerator
* added language and standard selection to sonargraph project setup
* added auto-detection for indexed header paths of sonargraph cmake json modules
* Sonargraph::Project can enable/disable support for specific modules
* warn if sonargraph project contains no matching modules
* indexed headers can be detected from sonargraph project
2018-05-18 16:07:57 +02:00
Eberhard Graether 0ba6f9b7a0 src: minor improvements for release
* only reduce ideal thread count on windows
* show export compile commands flag in description
* not black in radio button
2018-05-03 22:14:01 +02:00
Eberhard Graether 633521b35e ui: custom radio button style in indexing dialog 2018-04-29 23:38:21 +02:00
mlangkabel f08f27717f logic: record and display include edges for non-indexed files
* non-indexed files are shown in graph view and in code view
* non-indexed files are ignored in search view, overview, stats and refresh dialog
2018-04-23 12:13:49 +02:00
Eberhard Graether 17ec0747f2 ui: Fixed weird border in screen search bar 2018-04-22 22:53:46 +02:00
Eberhard Graether 089ccb1d6c ui: updated about dialog 2018-04-21 06:04:05 +02:00
mlangkabel c340256425 data: updated EULA 2018-04-16 18:13:20 +02:00
Eberhard Graether 5303187bea ui: Group graph nodes by file or namespace (issues #171, #439, #522)
* added buttons to enable grouping by file or namespace
* last used group settings saved to ApplicationSettings
* made groups hoverable/clickable on label only
* improved node hatching and override edge colors
* group overview lists

fortune cookie message = Seen with the eyes of love, everything gets a new meaning.
2018-04-09 00:09:22 +02:00
mlangkabel 0c3f830c31 data: updated EULA with Licensee responsibilities 2018-04-06 15:31:39 +02:00
mlangkabel a39f531f01 data: replaced non-ascii list characters of EULA ("•") with "*" 2018-04-03 17:20:07 +02:00
mlangkabel 3ffe76d161 logic: Directory list box now restricts the user to select files, directories or both if required
* split QtDirectoryListBox and QtStringListBox
* renamed QtDirectoryListBox to QtPathListBox
* extracted QtListItemWidget class to own file
* renamed QtListItemWidget to QtListBoxItem
* added SelectionPolicyType to QtPathListBox to allow for specifying if selecting files, directories or both should be allowed.
2018-03-30 18:25:58 +02:00
Eberhard Graether 6f69433d0e ui: Minor style improvements in status view 2018-03-20 09:59:18 +01:00
Eberhard Graether 7783695d8d ui: New style for tab bar in status view 2018-03-20 01:46:23 +01: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 66ac70850b ui: Added show errors button to title bar of incomplete files (issue #246)
* Shows all errors within the file and all included files.
2018-03-17 09:16:52 +01:00
Eberhard Graether 1450f3cd94 ui: Added sorting feature to error table columns (issue #559) 2018-03-16 20:19:25 +01:00
mlangkabel 2408224379 data: updated EULA
* updated company name from "Coati Software OG" to "Coati Software KG"
* explained the "floating license" model in greater detail
* switched to display the amount of authorized users as "users" instead of "seats" in activation key
* extended the GRANT to explicitly mention that Sourcetrail can be installed on "any number of PCs"
* extended the GRANT to explicitly mention that Sourcetrail's commandline API may be used without entering an activation key
* extended the GRANT to explicitly mention that graph images exported from Sourcetrail may be used and published by the user
* added some more general details on "Severability", "Headings" and "No Waiver"
2018-02-27 15:29:08 +01:00
Eberhard Graether ae66220ca9 ui: Fixed QtDirectoryListBox size not growing to maximum in include path detection 2018-01-26 12:40:07 +01:00
Eberhard Graether 365eadc807 ui: Fixed history list can't be clicked away on Linux 2018-01-16 15:31:04 +01:00
Eberhard Graether 05ff92fdea ui: fixed Linux issues
* no outline style for push buttons
* show error when not using Sourcetrail.sh script in console instead of message box, which won't load
2018-01-12 15:12:14 +01:00
Eberhard Graether 5bd37772fe ui: set lists readonly in QtDirectoryListBox 2018-01-08 12:38:30 +01:00
mlangkabel 8a26cf2b49 build: updated data references for windows installer 2018-01-05 17:30:11 +01:00
Eberhard Graether 125e65e575 ui: fixed ui issues
* fixed dock title buttons on bottom on Windows
* fixed no gap between buttons on Linux
* fixed dark scheme title bar contrast
* fixed filter checkbox colors for dark schemes
2018-01-05 16:58:00 +01:00
Eberhard Graether ea8ab3df8e ui: Custom style for dock widget title bars
* avoid style loading in every view on application start
* improved contrast of reference label
* moved Reset Window Layout action up in View menu
2018-01-05 01:06:49 +01:00
Eberhard Graether bfa43df491 ui: switch to single file mode with snippet maximize
* switch back to snippet view with snippet button in file title bar
* use new title bar widget in single view as well
* restore view mode on undo, store current view mode for every message id (added id to message)
* treat view mode switch as adapt message on undo stack
* fixed crash after snippet expansion
* fixed hatching in file title not shown
2017-12-20 20:40:38 +01:00