Compare commits

..
577 Commits
Author SHA1 Message Date
Eberhard Graether 5f56a167d1 ui: Fixed group related issues in graph
* fixed aggregation layout within group
* fixed moving of group did not resize view
* fixed edges behind group could not be hovered
* fixed overlapping lines in sublayout
* fixed use of correct column width in sublayout
2018-04-11 14:11:53 +02:00
mlangkabel cbd782d0c1 logic: fixed logic to detect excluded files for refresh info 2018-04-11 12:46:03 +02:00
mlangkabel fbee41f6fe data: incremented EULA version 2018-04-11 12:42:00 +02:00
mlangkabel 415b9dd5ff build: windows deploy fixes
* fixed build script for windows installer
* fixed java dependency version in windows installer
* accept eula in windows deploy script before indexing sample projects
* removed set license from windows deploy script before indexing sample projects
2018-04-11 12:36:10 +02:00
Eberhard Graether 608e56940a ui: Fixed template specialization edge not enough space
<description>
2018-04-11 11:50:13 +02:00
Eberhard Graether 4ac998d55e ui: Fixed vertical bucket layout issues with groups 2018-04-11 11:34:43 +02:00
Eberhard Graether 1fc8430e1d ui: Fixed depth graph has wrong layout on undo when groups were split 2018-04-11 11:09:00 +02:00
mlangkabel bb8770c63e build: added graph view's namespace group icon to windows installer 2018-04-10 16:53:57 +02:00
mlangkabel 1b6318ef5b ui: implemented adding "Copy" to duplicated source group's name 2018-04-10 16:28:03 +02:00
Eberhard Graether 8c388b3b96 ui: show 'default' in indexer threads combo instead of 0 2018-04-10 16:17:30 +02:00
Eberhard Graether 0e451fd768 logic: Fixed old ErrorInfos on UndoRedoStack showed non-existing errors 2018-04-10 16:04:24 +02:00
mlangkabel 648caa9c35 logic: fixed bug where adding an empty include path excludes everything 2018-04-10 15:52:02 +02:00
mlangkabel 8ce17dec8d logic: improved cxx indexer performance by completely skipping traversal of non-indexed files 2018-04-10 15:36:37 +02:00
Eberhard Graether 2c8cc114eb gen: Added new license type Commercial Site License 2018-04-10 15:27:11 +02:00
Eberhard Graether 50dc290d40 build: Fixed error in Sourcetrail.sh script 2018-04-10 14:26:06 +02:00
Eberhard Graether c13cac79a0 logic: Score children with same score as parent lower in search results 2018-04-10 13:09:59 +02:00
mlangkabel 835aedd669 logic: improved performance of initializing the fulltext search index
* implemented using multithreaing for building the fulltext search index
* also: decreased ideal thread count by 1 to keep the machine responsive while indexing and building the index
2018-04-10 12:40:51 +02:00
Eberhard Graether 7dde56ea6a res: Updated tutorial and projects
* mention snippet mode in code tutorial
2018-04-10 12:00:15 +02:00
Eberhard Graether 2340b0d619 ui: Don't show dock widget title bars in default window settings 2018-04-10 11:34:06 +02:00
Eberhard Graether 060a5e7461 test: Catch boost exception when file with unicode character in name is read in FileManagerTestSuite 2018-04-10 11:26:24 +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
mlangkabel 535f7c1a9c ui: updated help dialog for Excluded Files & Directories with description of wildcards 2018-04-09 17:47:51 +02:00
mlangkabel 31b2c7d243 ui: show version of 3rd party dependencies in ui dialog 2018-04-09 17:11:07 +02:00
mlangkabel 9df3edad31 ui: updated help info for update check option
* mentioned that no personally identifiable information is sent to sourcetrail server
2018-04-09 16:50:24 +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
Andreas Stallinger 20106d5ce1 build: Updated to Qt 5.10.1 and Clang/llvm 6.0
* updated docker scripts and yml file
2018-04-06 16:08:00 +02:00
mlangkabel 0c3f830c31 data: updated EULA with Licensee responsibilities 2018-04-06 15:31:39 +02:00
Eberhard Graether f79e50d529 ui: Layout template specializations vertically
* use closed arrow for template specialization edges
* no specialization edges in call graph
2018-04-05 21:48:45 +02:00
Eberhard Graether e1a7141352 logic: Clicking on group in inheritance graph expands it 2018-04-05 21:38:58 +02:00
Eberhard Graether 8f754be165 logic: Show symbols defined within file within file node when activating a file (issue #268) 2018-04-04 01:02:11 +02:00
mlangkabel f41c64d3f6 build: restricted generating test_main.cpp in cmake to Windows only 2018-04-03 17:45:06 +02:00
Eberhard Graether 42ed53e71e src: Fixed clang warnings 2018-04-03 17:34:43 +02:00
mlangkabel a39f531f01 data: replaced non-ascii list characters of EULA ("•") with "*" 2018-04-03 17:20:07 +02:00
mlangkabel baf82f680a build: updated to clang 6.0 2018-04-03 17:15:36 +02:00
mlangkabel 41e5d36c00 ui: changed caption of buttons in missing paths dialog 2018-04-03 16:05:00 +02:00
Eberhard Graether 9f940d1609 ui: better colors for non-indexed hatching and better differentiate template and override edges colors 2018-04-02 22:50:47 +02:00
mlangkabel 38e7a1aaf0 build: minor changes and updates to readme and cmake
* corrected version of referenced dependencies
* changed cmake to generate test_main.cpp file on windows rather than copy it
2018-03-31 12:11: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
mlangkabel af1657f7e5 build: updated jar dependencies 2018-03-30 18:17:10 +02:00
Eberhard Graether bbd003f047 logic: Group nodes in inheritance graph who have the same base and derived nodes (issue #459)
* added graph node for grouping nodes with separate sub-layout
* group nodes show name in top left corner
* clicking on single edge activates source locations of all edges
* removed separate setters for token components
* fixed text nodes missing or too many in list layout
* moved simple row and column layouts to ListLayouter
* added skewed layout type to ListLayouter

fortune cookie message = Sometimes you should have the courage and risk something.
2018-03-26 23:57:05 +02:00
Eberhard Graether f93638bcd1 logic: Fixed project state messages wrong on loading 2018-03-24 19:15:39 +01:00
Eberhard Graether aed783f5ca logic: lazy load code annotations
* code annotations are loaded after showing the code file
* added traces
* refactored highlighter
* fixed error tooltip style in codeview

fortune cookie message = It's not the time that counts, but what you do with it.
2018-03-24 13:19:49 +01:00
Eberhard Graether 0d79639c96 src: Improved code view snippet generation performance 2018-03-22 01:46:35 +01:00
mlangkabel ce78412190 data: sample project updates and fixes
* removed errors from tictactoe sample project
* updated project version of sample projects
2018-03-20 20:23:48 +01:00
mlangkabel 449f90b361 build: added tabbed view resources to windows installer 2018-03-20 19:07:38 +01:00
mlangkabel 4c92d51b63 logic: fixed infinite recursion while solving c++ template parameter names (issue #553) 2018-03-20 18:47:42 +01:00
Eberhard Graether b5f9e77154 ui: Added close button to tabbed view 2018-03-20 16:33:48 +01: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 6acfe0688f logic: implemented usage of FilePathFilters for excluded paths
* removed check in settings for existing paths of exclude filters
2018-03-12 08:51:38 +01:00
Eberhard Graether 31c9f9fecc license: Removed license generator dependency to lib_utitlity to avoid linking with Qt 2018-03-12 00:39:36 +01:00
Eberhard Graether 6bf5723278 script: Added accept-eula command to commandline API and use in CI 2018-03-05 13:56:49 +01:00
Eberhard Graether 5e448297e0 logic: Removed seats parameter from license generator 2018-03-02 13:58:36 +01:00
mlangkabel 73fd3a7212 logic: fixed tooltip text encoding and source locations
also removed duplicate of utilityString from lib
2018-03-02 12:45:36 +01:00
Eberhard Graether 0a1c1250dd logic: removed license options from commandline API, accept EULA via commandline if necessary 2018-02-27 23:07:14 +01:00
Eberhard Graether e62fd41e9a build: Fixed wrong lib dependencies of lib_license 2018-02-27 17:12:24 +01:00
Eberhard Graether ef70d38ff7 src: Converted spaces to tabs in license sources 2018-02-27 16:59:05 +01:00
Eberhard Graether f2e4ad1661 logic: Changed seats to users in license generator and license check 2018-02-27 16:55:11 +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
mlangkabel 8913dffe2c ui: improved verbosity of status messages if a project cannot be loaded 2018-02-27 11:01:31 +01:00
mlangkabel bae6bd73d6 src: replaced some usages of string by wstring in filepath 2018-02-26 15:03:28 +01:00
mlangkabel 6d82e9265a logic: implemented handling of non-ascii characters in screen search 2018-02-26 13:56:47 +01:00
mlangkabel 42342c5c5f logic: use colorscheme name instead of path in appsettings
* With respect to a portable app package this makes sense ;)
2018-02-23 19:25:19 +01:00
mlangkabel ca20cb7bc9 src: use nullptr instead of NULL 2018-02-23 19:11:35 +01:00
mlangkabel 0df32f239e logic: switched to wstring in include processing
* this allows for non-ascii characters in detected include paths and in processed include directives.
2018-02-23 18:20:55 +01:00
mlangkabel 90efb11775 logic: fixed passing non-ascii characters to indexer process via command-line 2018-02-20 17:02:50 +01:00
mlangkabel 0b6a0d5d8b logic: reverted hardcoding of AppPath for testing purposes 2018-02-19 17:01:56 +01:00
mlangkabel fc92cb1ad9 ui: use wstring in gui relates places
* loading icons
* loading fonts
* context menu action for copy path to clipboard
* context menu action for open containing folder
2018-02-19 12:45:47 +01:00
mlangkabel ed386fdbdf test: Updated results of cxx indexer tests for bullet
This is necessary because the standard headers have been updated with latest VS 2017 install.
2018-02-19 12:31:08 +01:00
Eberhard Graether e7a3345f09 src: Fixed clang error 2018-02-14 00:35:44 +01:00
mlangkabel b2bad8ab05 logic: fixed handling non-ascii characters in cdb path and in cdb filename and command 2018-02-13 16:10:10 +01:00
Eberhard Graether 4af9e42610 test: Made FileManager tests independent from text encoding of local boost file paths 2018-02-13 15:30:31 +01:00
mlangkabel 803532bc1c ui: fixed encoding of tooltip code 2018-02-13 13:54:32 +01:00
mlangkabel a17af20793 src: removed unused string constructor from MessageStatus 2018-02-13 10:26:17 +01:00
mlangkabel 919afad03b logic: implemented support for non-ascii characters in fulltext search
* fixed non-ascii characters not working in normal symbol search
* implemented support for non-ascii characters in fulltext search
* fixed fulltext search not working for symbols with lowest and highest character codes in a file
* using wstring in FullTextSearchIndex (causes this index to be dependent on text encoding selected in app settings)
* implemented rebuilding FullTextSearchIndex if used text encoding changed in app settings
* added utility lib
2018-02-12 20:01:20 +01:00
Andreas Stallinger 713754e0e6 test: Fixed FileManager tests for Linux 2018-02-12 16:21:15 +01:00
mlangkabel e3322adf2e src: switched to using only wstring for status message 2018-02-12 10:39:28 +01:00
mlangkabel 72c2596251 src: removed unused / unnecessary methods from FileSystem 2018-02-09 17:41:56 +01:00
mlangkabel e31624a4b7 src: switched to use only wstring for FilePath::filename and FilePath::extension 2018-02-09 17:04:17 +01:00
mlangkabel 70d619a173 logic: implemented handling of non-ASCII characters in Gradle and Maven project paths
* also: fixed loading sqlite database from path with non-ascii characters
2018-02-09 15:54:28 +01:00
mlangkabel 333fc7eea2 logic: switched to using wstring for compiler flags
* removed getter for strings from QtDirectoryListBox because it is not used anymore
* regard encoding of clang error messages
2018-02-09 13:37:30 +01:00
Eberhard Graether 9773c30fdc ui: Improved vertical layout for override and inheritance edges 2018-02-07 23:15:55 +01:00
mlangkabel 683b87d0b8 src: use wstring in symbol search 2018-02-06 21:03:54 +01:00
mlangkabel 6ae9c2eca5 src: use wstring in tooltip and snippet 2018-02-06 15:54:09 +01:00
mlangkabel 3a6a22df2e test: added test for utility trim 2018-02-06 15:39:17 +01:00
mlangkabel 5423d0b053 src: use wstring for showing text in QtTextEditDialog 2018-02-06 15:17:10 +01:00
mlangkabel adb9542c31 test: removed absolute filepaths from test output of recorded references 2018-02-06 15:09:39 +01:00
mlangkabel f0b817eb0a src: broad refactoring to use FilePath.wstr() where easily possible 2018-02-06 11:35:36 +01:00
mlangkabel 9da3ac3d3c src: switch to wstring for printing messages 2018-02-06 10:03:46 +01:00
Eberhard Graether 1d7fc6e9d4 ui: Delay font face laoding until combobox clicked to speed up preferences display time 2018-02-05 18:24:21 +01:00
Eberhard Graether f943d93335 src: wstring fixes for clang 2018-02-05 18:17:13 +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 c99e79364f logic: more wstring usages
* removed header paths from VS Project setup message since VS doesn't send these anymore
* implemented using wstring in IDE communication
* fixed retrieving filepaths from QtDirectoryListbox that contain special characters
* use wstring for source extensions
* added special character as file extension to FileManagerTestSuite
2018-01-30 17:07:51 +01:00
mlangkabel 471b1757df src: use boost instead of std for string conversion 2018-01-30 13:46:06 +01:00
mlangkabel ce72797ce2 src: Move string conversion from lib_gui to lib and use boost instead of Qt 2018-01-30 13:14:07 +01:00
Eberhard Graether 22cbf44a32 build: Changelog for 2018.1.19 2018-01-30 11:49:38 +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
Eberhard Graether 143cf6a02d ui: Fixed assert crash when adding an item to a QtDirectoryListBox (issue #544, #545) 2018-01-30 10:10:11 +01:00
mlangkabel 2c90dcf06d logic: don't refresh if gui app is started with project 2018-01-29 17:06:52 +01:00
Eberhard Graether 556ed98d8c ui: Fixed file title button icon color not changing for top snippet title bar when changing color scheme 2018-01-29 14:51:57 +01:00
mlangkabel 9f70423f25 build: adjusted directory layout of license info for portable package 2018-01-29 14:37:50 +01:00
mlangkabel d413b124c8 ui: changed gray of default node in color scheme 2018-01-29 13:58:44 +01:00
Eberhard Graether d953bcaa9d ui: Fixed correct location not always shown in single file code view when going back to activated edge 2018-01-28 23:32:37 +01:00
Eberhard Graether 079be93667 ui: Deactivate line numbers above scrollbars fix in code view for Mac 2018-01-28 22:35:38 +01:00
Eberhard Graether 393b601c16 ui: Fixed include detection did not always stop status bar progress after finishing
* Changed next button labels in include detection dialogs
2018-01-28 22:27:35 +01:00
Eberhard Graether f49256bbd4 ui: Clicking an active location in the code view will activate it again 2018-01-28 21:58:10 +01:00
Eberhard Graether 28e4924f83 ui: Don't keep expanded nodes expanded when searching 2018-01-28 21:55:31 +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
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 849ee12192 ui: Fixed file content shown multiple times when clicking title button in non-indexed file with errors 2018-01-26 11:38:12 +01:00
mlangkabel 5577a901da ui: fixed line numbers still visible if overlayed by horizontal scroll bar 2018-01-26 10:44:23 +01:00
mlangkabel 7c863ddf00 logic: improved include detection
* also search for include paths of include directives extracted from header search paths
* extracted logic to gather unsolved includes
* extracted some code to filetree class
2018-01-23 21:35:53 +01:00
Eberhard Graether 56cac267a2 src: bug fixes
* fixed gaps in code view line indication for different fonts
* only allow latin fonts in fontpicker
* don't show 'files to clear' for full refresh
* fixed screen scale settings were visible on all platforms
2018-01-22 12:30:31 +01:00
mlangkabel 3348c886e5 ui: added 100% progress step for clearing files 2018-01-19 16:27:51 +01:00
mlangkabel 4ee0523b51 logic: fixed some memory leaks in gui code 2018-01-19 16:15:20 +01:00
mlangkabel f4dfc4e298 src: removed unused code 2018-01-19 09:54:59 +01:00
Eberhard Graether 1c6e3cb0da build: renamed Linux deleteConfig.sh to resetPreferences.sh and mention when changing screen settings 2018-01-16 16:13:07 +01:00
Eberhard Graether 5c3f067715 ui: Fixed history dropdown height 2018-01-16 15:44:35 +01:00
Eberhard Graether 365eadc807 ui: Fixed history list can't be clicked away on Linux 2018-01-16 15:31:04 +01:00
mlangkabel 8b3b3c3f00 build: Added portable Windows build
* implemented detecting if Sourcetrail runs as installed version by checking if user folder exists next to exe
* removed "deploy"-flag mechanism for windows builds
* moved code to set the app path for windows builds to includesWindows.h
* implemented functions in setup bash script to copy dlls
* bash functions for installer and portable packaging
2018-01-16 13:55:33 +01:00
Eberhard Graether 0a53d2828d ui: Added status checkbox for disabling Source Groups to project setup 2018-01-16 12:55:38 +01:00
mlangkabel 2c52425d99 ui: Showing indexing progress in windows task bar
* implemented showing indexing progress in windows taskbar button
* renamed TaskShowStatusDialog
* added "Qt5WinExtras.dll" for windows builds
2018-01-16 11:16:08 +01:00
Eberhard Graether 43c223368c ui: Change screen scaling on Linux (issue #518, #523)
* Set environment variables QT_AUTO_SCREEN_SCALE_FACTOR and QT_SCALE_FACTOR on Linux on app start
* Added ScreenAutoScaling and ScreenScaleFactor to ApplicationSettings with dropdown boxes in the preferences
  only visible on Linux
* Removed QtFontPicker and QtTextEncodingPicker
* Moved logging into preferences category "output"

fortune cookie message = You will have a peace of mind when you talk to an old friend
2018-01-16 11:01:32 +01:00
Eberhard Graether 6672127c68 build: Fixed linker problem in Linux build 2018-01-16 10:11:06 +01:00
mlangkabel 4c87845f8c logic: removed legacy code that copies settings from old "Coati" windows install 2018-01-16 09:33:09 +01:00
mlangkabel 68e86ad41a logic: removed "unknown" source group status type
* removed "unknown" source group status type and implemented falling back to
  "disabled", because "unknown" should not be handled anywhere in the rest of
  the code base.
2018-01-16 09:15:30 +01:00
mlangkabel 95e04cf485 logic: fixed recent clearing issue (introduced in cad064b9)
* fixed order so that clearing is done before saving the project settings in database
2018-01-15 19:19:36 +01:00
mlangkabel f7a5f98f85 Revert "data: updated cxx windows tests for using clang 6.0" 2018-01-15 19:09:57 +01:00
mlangkabel 9040c60585 logic: fixed timer issue in startIndexingDialog 2018-01-15 17:58:00 +01:00
mlangkabel cad064b9da logic: implemented disabling of source groups
* added source group status (enabled/disabled)
* fixed bug where the removal of an indexed directory has not affected the files to clear
* added lots of const and override keywords in SourceGroupSettings
2018-01-15 14:39:15 +01:00
mlangkabel c569f921a2 logic : Fixed no indexed information saved for compilation database referencing certain compiler (issue #531)
* changed order of compiler flags for CDB indexer commands so that manually added flags are appended to the flags form the compile command.
* removed usage of clang::tooling::FixedCompilationDatabase and used CompilationDatabaseSingle for empty and cdb indexer commands.
* removed reference to a specific clang tool (e.g. "cl" or "cl.exe") from compile command and prepended "clang-tool" before running the indexer.
2018-01-15 09:58:38 +01:00
mlangkabel 417f8d2286 data: updated cxx windows tests for using clang 6.0 2018-01-14 13:06:06 +01:00
Eberhard Graether 899f010959 src: Removed shared_ptr use for QtCodeSnippet in QtCodeFile 2018-01-13 14:21:54 +01:00
Eberhard Graether 2ac430bbe5 ui: Increased history dropdown list size to 50 2018-01-13 13:37:18 +01:00
Eberhard Graether 3f60f7a83c data: Still allow project refresh if database file can't be loaded 2018-01-12 19:57:11 +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 3edb759f0f ui: Display warning when depth graph has more than 1000 nodes 2018-01-12 14:14:57 +01:00
Eberhard Graether ab5cab3656 ui: fixes for release
* screen search matches in code view single not always cleared
* fixed copy full path in file title button broken
* fixed last snippet scrollbar not immediatly visible
2018-01-12 13:03:50 +01:00
mlangkabel 911c0fabba logic: implemented handling Microsoft inline assembly statements 2018-01-09 18:53:08 +01:00
Eberhard Graether e228f3477a ui: Fixed layout of QtPathListDialog 2018-01-09 17:27:33 +01:00
Eberhard Graether c479493e02 test: Fixed tests and removed test_log.txt
* Deleted PlainFileLogger
* Fixed clang warnings
2018-01-09 15:53:18 +01:00
mlangkabel 63590fc92d test: re-enabled tests for indexing sample projects on windows 2018-01-09 13:26:30 +01:00
mlangkabel f852481576 build: cleaned CMakeLists
* removed unused source files
* added extension to cmake references without extension
2018-01-09 12:35:28 +01:00
mlangkabel 686ba504c2 ui: added automatic include path detection for C/C++ Source Groups 2018-01-09 12:13:16 +01:00
mlangkabel 978cf4f4ed logic: fixed Maven setup not working for project without sub-modules 2018-01-08 16:38:31 +01:00
Eberhard Graether 5bd37772fe ui: set lists readonly in QtDirectoryListBox 2018-01-08 12:38:30 +01:00
mlangkabel 1d636d6591 script: changed default windows install directory to ".../Sourcetrail/" 2018-01-08 09:58:28 +01:00
mlangkabel 8a26cf2b49 build: updated data references for windows installer 2018-01-05 17:30:11 +01:00
mlangkabel be1518140c ui: changed font color in windows installer image 2018-01-05 17:24:45 +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
mlangkabel 3ac18a9977 data: fixed sourcetrail loader gif not showing up on some windows systems
* added missing qt dlls to windows installer
2018-01-05 14:33:59 +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 c17f7dd3d4 data: Fixed indexing performance regression in FileRegister
* removed debug cout uses
* add source paths first as header search paths
2018-01-02 23:15:05 +01:00
mlangkabel 987faffaf2 utility: Added accumulated event tracer
* Added alternative tracer implementation that only stores an accumulation of trace
  events. This is useful for handling large amounts of traced events.
2018-01-02 21:22:46 +01:00
Eberhard Graether 33572e2104 src: Fixed Mac build and clang warnings 2018-01-02 12:58:11 +01:00
mlangkabel 592f5fb4b1 logic: improved performance of include validation
* added cache to store canonicalized versions of both, resolved as well as unresolved includes
2017-12-28 14:38:05 +01:00
mlangkabel cb3cf7d651 src: harmonized indexer command names
* some parts of the indexer were called "manual" while others used the
  name "empty". renamed everything that was called "manual" to "empty"
  to conform to names in GUI
2017-12-28 12:35:04 +01:00
mlangkabel 4686ce7e91 src: fixed some clang tidy warnings
* implemented CxxDeclName constructors that just move the members
* removed empty destructors because they disable default move constructors
* removed some unnecessary code
* replaced ".size() == 0" with ".empty()" because it's more explicit
2017-12-27 18:46:56 +01:00
mlangkabel 8b21d57750 src: implemented move constructor/assignment for filepath
* improves indexing performance by roughly 5%
* switched to use uniqu_ptr for boost path to get rid of including boost in header
* added different methods to change the current FilePath or to make a copy and change that one
* used these methods appropriately throughout the code base
* removed exists() method from FileSystem because it is already contained in FilePath
* added const in some places
2017-12-23 10:28:25 +01:00
mlangkabel 455c1230b1 logic: fixed bug where anonymous symbols were only partly named like the enclosing typedef
* removed post processing for anonymous typedefs. The storage transformation did not work in
  cases where the typedef is recorded in a previously indexed header. No type information
  was recorded while indexing the header a second time. But this type information would have
  been required by the transformation.
2017-12-21 19:36:16 +01:00
mlangkabel 1a9d736f28 src: improved cache implementation
* use const ref in cache
* improved performance of FilePath caching in FileRegister
2017-12-21 13:35:41 +01:00
mlangkabel 88d90bde8f logic: fixed policy for recording elements inside macro arguments and bodies 2017-12-21 12:50:37 +01:00
mlangkabel 30d4e61bb6 src: windows compilation fixes
* fixed msvc compiler error
* updated required jar names
2017-12-21 12:42:37 +01:00
Eberhard Graether f849c9d01d ui: fixes in project setup and indexing
* allow to ignore missing paths in project setup
* button to remove missing paths in project setup
* fixed progress dialog stays on empty project indexing
* don't unblock ui between indexin steps
2017-12-20 22:48:37 +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
Eberhard Graether 8672d14319 ui: Show title bar at top and scroll bar at bottom in code view snippet list if necessary (issues #432, #479)
* Show title bar at top of snippet list if first file is cut off
* Show scrollbar at bottom of snippet list if last snippet if cut off and horizontally scrollable
* Extended scrollRequest API to different ScrollTarget modes
* Fixed snippet extension broken if maximized first
* Split off title bar functionality to separate class QtCodeFileTitleBar
2017-12-17 13:25:11 +01:00
Eberhard Graether c91f5282f5 src: Fixed storage version not increased after removing error commandline 2017-12-16 15:06:23 +01:00
Eberhard Graether 618ed72241 ui: Fixed history dropdown click opened again when clicking on history button on Windows 2017-12-15 15:38:43 +01:00
Eberhard Graether 76f5ee1dc0 ui: Fixed issues related to refresh
* don't clear single file code view on ui refresh
* don't refresh ui when clicking refresh
* do ui refresh with Alt + Refresh
2017-12-15 14:50:37 +01:00
Eberhard Graether 90ad069485 logic: Fixed switch from commercial to non-commercial use did not remove license string 2017-12-15 13:52:41 +01:00
mlangkabel 0c01c39698 ui: added "Exported from Sourcetrail" note to saved graph images 2017-12-12 12:56:15 +01:00
mlangkabel 928aa45bfc data: removed storing commandline for errors
* reason: commandline string may be large (7GB for 20k errors in the UnrealEngine)
2017-12-12 10:04:44 +01:00
Eberhard Graether 4da2b1f8f4 ui: Small fixes
* slightly darker function color in code for bright scheme
* fixed title offset in indexing progress dialog
* show progress dialog while starting indexers
* fixed text covered by flag in finish indexing dialog
2017-12-12 00:15:24 +01:00
Eberhard Graether 99b0cf0ac9 ui: Group include validation results by file and add line breaks for readability 2017-12-11 22:59:48 +01:00
Eberhard Graether b3ff2e3c5c ui: Fixed location pickers used root directory when empty 2017-12-11 20:29:51 +01:00
Eberhard Graether 5d3dd37ff5 ui: Add bidirectional in aggregation tooltip 2017-12-11 19:53:10 +01:00
Eberhard Graether c19d4c896f build: Don't explicitely open terminal when running on Linux (issue #525) 2017-12-11 17:30:52 +01:00
mlangkabel ec852affbe ui: fixed files and directories dialog to offer selection of files (issue #521)
* added and used QtFilesAndDirectoriesDialog in file list boxes for windows and linux
* implemented allowing to select multiple entries which adds more rows to the path listbox
2017-12-11 17:24:20 +01:00
mlangkabel 22b4d2a2b9 ui: changed wording from "licence" to "license" 2017-12-11 17:05:07 +01:00
mlangkabel 351fa35ec3 logic: fixed case where reference to member recorded as usage instead of call 2017-12-11 10:10:09 +01:00
mlangkabel b3a3b10af5 src: fixed missing include on windows 2017-12-11 10:06:22 +01:00
Eberhard Graether fc199187f2 logic: Allow multiple node type filters in the search field 2017-12-11 00:47:25 +01:00
Eberhard Graether 604c3c85eb src: Fixed clang warnings 2017-12-11 00:30:47 +01:00
Eberhard Graether 088ddd77a8 ui: Fixed color schemes using non_indexed instead of symbol for node type colors 2017-12-11 00:18:24 +01:00
Eberhard Graether f9fb08e490 ui: Fixed order of bundle nodes in graph overview 2017-12-11 00:05:43 +01:00
Eberhard Graether 0d30132cc4 logic: Fixed crash when start screen was closed while checking for update 2017-12-10 23:06:37 +01:00
Eberhard Graether 0dcd343026 ui: Fixed selected text not deleted when pasting into search field (issue #527) 2017-12-10 22:36:32 +01:00
mlangkabel ebdf324399 src: replaced remaining usage of NodeType::Type in PersistentStorage 2017-12-08 15:40:40 +01:00
mlangkabel 3ceb55c307 src: switch to using forward declarations for NodeType and NodeTypeSet where possible 2017-12-08 15:30:44 +01:00
mlangkabel d3aba74d8b src: moved search filters to NodeType 2017-12-08 15:18:47 +01:00
mlangkabel 21189bb887 src: moved bundling info to NodeType
* also: fixed NodeType for global variables not in NodeTypeSet::all()
2017-12-08 15:07:33 +01:00
mlangkabel 9ae7f70062 logic: reverted commit a318ed1a because it caused namespaces not showing up in the overview 2017-12-07 19:03:37 +01:00
mlangkabel 91b0c5d05f src: replaced references to NODE_FILE with call to isFile 2017-12-07 14:52:12 +01:00
mlangkabel b02596ddfa logic: implemented recording template variable specialization edges 2017-12-04 15:39:44 +01:00
Eberhard Graether 3e59dd5396 ui: different background color for code view snippet list to amplify layering
* improved contrasts in dark scheme
2017-12-04 11:55:11 +01:00
Eberhard Graether f9e4afda77 logic: Added indexing mode to reindex incomplete files (issue #493, #496)
* added radio buttons to start indexing dialog
* don't block task scheduler thread while start indexing dialog is visible
* don't force whole project refresh on settings change
* added help button to start indexing dialog explaining indexing modes
* disable unavailable modes when project needs full refresh
* improved label texts on indexing dialogs
* added --incomplete flag to index command of commandline API
* fixed deletion of window stack elements
2017-12-03 22:30:09 +01:00
mlangkabel faf9e7655f logic: fixed some cases that caused Java code to throw exceptions 2017-12-01 16:19:17 +01:00
mlangkabel 4f3044fec8 logic: implemented using .aar files as Java project dependencies 2017-12-01 12:25:09 +01:00
mlangkabel 2208e3dc53 logic: implemented writing Java exceptions to log file 2017-11-27 17:15:08 +01:00
mlangkabel a5c4287e53 src: removed last unused references to PreprocessorOnlyAction 2017-11-27 16:23:44 +01:00
mlangkabel adf8c3e5fc ui: fixed scrollbar background style for windows and added min-size for handles 2017-11-27 16:06:48 +01:00
mlangkabel 4b854d4545 logic: improved performance of NodeTypeSet by internally using a bit-mask 2017-11-27 15:36:44 +01:00
mlangkabel 5fbf7b1acc ui: note architecture of Java version in ApplicationSettings dialog 2017-11-27 11:18:49 +01:00
mlangkabel 6e3216e067 src: replaced filters with NodeTypeSet 2017-11-27 10:57:26 +01:00
Eberhard Graether 2b2c3e1194 ui: Fixes for fulltext search
* show line indicators for fulltext search results
* matches at line start started at previous line
2017-11-26 19:56:59 +01:00
Eberhard Graether a9cd67659a src: Removed unused color scheme test code 2017-11-26 19:04:38 +01:00
Eberhard Graether 7903ef9c1e ui: Update visible depth graph when changing depth level (issue #484) 2017-11-26 14:59:51 +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 9e7e9176cb ui: Added option to show/hide referenced builtin types in graph, default is hide (issue #409) 2017-11-26 01:25:58 +01:00
Eberhard Graether 506bf8ed6f ui: Scrollbar and dock widget separator style
* defined scrollbar style for Windows and Linux
* defined dock widget separator width and color
* some style fixes on linux
2017-11-25 23:06:47 +01:00
Eberhard Graether bfc7a55f70 ui: Fixed icon sizes when scaling to highDPI screens fails
* Fixed gcc compile error
2017-11-25 18:21:19 +01:00
Eberhard Graether 2b7349bf9b ui: Fixed cursor disappearing when entering long strings in search field 2017-11-24 15:19:07 +01:00
Eberhard Graether e4f30555e6 src: Fixed clang errors and warnings 2017-11-24 00:55:29 +01:00
mlangkabel 1a9d2b8eab src: replaced usage of NodeType::Type in MessageActivateTrail creation 2017-11-23 17:56:47 +01:00
mlangkabel bdb68a9aef src: added usage of NodeType::isUnknownSymbol method 2017-11-23 17:46:34 +01:00
mlangkabel d1b6667ac6 src: renamed "non_indexed" node type to "symbol" 2017-11-23 17:36:42 +01:00
mlangkabel a318ed1a40 src: removed redundant call 2017-11-23 17:27:27 +01:00
mlangkabel 74dc4bbe5b src: replaced references to NodeType::Type in GraphViewStyle 2017-11-23 17:16:59 +01:00
mlangkabel 90e17c5868 src: converted NodeType to a class
NodeType internally still uses the Type enum
2017-11-23 17:05:15 +01:00
mlangkabel c512992e2c logic: fixed parent node hierarchy for C++ template parameters of variable declarations 2017-11-19 20:56:42 +01:00
mlangkabel 952ea1651f src: renamed recording methods 2017-11-19 13:44:10 +01:00
mlangkabel 343caebcf6 src: split storage types into data and type
* this shortens the signature of many methods and allows to pass a single object as reference instead of passing multiple references and values
2017-11-19 01:31:50 +01:00
Eberhard Graether 66b278b1c9 script: Fixed Sourcetrail.sh syntax error (issue #519) 2017-11-18 00:24:01 +01:00
Eberhard Graether 69781acc51 build: Fixed build for Linux 2017-11-17 23:50:36 +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 b887a4a89e logic: don't use shared_ptr for QtGraphNode and QtGraphEdge anymore
* fixes crashes on events to deleted Qt elements
2017-11-17 22:30:48 +01:00
mlangkabel 634601b4b6 logic: fixed crash when specifying an unknown text encoding in appsettings
* also: updated jar dependencies
2017-11-17 13:03:05 +01:00
mlangkabel 9d17e2e7e6 logic: fixed getting the parent of a Cxx template parameter's declaration
* switched to getting the template parameter's parent from the ASTContext instead of using the DeclContext
2017-11-14 12:09:32 +01:00
mlangkabel 6488c6538e logic: fixed filepaths to always use a canonical casing (issue #516)
* added CanonicalFilePathCache to also reserve the initially recorded casing of file names
* use canonical file path cache to resolve filepaths in names of symbols (anonymous, static, ...)
* null reference fixes
2017-11-12 16:29:12 +01:00
Eberhard Graether 85207c6355 logic: Fixed implicit node not autoexpanded in graph 2017-11-10 15:43:27 +01:00
mlangkabel 7c40f7afe8 logic: add filename info to static functions (issue #515) 2017-11-10 11:38:33 +01:00
Eberhard Graether 53d86e518a build: Changelog for 2017.4.46 2017-11-09 21:10:03 +01:00
mlangkabel e7f9940582 logic: add filename info to static global variables (issue #514) 2017-11-09 17:29:59 +01:00
Eberhard Graether ead9f9a634 logic: Allow duplicate indexing of source files if the indexer command is different 2017-11-09 17:24:28 +01:00
Eberhard Graether ae37145d22 ui: Intermediate fix to avoid early QWidget deletion due to smart pointers
TODO: get rid of smart pointers for Qt classes in QtGraphView
2017-11-09 16:32:26 +01:00
Eberhard Graether 78d93e50dd logic: Fixed single header files within indexed paths were not indexed (issue #513) 2017-11-09 14:34:36 +01:00
Eberhard Graether 84da941fa4 ui: removed temporary C/C++ standards 2017-11-09 14:11:42 +01:00
Eberhard Graether dc16b3f45b ui: Explain differences of errors and how to fix them (issue #501)
* added help button next to filters in error table
* added menu action Help -> Fixing Errors
* added help button on indexing dialog
* show help message after first time indexing with errors, if not seen already
2017-11-09 12:01:33 +01:00
Eberhard Graether 0cf64d338b logic: Add parent directories of source files in the compilation database automatically to header paths 2017-11-08 23:40:28 +01:00
Eberhard Graether 593a5f909c logic: Give clang higher precedence in global header search path detection 2017-11-08 22:33:25 +01:00
Eberhard Graether fe4a921836 ui: Added new clang 5.0.0 language standards to project setup dropdown box 2017-11-08 22:26:33 +01:00
Eberhard Graether adf32d1d22 ui: fixed non-collapsible nodes got also collapsed with more than 20 children
<description>
2017-11-08 22:00:34 +01:00
Eberhard Graether 0e7dc3242d ui: Show nodes with more than 20 children initially collapsed (issue #509) 2017-11-08 21:43:09 +01:00
Eberhard Graether 17a1f7eac9 logic: Show message box informing about shared memory problems before indexing (issue #508) 2017-11-07 17:49:21 +01:00
Eberhard Graether a2d412ccfa logic: add contained symlinked directories to indexed and excluded paths 2017-11-07 13:43:50 +01:00
Eberhard Graether 28fe1533b7 ui: Start from correct directory for relative paths in project setup location pickers 2017-11-07 00:33:33 +01:00
mlangkabel 6fad9eea84 logic: added all previous java version to Java language standard selection 2017-11-06 18:49:29 +01:00
mlangkabel 595f918f4d logic: template related fixes
* fixed recording template member specializations of methods as explicit nodes
* fixed template members variables sometimes recorded as functions with call edges
2017-11-06 17:11:15 +01:00
mlangkabel ad20275dae logic: fixed recorded location of function bodies that are defined inside macros 2017-11-06 16:56:35 +01:00
mlangkabel 09694409f1 logic: skip recording macro usages in non-indexed files 2017-11-03 16:20:31 +01:00
Eberhard Graether 8baf8cd49b ui: Fixes for search bar
* fixed clicking on search element did not focus search bar
* fixed moving cursor between elements
* no smart pointers for search elements to fix deletion issues
2017-11-03 14:44:07 +01:00
Eberhard Graether bc0c674dc2 logic: Fixed type usage edges not shown between class members and inner class types 2017-11-03 12:18:24 +01:00
Eberhard Graether f1f4fe9a2d ui: Fixed activation of bookmarked edge did not highlight edge 2017-11-03 11:44:00 +01:00
Eberhard Graether 5cd4378758 ui: Fixed resize status view table columns only resizeable in the title bar (issue #506)
bug id = 506
2017-11-02 15:33:35 +01:00
mlangkabel f027b94dd4 ui: added setting for text encoding to preferences (issue #500)
* also fixed offset of source locations behind multibyte characters
2017-11-02 12:40:50 +01:00
mlangkabel 8dbfa61234 logic: minor gradle project setup fix 2017-10-31 17:12:37 +01:00
Eberhard Graether 90f9e2645b ui: fixed low contrast of search field cursor in dark schemes (issue #487)
bug id = 487
2017-10-31 15:37:48 +01:00
Eberhard Graether 8795f2c732 build: Changelog for Release 2017.4.20 2017-10-25 17:14:20 +02:00
mlangkabelandEberhard Graether 6b4cc4e7e9 ui: fixed search bar click 2017-10-25 17:13:21 +02:00
mlangkabel ee11528ddf ui: added individual help window titles 2017-10-25 09:56:31 +02:00
Eberhard Graether c73e58893e ui: Fixes in project setup
* fixed include paths fetched from CDB not canonical
* fixed content names
2017-10-25 00:57:28 +02:00
Eberhard Graether c4de8f1af8 ui: Fixed file states in code snippet mode wrong after iterating references in single file mode 2017-10-25 00:15:44 +02:00
Eberhard Graether f84a535b2b ui: Increased license selection window height 2017-10-24 23:15:30 +02:00
Eberhard Graether 0b0fc67ada ui: improvements in search box UI (issue #483)
* remove element and turn into edit text when focusing search bar
* press Escape to de-focus search bar

bug id = 483
2017-10-24 22:34:36 +02:00
mlangkabel 609a37712d ui: added minor changes to the descriptions in the project wizard 2017-10-24 18:45:36 +02:00
Eberhard Graether 0c2fa352c1 ui: Fixed additional newline in every code snippet 2017-10-24 17:34:33 +02:00
Eberhard Graether 2218ab96aa logic: Fixed activating local symbol location via plugin shows empty code view
* and fixed scroll to line if nothing is found at location
2017-10-24 13:16:37 +02:00
mlangkabel c1e0e325f9 ui: fixed width of enter license window
* on windows the enter license window was too small so the entered key would have unwanted line breaks.
2017-10-24 12:22:22 +02:00
mlangkabel 0230852d60 logic: fixed handling symbolic links when activating location via IDE (issue #489) 2017-10-24 11:56:11 +02:00
Eberhard Graether a980300e92 ui: Fixed double delete of QtCodeArea (issue #488)
bug id = 488
2017-10-24 11:52:37 +02:00
Eberhard Graether 7a87c4cd4b ui: Added shortcut to 'Show in IDE' context menu action (issue #485) 2017-10-23 17:33:00 +02:00
mlangkabel d1536031c9 ui: revised project setup wizard
* adjusted some help texts
* moved exclude paths and source file extensions contents to indexed paths selection in project setup wizard
* removed compiler flags from CDB project setup wizard
* added wizard content that shows some info text regarding the purpose of source groups
* renamed ContentSummary to ContentGroup
* fixed issue with CompilationDatabase include path extraction
2017-10-23 16:10:54 +02:00
Eberhard Graether d57dd6dd9c ui: Fixed start screen not vanishing when opening project on double click on Mac 2017-10-19 22:37:49 +02:00
Eberhard Graether 8e908c2a78 logic: Added Non-Commercial Use option and removed trial mode
* Added non-commercial use option to enter license window
* Show enter license window on first start and force license selection
* Added ApplicationSettings migration that removed private/academic license and switches user to non-commercial mode
* Added commandline option to choose non-commercial use and provide better hints to license selection
* Removed trial mode

fortune cookie message = A secret admirer will soon send you a sign of affection.
2017-10-19 16:58:47 +02:00
Eberhard Graether c3a5405cc4 ui: Fixes for release
* Removed pointless overview bundles
* Updated EULA version
* renamed 'Find in View' to 'Find On-Screen'
2017-10-18 16:46:06 +02:00
mlangkabel bc8df375f0 data: updated EULA include non-commercial licenses 2017-10-18 15:02:21 +02:00
mlangkabel 0d993011d8 data: updated eclipse dependencies for java indexing
* updated java indexer to use org.eclipse.jdt.core version 3.13.0.
* added test that checks if all jar dependencies can be found.
2017-10-18 14:52:14 +02:00
Eberhard Graether 7dce69e60e build: Changelog for 2017.4.0 2017-10-16 16:01:37 +02:00
Eberhard Graether 2f41f47898 build: Fixed installing Linux build with pre-installed Sourcetrail failed 2017-10-13 12:59:08 +02:00
Eberhard Graether a7363b329b logic: Use sizeof(SharedMemory::String) in shared memory size estimation instead of std::string (issue #471) 2017-10-13 12:26:45 +02:00
mlangkabel 1d9b322e3e ui: fixes in update checker ui
* init updatecheck ui with "checking for update..." to counter the effect of the timer start delay
* removed message box telling the user "everything is ok" after manual (forced) update check
2017-10-13 12:03:36 +02:00
Eberhard Graether cfb690b035 logic: Fixes for release
* Added timeout before checking new version on startscreen
* Fixed size estimation in indexercommand
* Fixed update title when project loading fails
2017-10-13 11:08:38 +02:00
mlangkabel 7257ba2722 data: added data for screen search view to windows install dir 2017-10-13 10:48:44 +02:00
mlangkabel 451ad785de logic: implemented global header search path detection for VS 2017
* split header search path detector for VS into 2 different classes (one for VS2010 - VS2015 and one for VS2017)
* implemented detecting "ucrt" path for windows global headers
2017-10-12 18:04:23 +02:00
Eberhard Graether af626143a5 logic: Improvements in indexing to avoid OOM (issue #471)
* indexer processes wait if already too many storages queued
* storage fetcher waits if already too many storages queued
* increased size estimation for shared memory of indexer commands
* Added MessageFilterNewErrors to combine messages for new errors

bug id = 471
2017-10-12 17:15:46 +02:00
Eberhard Graether 1e38ce53c4 ui: Added screen search shortcuts to list 2017-10-12 14:56:51 +02:00
Eberhard Graether 967ae81dfd build: Revised Linux install package
* renamed scripts
* moved install, uninstall, deleteConfig scripts to top-level
* fixed desktop file not recognized on installation, only on restart
* removed Eula accept from install script
* abort install and uninstall when not running as root
* revised README
2017-10-12 14:08:25 +02:00
mlangkabel 91fc0f4148 logic: fixed recording type of rvalue reference as "&&" instead of "&" 2017-10-12 13:10:12 +02:00
Eberhard Graether b5ff43a821 logic: Fixes in and with TextAccess
* fixed Textaccess removing last line with single character when loading from string
* fixed file comparison using wrong index ranges
2017-10-12 11:26:48 +02:00
Eberhard Graether c39168967f ui: Fixed code view cutting off last line 2017-10-12 10:42:56 +02:00
Eberhard Graether 43f492cded logic: Fixed update check still displaying new version after using new version 2017-10-12 10:16:42 +02:00
mlangkabel f0da5b630b ui: implemented prefilling indexed header paths for compilation database projects
* fixed header path detection in CompilationDatabase class
2017-10-11 17:08:13 +02:00
Eberhard Graether 85ab7d1e96 logic: Moved update check setting to preferences and enable automatic update check by default 2017-10-11 13:39:00 +02:00
mlangkabel cf984ca245 logic: name qualifiers of symbols are clickable now 2017-10-11 11:08:01 +02:00
Andreas Stallinger 896fbf09b6 build: added dockerfiles for linux ci to deployment directory 2017-10-10 17:47:35 +02:00
Eberhard Graether 2610783d89 ui: enable Qt highDPI scaling on all platforms 2017-10-10 17:27:39 +02:00
Eberhard Graether 3ab77e500b ui: Added syntax highlighting rule for char literals 2017-10-10 17:25:45 +02:00
Eberhard Graether b715372abc logic: handle activation of non-indexed files and tokens referenced within non-indexed files 2017-10-10 17:22:59 +02:00
Eberhard Graether d3a3ececae ci: updated docker image tags to llvm500 2017-10-10 13:47:38 +02:00
Eberhard Graether e3a6c3257e ui: Removed include check validation for cdb source groups 2017-10-09 21:38:04 +02:00
Eberhard Graether 3a03252d3f ui: also bundle nested anonymous namespaces in namespaces overview (issue #465)
bug id = 465
2017-10-09 21:33:05 +02:00
Eberhard Graether 4fdff00908 ui: Fixed non-intentional vertical growth of search dock widget on window resize 2017-10-09 21:24:24 +02:00
mlangkabel 59ae7b0dd5 data: add windows qt dlls required to save graph image (issue #474) 2017-10-06 17:44:43 +02:00
mlangkabel c71a0c410c build: update source code to use Clang 5.0 2017-10-06 17:37:09 +02:00
mlangkabel 798944ff38 ui: implemented showing gradle errors in UI 2017-10-03 16:19:07 +02:00
mlangkabel e587f081d6 data: added icon for gradle project setup 2017-10-03 13:25:13 +02:00
mlangkabel 2d0634ef10 src: fixed undefined behavior bug in QtProjectWizzardContentPathCDB 2017-10-03 11:23:50 +02:00
Eberhard Graether fdea8113a0 logic: Fixed code not annotated for full file in snippet mode
* show focused line marker when stepping through code references
2017-10-03 08:09:57 +02:00
Eberhard Graether a72da67d32 logic: Use ControllerProxy in Bookmarking UI classes instead of messaging
* changed ControllerProxy to template class
* allow passing method pointers and arguments to ControllerProxy
* replaced some messages with ControllerProxy calls
* moved logic from BookmarkView into BookmarkController
2017-10-03 07:59:59 +02:00
mlangkabel e604d24c40 logic: added Gradle project setup (issue #379)
* added implementation for Gradle project setup (icon is still missing)
* refactored project loading/saving and SourceGroupSettings
* removed long deprecated Cxx UseSourcePathsForHeaderSearch option

fortune cookie message = There is true and sincere friendship between you and your friends.
2017-10-02 18:43:59 +02:00
mlangkabel 72ae4d5695 logic: fixed crash in Java indexer tests on Linux 2017-09-28 19:39:36 +02:00
mlangkabel a11870ad77 src: removed unused methods from Java indexer code 2017-09-28 18:03:16 +02:00
mlangkabel 0c437fbab0 src: added test for indexing JavaSymbolSolver 0.6.0
* made DumpParserClient reusable by java tests
2017-09-28 17:50:17 +02:00
Eberhard Graether 83c24c5cd0 src: Removed unused Log component and QtSplashScreen 2017-09-21 01:59:36 +02:00
Eberhard Graether 1e7d934cb8 src: Switched all Qt..View implementations to use QtThreadedLambdaFunctor 2017-09-21 01:37:17 +02:00
Eberhard Graether 49caaa1b0b ui: show screen search by pressing / or ? 2017-09-19 14:30:55 +02:00
Eberhard Graether 95ef8c3eec ui: Added on-screen search feature (issue #79)
* Use menu action "Edit -> Find in View" or Ctrl + D
* UI displayed as search bar at bottom of main window
* Hide search bar with ECS or close button
* Entering a query searches in name of graph nodes and code contents of code view
* Use Enter to iterate through matches, well move match into view in graph and code view
* Checkboxes allow for adding/removing results for certain views
* Create Bookmark shortcut is now CTRL + S

bug id = 79
2017-09-19 14:00:40 +02:00
Eberhard Graether 4731f379f4 logic: Fixed click on call location of implicit template specialization leads nowhere 2017-09-15 12:44:22 +02:00
Eberhard Graether 8beb516b80 logic: Added template specialization and template member specialization edges to call graph 2017-09-14 17:32:33 +02:00
Eberhard Graether 3d2ac64ce6 logic: don't activate template specializations at same location when clicking source location 2017-09-14 16:52:37 +02:00
Eberhard Graether 8f4e521f0b ui: don't hide implicit children of implicit nodes 2017-09-14 03:38:32 +02:00
Eberhard Graether 84305c155c ui: Fixed issues in syntax highlighter
* single line comment broken
* don't highlight keyword within quotation
2017-09-14 02:39:32 +02:00
mlangkabel 687bfad4a6 logic: improved recording of template member specializations
* implemented recording template member specialitation relations for fields, static variables, member classes and enums
* added windows only tests that index whole projects (Bullet & Box2D) to prevent regression
2017-09-13 18:03:29 +02:00
Eberhard Graether 3f06724cad test: Fixed CommandlineTestSuite changed TestSettings.xml 2017-09-13 15:53:21 +02:00
mlangkabel 64a97d37f1 logic: Cxx destructor decl fixes
* omit visiting a type in the name of a CxxDestructorDecl (which recorded a type reference)
* fixed range of names for Cxx destructors and overleaded operators.
2017-09-11 15:40:26 +02:00
mlangkabel 41348f5130 logic: refresh only files where content changed 2017-09-11 09:56:18 +02:00
mlangkabel 99f54eedbc src: refactor java indexer
* renamed java name classes
* rearranged methods in ContextAwareAstVisitor to match the order in AstVisitor
2017-09-11 09:48:03 +02:00
Eberhard Graether a24282c0de build: changelog for 2017.3.48 2017-09-08 14:22:18 +02:00
Eberhard Graether ca85b740a6 logic: Improved search index search performance 2017-09-08 13:53:04 +02:00
mlangkabel b586c6ce53 logic: recording implicit Java packages
* implemented recording of package qualifiers as packages
* modified search parameters
2017-09-07 17:38:15 +02:00
Eberhard Graether 5f9a6d7046 logic: fixes for search
* set max best scored length for file paths
* fixed best score caching
* fixed namespace/package and node name split for search results
2017-09-07 16:43:20 +02:00
mlangkabel d62fdc2e11 src: removed unnecessary system("PAUSE") in tests 2017-09-07 14:56:31 +02:00
mlangkabel 6a7691daa0 build: fixed referenced jars in windows installer 2017-09-07 14:48:58 +02:00
mlangkabel b19ca8ee99 logic: fixed Java classpath delimiter issue on unix systems 2017-09-07 14:02:27 +02:00
mlangkabel 5c614c77e2 src: moved Java indexer from JavaSymbolSolver to Eclipse JDT
* added some more tests
* changed 3rd party licenses respectively

fortune cookie message = Your present plans are going to succeed.
2017-09-07 12:40:34 +02:00
Eberhard Graether 6cf0b87f7b logic: Fixes in search index
* process more results
* fixed max results best score length
* fixed name shortening of template arguments
* fixed best results caching
* increased consecutive letter score
2017-09-07 12:14:18 +02:00
Eberhard Graether c4400c0afc logic: reorder Java child nodes to source location order 2017-09-07 12:01:46 +02:00
Eberhard Graether 3c8cd26846 logic: Add node type filtering to SearchIndex to avoid low or no results for filters 2017-09-07 01:40:20 +02:00
Eberhard Graether a9ca7f1223 ui: Added second line marker color to better highlight hovered and local symbols 2017-09-06 16:16:39 +02:00
Eberhard Graether d86adce7ea data: Fixed db crash on closing application due to multiple initializations of statements 2017-09-05 23:58:03 +02:00
Eberhard Graether fc87d2e1aa ui: Added "Skip this Version" option to update dialog 2017-09-05 23:26:34 +02:00
Eberhard Graether 48f5180605 ui: removed pointless node filters 2017-09-05 22:51:01 +02:00
Eberhard Graether ea08c8c730 logic: replace template arguments with .. in non-indexed nodes to reduce clutter in search results 2017-09-05 22:35:54 +02:00
Eberhard Graether 919e3ad0cb ui: Fixed code color not reset after annotation in dark schemes 2017-09-03 23:15:40 +02:00
Eberhard Graether 602ebbfe46 ui: Fixed text color not correctly changed when annotation type changes 2017-09-03 22:18:20 +02:00
Eberhard Graether 9f2509e7de ui: node type keywords to filter autocompletions or activate all nodes (issue #78)
* Fix history stack activating wrong symbol when aggregation was clicked
2017-09-03 15:38:25 +02:00
Eberhard Graether 1d287541e3 logic: Path detection status messages on app start where never dispatched 2017-08-31 17:04:41 +02: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
mlangkabel 64efa00054 logic: improved Maven timeout policy (issue #449)
* only timeout if Maven did not generate output during the last 60 seconds
2017-08-29 14:15:11 +02:00
Eberhard Graether d8413b1cb4 logic: Fixed intermediate storage fetching starving when indexers are really fast because of other UI updates 2017-08-25 11:17:34 +02:00
Eberhard Graether ab3780d347 build: Changelog for 2017.3
* moved changelog to separate file
2017-08-24 12:13:28 +02:00
Andreas Stallinger 8b0d9a02ec build: linux package update for openssl
* added libssl.so and libcrytpo.so
* cleanup: remove COMPONENT frim INSTALL in linux_package.cmake ( not used since
there is no more FULL and TRAIL )
2017-08-24 09:48:48 +02:00
mlangkabel 2d9b2db683 data: added missing dlls for using ssl on windows 2017-08-23 17:03:43 +02:00
Eberhard Graether 1227ad313e logic: Fixed automatic update check only works on Qt thread 2017-08-23 16:15:22 +02:00
mlangkabel 0a3edfdcbc build: fixed create windows icon script 2017-08-23 15:22:10 +02:00
mlangkabel f6b45faf80 build: updated readme and fixed windows deploy scripts 2017-08-23 14:12:59 +02:00
Andreas Stallinger be9e2de21d build: added tags and release branches to deploy job 2017-08-23 11:24:46 +00:00
Andreas Stallinger 94506d7dd6 build: fix regex for release branches 2017-08-23 11:21:28 +00:00
Andreas Stallinger 78d1d72f54 build: ci only build release branches, master, tags 2017-08-23 11:12:40 +00:00
mlangkabel 4037593a05 data: java fixes
* fixed java indexer to continue working when a dependency path does not exist
* updated JavSymbolSolver with a lot of fixes for solving types that are defined inside jar files
2017-08-23 12:21:48 +02:00
mlangkabel 937ae0355b logic: don't hide windows console of foreign process 2017-08-23 11:52:51 +02:00
Eberhard Graether 09d78308be ui: Use QtTextEditDialog for include directive validation results 2017-08-22 23:46:40 +02:00
Eberhard Graether 869c72ab70 logic: Fixed deadlock when interrupting indexing 2017-08-22 22:15:57 +02:00
Andreas Stallinger 39550cd03e README: added ccache information 2017-08-22 18:07:58 +02:00
Andreas Stallinger 89b33f6ce9 build: fix fail of cmake setup on linux
make sure that test directory exists for test/data symlink
2017-08-22 17:48:28 +02:00
mlangkabel 062da81f7d data: changed default indexer thread count to 0
* modified application settings fallback to auto-detect the optimal amount of threads used
2017-08-22 16:36:16 +02:00
mlangkabel f00cc3015f logic: changed default value for maven dependencies directory
* now the name also includes the sourcegroup id
2017-08-22 16:03:17 +02:00
mlangkabel 31b2f8d1f6 logic: fixed generating IDs of fulltextsearch locations
due to type conversion the IDs have been set to 0 on Windows with the previous implementation
2017-08-22 15:32:33 +02:00
Eberhard Graether 86a26be6d6 ui: Improved help texts of CLI 2017-08-22 13:46:04 +02:00
Andreas Stallinger efe280bbc1 build: added missing include for linux
include utility/utility.h in main
2017-08-22 12:31:18 +02:00
mlangkabel 2470177190 data: updated sample project settings 2017-08-22 11:47:41 +02:00
mlangkabel 0b9bb91ae5 ui: extended logging and about window to show 32/64 bit info 2017-08-22 10:58:55 +02:00
mlangkabel 0ef9b97349 build: update README and create_windows_icon script
* provided some additional info for windows builds
2017-08-22 10:11:51 +02:00
Andreas Stallinger af4fb739e7 build: gitlab ci update for new dockerhub account
* caching ccache and maven folder on ci
* new docker images st4ll1 -> coatisoftware
* in build script run setup script if no build/Release folder does not
exist
2017-08-21 18:55:25 +02:00
malte_langkabel e496515a14 logic: implemented recording override edges for overridden methods declared in jars 2017-08-17 14:03:59 +02:00
malte_langkabel 70997adc9c logic: greatly improved Java indexing performance
* about 120% faster now
* also fixed minor synchronization issues
2017-08-17 13:28:00 +02:00
malte_langkabel cbbcc98832 logic: fixed recording of Cxx field usage
* fixed recording reference to field inside TemporaryObjectExpr as usage edge instead of call edge
2017-08-11 15:05:44 +02:00
Eberhard Graether 855f0cbbbf ui: improved comment contrast in color schemes
* fixed clang warnings
2017-08-11 12:22:33 +02:00
malte_langkabel ddebf71e02 logic: fixed case where clang target flag was "---" 2017-08-11 11:31:28 +02:00
malte_langkabel 9d1faa791b build: updated windows deploy script
* changed commandline options to match the new format
* fixed 64bit package having no vscode plugin folder
* removed unnecessary reminders about the VS plugin
2017-08-10 18:26:04 +02:00
Andreas Stallinger e301b231db remove allow_failure 2017-08-10 16:10:02 +00:00
Andreas Stallinger 05ac4f3b6e logic: std::signal instead of sigaction
* commandline test cout redirect
[skip ci]
2017-08-10 18:00:02 +02:00
malte_langkabel 12120e443b data: updated test log 2017-08-10 17:22:24 +02:00
malte_langkabel 42b286909d logic: fixed showing Windows console and getting stuck while quitting
* fixed Sourcetrail being stuck while closing the application
* building Sourcetrail as Console application by default
* hiding console during runtime on Windows if Sourcetrail is started with GUI
2017-08-10 17:09:47 +02:00
malte_langkabel ba4e07e361 data: extended tutorial to mention call/inheritance graphs
* fixed section mentioning hatched elements in tutorial
* mention call/inheritance graphs in tutorial
* added new tut files to windows deployment package
2017-08-10 15:29:07 +02:00
malte_langkabel b9610951d8 logic: Java anonymous class fixes
* fixed solving anonymous classes
* fixed solving methods declared in anonymous classes
* fixed solving calls to those methods
* updated JavaSymbolSolver Jars
2017-08-10 15:15:48 +02:00
malte_langkabel 5de050ab62 build: fixed crash in QSemaphore::acquire on Windows 2017-08-10 15:12:25 +02:00
Andreas Stallinger eaf9df8551 src: revert git auto merge fail 2017-08-10 13:41:43 +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 bb5c1d49b6 ui: Fixes for release
* improved color scheme contrasts
* fixed code view single not updated to font size change
* fixed tooltip shown when hovering error location
* fixed previous reference count shown when fulltext search has no results
2017-08-10 03:16:29 +02:00
Eberhard Graether d9c8de2951 src: Fixed FilePath::canonical() for UNIX
* fixed clang warnings
* fixed ApplicationSettings loaded from wrong location in tests
* added symlink within canonical path to tests
2017-08-10 02:04:03 +02:00
Eberhard Graether ece2cbfe14 logic: Fixed cli message handling and Mac build 2017-08-10 01:17:26 +02:00
Andreas Stallinger 9269468a7b src: cleanup cli publish
cleaned commented code
removed bin/test/ApplicationSettings.xml
2017-08-09 15:16:37 +02:00
Andreas Stallinger c9789a415e logic: use signal instead of sigaction on windows 2017-08-09 14:09:50 +02:00
Andreas Stallinger 610c8b2901 logic: cli for indexing and configure 2017-08-09 13:34:20 +02:00
Andreas Stallinger 802153883e logic: commandline indexing and configuration 2017-08-09 12:33:43 +02:00
Eberhard Graether 2399e733b4 ressource: Fixed tictactoe 2017-08-09 12:25:12 +02:00
Eberhard Graether 2e375112e6 data: Save command line info for CXX indexer commands to errors and show within errors table (issue #351)
bug id = 351
2017-08-09 12:16:16 +02:00
malte_langkabel 1ac63f0158 logic: cxx indexer fixes
* fixed comment locations have been saved to wrong database table
* fixed usage of tryGetRealPathName on windows
* used real filename in PreprocessorCallbacks, DiagnosticsConsumer and CommentHandler
* fixed crash in IncludeValidation when only one source file was checked
2017-08-09 10:59:47 +02:00
malte_langkabel 42fc52b8f7 data: added tooltip view css file to windows installer
* also renamed css file for tooltip view to conform to names of other css files
2017-08-08 17:12:47 +02:00
malte_langkabel 43c647e2d2 data: add license information file for Open SSL 2017-08-08 16:48:07 +02:00
Eberhard Graether 289ac4ab63 ui: Fixed show data and log folder menu actions not working for symlinks 2017-08-08 16:39:50 +02:00
malte_langkabel fc02982acc build: added OpenSSL library to windows package
* this one is required for the HTTPS request of the update check
2017-08-08 16:25:28 +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
malte_langkabel 4f74235ca1 src: fixed making file paths canonical that contain symlinks 2017-08-08 15:05:36 +02:00
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 db1c3b3f40 logic: implement prefilling of JRE system library path
* if that setting is empty on startup we use the respective path detector to prefill
2017-08-07 16:22:54 +02:00
malte_langkabel 2d6d554cb1 logic: implemented interrupting AST visiting of Java indexer
* also reverting names of unsolved symbols and unsolved types
2017-08-07 16:02:06 +02:00
malte_langkabel 332cf7be70 ui: fix an issue where the autocompletion list becomes invisible after some time on Windows 2017-08-04 14:01:56 +02:00
malte_langkabel 0a1fdee998 logic: add lots of Java indexing fixes
* update JavaSymbolSolver to version 0.6.0
* moved to Javaparser 3.3.0
* fixed solving type parameter names in symbols solved in jar files
* implemented ignoring name contexts in javassist and jre based method signatures to break infinite recursion
2017-08-04 13:40:56 +02:00
Andreas Stallinger 6ecc2d630b Update .gitlab-ci.yml 2017-08-04 09:34:16 +00: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
Andreas Stallinger 4e60574bf0 Update .gitlab-ci.yml (fix Linux64 job) [skip ci] 2017-08-03 16:34:03 +00:00
Eberhard Graether d80b1fc848 logic: removed preprocessor only option when indexing CXX source groups 2017-08-03 16:54:41 +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
Eberhard Graether 9e06323ba7 data: Fixed duplicate rows in database 2017-08-02 17:30:17 +02:00
Eberhard Graether e089900571 data: Fixed uppercase CXX header files saved in lowercase & remove symlinks from FilePath when canonicalizing (issue #437)
bug id = 437
2017-08-02 14:19:44 +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
malte_langkabel 2c6322631b build: fixed QOverload syntax for Visual Studio compiler 2017-08-02 11:51:56 +02:00
Eberhard Graether 63c81e27a2 ui: Window focus event sent when application changes state instead of main window
* Fixes tooltip disappearing when clicked on Windows
2017-08-01 19:15:10 +02:00
Eberhard Graether 96c68c4d0b ui: Fixes for code view
* set code font size as pixel value
* properly hide line number area for overview stats in both snippets and single file view
* fixed file title disabled for files in single file view in trial mode
2017-08-01 14:31:03 +02:00
Andreas Stallinger 244c9af3c6 src: new signal slot syntax
SLOT()/SIGNAL() -> &class::method()
2017-08-01 12:35:33 +02:00
malte_langkabel 8d68203727 src: add missing include for Visual Studio compiler 2017-08-01 11:17:12 +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 01b1e0d6f1 logic: add type information of variable decl to name hierarchy
* implemented this feature for both, CXX and Java
* adjusted tests to reflect these changes
* added NameElement and NameHierarchy to Java code
* created more specialized JavaDeclName classes: JavaFunctionDeclName and JavaVariableDeclName
* implemented recording static modifier for Java methods and variables

fortune cookie message = You will enjoy true success in whatever you do.
2017-07-28 09:12:32 +02:00
malte_langkabel 2e117c4b6d build: switch to Maven configuration for JavaIndexer 2017-07-27 13:16:57 +02:00
malte_langkabel 053ca3d8d1 data: move web content to CoatiWeb repository
* the new url for this content is: https://gitlab.com/CoatiSoftware/CoatiWeb
2017-07-27 09:54:21 +02:00
malte_langkabel 3f19a0393a logic: fix issue where Maven project did not show any source files (issue #428)
* fixed extraction of generated effective-pom from command line output
2017-07-26 14:41:15 +02:00
malte_langkabel 3a192c8089 ui: clean indexed header path selection
* for CDB projects the selection dialog for the indexed header paths now discards all paths that are subdirectories of other entries
2017-07-24 17:08:43 +02:00
malte_langkabel f2c7ecbbdf ui: add progress dialog for "show source files" button 2017-07-24 14:20:26 +02:00
malte_langkabel bec7aa4aac logic: add include path validation to project settings 2017-07-24 09:20:08 +02:00
Eberhard Graether faae66b304 ui: Fixed search related issues
* select elements when clicking into search bar
* fixed crash and single file mode clearing when fulltext search yields no results
2017-07-20 15:55:31 +02:00
malte_langkabel 3c72ce7459 web: Add blogpost
* Added blogpost titled "How to Export a Clang Compilation Database from a Visual Studio Solution"
2017-07-20 14:53:18 +02:00
Eberhard Graether 48811959fd build: Updated to Qt 5.9.1 2017-07-19 12:23:21 +02:00
malte_langkabel c6c49b2d45 build: add plugin folders to Windows package
* added missing plugin folders to Windows package
* fixed readme of VS extension
2017-07-19 10:23:39 +02:00
Andreas Stallinger 0455cb33f5 test: fix float tests in Vector2TestSuite 2017-07-18 16:16:17 +02:00
Andreas Stallinger 0d98b02431 Update .gitlab-ci.yml to run only one docker container at commit (32bit can be started manually) 2017-07-18 13:46:58 +00: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
malte_langkabel e536f20e36 build: Updated to Boost 1.64.0
* switched from using BOOST_159_DIR to using BOOST_DIR
* changed windows configuration of boost to remove requirement of duplicating all include files.
2017-07-18 12:59:22 +02:00
Eberhard Graether 94551bf689 src: Updated to Botan 2.1.0 2017-07-18 12:55:13 +02:00
Eberhard Graether 7bc89acdf5 src: Updated to clang 4.0.1 2017-07-18 12:11:26 +02:00
Eberhard Graether 1982f4459a ui: Don't show start window when opening project with double-click
* added menu option to show start window
2017-07-17 17:07:01 +02:00
Eberhard Graether 4bb88a51b7 ui: Show license type label in title bar: "Sourcetrail [trial, test, non-commercial]" 2017-07-17 15:31:06 +02:00
Andreas Stallinger 83e5497a18 fix: missing include memory for linux build 2017-07-17 14:38:03 +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
Eberhard Graether 997f952b86 ui: Show recent bookmarks in bookmarks menu (issue #414)
bug id = 414
2017-07-12 15:01:14 +02:00
Eberhard Graether 77e748a5e1 ui: Fixed refernces shown and buttons wrong for file activation in snippet mode 2017-07-12 13:52:56 +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 b4166be89b build: open source Visual Studio extension
* moved SourcetrailPlugin to separate GitHub repository: https://github.com/CoatiSoftware/vs-sourcetrail
* changed Readme in ide_plugins folder to point to that repo and give instructions on how to install
* removed vsix from windows package
* renamed SourcetrailPlugin project to SourcetrailExtension
* changed assembly name to vs-sourcetrail
* removed plugin install script because the tests now use a configured experimental instance of Visual Studio
* added license file for cinder solution that is used in plugin integration tests
* replace license file with apache license
* added boilerplate notice of Apache License 2 to source files of plugin
2017-07-08 11:33:38 +02:00
Eberhard Graether eb25472f11 build: Fixed qt.conf for macOS with case-sensitive file system (issue #404)
bug id = 404
2017-07-05 12:23:05 +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
Eberhard Graether db4f18c70d ui: Higher contrast for ui elements in bright color scheme
* use light green for files and macros
2017-06-29 13:23:55 +02:00
Andreas Stallinger 2b9ea45e33 linux package README update 2017-06-29 13:00:39 +02:00
malte_langkabel a66daa9ac0 build: reduce boost includes in FilePath.h 2017-06-28 17:50:51 +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 a2554a9f75 ui: Show progress dialog for maven source group within parent window 2017-06-28 15:43:20 +02:00
malte_langkabel 8370caf705 logic: add logging for jars used by maven project setup 2017-06-28 11:55:23 +02:00
Andreas Stallinger d60a9c82d5 documentation: vscode extension added 2017-06-27 14:29:53 +02:00
Eberhard Graether 293a2a84c3 ui: Added Edit Project button below error table
* use leading uppercase letter in Log View UI elements
2017-06-27 14:21:48 +02:00
Eberhard Graether 73dd912fd6 web: Blog post Release 2017.2
<description>
2017-06-27 12:56:40 +02:00
Andreas Stallinger 68affaa4bc fix: fix putenv in utilityMaven
* include cstdlib
* const cast to char*
2017-06-27 12:32:57 +02:00
Andreas Stallinger ea047cde78 Update utilityMaven.cpp 2017-06-27 10:17:51 +00:00
malte_langkabel 5d35455492 logic: Maven fixes regarding JAVA_HOME variable (issue #405)
* setting value for JAVA_HOME variable automatically before executing Maven if not found in system environment.
* show error dialog when maven encounters an error while fetching source directories from pom
* added logging when fetching maven source directories from pom
2017-06-27 11:41:44 +02:00
Eberhard Graether 7e7d661bf1 web: updated documentation and changelog for 2017.2 2017-06-21 16:34:21 +02:00
malte_langkabel 70b24f9097 ui: fix typo in info dialog 2017-06-21 12:16:01 +02:00
Eberhard Graether 7a814f930d build: no visual studio plugin in mac bundle 2017-06-21 10:53:09 +02:00
Andreas Stallinger 0b432c07fd build: dont ignore install/eula 2017-06-20 17:47:46 +02:00
malte_langkabel ecfdd1ccb7 build: update Java indexer dependencies
* now using JavaParser version 3.2.4 (tagged with javaparser-parent-3.2.4)
* now using JavaSymbolSolver commit hash 5b96df7a
2017-06-20 16:55:24 +02:00
malte_langkabel ba549822c9 build: update windows installer
* changed windows installer to discard the first two digits of the version (17 instead of 2017)
* renamed vs plugin installer
* add game_object.h for TicTacToe to windows installer
* add eula.txt for eula window and keyboard shortcuts css to installer
* add eula and 3rd party licenses to windows install directory
2017-06-20 16:10:22 +02:00
Andreas Stallinger 8b6109be79 script: install script linux fix
install script failed when there were spaces in the path
2017-06-20 15:36:43 +02:00
Eberhard Graether ad3169c3c0 src: Fixes for release
* clear references count when clearing code view
* fixed scrolling to character in overview lists
* fixed aggregation activation shown in history menu
* fixed same snippet being added twice
* Sourcetrail [Trial] as window title
* fixed undoing trail expand will always reactivate symbol
2017-06-20 15:18:30 +02:00
Andreas Stallinger 81b88df3a2 gui: show eula on non windows versions 2017-06-20 14:45:52 +02:00
Eberhard Graether 738e13a664 resource: Updated EULA 2017-06-20 13:06:06 +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 652a55b4fb logic: Fixed saving project name to ProjectSettings also sets project location to '/' 2017-06-19 23:38:39 +02:00
Eberhard Graether 05c2878eec src: Fixed old license partly shown and new placeholder in license dialog 2017-06-19 23:08:42 +02:00
Eberhard Graether 894beccb28 build: Added GameObject base to tictactoe sample
* Gets used in gifs and video
2017-06-19 22:15:34 +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
malte_langkabel fba8dadee7 build: fix license compile errors on windows 2017-06-19 16:15:02 +02:00
Andreas Stallinger e953b35c62 logic: license format 2017-06-13 21:23:18 +02:00
malte_langkabel 72f3dcfc19 logic: improved plugin performance
* reduced file open/close events while writing cdb
* fixed detection of header paths
* refactored Visual Studio extension code
* removed very old menu option for converting a solution directly into a Coati project (which would have been performed by Coati itself, not by the plugin).
2017-06-12 12:10:48 +02:00
Andreas Stallinger 148588b179 logic: add 1MB buffer to pushIntermediateStorge 2017-06-12 12:05:34 +02:00
Andreas Stallinger 19ed6cb372 logic: versioning 2017-06-12 09:14:21 +02:00
Andreas Stallinger 419a2e27ba ui: subwindow when resize mainwindow
* disable drop in qtlineedit
    fixes bug where when file is dropped in the lineedit with text,
    the the file will be added as text midst the existing text
* move message to start from script before layout loading so it will load right
(only when started without script on linux)
* center subwindow when mainwindow size changes
2017-06-08 20:42:32 +02:00
malte_langkabel 699de2ee0a build: improve convenience for running Visual Studio plugin integration tests
* added testsettings file that causes Visual Studio to use the current build of the
    extension when running the integration tests. So no more uninstalling and installing
	of the extension before running the tests.
2017-06-08 14:57:18 +02:00
Andreas Stallinger 3ca6f266c7 build: name for artifacts from tagged jobs 2017-06-08 13:48:50 +02:00
Eberhard Graether 24894aa96f ui: More fixes for release
* Fixed graph resizing invoked during animation
* Clearin history when clearing UndoRedoController
* Fixed no hatching in single code view file button
2017-06-08 12:45:56 +02:00
Andreas Stallinger deed335a10 linux script start
warning when starting without script on linux
2017-06-08 12:13:36 +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 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 2b1098fe1d logic: disable Java errors for on-demand imports
* don't try to resolve an import that ends in an asterisk. these can be either type names or package names and it it's a package we have no way to find out whether or not such a package exists.
2017-06-07 17:37:19 +02:00
Andreas Stallinger 255fea62af ui: restrict subwindow movement
restrict subwindow movement to mainwindow
to make sure you cant move it were you dont see it
2017-06-07 17:21:54 +02:00
malte_langkabel 38e016c909 build: update list of installed files for windows deployment 2017-06-07 15:49:49 +02:00
Andreas Stallinger 59cece1707 ui: fixed historylist popup disapearing 2017-06-07 15:39:39 +02:00
Eberhard Graether 469789f994 build: Changelog for 1.0 2017-06-07 14:56:02 +02:00
Eberhard Graether 503ca76a40 ui: Use window decorations on dialog windows (issue #376)
* added SubWindow flag to QtWindow to either use window decorations or show window within main window
* fixes black borders in some Linux window managers

bug id = 376

fortune cookie message = Your skill will accomplish what the force of many others cannot.
2017-06-07 14:40: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
malte_langkabel 21f963d652 logic: indexer fixes for java imports
* fixed solving import for statically imported member types
* enabled recording of fatal errors when an importing a type
* added AstVisitorClient for improved abstraction and debugging purposes
2017-06-07 13:00:20 +02:00
malte_langkabel b659e81515 logic: fix more Visual Studio plugin issues
* using .Net framework version 4.6.1 in all projects
* implemented exception handling in VCFileWrapperFactory
* moved logging in separate assembly
* enabled logging in wrapper code
2017-06-06 15:46:14 +02:00
Eberhard Graether fc36cc25ca ui: Improved code view UI
* reduced minimized file state to one-colored block
* added hover states to file buttons
* show hover state when hovering title bar
* fixed file button use for overview stats snippet
2017-06-05 23:46:50 +02:00
Eberhard Graether 71b3bdb26b logic: Improved code view performance
* Don't set stylesheet for every token activation
* Streamlined code area creation steps
* Delay most syntax highlighting until lines become visible
2017-06-05 23:34:20 +02:00
malte_langkabel 30e6512d71 logic: fixed versions of Visual Studio plugin assemblies 2017-06-05 16:11:09 +02:00
malte_langkabel f31c0ae3ba logic: Visual Studio plugin improvements
* changed dll version handling to be automated
* added some additional logging
* improved VCProjectWrapperFactory
2017-06-05 15:14:55 +02:00
Eberhard Graether de645be37a logic: Refactored Code View to process all contents in one update
* Use unified showCodeSnippets method for setting file information on CodeView
* Made async initial file and snippet expansion synced
* Add ScrollParams API to CodeView
* Regard scope size when scrolling to definition
* Only use QtThreadedLambdaFunctor in QtCodeView now
2017-06-05 14:23:43 +02:00
malte_langkabel 893b223bbc logic: record more import not found errors
* record "import not found" error when imported type cannot be resolved
2017-06-05 11:08:07 +02:00
malte_langkabel 7010b9a6fb logic: update Visual Studio plugin to support Visual Studio 2017
* changed description text of Visual Studio plugin
* changed plugin install targets to include VS 2017
* add license file with MIT license
* updated vsix for deployment

* implement wrapper for all used classes of VCProjectEngine.dll since you cannot just use the oldest version of this
  assembly (see https://stackoverflow.com/questions/44288050/typecast-fails-when-visual-studio-extension-uses-reference-to-older-assembly).
* improved serialization and deserialization of compile commands and compilation databases.
* updated used JSON package
* rename CommandObject to CompileCommand
* changed implementation to keep non-existent file paths in cdb
* made methods of SolutionParser non-static
* replace spaces with tabs

* added IntegrationTests project
* configured tests to simulate a new instance of VisualStudio
* added cinder as test project for integration tests
* remove all absolute paths from expected output of integration tests

fortune cookie message = A stranger will bring great meaning to your life.
2017-06-02 14:48:29 +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 8660ab5b14 build: Codesign MacOS app bundle to avoid "from unidentified developer" warning
fortune cookie message = Der Stern des Reichtums wird in Kürze auf dich scheinen
2017-05-31 16:23:25 +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 8a6def2d7a ui: Fixes for source group ui
* added final icons
* fixed inconsistent names on copy
* fixed files list for cdb groups not updated
2017-05-31 13:33:34 +02:00
Eberhard Graether 539377339a ui: finalized design for history list 2017-05-31 12:31:11 +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 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 f760b873b4 logic: Fixed source files indexed multiple times when in multiple source groups 2017-05-30 12:17:18 +02:00
Eberhard Graether 561284ef5a ui: fixes
* Fixed send ping after changing plugin ports
* Fixed can't close EULA window
2017-05-30 11:55:01 +02:00
Eberhard Graether 7d5d19fde7 utility: Fixed License location check for CI 2017-05-30 08:59:52 +02:00
Eberhard Graether bd40294a2c ui: Added menu action to display EULA and force accepting on Mac 2017-05-30 00:30:52 +02:00
Eberhard Graether 9256618f7c ui: Extended project setup to support creation and editing of Source Groups (issue #230)
* Turned QtProjectWizzard into window for Source Group ui
* Clicking into FilePicker when empty will open dialog right away
* Fixed environment variable use throughout all Source Group path values
* Moved Preferences to QtPreferencesWindow

bug id = 230

fortune cookie message = Zwischen dir und deinen Freunden besteht echte Freundschaft.
2017-05-29 17:08:28 +02:00
Eberhard Graether 13f7acbb70 data: Fixed no indexer commands created for relative file paths in cdb (issue #388)
bug id = 388
2017-05-23 11:42:39 +02:00
malte_langkabel 9b73d73a85 ui: display an error when loading a Clang Compilation Database fails 2017-05-23 09:35:58 +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 3598fd357d ui: Fixed status messages influence window resizing (issue #372)
bug id = 372
2017-05-19 15:21:34 +02:00
Eberhard Graether 5c21f23219 logic: match source file extensions case insensitive (issue #384)
bug id = 384
2017-05-19 14:39:45 +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 9a100cd0c0 web: fixed fastspring test store link in blog navigation 2017-05-19 00:40:50 +02:00
malte_langkabel 655e0f15b0 build: remove dlls from windows deploy package
* no dlls required anymore since we removed the setup.exe earlier which was the only C++ binary requiring those dlls.
2017-05-18 10:15:35 +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 7cef92cb20 web: blog post for Release 0.12 2017-05-16 16:32:15 +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
Andreas Stallinger 80016596df logic: fix missing typename 2017-05-16 11:42:09 +00: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
Eberhard Graether 6d0f633d24 web: updated documentation
* maven project setup
* reset layout option
* use 0 indexer threads for auto-detection
* multi process setting
* bookmarking
* depth graph
* updated menu and shortcuts
* updated images
2017-05-16 10:52:52 +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 d1a1552b8d logic: run MessageActivateAll also in parallel 2017-05-15 12:28:04 +02:00
Eberhard Graether 33452aaa0b build: Added QtCreator plugin to MacOS package 2017-05-15 12:25:13 +02:00
malte_langkabel 4a5b5c2e51 build: rename plugin directory for QtCreator and add this folder to windows package 2017-05-15 12:17:57 +02:00
malte_langkabel 00c696b385 logic: switch back to handling messages in sequence by default
* handling all messages in parallel caused UI synchronization issues
* for now the only message that requests to be handled in parallel is MessageActivateTokens
2017-05-15 11:59:15 +02:00
Eberhard Graether 0d244b0224 utility: Fixed message buffer might become empty while applying message filters 2017-05-15 11:31:10 +02:00
Andreas Stallinger 9937b9beeb documentation: fixed wrong imagename 2017-05-15 10:26:58 +02:00
Andreas Stallinger 6a90ee367c documentation: qt creator plugin
removed sublime text image in qt creator section
2017-05-15 10:20:34 +02:00
Andreas Stallinger 9d91e86e1e documenation: qt creator plugin
added qt creator plugin
2017-05-15 10:17:35 +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 6de0021f70 ui: Fixed code view single file not scrolled to first fulltext search result 2017-05-14 20:08:25 +02:00
Eberhard Graether 3dfc0cb341 utility: Added MessageFilter API to messaging
* filter out focus in and out messages if both in queue
* filter out search autocomplete when multiple in queue
2017-05-14 19:39:05 +02:00
Eberhard Graether 6193ae9209 logic: Fixes for shared memory
* set unrestricted permissions on shared memory allocation to fix crash on Windows
* log exceptions during shared memory creation and destruction
* create SharedMemoryGarbageCollector after logging was enabled
2017-05-12 01:53:37 +02:00
malte_langkabel 40157039b4 src: use FilePath in FileSystem::getFileNamesFromDirectory 2017-05-11 16:30:14 +02:00
malte_langkabel 156c3d4b9f src: refactor UUIDUtility to conform with our coding conventions 2017-05-11 15:02:07 +02:00
Andreas Stallinger 4dcfe34485 logic: fixed template error on linux 2017-05-11 13:48:21 +02:00
malte_langkabel d160f38cbd build: remove setup.exe from windows package
* removed the exe since it does nothing but call the msi
* also fixed a missing include when building with DEPLOY on windows
2017-05-11 13:12:36 +02:00
malte_langkabel 1d1acc32f4 ui: improve item descriptions in application settings dialog 2017-05-11 11:15:44 +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
Andreas Stallinger f9a6c1ac09 build: remove manual build from master branch 2017-05-10 16:42:16 +02:00
Andreas Stallinger df7cdd2e7c build: gitlabci - job for licensegen and cleanup
* using template in yaml
* job for keygen added
2017-05-10 16:25:32 +02:00
Andreas Stallinger d100aca5fc build: gitlab-ci names for artifacts
* names for gitlab artifacts
* fix Linux package qt platforms lib
2017-05-10 16:09:43 +02:00
Eberhard Graether 960ca6703e logic: Fix indexing progress dialog not updated when fetching storage 2017-05-10 15:52:24 +02:00
Andreas Stallinger 2136e30a48 build: fixes to build on linux
*   dont use Q_PROCESSOR macros for 32/64 getArchitectureType
    move the function from lib_gui to lib
*   added missing include
2017-05-10 15:33:31 +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 bb8c2ae5a9 data: Set correct name delimiter per language in parsers 2017-05-09 16:25:58 +02:00
malte_langkabel 329544530d logic: fix crash when running 32 and 64 bit versions in parallel
fixed by making memory name of garbage collector depend on architecture type of sourcetrail binary
2017-05-09 15:07:18 +02:00
Eberhard Graether f3de8b5ae4 ui: Changed menu action to "Bookmark Active Symbol" 2017-05-08 17:15:54 +02:00
Eberhard Graether c0e3726b2d build: Changelog for 0.12 (beta) 2017-05-08 17:13:31 +02:00
2179 changed files with 460343 additions and 152507 deletions
+22 -7
View File
@@ -3,26 +3,40 @@
/deps/
/bin/app/data/projects/ignored/
/bin/app/data/java/
/bin/app/data/java/lib/
/bin/app/user/log/
/bin/app/user/ApplicationSettings.xml
/bin/app/user/window_settings.ini
/bin/app/*.log
/bin/test/data/log/
/bin/test/data/temp.xml
/bin/test/data/TestSettings.xml
/bin/test/data/CommandlineTestSuite/settings.xml
/bin/test/data/ConfigManagerTestSuite/temp.xml
/java_indexer/bin/
/java_indexer/lib/
/java_indexer/target/
/setup/Linux/lib/
.DS_Store
.idea
.vscode
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtension/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtension/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionTests/bin/Debug
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionTests/bin/Release
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionTests/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionUtility/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionUtility/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/TestResults
*.coatidb
*.srctrldb
@@ -33,6 +47,7 @@
*.pch
*.swp
*.swo
*.VC.db
.clang_complete
.ycm_extra_conf.py
@@ -42,6 +57,7 @@ sourcetrail.srctrlprj
compile_commands.json
Makefile
CMakeLists.txt.user*
/__pycache__/
/deployment/windows/wixSetup/bin
@@ -50,4 +66,3 @@ Makefile
/deployment/windows/wixSetup/CustomActions/UninstallRemoveLogFolder/obj
/deployment/windows/wixSetup/Setup/build/Setup/Release
/deployment/windows/wixSetup/Setup/build/Setup/x64
/deployment/windows/wixSetup/Setup/build/Setup.VC.db
+115 -48
View File
@@ -1,67 +1,134 @@
Linux64:
image: st4ll1/coati_linux_64
stage: deploy
only:
- master
- triggers
variables:
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
IMAGE_64: coatisoftware/centos6_64_qt_llvm:qt5101-llvm600
IMAGE_32: coatisoftware/centos6_32_qt_llvm:qt5101-llvm600
## Templates ##
.build_template: &build_def
stage: build
before_script:
# CCache Config/jobs
- mkdir -p ccache
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/ccache
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
- ./script/build.sh release test
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr/Sourcetrail*.tar.gz
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux64_tagged:
image: st4ll1/coati_linux_64
.deploy_template: &deploy_def
image: alpine
stage: deploy
only:
- tags
before_script:
- apk add --no-cache lftp git
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
artifacts:
paths:
- distr/Sourcetrail*.tar.gz
Linux32:
image: st4ll1/coati_linux_32
stage: deploy
- VERS=$(git describe --long | sed 's/-/./' | sed 's/-.*//')
- TARGET_DIR=releases-$CI_ENVIRONMENT_NAME/$TYPE/$VERS
- echo $TARGET_DIR/$CI_ENVIRONMENT_NAME/$TYPE/
- lftp -u $FTP_USER,$FTP_PW -p $FTP_PORT $FTP_ADDR -e "mkdir $TARGET_DIR; mput -O $TARGET_DIR Sourcetrail*; bye"
only:
- master
- triggers
- tags
- /^release.*$/
## Build Stage ##
build:Linux64:
image: $IMAGE_64
only:
- /^release.*$/
- master
- tags
cache:
key: cache_linux_64
paths:
- ccache/
- java_indexer/.m2/repository
<<: *build_def
build:Linux32:
image: $IMAGE_32
only:
- /^release.*$/
- master
- tags
cache:
key: cache_linux_32
paths:
- ccache/
- java_indexer/.m2/repository
when: manual
<<: *build_def
LicenseGenerator:
image: $IMAGE_64
stage: build
when: manual
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
- ./script/buildonly.sh release keygen
- mv build/Release/license_generator/Sourcetrail_license_generator .
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr/Sourcetrail*.tar.gz
- Sourcetrail_license_generator
expire_in: 3 days
Linux32_tag:
image: st4ll1/coati_linux_32
stage: deploy
## Deploy ##
deploy:Linux_staging_beta:
when: manual
environment:
name: staging
variables:
TYPE: beta
<<: *deploy_def
deploy:Linux_staging_full:
when: manual
environment:
name: staging
variables:
TYPE: full
<<: *deploy_def
deploy:Linux_production_beta:
when: manual
environment:
name: production
variables:
TYPE: beta
<<: *deploy_def
deploy:Linux_production_full:
when: manual
environment:
name: production
variables:
TYPE: full
<<: *deploy_def
deploy:Linux_tag_staging:
environment:
name: staging
variables:
TYPE: beta
<<: *deploy_def
only:
- tags
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
artifacts:
paths:
- distr/Sourcetrail*.tar.gz
## could be interesting for daily/weekly/monthly builds
# https://docs.gitlab.com/ce/user/project/pipelines/schedules.html
#
#job:on-schedule:
#only:
# - schedules
#
+739
View File
@@ -0,0 +1,739 @@
### Changelog
#### 2018.1.19
released 2018-01-30
* Fixed crash on filling DirectoryListBox with no selected items (issue #544, #545)
* Graph: Improved type node contrast in bright color scheme
* Code: Fixed going back in history sometimes showed the wrong file when an edge was activated last
* Code: Clicking on active location will activate it again and show it's definition
* Graph: Don't keep expanded nodes expanded after using symbol search
* Fixed file picker didn't start in recent directory when exporting graph as image (issue #541)
* Code: Fixed file content shown multiple times when clicking title button of non-indexed file with errors
* Preferences: Only show latin fonts in the font face dropdown
* Code: Fixed gaps in line indicators for some font faces
* Windows: Show indexing progress in Windows task bar
* Linux: Added settings to change screen scaling to preferences (issue #518, #523)
* Allow for disabling certain Source Groups via Status checkbox in the "Edit Project" dialog
* C/C++: Fixed no indexed information saved for compilation database referencing certain compiler (issue #531)
* Increased history dropdown list size to 50 items
* Still allow project refresh if database file can't be loaded
* Removed focus outlines from push buttons
* Graph: Display warning when depth graph has more than 1000 nodes
* Code: Fixed screen search matches not always cleared in single file mode
* C/C++: Implemented handling Microsoft inline assembly statements
* C/C++: Added automatic include path detection to project setup
* Java: Fixed project setup from Maven not working for projects without sub-modules
* Windows: Changed default install directory to ".../Sourcetrail/"
* Windows: Changed Sourcetrail font color in installer image
* Windows: Fixed sourcetrail loader gif not showing up on some windows systems
* Custom style for dock widget title bars with different colors in each color scheme
* C++: Fixed bug where anonymous symbols were only partly named like the enclosing typedef
* C/C++: Fixed policy for recording elements inside macro arguments and bodies
* Allow users to ignore warning on non-existing paths in project setup
* Code: Switch to single file view when clicking snippet maximize
* Code: Show scrollbar at bottom of snippet list if bottom snippet is horizontally scrollable (issue #432)
* Code: Keep snippet title bar at top when scrolling down (issue #479)
* Fixed history dropdown opened again when clicking on button again
* Code: Fixed single file view cleared when refreshing
* Graph: Added "Exported from Sourcetrail" note to exported graph images
* C/C++: Don't store commandline string for each error to save memory
* Fixed delay when starting indexing until progress dialog shows up
* Group include validation results by file and add line breaks for readability
* Fixed location pickers used system root directory when empty
* Graph: Add "bidirectional" to tooltip of bidirectional aggregation edges
* Linux: Don't explicitely open terminal when running on Linux (issue #525)
* Fixed files and directories dialog to offer selection of files (issue #521)
* C++: Fixed cases where references to members were recorded as usage instead of call
* Fixed crash when Start Screen is closed while checking for update
* Search: Fixed selected text not deleted when pasting into search field (issue #527)
* C++: Record template variable specialization edges
* Code: Use different background color in snippet list to improve visual layering
* Don't force full project refresh when project settings changed (issue #493)
* Added indexing mode to reindex incomplete files (issue #496)
* Java: Allow using .aar files as Java project dependencies
* Java: fixed some Java exceptions and write Java exceptions to log file
* Java: Note architecture of Java version in preferences dialog
* Code: Show line indicators for fulltext search results and fixed matches at line start
* Graph: Update visible depth graph when changing depth level slider (issue #484)
* Always show all context menu actions, but disable unavailable ones
* Graph: Hide nodes and edges via context menu action or Alt + Click (issue #472)
* Graph: Added option to preferences to show/hide builtin types, default is hidden (issue #409)
* Improved style and color of scrollbars and main window separators
* Linux: Fixed icon sizes when scaling to highDPI fails
* Search: Fixed cursor disappearing when entering long string in the search field
* C++: Fixed parent node hierarchy for C++ template parameters of variable declarations
* Linux: Fixed syntax error in Sourcetrail.sh (issue #519)
* Graph: Improved exported image quality
* Graph: Fixed exported graph image were too large (issue #511)
* Fixed crashes due to double deleted Qt widgets
* Fixed crash when specifying an unknown text encoding in the preferences
* C++: Fixed retrieval of CXX template parameter declarations of parent
* C/C++: Fixed filepaths to always be canonical (issue #516)
* Graph: Fixed implicit nodes not auto-expanded when activated
* C/C++: Add filename info to static functions (issue #515)
#### 2017.4.46
released 2017-11-09
* C/C++: Add filename info to static global variables to avoid collision (issue #514)
* Allow duplicate indexing of source files if the indexer command differs
* Fixed single header files within indexed paths were not indexed (issue #513
* Status: Explain differences of errors and how to fix them in help message dialog (issue #501)
* C/C++: Add parent directories of source files in the compilation database automatically to indexed header paths
* C/C++: Give clang higher precedence in automatic global header search path detection
* C/C++: Added new clang 5.0.0 language standards to project setup dropdown box
* Graph: Show nodes with more than 20 children initially collapsed (issue #509)
* Show message box informing about shared memory problems before indexing (issue #508)
* Fixed files from symlinked directories within indexed directories were not indexed
* Start from correct directory for relative paths in project setup location pickers
* Java: Added all previous Java versions to language standard selection
* C++: Fixed recording template member specializations of methods as explicit nodes
* C++: Fixed template members variables sometimes recorded as functions with call edges
* C/C++: Fixed recorded location of function bodies defined inside macros
* C/C++: Skip recording macro usages in non-indexed files
* Search: Fixed focus and selection policy of search elements for Windows and Linux
* Graph: Fixed type usage edges not shown between class members and inner class types
* Graph: Fixed activation of bookmarked edge did not highlight edge in all situations
* Status: Fixed resize status view table columns were only resizeable in the title bar (issue #506)
* Added setting for text encoding to preferences (issue #500)
* Search: Fixed low contrast of search field cursor in dark schemes (issue #487)
#### 2017.4.20
released 2017-10-25
* Code: Fixed file state of snippets wrong after iterating references in single file view
* Search: Improved selection on focus to allow editing of search query (issue #483)
* Code: Fixed last line removed in full file view
* Fixed local symbol activation via plugin shows empty view
* Fixed handling of symbolic links when activated via plugin (issue #489)
* Code: Fixed crash due to double deletion of elements (issue #488)
* Code: Show shortcut 'Ctrl + Left Mouse' in code for 'Show in IDE' context menu action
* Improved names, texts and order in project setup
* macOS: Fixed start screen did not vanish when opening project with double click
* Added Non-Commercial use option and removed trial mode
* Linux: Moved install and uninstall scripts to top level directory in package
* C++: Fixed record rvalue references as "&&" instead of "&"
* C/C++: Added prefilling of indexed header paths for compilation database projects
* Moved automatic update check setting to preferences and enable by default
* Code: Added indexing of qualifier source locations and allow symbol activation by clicking qualifiers
* Linux: Enabled Qt highDPI scaling to fix UI issues on high resolution screens
* Fixed handling of non-indexed files in Graph and Code
* C/C++: Removed include check validataion for compilation database source groups
* Graph: Bundle nested anonymous namespaces into anonymous namespace bundle in namespace overview (issue #465)
* Search: Fixed vertical growth of search bar area when resizing window
* Visual Studio plugin: Lots off fixes, see changelog (https://github.com/CoatiSoftware/vs-sourcetrail/blob/master/CHANGELOG.md)
* Sublime Text plugin: Fixed plugin not working when installed via Package Control (issue #468)
* Windows: Added missing Qt dlls to save graph images as .jpg (issue #474)
* C/C++: Updated to Clang 5.0.0
* Code: Fixed annotations missing for full file snippets
* Java: Added project setup from Gradle (issue #379)
* Added "Find On-Screen" option with search bar at bottom of window for searching Graph and Code on-screen (issue #79)
* Use "Find On-Screen" with 'Ctrl + D' or '/'
* Graph: Added C++ template specialization and template member specialization edges
* Graph: Show implicit children of implicit nodes
* Code: Fixed syntax highlighting of inline comments
* Code: Added syntax highlighting rule for char literals
* C++: Improved recording of template member specializations
* Refresh only files where content actually changed
#### 2017.3.48
released 2017-09-07
* Java: migrated Java indexer from JavaSymbolSolver to Eclipse JDT
* Java: Use same node order in graph as in file
* Code: Added second line marker color to better highlight hovered and local symbols
* Added "Skip this Version" option to update dialog
* Search: replace template arguments with .. in non-indexed nodes to reduce clutter in search results
* Code: Fixed default text color not reset text was annotated in dark schemes
* Code: Fixed text color not correctly changed when annotation type changes
* Fixed history list activating wrong symbol after aggregation edge was active
* Added node type keywords to filter autocompletions or activate all nodes (issue #78)
* File dialog shows home directory instead of working directory for first file dialog (issue #448)
* Java: improved Maven timeout policy (issue #449)
* Fixed indexing results insertion starving when indexers are really fast because of other UI updates
#### 2017.3.26
released 2017-08-24
* Java: fixed indexer to continue working when a dependency path does not exist
* Changed default indexer thread count to 0, which uses optimal thread count
* Java: Changed default value for maven dependencies directory
* Java: improved indexing speed to be 2.5 time faster
* Added commandline API for indexing projects and configuring indexing related preferences (issue #383)
* Mention call/inheritance graphs in tutorial
* CXX: Save command line info of indexer command to errors and show within errors table (issue #351)
* CXX: Added cross-compilation UI to project setup (issue #370)
* Added update checker connecting to online API and checkbox to enable daily update checks on start screen.
* Java: Implemented interrupting AST visiting of Java indexer
* Java: Updated to JavaSymbolSolver 0.6.0.X and Javaparser 3.3.0
* CXX: Removed preprocessor only option, because of new include path validation
* CXX: Fixed uppercase CXX header file name and extensions saved in lowercase (issue #437)
* Code: When clicking source location with multiple tokens or local symbols show a list to select one of these
* Sort indexer commands for increased performance
* Added custom tooltipping to Code and Graph with clickable types of variables and signatures (issue #195)
* Java: fix issue where Maven project did not show any source files (issue #428)
* CXX: clean indexed header path selection for project setup from Compilation Database
* Added progress dialog for "show source files" button in project setup UI
* CXX: Added include path validation to project settings
* Search: Select text elements when clicking into search bar
* Search: Fixed crash when fulltext search yields no results
* Updated to Qt 5.9.1
* CXX: Added node type for "union"
* CXX: Merge anonymous types and the respective typedef (issue #189, #292)
* CXX: Updated to clang 4.0.1
* Added Menu option to show Start Window
* Don't show start window when opening project with double-click
* Show license type label in title bar: "Sourcetrail [trial, test, non-commercial]"
* Graph: Fixed class expand toggle shown in overview and namespace lists
* Graph: Show inheritance edges between parents of active symbol and other visible symbols (issue #167)
* Improved project loading performance
* Code: improved location retrieval and hover performance
* Show recent bookmarks in bookmarks menu (issue #414)
* Code: Fixed references and buttons when activating file in snippet mode
* Java: added auto-detection for JRE System Library
* Java: Prefill JRE system library path on first Sourcetrail launch
* macOS: fixed qt.conf for case-sensitive file system (issue #404)
* Improved database saving performance
* Improved database file clearing performance
* Improved contrasts of UI elements in bright color scheme
* Graph: Show zoom level as percent label next to zoom buttons
* Added Visual Studio Code plugin (issue #397)
* Added "Edit Project" button below error table
* Java: Maven fixes regarding JAVA_HOME variable (issue #405)
#### 2017.2
released 2017-06-21
* Fixed crash when using shortcuts containing letters with focus on the graph on macOS (issue #390)
* Improved Visual Studio plugin performance
* Updated End User License Agreement and have users accept on first run on macOS and Linux
* Fixed memory issues when using large Compilation Database files (issue #396)
* Updated to JavaParser and JavaSymbolSolver
* Fixed issue where black borders appeared around dialogs for some Linux window managers (issue #376)
* Use platform default window decorations for UI dialogs
* Code: Made snippet minimize/maximize buttons more interactive by showing hover states
* Code: improved code view loading performance
* Java: Record more "import not found" errors
* Support Visual Studio 2017 in Visual Studio Plugin (issue #381)
* Graph: increased creation speed by requesting less data
* macOS: Codesign .app bundle to avoid "from unidentified developer" warning
* Error: Use same error order in error table and code view
* Error: Only show first 1000 errors, click button in lower right of error table to show all (issue #385)
* Graph: use bezier edges when activating aggregation edge
* Send ping after changing plugin ports
* Added menu action to display EULA and force accepting on macOS
* Fixed use of environment variables in project setup paths
* Multi-language project setup via Source Groups setup UI (issue #230)
* C/C++: Fixed no files indexed when relative file paths are provided in Compilation Database (issue #388)
* C/C++: Display an error when loading a Compilation Database fails
* C/C++: Fixed source files within Compilation Database not indexed unless within Indexed Header Paths
* Fixed status message length limiting window resizing (issue #372)
* Match source file extensions case insensitive (issue #384)
* Fixed indexing progress file count in status bar and status view (issue #387)
* Windows: remove setup.exe from windows installer with all necessary .dll files
* Added history list button between back and forward button
* Added history menu showing activated symbols in chronologic order
#### 0.12.25
released 2017-05-16
* Added QtCreator plugin
* Graph: Added context menu action to create bookmark for node under mouse cursor (issue #373)
* Code: Fixed code view not scrolled to first fulltext search match in single file mode
* Set unrestricted permission for accessing shared memory to fix crash on Windows
* Improved setting descriptions in preferences dialog
* Java: Updated to JavaParser 3.2.0 and JavaSymbolSolver 0.5.3
* Graph: Fixed order of nodes is same as within first encountered header file
* Save timestamp after project indexing and show it on the overview screen
* Fixed use of correct name delimiters in indexer processes
* Fixed crash when running 32 and 64 bit versions in parallel
* Bookmark: Changed menu action to "Bookmark Active Symbol"
* Graph: Zooming on Ctrl + Mouse Wheel now (Shift + Mouse Wheel still working)
* Added dialog to warn about "verbose indexer logging" before indexing.
* Added multi process indexing for C/C++ projects to better handle crashes during indexing.
* Reduced file accesses during C/C++ indexing.
* Graph: Show call graphs, inheritance trees and include trees for active symbol. UI in the top left of the graph view for defining direction and depth. (issues #249 #337)
* Improved performance by running UI updates in parallel for each view
* Fixed project refresh not recognizing newly added files
* Show progress dialog when clicking refresh while computing files (issue #341)
* Added show files button to summary of compilation database project setup (issue #354)
* Show option to run only C/C++ preprocessor when indexing on indexing start dialog (issue #297)
* Added bookmarking feature for nodes and edges. Bookmarks can have categories and comments. Data gets stored in .srctrlbm next to project file. Shortcuts similar to web browsers. (issue #138)
* Mark files with errors and all files within a translation unit with fatal errors as incomplete (issue #358)
* Fixed compilation database projects using C++ source extensions and standard (issue #366)
#### 0.11.86
released 2017-04-12
* Terminating all running tasks before closing the application (issue #343)
* Use all available cores when setting indexer threads to 0 (issue #342)
* Added reset window layout option to view menu (issue #289)
* Fixed colorscheme gets refreshed when cancelling preferences dialog
* Log: Scroll to first line in errors table after indexing and after display
* Copy old ApplicationSettings.xml and window_settings.ini files from previous Coati install if available.
* New projects are created with .srctrlprj and .srctrldb endings, but still support old file extensions.
* Renamed application from Coati to Sourcetrail
* Fixed issues in tutorial project
* Graph: Fixed node with no children but qualifier shows expand button
* Enable undo/redo actions in context menu only when available
* Java: Updated to JavaParser 3.1.2 and JavaSymbolSolver 0.5.2.x
* Revised undo/redo stack to handle messages differently
* Java: Added support for project setup from Maven
* Windows: Hide console when running release builds
* Show license information on start screen
* Added ping support to plugins and display current connected editor/IDE in status bar.
#### 0.11.15
released 2017-03-01
* Don't accept richt text in 'enter license' dialog field (issue #207)
* Updated EULA to include Test License and better clarify other license types
* Fixed icons in project setup dialogs blurry on highDPI screens
* Added link to additional downloadable pre-indexed projects to trial start screen
* Fixed crash when saving preferences if they contain relative paths
* Convert all paths chosen by patch picker relative to project location in project setup
* Disabled name and location changing in project editing and removed project moving
* Split default file extensions for C++ and C to avoid wrong files getting indexed
* Deprecated 'Lazy Include Search', it's only visible to previously created projects (issue #335)
* Support relative paths and paths containing environment variables for compilation database path (issue #312)
* Removed 'Advanced Settings' section in project setup and show theses options in separate dialog (#293)
* Support environment variables containing multiple files in project setup paths (issue #283)
* Warn users when no 'Indexed Header Paths' were set in compilation database project (issue #254)
* Renamed "Project Paths" to "Indexed Paths" in project setup
* Renamed "Project File Location" to "Coati Project Location" in project setup (issue #234)
* Allow opening indexed projects in trial mode
* Record node type of non-indexed qualifiers (e.g. "std" in "std::string" as namespace)
* Log: Fixed error icon loaded for every row (issue #287)
* Graph: Fixed lambda are placed within white area to better see call edges
* Graph: Show non-indexed nodes within their parents instead of using namespace labeling
* Code: Disabled syntax highlighting for project description
* Graph: Fixed different font-faces causing graph nodes to expand to bigger cell amount
* Mac: Fixed wrong READMEs at some plugins (issue #315)
* Mac: Removed boost libraries and libLTO from Mac bundle
* Windows: Add Visual Studio compatibility flags to new project when Visual Studio include paths are present
* Renamed undefined nodes to non-indexed nodes for clarification
* Show progress in file clearing dialog
* Extended syntax highlighting for Java and distinguish by project type
* offer Windows 64bit build (issue #300)
* Fixed legacy Java 6 install necessary on MacOS (issue #280)
* Updated to Qt 5.8
* Updated to clang/llvm 3.9
* Added multithreading to Visual Studio plugin compilation database creation
* Graph: Use new list layouting for overview bundles and namespaces/packages
* Graph: Group nodes in list layout by starting character and allow jumping to group by pressing the key
* Graph: Use node specific styles for overview bundles
* Visual Studio plugin can now handle projects with non-native build tool for compilation database export
* Changed menu action 'Licenses' to '3rd Party Licenses'
* Added dialog with all shortcuts to Help menu
* Log: Show error in errors table when clicked in code view (issue #323)
* Code: Switched default mouse drag behavior to selection, panning on Shift + drag, and show suitable cursors
* Updated company address in about dialog
* Graph: Added on-screen zoom buttons
* Graph: Split aggregation edge when expanding nodes if possible
* Uncommented lines using the std library in TicTacToe sample
* Fixed issue with lambda return type (issue #318)
* Save builtin types as separate node type (issue #2)
* Remove unused included files after refreshing
* Java: Fixed packages that only contain packages to show up as non-indexed
* Added context-menu actions to copy node names, file paths and show files in containing directory (issue #320)
* Fixed crash when entering a single space in 'enter license' dialog (issue #277)
* Graph: Made edge lines thicker
* Fixed handling and storing of files with the same name
* Fixed environment variable detection within project paths for %VARIABLE_NAME% syntax
* Coati states whether it needs 32bit or 64bit JRE
* Java: Updated indexer to fix a lot of unsolved symbol issues
* Graph: Fixed layouter couldn't handle nodes with same name
* Graph: Fixed weird looking vertical aggregation edges to child nodes
* Code: Don't show stats for non loaded project
* Added option to disable UI animations to preferences
* Graph: Removed double line around graph view on Mac
* Graph: Fixed namespace label cut off at edge of screen
* Code: Added single file view mode
* Code: Added navigation bar with mode toggle and buttons to navigate references
* Graph: Removed underscores in edge hover names
* Infere some non-indexed node types by their edges
#### 0.10.0
released 2016-12-13
* Windows: Added runtime DLLs that could be missing on some systems
* Click message in status bar to open status window
* Graph: Sort nodes alphabetically within each section
* Graph: Aggregate type use edges to make referencing nodes appear collapsed
* Code: Improved performance through faster source location retrieval for files
* Code: Scroll active symbol definition to top of view if possible
* Added status tab to Log View showing status bar information
* Graph: Fixed graph animation used when clicking edges
* Graph: Disable bundling when files or macros are active
* Graph: Bundle importing files of active symbol in Java projects
* Improved speed of depending file search on refresh
* Search: Fixed crashes related to empty searches (issue #251)
* Search: Do fulltext search when no autocompletion match is available
* Added checkbox for full project refresh to start indexing dialog
* Disabled clang error limit by default to make sure all errors are shown
* Linux: Updated libs and added missing ones (issue #245)
* Updated icons for some graph nodes and project types
* Windows: Updated Visual Studio plugin UI
* Graph: Fixed view to not recenter on active node when clicking edge
* Fixed wrong errors displayed, wrong error counts and error view being wrongly shown
* Removed font zoom on CTRL + MouseWheel
* Graph: Display namespace information on left side of nodes, activate namespace by clicking label
* Improved file clearing performance
* Windows: Changed setup folder layout
* Added info screen for indexer crash investigation
* Code: Fixed display of links to missing symbols in project description
* Code: Fixed snippet size calculation causing a slowdown in certain cases
* Search: Skip intermediate autocompletions when typing fast
* Show dialog for last files inserted into .coatidb at end of indexing
* Integrated Visual Studio Plugin with Coati Project creation and removed previous Visual Studio Solution parser
* Improved C++ indexer coverage: using decls, using directives, auto keyword, lambda signatures, symbol references inside lambda captures, template argument related elements
* Reduced size of .coatidb file by up to 50% for large projects
* Fixed anonymouse symbol name conflicts (issue #241)
* Preferences: Added Indexer Logging option to print AST information during indexing
* Search: Added second line to search autocompletion list showing namespace, package or filepath
* Made cells readonly in errors table to prevent editing (issue #236)
* Renamed Log Window to Status window
#### 0.9.23
released 2016-10-27
* Windows: Added logging and exception handling to VS plugin
* Windows: Added VC++ runtime dlls for windows installer
* Windows: Added missing VC++ runtime dlls (issue #231)
* Added setting for default graph zoom on mouse wheel to preferences (issue #237)
* Scroll errors table to newest error during indexing
* Fixed best scoring for search autocompletions skipped some combinations
* Fixed flickering of errors table when indexing
* Don't show error snippets in overview screen anymore
* Fixed crash when Project Paths contain files and lazy include search in enabled (issue #201)
* Fixed edge cases that caused deadlocks in indexing
* Added language specific project icons to start screen
* Fixed application couldn't be quit when start screen was showing (issue #227)
* Graph: Fixed missing image file ending when exporting graph for Linux
* Log Coati version when logging gets enabled
* Fixed non-indexed errors filter in errors table
#### 0.9.0
released 2016-10-14
* Extended Visual Studio Plugin to export clang Compilation Databases
* Implemented new installer for Windows
* Run System Header Include Paths and Java Path detection when starting application
* Added Log Window with Errors tab showing a table of all errors
* Added filters to bottom of error table to define which errors are displayed
* Removed ring logging and use one log file again instead
* Smaller indexing progress dialog with bar in the middle instead of golden ratio
* Code: Set default code snippet expand range to 3 lines for more context
* Graph: Fixed undoing of aggregation edge activation caused crash
* Graph: Move aggregation and inheritance edges to front when hovered or active
* Graph: Push parent nodes of active nodes to back to make all incoming and outgoing edges visible
* Properly quit application when window is closed while confirm box is open
* Properly quit application when window is closed while indexing (issue #121)
* Graph: Count only top level nodes in bundle nodes of graph
* Search: Improved scoring of autocompletion matches to use best score for match
* App will go into trial mode without valid license
* Java: Auto detect java root source directories
* Fixed refresh crash (issue #220)
* Java: improved indexer reliability a lot
* Java: Changed name of generic type to use name of declaration
* Fixed project refresh does not recognize removed source paths
* Java: Define maximum allocated jvm memory in preferences
* Follow symbolic directory links within source paths (issue #205)
* Use white size grip in blue dialogs
* Graph: Use type node colors for undefined nodes
* Java: Show import not found as error
* Code: Select and copy source code in code view with SHIFT + mouse drag (issue #7)
* Code: Added markers next to line numbers in code view showing active locations and scopes
* Merged app and trial to one build
#### 0.8.21
released 2016-09-16
* Added options for checking multiple paths in Indexed Header Paths dialog during project setup from Compilation Database #190
* Added all C/C++ standards supported by clang
* Fixed C language setting in empty project setup not propagated to indexer #177
* Added Sublime plugin to Sublime Text Package Control
* Improved indexer parallelization for faster indexing
* Changed all font-sizes to px for similar look on all platforms
* Added font face dropdown to Preferences showing all available monospace fonts #172
* Smoother font rendering on Windows by setting font engine to FreeType via qt.conf file #137
* Interrupt indexing while AST visiting for C/C++ for shorter waiting time
* Save graph as PNG image via context menu in graph view #180
* Added base folder to Linux package #181
* Use inverted golden ratio in indexing progress dialog
#### 0.8.0
released 2016-09-01
* Improved titles and help texts in project setup UI
* Fixed error locations not saved with absolute file paths in Compilation Database projects
* Added missing source files extensions setting to the Edit Project dialog #132
* Changed default text colors to black in project setup UI #140
* Added plugin ports settings to Preferences #145
* Improved project state handling on refreshing
* Added Java sample project JavaParser: http://javaparser.org/
* Fixed regex for system includes used wrongly in syntax highlighter
* Added setting to disable file and console logging, default is off #157
* Added migrations between different ApplicationSettings versions
* Added auto detection for Java library to Preferences
* Removed auto refresh option from Search view
* Added progress dialogs for indexing and block UI #143
* Hide name qualifiers for graph nodes in Java projects
* Added handling when java library not found
* Added plain text editing dialog to path list boxes
* Use language dependent symbol name delimiter in UI
* Added scroll speed setting to preferences #112
* Added Java project setup UI
* Record start and end locations of scopes in Java
* Display unresolved types names in Java as 'unresolved-type'
* Cache stats for overview to speed up display
* Fixed graph nodes to restore their expand state when going back #118
* Added shortcuts for navigating to next and previous reference in code view
* Pressing Tab in search completes up to next ::, Delete erases to last :: #133
* Bundle anonymous namespaces separately in graph overview #126
* Added 'Show Data Folder' and 'Show Log Folder' items to Help menu
* Added new status bar loader gif with higher resolution
* Record type aliases in C++
* Added Java indexer
* Changed public icon in graph and added default icon
* Scroll to file location when finding no symbol at specified location from plugin message
* Added shortcut for Preferences on Windows/Linux
* Leave code view at original line when expanding scopes
* Pan graph view to center on name of active symbol after activation
* Moved color scheme selection to Preferences
* Moved Preferences menu item to Edit menu on Windows/Linux #113
* Added setting for hiding non-fatal errors in unindexed files to preferences, turned on by default
* Fixed file out-of-date asterisk disappearing when showing snippets after minimize state
* Implemented Atom plugin: https://github.com/CoatiSoftware/atom-coati
* Implemented CLion/IntelliJ plugin: https://github.com/CoatiSoftware/idea-coati
* Implemented Eclipse plugin: https://github.com/CoatiSoftware/eCoati
* Implemented emacs plugin: https://github.com/CoatiSoftware/emacs-coati
* Improved code view rendering times
* Don't show implicit nodes in search auto completion list
#### 0.7.0.22
released 2016-07-07
* Fixed detected global header search paths lost correct order and caused problems with #include_next directives
* Fixed MaxOSX build crashed on launch due to unknown command line option passed
* Removed 'Save Project' and 'Save Project As' actions from menu
* Fixed indexer getting stuck at 'building caches' when indexing is interrupted
* Fixed database not properly closed when errors appeared during indexing
* Fixed autocompletions popup flickering while typing
* Added resize grip to bottom right corner of every dialog window
* Fixed 'paths don't exist' dialog window getting too big with lots of paths shown
* Added context menu with 'back' and 'forward' actions available in all views
* Removed Clang compiler warnings from console output
* Added handling of project specific VS macros to VS solution parser
#### 0.7.0.0
released 2016-06-15
* Updated to clang 3.8
* Fixed crash in search autocompletion retrieval due to edge case in sorting
* Fixed size policies in code view to avoid global scrollbar
* Added full text search via search field: ?<query> for case-insensitive search, ??<query> for case-sensitive search
* Made initialization for full text search lazy: done on first full text search
* Defined full text search color in all color schemes
* Increased code view performance by caching file IDs and paths
* Added multithreaded indexing. Number of threads can be set in the Preferences UI, default is 4
* Reworked graph node bundling to only distinguish defined and undefined nodes in each bucket
* Made graph node sorting alphabetical and put bundles at end
* Changed code view snippet sorting to always show definition on top
* Fixed local symbols were not available within lambdas
* Added settings for font family, font size and tab with to Preferences UI
* Fixed VS solution parser issue with internal macros
* Removed header extensions, all included files within the project paths are now analyzed
* Fixed crash in sqlite when symbol name has special characters
* Improved code view performance by reducing amount of initially open code files
* Improved graph view performance through faster data retrieval and smarter structures
* Increased aggregation click speed with faster edge id retrieval
* Fixed png color profiles to avoid console warning: "libpng warning: iCCP: known incorrect sRGB profile"
* Fixed graph edge drawn wrong when leaving from child node of smaller node
* Fixed Sublime Text Plugin issue with wrong encoding
* Randomized source file order for multithreaded analysis to increase performance
* Show name of removed symbol when going back after refreshing
* Fixed macro definition not connected to file
* Fixed macro use not found in #ifdef, #ifndef, defined() and some expand cases
* Removed back and forward steps for some graph and code view manipulations
* Fixed code view style broken on Mac due to change of working directory when analyzing compilation database
* Added database optimization step after indexing to reduce database size by ~25%
* Fixed artifacts after graph view change by clearing view
* Fixed autocompletion list highlights at wrong location for long names
* Allow files and directories to be excluded from analysis in advanced settings for project setup
* Added Qt gif plugin to Mac Release so that loader gif in status bar is visible
* Added link to download page to start screen to remind users of updating once in a while
* Check if compilation database still exists before refreshing
* Added separate step for defining project name, project location and compiliation database to project setup
* Explain that the project stays up-to-date with the compilation databes on refresh in project setup UI
* Disregard source extensions when loading from compilation database
* Removed error logs in name resolver
* Added plugin for VIM: https://github.com/CoatiSoftware/vim-coati
#### 0.6.0.0
released 2016-04-27
* Smoother graph panning and zooming on keyboard using update loop
* Differentiate between explicit and implicit nodes and only show implicit nodes in the graph view when connected
* Improved file clearing performance on project refresh
* Show deleted projects on the start screen and show messagebox to delete them
* Show analysis duration in hh:mm:ss
* Added suppport for temporary test licenses and show error message when it expired
* Increased graph performance by reducing to fixed number of requests
* Add vs-clang compatibility flags when creating project from Visual Studio solution
* Increased graph edge drawing performance
* Added auto detection for system header paths to project wizard and preferences when using gcc, clang or vs compilers
* Added bug tracker to help menu
* Increased search autocompletion performance to stay mostly below 100ms
* Changed style of aggregation edge to cleaner look
* Allow certain edge types to enter and leave at top and bottom of nodes as well e.g. inheritance
* Increased project load performance
* Increased graph creation performance for overview screen
* Changed namespace activation to show the namespace name in the search bar and the namespace definitions in the code view
* Updated to Qt 5.6
* Added analysis for local symbols and allow selecting them in the code view
* Improved error display performance by not expanding all of them at once
* Added home button next to search field for showing the project overview
* Added shortcut and menu item to show project overview
* Fixed Path boxes not sized correctly when switching back and forth in the project wizard
* Allow support for environment variables in project setup with syntax ${VARIABLE_NAME}
* Show quit button on license enter screen when no valid license was entered yet
* Allow color schemes to define text colors for code view highlights
* Added support for function pointers to analysis
* Added Windows system dlls to installer on Windows so users don't not need to install the redistributable package
* Changed style of out-of-date files to be followed by *
* Set Qt flag for high DPI scaling
* Check analyzed paths for existence in project wizard
* Inform the user about project changes and ask before reparsing the project
* Removed "simple setup" step in project wizard and added "lazy include search"-checkbox
* Edit the project settings by clicking the project name in the overview stats
* Added welcome message to Coati trial
* Defined new highlight colors for code view in all color schemes
#### 0.5.1.21
released 2016-03-16
* Fixed file logger using wrong directory for first log file
* Fixed crash when accessing files without read permission
* Center windows on top of main window
* Added font size limits
* Prevent network message handling without valid license
* Fixed type references in headers saved multiple times
* Improved context detection for template parameters
* Fixed Visual Studio plugin project loading
* Added delay for changing fontsize via mouse wheel
* Disabled config file warnings
* Fixed interrupting of analysis to show message in status bar
* Fixed children on namespace activation were bundled
* Fixed expanding file with errors showed all locations in red
* Show loader animation when loading project
* Removed high traffic log messages
* Fixed crash when opening newer project with older version of Coati
* Fixed project paths are now saved relative if defined relative
* Fixed project setup window sizes to adapt to content size
* Fixed linux package creating ~/.config if not there
* Show fatal errors in UI that stopped analysis
* Added compiler flags UI to advanced settings in project setup summary
* Added file extension UI to advanced settings in project setup summary
* Added graph zooming with Shift + mouse wheel or Shift + WS
* Added graph panning with WASD
* Improved project load and code view performance
* Improved analysis performance for large projects (10x as fast for 1.000.000 LoC)
* Added project setup for Compilation Databases
#### 0.5.0.4
released 2016-02-25
* Fixed preferences not saved
* Added link to documentation to Help menu
* Improved painting of icons in graph to be smoother
* Improved logging to alternate between 2 files of 1000 lines to decrease logfile sizes
* Improved analysis performance to take only 66% of the time
* Save user data in ~/Library/Application Support/Coati on Mac
* Improved style of ui windows
* Added Visual Studio solution parsing via project wizard or VS plugin
* Added project setup wizard for step-by-step project setup
* Added overview and error keywords to search view
* Show overview on project open with node bundles per type
* Added application move protection to reenter license key
* Improved log file names to be sorted chronologically
* Improved graph view node bundeling to bundle more
* Display scope name at bottom of code snippet
* Added .coatiproject file associations with icon for Mac and Windows
* Return to last scroll position when going back in code view
* Improved back & forward in code view
* Update error count while analysis
* Improved code view annotation painting performance
* Added web documentation
* Added trial target without analysis
* Added license key window and license checker
* Refresh project editing settings
* Added C and C++ standard setting to project
* Fixed cursor changing for resize and text interactions
* Added commandline option for project file
* Improved performance of token name saving
* Fixed number postions in graph
* Added shortcuts for font size resetting to View menu
* Added C support
* Added option to hide widget window title bars to View menu
#### 0.4.0
released 2016-01-07
* navigate back via backspace key
* navigate back&forward via mouse buttons
* renamed undo&redo to back&forward
* Fixed tooltip colors in dark color scheme
* Fixed style of function or method nodes with children
* Improved lambda handling in analysis
* Added help texts to project setup and preferences window
* Removed 'close window' action from menu
* Fixed constructors and destructors using return type 'void' withou source location
* Parse errors will be displayed as they appear during analysis
* Redesigned the about window
* Installing prerequisits in Windows Installer
* Added installer for Windows
* Introduced file endings .coatiproject and .coatidb for Coati's project files
* Removed Coati directory from Linux package
* Fixed graph font size was too small for Windows and Linux
* Show function and method signature in tooltip when hovering the graph node
* Added analysis for template parameter packs
* Fixed syntax highlighting to correctly identify strings, comments and block comments
* Fixed source locations of many declarations
* Coati shows a template's general definition when an implicit specialization is activated
* Added new color scheme called "bad_rainbow"
* Extended color schemes to allow more extensive use in the graph
* Coati now handles anonymous symbols when parsing files
* Improved handling of template arguments in analysis
* Coati can now handle inclass initialization of members
* Network ports for IDE communication can be defined in the ApplicationSettings.xml
#### 0.3.0
released 2015-12-14
* Saving all template arguments type uses
* Added recent projects menu option
* Focus all overlapping source locations in the code view
* Improved code view auto scroll to center the first active line in the middle
* Fixed search query disappeared when not token was found for it
* Fixed cursor was jumping at end of query when editing a search query
* Reworked code view highlighting
* Save comment locations and display them when right next to active symbol
* Fixed old data was still in new project window when creating another project
* Save macro scopes
* Save errors to storage and reactivate them via button in the status bar
* Fixed horizontal scroll in code view not activated while scrolling vertically
* Improved source locations of template scopes
* Save Coati version to sqlite and reparse project whenever the version changes
* Increased autocompletion performance by caching and limiting results to 100
* Added plugin for Sublime Text (2 & 3)
* Added plugin for Visual Studio (2012, 2013, 2015)
* Added communication interface from and to Coati via TCP sockets
* Added Tutorial project
+158 -69
View File
@@ -9,15 +9,31 @@ include(cmake/create_source_groups.cmake)
include(cmake/version.cmake)
include(cmake/version_setup.cmake)
include(cmake/licenses.cmake)
include(cmake/setWinXxBits.cmake)
# prohibit in-source-builds
IF(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
MESSAGE(STATUS "In-source-builds are not allowed")
MESSAGE(STATUS "Clean your source directory (e.g. delete the CMakeCache.txt file)")
MESSAGE(FATAL_ERROR "Please create a separate build directory and call CMake again")
ENDIF(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
# Variables --------------------------------------------------------------------
set(PROJECT_NAME Sourcetrail)
set(PROJECT_NAME_LOWER_CASE sourcetrail)
# speed up recompiling on unix with ccache
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
# Support Unix Makefiles and Ninja
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
endif()
set(APP_PROJECT_NAME "${PROJECT_NAME}")
set(LIB_LICENSE_PROJECT_NAME "${PROJECT_NAME}_lib_license")
set(LIB_UTILITY_PROJECT_NAME "${PROJECT_NAME}_lib_utility")
set(LIB_GUI_PROJECT_NAME "${PROJECT_NAME}_lib_gui")
set(LIB_CXX_PROJECT_NAME "${PROJECT_NAME}_lib_cxx")
set(LIB_JAVA_PROJECT_NAME "${PROJECT_NAME}_lib_java")
@@ -28,6 +44,7 @@ set(TEST_PROJECT_NAME "${PROJECT_NAME}_test")
set (APP_INDEXER_NAME "${PROJECT_NAME_LOWER_CASE}_indexer")
if (WIN32)
include(cmake/setWinXxBits.cmake)
set(PLATFORM_INCLUDE "includesWindows.h")
# this adds the library path for VLD, must be done before the project target is created
if(${WINXXBITS} STREQUAL "Win32")
@@ -41,6 +58,7 @@ else ()
set(PLATFORM_INCLUDE "includesLinux.h")
endif ()
# Project ----------------------------------------------------------------------
project(${PROJECT_NAME})
@@ -53,14 +71,15 @@ if(UNIX AND NOT APPLE)
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_RPATH "$ORIGIN/lib/:$$ORIGIN/lib/")
include(cmake/external.cmake)
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 99)
# Settings ---------------------------------------------------------------------
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option -fcolor-diagnostics")
endif()
@@ -70,6 +89,7 @@ endif()
#add_definitions(-fno-omit-frame-pointer)
#endif ()
# Clang ------------------------------------------------------------------------
if (UNIX AND APPLE)
@@ -92,34 +112,37 @@ find_package(CLANG REQUIRED PATHS "${CMAKE_SOURCE_DIR}/cmake" NO_DEFAULT_PATH)
add_definitions(${CLANG_DEFINITIONS})
# Boost ------------------------------------------------------------------------
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_LIBRARYDIR $ENV{BOOST_159_DIR})
set(BOOST_LIBRARYDIR $ENV{BOOST_DIR})
if(UNIX AND NOT APPLE)
set(BOOST_ROOT $ENV{BOOST_DIR})
elseif(UNIX AND APPLE)
set(BOOST_ROOT $ENV{BOOST_159_DIR})
set(BOOST_ROOT $ENV{BOOST_DIR})
set(Boost_NO_SYSTEM_PATHS ON)
else()
set(BOOST_INCLUDEDIR $ENV{BOOST_DIR})
STRING(REGEX REPLACE "\\\\" "/" BOOST_LIBRARYDIR ${BOOST_LIBRARYDIR})
if(${WINXXBITS} STREQUAL "Win32")
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win32")
set(BOOST_LIBRARYDIR "${BOOST_LIBRARYDIR}/lib32-msvc-14")
else()
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win64")
set(BOOST_LIBRARYDIR "${BOOST_LIBRARYDIR}/lib64-msvc-14")
endif()
set(Boost_NO_SYSTEM_PATHS ON)
endif()
find_package(Boost 1.59 COMPONENTS system program_options filesystem date_time REQUIRED)
find_package(Boost 1.64 COMPONENTS system program_options filesystem date_time REQUIRED)
# Botan -------------------------------------------------------------------------
set(BOTAN_VERSION "botan-1.11" "botan-2")
# Botan ------------------------------------------------------------------------
set(BOTAN_VERSION "botan-2")
if(APPLE)
find_library(BOTAN ${BOTAN_VERSION} $ENV{BOTAN_DIR}/release NO_DEFAULT_PATH)
@@ -157,7 +180,11 @@ elseif(WIN32)
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/win64/build/include")
endif()
else()
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/build/include")
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/release/build/include")
else()
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/debug/build/include")
endif()
endif()
if(NOT BOTAN_INCLUDE_DIR)
@@ -165,7 +192,47 @@ if(NOT BOTAN_INCLUDE_DIR)
endif()
# Lib License -------------------------------------------------------------------
# Qt ---------------------------------------------------------------------------
# Find the QtWidgets library
if(UNIX)
set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
if(APPLE)
set(Qt5Widgets_DIR "$ENV{QT_DIR}/cmake/Qt5Widgets/")
set(Qt5PrintSupport_DIR "$ENV{QT_DIR}/cmake/Qt5PrintSupport/")
endif()
else()
if(${WINXXBITS} STREQUAL "Win32")
set(CMAKE_PREFIX_PATH "$ENV{QT_WIN32_DIR}/")
else()
set(CMAKE_PREFIX_PATH "$ENV{QT_WIN64_DIR}/")
endif()
set(Qt5Widgets_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Widgets")
set(Qt5PrintSupport_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5PrintSupport")
set(Qt5Network_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Network")
set(Qt5WinExtras_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5WinExtras")
endif()
find_package(Qt5Widgets)
find_package(Qt5PrintSupport)
find_package(Qt5Network)
if (WIN32)
find_package(Qt5WinExtras)
endif()
if(Qt5Widgets_FOUND)
MESSAGE(STATUS "Found Qt ${Qt5Widgets_VERSION_STRING}")
# FIX: Qt was built with -reduce-relocations
if (Qt5_POSITION_INDEPENDENT_CODE)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
endif()
# Lib License ------------------------------------------------------------------
if (UNIX)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib/")
@@ -178,14 +245,13 @@ endif ()
add_subdirectory(src/lib_license)
add_library(${LIB_LICENSE_PROJECT_NAME} ${LIB_LICENSE_FILES})
add_library(${LIB_LICENSE_PROJECT_NAME} STATIC ${LIB_LICENSE_FILES})
create_source_groups(${LIB_LICENSE_FILES})
set_property(
TARGET ${LIB_LICENSE_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_license"
target_include_directories( ${LIB_LICENSE_PROJECT_NAME} PUBLIC
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${LIB_LICENSE_PROJECT_NAME} SYSTEM
@@ -205,6 +271,31 @@ else()
endif()
# Lib Utility ------------------------------------------------------------------
add_subdirectory(src/lib_utility)
add_library(${LIB_UTILITY_PROJECT_NAME} ${LIB_UTILITY_FILES})
create_source_groups(${LIB_UTILITY_FILES})
set_property(
TARGET ${LIB_UTILITY_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_utility"
)
target_include_directories(${LIB_UTILITY_PROJECT_NAME} SYSTEM
PUBLIC ${Boost_INCLUDE_DIR}
)
if(UNIX)
target_link_libraries(${LIB_UTILITY_PROJECT_NAME} ${Boost_LIBRARIES} Qt5::Widgets Qt5::Network)
else()
target_link_libraries(${LIB_UTILITY_PROJECT_NAME} ${Boost_LIBRARIES} Qt5::Widgets Qt5::Network Qt5::WinExtras)
endif()
# Lib --------------------------------------------------------------------------
add_subdirectory(src/lib)
@@ -226,6 +317,7 @@ set_property(
"${CMAKE_SOURCE_DIR}/src/external"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_BINARY_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
@@ -236,10 +328,10 @@ target_include_directories(${LIB_PROJECT_NAME} SYSTEM
"${CMAKE_SOURCE_DIR}/src/external"
)
target_link_libraries(${LIB_PROJECT_NAME} ${Boost_LIBRARIES} ${LIB_LICENSE_PROJECT_NAME})
target_link_libraries(${LIB_PROJECT_NAME} ${LIB_UTILITY_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NAME} ${Boost_LIBRARIES})
# Lib Cxx -------------------------------------------------------------------
# Lib Cxx ----------------------------------------------------------------------
add_subdirectory(src/lib_cxx)
@@ -251,6 +343,7 @@ set_property(
TARGET ${LIB_CXX_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_SOURCE_DIR}/src/lib"
)
@@ -261,15 +354,16 @@ target_include_directories(${LIB_CXX_PROJECT_NAME} SYSTEM
)
link_directories(${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
llvm_map_components_to_libnames(REQ_LLVM_LIBS support core libdriver passes)
llvm_map_components_to_libnames(REQ_LLVM_LIBS support core libdriver passes x86asmparser x86codegen)
target_link_libraries(${LIB_CXX_PROJECT_NAME} ${CLANG_LIBRARIES} ${REQ_LLVM_LIBS})
target_link_libraries(${LIB_CXX_PROJECT_NAME} ${LIB_UTILITY_PROJECT_NAME} ${CLANG_LIBRARIES} ${REQ_LLVM_LIBS})
if (WIN32)
target_link_libraries(${LIB_CXX_PROJECT_NAME} version)
endif()
# Lib Java -------------------------------------------------------------------
# Lib Java ---------------------------------------------------------------------
find_package(JNI)
@@ -283,6 +377,7 @@ set_property(
TARGET ${LIB_JAVA_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
)
@@ -294,7 +389,7 @@ target_include_directories(${LIB_JAVA_PROJECT_NAME} SYSTEM
link_directories(${Boost_LIBRARY_DIRS})
target_link_libraries(${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME})
target_link_libraries(${LIB_JAVA_PROJECT_NAME} ${LIB_UTILITY_PROJECT_NAME} ${LIB_PROJECT_NAME})
add_custom_command(
TARGET ${LIB_JAVA_PROJECT_NAME}
@@ -313,38 +408,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
# Find the QtWidgets library
if(UNIX)
set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
if(APPLE)
set(Qt5Widgets_DIR "$ENV{QT_DIR}/cmake/Qt5Widgets/")
set(Qt5PrintSupport_DIR "$ENV{QT_DIR}/cmake/Qt5PrintSupport/")
endif()
else()
if(${WINXXBITS} STREQUAL "Win32")
set(CMAKE_PREFIX_PATH "$ENV{QT_WIN32_DIR}/")
else()
set(CMAKE_PREFIX_PATH "$ENV{QT_WIN64_DIR}/")
endif()
set(Qt5Widgets_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Widgets")
set(Qt5PrintSupport_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5PrintSupport")
set(Qt5Network_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Network")
endif()
find_package(Qt5Widgets)
find_package(Qt5PrintSupport)
find_package(Qt5Network)
if(Qt5Widgets_FOUND)
MESSAGE(STATUS "Found Qt ${Qt5Widgets_VERSION_STRING}")
# FIX: Qt was built with -reduce-relocations
if (Qt5_POSITION_INDEPENDENT_CODE)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
endif()
# target for running versionnumber script
# workaround for running customcommand (ninja dependency cycle)
add_custom_target(
@@ -353,6 +416,12 @@ add_custom_target(
add_library(${LIB_GUI_PROJECT_NAME} ${LIB_GUI_FILES} ${CMAKE_BINARY_DIR}/src/lib_gui/version.h)
if(UNIX)
target_link_libraries(${LIB_GUI_PROJECT_NAME} ${LIB_UTILITY_PROJECT_NAME} Qt5::Widgets Qt5::Network)
else()
target_link_libraries(${LIB_GUI_PROJECT_NAME} ${LIB_UTILITY_PROJECT_NAME} Qt5::Widgets Qt5::Network Qt5::WinExtras)
endif()
# command for versioning script
add_custom_command(
TARGET versionnumber
@@ -371,6 +440,7 @@ set_property(
TARGET ${LIB_GUI_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
@@ -385,10 +455,6 @@ target_include_directories(${LIB_GUI_PROJECT_NAME} SYSTEM
PUBLIC ${Boost_INCLUDE_DIRS}
)
# Use the Widgets module from Qt 5.
qt5_use_modules(${LIB_GUI_PROJECT_NAME} Widgets)
qt5_use_modules(${LIB_GUI_PROJECT_NAME} Network)
# configure platform specific include file
configure_file(
"${PROJECT_SOURCE_DIR}/src/lib_gui/platform_includes/includes.h.in"
@@ -402,7 +468,7 @@ configure_file(
)
# configure public key for the sourcetrail version
include(cmake/publicKey.cmake)
include(cmake/public_key.cmake)
set(CMAKE_AUTOMOC OFF)
@@ -452,6 +518,7 @@ set_property(
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/app"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
@@ -460,6 +527,7 @@ set_property(
"${CMAKE_BINARY_DIR}/src/lib_license"
)
# App --------------------------------------------------------------------------
if (UNIX)
@@ -485,13 +553,13 @@ if (WIN32)
add_executable(${APP_PROJECT_NAME} ${APP_FILES} ${CMAKE_BINARY_DIR}/Sourcetrail.rc)
# hide the console when running a release build.
# also show the console when running a release build.
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /DEBUG:FASTLINK")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS /DEBUG")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:CONSOLE /DEBUG")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:CONSOLE")
# generate pdb for release build
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
@@ -508,6 +576,7 @@ set_property(
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/app"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
@@ -579,10 +648,14 @@ if (APPLE)
endif ()
# License Generator --------------------------------------------------------
# License Generator -----------------------------------------------------------
add_subdirectory(src/license_generator)
# configure private key for the sourcetrail version
include(cmake/private_key.cmake)
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/license_generator/")
else ()
@@ -592,14 +665,16 @@ else ()
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_executable(${LICENSE_GENERATOR_PROJECT_NAME} ${LICENSE_GENERATOR_FILES})
add_executable(${LICENSE_GENERATOR_PROJECT_NAME} ${LICENSE_GENERATOR_FILES} ${LICENSE_GENERATOR_MAIN})
create_source_groups(${LICENSE_GENERATOR_FILES})
create_source_groups(${LICENSE_GENERATOR_FILES} ${LICENSE_GENERATOR_MAIN})
set_property(
TARGET ${LICENSE_GENERATOR_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/license_generator"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${LICENSE_GENERATOR_PROJECT_NAME} SYSTEM
@@ -608,10 +683,12 @@ target_include_directories(${LICENSE_GENERATOR_PROJECT_NAME} SYSTEM
if(UNIX AND NOT APPLE)
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} pthread rt)
set_target_properties(${LICENSE_GENERATOR_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "-pthread")
endif()
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NAME} ${Boost_LIBRARIES} )
# CxxTest ----------------------------------------------------------------------
if (UNIX)
@@ -623,6 +700,10 @@ else ()
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
if (WIN32)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_main.cpp "")
endif ()
add_subdirectory(src/test)
set(CXXTEST_INCLUDE_DIR $ENV{CXX_TEST_DIR})
@@ -632,7 +713,7 @@ set(TESTGEN_FILE ${CMAKE_CURRENT_BINARY_DIR}/test_main.cpp)
find_package(PythonInterp REQUIRED)
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_FILES} )
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_FILES} ${LICENSE_GENERATOR_FILES})
create_source_groups(${TEST_FILES})
@@ -645,11 +726,15 @@ if (CXXTEST_FOUND)
PROPERTY INCLUDE_DIRECTORIES
"${CXXTEST_INCLUDE_DIR}"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_utility"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/external"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/license_generator"
"${CMAKE_BINARY_DIR}/src/license_generator"
"${Boost_INCLUDE_DIRS}"
)
endif (CXXTEST_FOUND)
@@ -684,6 +769,7 @@ elseif (UNIX)
add_dependencies(${TEST_PROJECT_NAME} gen)
endif ()
# Visual Leak Detector ---------------------------------------------------------
if (WIN32)
@@ -701,6 +787,9 @@ if (UNIX)
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/app/data"
"${CMAKE_BINARY_DIR}/app/data"
COMMAND ${CMAKE_COMMAND}
"-E" "make_directory"
"${CMAKE_BINARY_DIR}/test"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/test/data"
@@ -719,6 +808,6 @@ if (UNIX)
)
# Linux package
include(cmake/LinuxPackage.cmake)
include(cmake/linux_package.cmake)
endif ()
endif ()
+35 -491
View File
@@ -5,34 +5,45 @@
#### External Software
* JDK 1.8
* QT 5.8
* QT 5.10.1
* CxxTest 4.3
* Valgrind 3.9.0 (linux)
* Clang & LLVM 3.9 (doesnt quite work for windows, use unix setup below and skip all the ninja stuff)(installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
* Boost 1.59
* Botan 1.11.34
also something about java, but who knows...
* Clang & LLVM 6.0 (doesnt quite work for windows, use unix setup below and skip all the ninja stuff)(installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
* Boost 1.64
* Botan 2.1.0
* Image Magick 7.0.6
* ccache (Unix)
* Visual Leak Detector (Windows)
* Wix 3.11 (Windows)
* Winrar (Windows)
#### Environment Variables
* CXX_TEST_DIR - .../cxxtest-4.3
* CLANG_DIR - .../clang-llvm
* BOOST_159_DIR - .../boost_1_59_0
* BOTAN_DIR - .../Botan-1.11.34
* BOOST_DIR - .../boost_1_64_0
* BOTAN_DIR - .../Botan-2.1.0
For MacOS and Linux
* QT_DIR - .../Qt/Qt5.8.0/5.8/<IDE>
* QT_DIR - .../Qt/Qt5.10.1/5.10.1/<IDE>
For Windows:
* QT_WIN32_DIR - .../Qt/Qt5.8.0/win32/5.8/msvc2015<IDE>
* QT_WIN64_DIR - .../Qt/Qt5.8.0/win64/5.8/msvc2015_64<IDE>
* QT_WIN32_DIR - .../Qt/Qt5.10.1/5.10.1/msvc2015
* QT_WIN64_DIR - .../Qt/Qt5.10.1/5.10.1/msvc2015_64
* VLD_DIR - .../Visual Leak Detector
* JAVA_HOME - .../Java/jdk1.x.x_xxx
* path
- apped path to git.exe
- apped path to jdk/bin
- append path to git.exe
- append path to jdk/bin
- append path to VisualStudio/Common7/Tools
- append path to VisualStudio/Common7/IDE
- append path to .../Microsoft SDKs/Windows/v7.1A/Bin (for uuidgen in deploy script)
- append path to .../WiX Toolset v3.11/bin
- append path to .../WinRAR
##### ccache
* install ccache
* if ccache is in path it will be used for recompilation
##### Clang setup
@@ -42,7 +53,11 @@ Execute Cmake twice (once for each target compiler (32 and 64 bit)). Set the res
##### Boost setup
For Windows:
Build the Boost libs for 32 and 64 bit. Create the subdirectories ${BOOST_159_DIR}/win32 and ${BOOST_159_DIR}/win64 and copy the ${BOOST_159_DIR}/boost folder into each of those platform specific directories. Also move the platform specific libs into the respective ( ${BOOST_159_DIR}/win32/lib and ${BOOST_159_DIR}/win64/lib) folder.
Build the Boost libs for 32 and 64 bit. Make sure that the platform specific libs are located in ${BOOST_DIR}/lib32-msvc-14 and ${BOOST_DIR}/lib64-msvc-14.
For Mac:
$ ./bootstrap.sh --with-libraries=filesystem,program_options,system,date_time
$ ./b2 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags=-fPIC
##### Botan setup
@@ -71,7 +86,10 @@ Build release lib in ${BOTAN_DIR}/release
Build debug lib in ${BOTAN_DIR}/debug
for Mac:
$ python configure.py --disable-shared --disable-modules=darwin_secrandom
$ mkdir debug/release
$ cd debug/release
$ python ../configure.py --disable-shared --disable-modules=darwin_secrandom (--with-debug-info)
$ make -j 4
for Linux:
$ python configure.py --disable-shared
@@ -115,7 +133,7 @@ $ cd ../../../../../build_debug
$ cmake -G Ninja -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
$ cd ../release_build
$ cd ../build_release
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
@@ -144,477 +162,3 @@ gifsicle --unoptimize --disposal=previous --transparent="#FFFFFF" crop.gif > tra
// resize
gifsicle --resize-height 18 trans.gif > loader.gif
### Changelog
#### 0.11.86
released 2017-04-12
* Terminating all running tasks before closing the application (issue #343)
* Use all available cores when setting indexer threads to 0 (issue #342)
* Added reset window layout option to view menu (issue #289)
* Fixed colorscheme gets refreshed when cancelling preferences dialog
* Log: Scroll to first line in errors table after indexing and after display
* Copy old ApplicationSettings.xml and window_settings.ini files from previous Coati install if available.
* New projects are created with .srctrlprj and .srctrldb endings, but still support old file extensions.
* Renamed application from Coati to Sourcetrail
* Fixed issues in tutorial project
* Graph: Fixed node with no children but qualifier shows expand button
* Enable undo/redo actions in context menu only when available
* Java: Updated to JavaParser 3.1.2 and JavaSymbolSolver 0.5.2.x
* Revised undo/redo stack to handle messages differently
* Java: Added support for project setup from Maven
* Windows: Hide console when running release builds
* Show license information on start screen
* Added ping support to plugins and display current connected editor/IDE in status bar.
#### 0.11.0 (beta)
released 2017-02-15
* Don't accept richt text in 'enter license' dialog field (issue #207)
* Updated EULA to include Test License and better clarify other license types
* Fixed icons in project setup dialogs blurry on highDPI screens
* Added link to additional downloadable pre-indexed projects to trial start screen
* Fixed crash when saving preferences if they contain relative paths
* Convert all paths chosen by patch picker relative to project location in project setup
* Disabled name and location changing in project editing and removed project moving
* Split default file extensions for C++ and C to avoid wrong files getting indexed
* Deprecated 'Lazy Include Search', it's only visible to previously created projects (issue #335)
* Support relative paths and paths containing environment variables for compilation database path (issue #312)
* Removed 'Advanced Settings' section in project setup and show theses options in separate dialog (#293)
* Support environment variables containing multiple files in project setup paths (issue #283)
* Warn users when no 'Indexed Header Paths' were set in compilation database project (issue #254)
* Renamed "Project Paths" to "Indexed Paths" in project setup
* Renamed "Project File Location" to "Coati Project Location" in project setup (issue #234)
* Allow opening indexed projects in trial mode
* Record node type of non-indexed qualifiers (e.g. "std" in "std::string" as namespace)
* Log: Fixed error icon loaded for every row (issue #287)
* Graph: Fixed lambda are placed within white area to better see call edges
* Graph: Show non-indexed nodes within their parents instead of using namespace labeling
* Code: Disabled syntax highlighting for project description
* Graph: Fixed different font-faces causing graph nodes to expand to bigger cell amount
* Mac: Fixed wrong READMEs at some plugins (issue #315)
* Mac: Removed boost libraries and libLTO from Mac bundle
* Windows: Add Visual Studio compatibility flags to new project when Visual Studio include paths are present
* Renamed undefined nodes to non-indexed nodes for clarification
* Show progress in file clearing dialog
* Extended syntax highlighting for Java and distinguish by project type
* offer Windows 64bit build (issue #300)
* Fixed legacy Java 6 install necessary on MacOS (issue #280)
* Updated to Qt 5.8
* Updated to clang/llvm 3.9
* Added multithreading to Visual Studio plugin compilation database creation
* Graph: Use new list layouting for overview bundles and namespaces/packages
* Graph: Group nodes in list layout by starting character and allow jumping to group by pressing the key
* Graph: Use node specific styles for overview bundles
* Visual Studio plugin can now handle projects with non-native build tool for compilation database export
* Changed menu action 'Licenses' to '3rd Party Licenses'
* Added dialog with all shortcuts to Help menu
* Log: Show error in errors table when clicked in code view (issue #323)
* Code: Switched default mouse drag behavior to selection, panning on Shift + drag, and show suitable cursors
* Updated company address in about dialog
* Graph: Added on-screen zoom buttons
* Graph: Split aggregation edge when expanding nodes if possible
* Uncommented lines using the std library in TicTacToe sample
* Fixed issue with lambda return type (issue #318)
* Save builtin types as separate node type (issue #2)
* Remove unused included files after refreshing
* Java: Fixed packages that only contain packages to show up as non-indexed
* Added context-menu actions to copy node names, file paths and show files in containing directory (issue #320)
* Fixed crash when entering a single space in 'enter license' dialog (issue #277)
* Graph: Made edge lines thicker
* Fixed handling and storing of files with the same name
* Fixed environment variable detection within project paths for %VARIABLE_NAME% syntax
* Coati states whether it needs 32bit or 64bit JRE
* Java: Updated indexer to fix a lot of unsolved symbol issues
* Graph: Fixed layouter couldn't handle nodes with same name
* Graph: Fixed weird looking vertical aggregation edges to child nodes
* Code: Don't show stats for non loaded project
* Added option to disable UI animations to preferences
* Graph: Removed double line around graph view on Mac
* Graph: Fixed namespace label cut off at edge of screen
* Code: Added single file view mode
* Code: Added navigation bar with mode toggle and buttons to navigate references
* Graph: Removed underscores in edge hover names
* Infere some non-indexed node types by their edges
#### 0.10.0
released 2016-12-13
* Windows: Added runtime DLLs that could be missing on some systems
* Click message in status bar to open status window
* Graph: Sort nodes alphabetically within each section
* Graph: Aggregate type use edges to make referencing nodes appear collapsed
* Code: Improved performance through faster source location retrieval for files
* Code: Scroll active symbol definition to top of view if possible
* Added status tab to Log View showing status bar information
* Graph: Fixed graph animation used when clicking edges
* Graph: Disable bundling when files or macros are active
* Graph: Bundle importing files of active symbol in Java projects
* Improved speed of depending file search on refresh
* Search: Fixed crashes related to empty searches (issue #251)
* Search: Do fulltext search when no autocompletion match is available
* Added checkbox for full project refresh to start indexing dialog
* Disabled clang error limit by default to make sure all errors are shown
* Linux: Updated libs and added missing ones (issue #245)
* Updated icons for some graph nodes and project types
* Windows: Updated Visual Studio plugin UI
* Graph: Fixed view to not recenter on active node when clicking edge
* Fixed wrong errors displayed, wrong error counts and error view being wrongly shown
* Removed font zoom on CTRL + MouseWheel
* Graph: Display namespace information on left side of nodes, activate namespace by clicking label
* Improved file clearing performance
* Windows: Changed setup folder layout
* Added info screen for indexer crash investigation
* Code: Fixed display of links to missing symbols in project description
* Code: Fixed snippet size calculation causing a slowdown in certain cases
* Search: Skip intermediate autocompletions when typing fast
* Show dialog for last files inserted into .coatidb at end of indexing
* Integrated Visual Studio Plugin with Coati Project creation and removed previous Visual Studio Solution parser
* Improved C++ indexer coverage: using decls, using directives, auto keyword, lambda signatures, symbol references inside lambda captures, template argument related elements
* Reduced size of .coatidb file by up to 50% for large projects
* Fixed anonymouse symbol name conflicts (issue #241)
* Preferences: Added Indexer Logging option to print AST information during indexing
* Search: Added second line to search autocompletion list showing namespace, package or filepath
* Made cells readonly in errors table to prevent editing (issue #236)
* Renamed Log Window to Status window
#### 0.9.23
released 2016-10-27
* Windows: Added logging and exception handling to VS plugin
* Windows: Added VC++ runtime dlls for windows installer
* Windows: Added missing VC++ runtime dlls (issue #231)
* Added setting for default graph zoom on mouse wheel to preferences (issue #237)
* Scroll errors table to newest error during indexing
* Fixed best scoring for search autocompletions skipped some combinations
* Fixed flickering of errors table when indexing
* Don't show error snippets in overview screen anymore
* Fixed crash when Project Paths contain files and lazy include search in enabled (issue #201)
* Fixed edge cases that caused deadlocks in indexing
* Added language specific project icons to start screen
* Fixed application couldn't be quit when start screen was showing (issue #227)
* Graph: Fixed missing image file ending when exporting graph for Linux
* Log Coati version when logging gets enabled
* Fixed non-indexed errors filter in errors table
#### 0.9.0
released 2016-10-14
* Extended Visual Studio Plugin to export clang Compilation Databases
* Implemented new installer for Windows
* Run System Header Include Paths and Java Path detection when starting application
* Added Log Window with Errors tab showing a table of all errors
* Added filters to bottom of error table to define which errors are displayed
* Removed ring logging and use one log file again instead
* Smaller indexing progress dialog with bar in the middle instead of golden ratio
* Code: Set default code snippet expand range to 3 lines for more context
* Graph: Fixed undoing of aggregation edge activation caused crash
* Graph: Move aggregation and inheritance edges to front when hovered or active
* Graph: Push parent nodes of active nodes to back to make all incoming and outgoing edges visible
* Properly quit application when window is closed while confirm box is open
* Properly quit application when window is closed while indexing (issue #121)
* Graph: Count only top level nodes in bundle nodes of graph
* Search: Improved scoring of autocompletion matches to use best score for match
* App will go into trial mode without valid license
* Java: Auto detect java root source directories
* Fixed refresh crash (issue #220)
* Java: improved indexer reliability a lot
* Java: Changed name of generic type to use name of declaration
* Fixed project refresh does not recognize removed source paths
* Java: Define maximum allocated jvm memory in preferences
* Follow symbolic directory links within source paths (issue #205)
* Use white size grip in blue dialogs
* Graph: Use type node colors for undefined nodes
* Java: Show import not found as error
* Code: Select and copy source code in code view with SHIFT + mouse drag (issue #7)
* Code: Added markers next to line numbers in code view showing active locations and scopes
* Merged app and trial to one build
#### 0.8.21
released 2016-09-16
* Added options for checking multiple paths in Indexed Header Paths dialog during project setup from Compilation Database #190
* Added all C/C++ standards supported by clang
* Fixed C language setting in empty project setup not propagated to indexer #177
* Added Sublime plugin to Sublime Text Package Control
* Improved indexer parallelization for faster indexing
* Changed all font-sizes to px for similar look on all platforms
* Added font face dropdown to Preferences showing all available monospace fonts #172
* Smoother font rendering on Windows by setting font engine to FreeType via qt.conf file #137
* Interrupt indexing while AST visiting for C/C++ for shorter waiting time
* Save graph as PNG image via context menu in graph view #180
* Added base folder to Linux package #181
* Use inverted golden ratio in indexing progress dialog
#### 0.8.0
released 2016-09-01
* Improved titles and help texts in project setup UI
* Fixed error locations not saved with absolute file paths in Compilation Database projects
* Added missing source files extensions setting to the Edit Project dialog #132
* Changed default text colors to black in project setup UI #140
* Added plugin ports settings to Preferences #145
* Improved project state handling on refreshing
* Added Java sample project JavaParser: http://javaparser.org/
* Fixed regex for system includes used wrongly in syntax highlighter
* Added setting to disable file and console logging, default is off #157
* Added migrations between different ApplicationSettings versions
* Added auto detection for Java library to Preferences
* Removed auto refresh option from Search view
* Added progress dialogs for indexing and block UI #143
* Hide name qualifiers for graph nodes in Java projects
* Added handling when java library not found
* Added plain text editing dialog to path list boxes
* Use language dependent symbol name delimiter in UI
* Added scroll speed setting to preferences #112
* Added Java project setup UI
* Record start and end locations of scopes in Java
* Display unresolved types names in Java as 'unresolved-type'
* Cache stats for overview to speed up display
* Fixed graph nodes to restore their expand state when going back #118
* Added shortcuts for navigating to next and previous reference in code view
* Pressing Tab in search completes up to next ::, Delete erases to last :: #133
* Bundle anonymous namespaces separately in graph overview #126
* Added 'Show Data Folder' and 'Show Log Folder' items to Help menu
* Added new status bar loader gif with higher resolution
* Record type aliases in C++
* Added Java indexer
* Changed public icon in graph and added default icon
* Scroll to file location when finding no symbol at specified location from plugin message
* Added shortcut for Preferences on Windows/Linux
* Leave code view at original line when expanding scopes
* Pan graph view to center on name of active symbol after activation
* Moved color scheme selection to Preferences
* Moved Preferences menu item to Edit menu on Windows/Linux #113
* Added setting for hiding non-fatal errors in unindexed files to preferences, turned on by default
* Fixed file out-of-date asterisk disappearing when showing snippets after minimize state
* Implemented Atom plugin: https://github.com/CoatiSoftware/atom-coati
* Implemented CLion/IntelliJ plugin: https://github.com/CoatiSoftware/idea-coati
* Implemented Eclipse plugin: https://github.com/CoatiSoftware/eCoati
* Implemented emacs plugin: https://github.com/CoatiSoftware/emacs-coati
* Improved code view rendering times
* Don't show implicit nodes in search auto completion list
#### 0.7.0.22
released 2016-07-07
* Fixed detected global header search paths lost correct order and caused problems with #include_next directives
* Fixed MaxOSX build crashed on launch due to unknown command line option passed
* Removed 'Save Project' and 'Save Project As' actions from menu
* Fixed indexer getting stuck at 'building caches' when indexing is interrupted
* Fixed database not properly closed when errors appeared during indexing
* Fixed autocompletions popup flickering while typing
* Added resize grip to bottom right corner of every dialog window
* Fixed 'paths don't exist' dialog window getting too big with lots of paths shown
* Added context menu with 'back' and 'forward' actions available in all views
* Removed Clang compiler warnings from console output
* Added handling of project specific VS macros to VS solution parser
#### 0.7.0.0
released 2016-06-15
* Updated to clang 3.8
* Fixed crash in search autocompletion retrieval due to edge case in sorting
* Fixed size policies in code view to avoid global scrollbar
* Added full text search via search field: ?<query> for case-insensitive search, ??<query> for case-sensitive search
* Made initialization for full text search lazy: done on first full text search
* Defined full text search color in all color schemes
* Increased code view performance by caching file IDs and paths
* Added multithreaded indexing. Number of threads can be set in the Preferences UI, default is 4
* Reworked graph node bundling to only distinguish defined and undefined nodes in each bucket
* Made graph node sorting alphabetical and put bundles at end
* Changed code view snippet sorting to always show definition on top
* Fixed local symbols were not available within lambdas
* Added settings for font family, font size and tab with to Preferences UI
* Fixed VS solution parser issue with internal macros
* Removed header extensions, all included files within the project paths are now analyzed
* Fixed crash in sqlite when symbol name has special characters
* Improved code view performance by reducing amount of initially open code files
* Improved graph view performance through faster data retrieval and smarter structures
* Increased aggregation click speed with faster edge id retrieval
* Fixed png color profiles to avoid console warning: "libpng warning: iCCP: known incorrect sRGB profile"
* Fixed graph edge drawn wrong when leaving from child node of smaller node
* Fixed Sublime Text Plugin issue with wrong encoding
* Randomized source file order for multithreaded analysis to increase performance
* Show name of removed symbol when going back after refreshing
* Fixed macro definition not connected to file
* Fixed macro use not found in #ifdef, #ifndef, defined() and some expand cases
* Removed back and forward steps for some graph and code view manipulations
* Fixed code view style broken on Mac due to change of working directory when analyzing compilation database
* Added database optimization step after indexing to reduce database size by ~25%
* Fixed artifacts after graph view change by clearing view
* Fixed autocompletion list highlights at wrong location for long names
* Allow files and directories to be excluded from analysis in advanced settings for project setup
* Added Qt gif plugin to Mac Release so that loader gif in status bar is visible
* Added link to download page to start screen to remind users of updating once in a while
* Check if compilation database still exists before refreshing
* Added separate step for defining project name, project location and compiliation database to project setup
* Explain that the project stays up-to-date with the compilation databes on refresh in project setup UI
* Disregard source extensions when loading from compilation database
* Removed error logs in name resolver
* Added plugin for VIM: https://github.com/CoatiSoftware/vim-coati
#### 0.6.0.0
released 2016-04-27
* Smoother graph panning and zooming on keyboard using update loop
* Differentiate between explicit and implicit nodes and only show implicit nodes in the graph view when connected
* Improved file clearing performance on project refresh
* Show deleted projects on the start screen and show messagebox to delete them
* Show analysis duration in hh:mm:ss
* Added suppport for temporary test licenses and show error message when it expired
* Increased graph performance by reducing to fixed number of requests
* Add vs-clang compatibility flags when creating project from Visual Studio solution
* Increased graph edge drawing performance
* Added auto detection for system header paths to project wizard and preferences when using gcc, clang or vs compilers
* Added bug tracker to help menu
* Increased search autocompletion performance to stay mostly below 100ms
* Changed style of aggregation edge to cleaner look
* Allow certain edge types to enter and leave at top and bottom of nodes as well e.g. inheritance
* Increased project load performance
* Increased graph creation performance for overview screen
* Changed namespace activation to show the namespace name in the search bar and the namespace definitions in the code view
* Updated to Qt 5.6
* Added analysis for local symbols and allow selecting them in the code view
* Improved error display performance by not expanding all of them at once
* Added home button next to search field for showing the project overview
* Added shortcut and menu item to show project overview
* Fixed Path boxes not sized correctly when switching back and forth in the project wizard
* Allow support for environment variables in project setup with syntax ${VARIABLE_NAME}
* Show quit button on license enter screen when no valid license was entered yet
* Allow color schemes to define text colors for code view highlights
* Added support for function pointers to analysis
* Added Windows system dlls to installer on Windows so users don't not need to install the redistributable package
* Changed style of out-of-date files to be followed by *
* Set Qt flag for high DPI scaling
* Check analyzed paths for existence in project wizard
* Inform the user about project changes and ask before reparsing the project
* Removed "simple setup" step in project wizard and added "lazy include search"-checkbox
* Edit the project settings by clicking the project name in the overview stats
* Added welcome message to Coati trial
* Defined new highlight colors for code view in all color schemes
#### 0.5.1.21
released 2016-03-16
* Fixed file logger using wrong directory for first log file
* Fixed crash when accessing files without read permission
* Center windows on top of main window
* Added font size limits
* Prevent network message handling without valid license
* Fixed type references in headers saved multiple times
* Improved context detection for template parameters
* Fixed Visual Studio plugin project loading
* Added delay for changing fontsize via mouse wheel
* Disabled config file warnings
* Fixed interrupting of analysis to show message in status bar
* Fixed children on namespace activation were bundled
* Fixed expanding file with errors showed all locations in red
* Show loader animation when loading project
* Removed high traffic log messages
* Fixed crash when opening newer project with older version of Coati
* Fixed project paths are now saved relative if defined relative
* Fixed project setup window sizes to adapt to content size
* Fixed linux package creating ~/.config if not there
* Show fatal errors in UI that stopped analysis
* Added compiler flags UI to advanced settings in project setup summary
* Added file extension UI to advanced settings in project setup summary
* Added graph zooming with Shift + mouse wheel or Shift + WS
* Added graph panning with WASD
* Improved project load and code view performance
* Improved analysis performance for large projects (10x as fast for 1.000.000 LoC)
* Added project setup for Compilation Databases
#### 0.5.0.4
released 2016-02-25
* Fixed preferences not saved
* Added link to documentation to Help menu
* Improved painting of icons in graph to be smoother
* Improved logging to alternate between 2 files of 1000 lines to decrease logfile sizes
* Improved analysis performance to take only 66% of the time
* Save user data in ~/Library/Application Support/Coati on Mac
* Improved style of ui windows
* Added Visual Studio solution parsing via project wizard or VS plugin
* Added project setup wizard for step-by-step project setup
* Added overview and error keywords to search view
* Show overview on project open with node bundles per type
* Added application move protection to reenter license key
* Improved log file names to be sorted chronologically
* Improved graph view node bundeling to bundle more
* Display scope name at bottom of code snippet
* Added .coatiproject file associations with icon for Mac and Windows
* Return to last scroll position when going back in code view
* Improved back & forward in code view
* Update error count while analysis
* Improved code view annotation painting performance
* Added web documentation
* Added trial target without analysis
* Added license key window and license checker
* Refresh project editing settings
* Added C and C++ standard setting to project
* Fixed cursor changing for resize and text interactions
* Added commandline option for project file
* Improved performance of token name saving
* Fixed number postions in graph
* Added shortcuts for font size resetting to View menu
* Added C support
* Added option to hide widget window title bars to View menu
#### 0.4.0
released 2016-01-07
* navigate back via backspace key
* navigate back&forward via mouse buttons
* renamed undo&redo to back&forward
* Fixed tooltip colors in dark color scheme
* Fixed style of function or method nodes with children
* Improved lambda handling in analysis
* Added help texts to project setup and preferences window
* Removed 'close window' action from menu
* Fixed constructors and destructors using return type 'void' withou source location
* Parse errors will be displayed as they appear during analysis
* Redesigned the about window
* Installing prerequisits in Windows Installer
* Added installer for Windows
* Introduced file endings .coatiproject and .coatidb for Coati's project files
* Removed Coati directory from Linux package
* Fixed graph font size was too small for Windows and Linux
* Show function and method signature in tooltip when hovering the graph node
* Added analysis for template parameter packs
* Fixed syntax highlighting to correctly identify strings, comments and block comments
* Fixed source locations of many declarations
* Coati shows a template's general definition when an implicit specialization is activated
* Added new color scheme called "bad_rainbow"
* Extended color schemes to allow more extensive use in the graph
* Coati now handles anonymous symbols when parsing files
* Improved handling of template arguments in analysis
* Coati can now handle inclass initialization of members
* Network ports for IDE communication can be defined in the ApplicationSettings.xml
#### 0.3.0
released 2015-12-14
* Saving all template arguments type uses
* Added recent projects menu option
* Focus all overlapping source locations in the code view
* Improved code view auto scroll to center the first active line in the middle
* Fixed search query disappeared when not token was found for it
* Fixed cursor was jumping at end of query when editing a search query
* Reworked code view highlighting
* Save comment locations and display them when right next to active symbol
* Fixed old data was still in new project window when creating another project
* Save macro scopes
* Save errors to storage and reactivate them via button in the status bar
* Fixed horizontal scroll in code view not activated while scrolling vertically
* Improved source locations of template scopes
* Save Coati version to sqlite and reparse project whenever the version changes
* Increased autocompletion performance by caching and limiting results to 100
* Added plugin for Sublime Text (2 & 3)
* Added plugin for Visual Studio (2012, 2013, 2015)
* Added communication interface from and to Coati via TCP sockets
* Added Tutorial project
@@ -0,0 +1,13 @@
Eclipse Distribution License - v 1.0
Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,994 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================
Gradle Subcomponents:
------------------------------------------------------------------------------
License for the slf4j package
------------------------------------------------------------------------------
SLF4J License
Copyright (c) 2004-2007 QOS.ch
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
These terms are identical to those of the MIT License, also called the X License or the X11 License,
which is a simple, permissive non-copyleft free software license. It is deemed compatible with virtually
all types of licenses, commercial or otherwise. In particular, the Free Software Foundation has declared it
compatible with GNU GPL. It is also known to be approved by the Apache Software Foundation as compatible
with Apache Software License.
------------------------------------------------------------------------------
License for the JUnit package
------------------------------------------------------------------------------
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and
documentation distributed under this Agreement, and
b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are
distributed by that particular Contributor. A Contribution 'originates' from a
Contributor if it was added to the Program by such Contributor itself or anyone
acting on such Contributor's behalf. Contributions do not include additions to
the Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii) are not
derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are
necessarily infringed by the use or sale of its Contribution alone or when
combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement,
including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free copyright license to
reproduce, prepare derivative works of, publicly display, publicly perform,
distribute and sublicense the Contribution of such Contributor, if any, and such
derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
Patents to make, use, sell, offer to sell, import and otherwise transfer the
Contribution of such Contributor, if any, in source code and object code form.
This patent license shall apply to the combination of the Contribution and the
Program if, at the time the Contribution is added by the Contributor, such
addition of the Contribution causes such combination to be covered by the
Licensed Patents. The patent license shall not apply to any other combinations
which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses
to its Contributions set forth herein, no assurances are provided by any
Contributor that the Program does not infringe the patent or other intellectual
property rights of any other entity. Each Contributor disclaims any liability to
Recipient for claims brought by any other entity based on infringement of
intellectual property rights or otherwise. As a condition to exercising the
rights and licenses granted hereunder, each Recipient hereby assumes sole
responsibility to secure any other intellectual property rights needed, if any.
For example, if a third party patent license is required to allow Recipient to
distribute the Program, it is Recipient's responsibility to acquire that license
before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright license set
forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its
own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and
conditions, express and implied, including warranties or conditions of title and
non-infringement, and implied warranties or conditions of merchantability and
fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for
damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered
by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable manner on or
through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the
Program.
Each Contributor must identify itself as the originator of its Contribution, if
any, in a manner that reasonably allows subsequent Recipients to identify the
originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with
respect to end users, business partners and the like. While this license is
intended to facilitate the commercial use of the Program, the Contributor who
includes the Program in a commercial product offering should do so in a manner
which does not create potential liability for other Contributors. Therefore, if
a Contributor includes the Program in a commercial product offering, such
Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
every other Contributor ("Indemnified Contributor") against any losses, damages
and costs (collectively "Losses") arising from claims, lawsuits and other legal
actions brought by a third party against the Indemnified Contributor to the
extent caused by the acts or omissions of such Commercial Contributor in
connection with its distribution of the Program in a commercial product
offering. The obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement. In order
to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
Contributor in writing of such claim, and b) allow the Commercial Contributor to
control, and cooperate with the Commercial Contributor in, the defense and any
related settlement negotiations. The Indemnified Contributor may participate in
any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product
offering, Product X. That Contributor is then a Commercial Contributor. If that
Commercial Contributor then makes performance claims, or offers warranties
related to Product X, those performance claims and warranties are such
Commercial Contributor's responsibility alone. Under this section, the
Commercial Contributor would have to defend claims against the other
Contributors related to those performance claims and warranties, and if a court
requires any other Contributor to pay any damages as a result, the Commercial
Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
Recipient is solely responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its exercise of
rights under this Agreement, including but not limited to the risks and costs of
program errors, compliance with applicable laws, damage to or loss of data,
programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable
law, it shall not affect the validity or enforceability of the remainder of the
terms of this Agreement, and without further action by the parties hereto, such
provision shall be reformed to the minimum extent necessary to make such
provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with respect to
a patent applicable to software (including a cross-claim or counterclaim in a
lawsuit), then any patent licenses granted by that Contributor to such Recipient
under this Agreement shall terminate as of the date such litigation is filed. In
addition, if Recipient institutes patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or hardware)
infringes such Recipient's patent(s), then such Recipient's rights granted under
Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to
comply with any of the material terms or conditions of this Agreement and does
not cure such failure in a reasonable period of time after becoming aware of
such noncompliance. If all Recipient's rights under this Agreement terminate,
Recipient agrees to cease use and distribution of the Program as soon as
reasonably practicable. However, Recipient's obligations under this Agreement
and any licenses granted by Recipient relating to the Program shall continue and
survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in
order to avoid inconsistency the Agreement is copyrighted and may only be
modified in the following manner. The Agreement Steward reserves the right to
publish new versions (including revisions) of this Agreement from time to time.
No one other than the Agreement Steward has the right to modify this Agreement.
IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
as the Agreement Steward to a suitable separate entity. Each new version of the
Agreement will be given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the Agreement
under which it was received. In addition, after a new version of the Agreement
is published, Contributor may elect to distribute the Program (including its
Contributions) under the new version. Except as expressly stated in Sections
2(a) and 2(b) above, Recipient receives no rights or licenses to the
intellectual property of any Contributor under this Agreement, whether
expressly, by implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the
intellectual property laws of the United States of America. No party to this
Agreement will bring a legal action under this Agreement more than one year
after the cause of action arose. Each party waives its rights to a jury trial in
any resulting litigation.
------------------------------------------------------------------------------
License for the JCIFS package
------------------------------------------------------------------------------
JCIFS License
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
------------------------------------------------------------------------------
License for the JGit package
------------------------------------------------------------------------------
Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Eclipse Foundation, Inc. nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -1,13 +0,0 @@
Copyright 2014-2016 Javaslang, http://javaslang.io
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -1,141 +0,0 @@
MOZILLA PUBLIC LICENSE
Version 1.1
1. Definitions.
1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.
1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
1.5. ''Executable'' means Covered Code in any form other than Source Code.
1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
1.8. ''License'' means this document.
1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
B. Any new file that contains any part of the Original Code or previous Modifications.
1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
1.12. "You'' (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
2. Source Code License.
2.1. The Initial Developer Grant.
The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
(a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
(b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
(c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
(d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
2.2. Contributor Grant.
Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
(a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
(b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
(c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
(d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
3. Distribution Obligations.
3.1. Application of License.
The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
3.2. Availability of Source Code.
Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
3.3. Description of Modifications.
You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
3.4. Intellectual Property Matters
(a) Third Party Claims.
If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
(b) Contributor APIs.
If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
(c) Representations.
Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
3.5. Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
3.6. Distribution of Executable Versions.
You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
3.7. Larger Works.
You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
4. Inability to Comply Due to Statute or Regulation.
If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
5. Application of this License.
This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
6. Versions of the License.
6.1. New Versions.
Netscape Communications Corporation (''Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
6.2. Effect of New Versions.
Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
6.3. Derivative Works.
If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
8. TERMINATION.
8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
(a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
(b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
10. U.S. GOVERNMENT END USERS.
The Covered Code is a ''commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and ''commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
11. MISCELLANEOUS.
This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
12. RESPONSIBILITY FOR CLAIMS.
As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
13. MULTIPLE-LICENSED CODE.
Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the MPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
EXHIBIT A -Mozilla Public License.
The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY KIND, either express or implied. See the License for the specific language governing rights and
limitations under the License.
The Original Code is Javassist.
The Initial Developer of the Original Code is Shigeru Chiba. Portions created by the Initial Developer are
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
Contributor(s): __Bill Burke, Jason T. Greene______________.
Alternatively, the contents of this software may be used under the terms of the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), or the Apache License Version 2.0 (the "AL"), in which case the provisions of the LGPL or the AL are applicable instead of those above. If you wish to allow use of your version of this software only under the terms of either the LGPL or the AL, and not to allow others to use your version of this software under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the LGPL or the AL. If you do not delete the provisions above, a recipient may use your version of this software under the terms of any one of the MPL, the LGPL or the AL.
@@ -0,0 +1,53 @@
/* ====================================================================
* Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
+155 -37
View File
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<config>
<window>
<separator>#CCCCCC</separator>
<scrollbar>
<background>transparent</background>
<handle>#80999999</handle>
<line>#80999999</line>
</scrollbar>
<dock>
<text>white</text>
<background>#808080</background>
<line>#A0A0A0</line>
<icon_type>white</icon_type> <!-- white, grey, black -->
</dock>
<button>
<text>white</text>
<background>#CC494949</background>
<border>#D4D4D4</border>
<border_hover>white</border_hover>
<icon>white</icon>
</button>
</window>
<search>
<background>#494949</background>
@@ -15,7 +37,8 @@
<field>
<text>#FFFFFF</text>
<background>#808080</background>
<background>#494949</background>
<border>#808080</border>
<highlight>#B1B1B1</highlight>
</field>
@@ -72,10 +95,11 @@
</search>
<code>
<background>#494949</background>
<background>#595959</background>
<navigation>
<text>#A0A0A0</text>
<background>#494949</background>
<text>#CCCCCC</text>
<line>#CCCCCC</line>
</navigation>
@@ -93,7 +117,7 @@
</title>
<ref_count>
<text>#C4C4C4</text>
<text>#D4D4D4</text>
<background>#494949</background>
</ref_count>
</file>
@@ -108,21 +132,24 @@
</title>
<line_number>
<text>#C4C4C4</text>
<text>#D4D4D4</text>
<inactive_text>#A0A0A0</inactive_text>
<background>#494949</background>
<marker>#C4C4C4</marker>
<marker>
<active>#807F80</active>
<focus>#D4D4D4</focus>
</marker>
</line_number>
<syntax>
<normal>#C4C4C4</normal>
<normal>#D4D4D4</normal>
<directive>#00A0B6</directive>
<keyword>#00A0B6</keyword>
<type>#FF4A52</type>
<comment>#A0A0A4</comment>
<number>#EE7326</number>
<quotation>#D663D6</quotation>
<function>#FBBA00</function>
<keyword>#00BCD6</keyword>
<type>#FF5961</type>
<comment>#78946B</comment>
<number>#FC7F30</number>
<quotation>#DB77DB</quotation>
<function>#FFCC3B</function>
</syntax>
<selection>
@@ -178,7 +205,7 @@
<fill>#FFFF0000</fill>
</focus>
</error>
<fulltext>
<fulltext_search>
<normal>
<fill>#C2AFEF</fill>
<text>#3D3D3D</text>
@@ -186,7 +213,17 @@
<focus>
<fill>#987CEA</fill>
</focus>
</fulltext>
</fulltext_search>
<screen_search>
<normal>
<border>transparent</border>
<fill>#D2FA6E</fill>
<text>#262626</text>
</normal>
<focus>
<fill>#FA6EF3</fill>
</focus>
</screen_search>
</annotation>
</snippet>
</code>
@@ -209,7 +246,7 @@
<normal>#3D3D3D</normal>
</icon>
<hatching>
<normal>#494949</normal>
<normal>#616061</normal>
</hatching>
</default>
@@ -240,6 +277,9 @@
<enum>
<like>type</like>
</enum>
<union>
<like>type</like>
</union>
<typedef>
<like>type</like>
</typedef>
@@ -252,7 +292,7 @@
<function>
<fill>
<normal>#FBBA00</normal>
<normal>#FFCC3B</normal>
<focus>#FFD05A</focus>
</fill>
<border>
@@ -260,7 +300,7 @@
<focus>#FFFFFF</focus>
</border>
<hatching>
<normal>#FFFFFF</normal>
<normal>#FFE8A6</normal>
</hatching>
</function>
<method>
@@ -269,15 +309,15 @@
<global_variable>
<fill>
<normal>#00A0B6</normal>
<focus>#3BAFB2</focus>
<normal>#2FC2D6</normal>
<focus>#38D3E8</focus>
</fill>
<border>
<normal>transparent</normal>
<focus>#FFFFFF</focus>
</border>
<hatching>
<normal>#FFFFFF</normal>
<normal>#96DAE3</normal>
</hatching>
</global_variable>
<field>
@@ -287,9 +327,9 @@
<like>global_variable</like>
</enum_constant>
<non_indexed>
<symbol>
<like>type</like>
</non_indexed>
</symbol>
<namespace>
<fill>
<normal>#873E3E</normal>
@@ -304,6 +344,9 @@
<icon>
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#B05151</normal>
</hatching>
</namespace>
<package>
<like>namespace</like>
@@ -312,7 +355,7 @@
<file>
<fill>
<normal>#4E82F6</normal>
<focus>#7FA9F4</focus>
<focus>#6793F6</focus>
</fill>
<border>
<normal>#20FFFFFF</normal>
@@ -325,7 +368,7 @@
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#999999</normal>
<normal>#416CCC</normal>
</hatching>
</file>
<macro>
@@ -382,6 +425,51 @@
<normal>#B1B1B1</normal>
</text>
</text>
<group>
<default>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#FFFFFF</normal>
</text>
<border>
<normal>#807F80</normal>
</border>
</default>
<file>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#D4D4D4</normal>
</text>
<border>
<normal>#4E82F6</normal>
<focus>#6793F6</focus>
</border>
</file>
<namespace>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#D4D4D4</normal>
</text>
<border>
<normal>#873E3E</normal>
<focus>#944444</focus>
</border>
</namespace>
<inheritance>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#797979</normal>
</border>
</inheritance>
</group>
</node>
<edge>
<default>
@@ -389,20 +477,20 @@
</default>
<override>
<normal>#CC5E89</normal>
<normal>#BA5ECC</normal>
</override>
<call>
<normal>#FBBA00</normal>
<normal>#DEA400</normal>
<trail_focus>#FFFFFF</trail_focus>
</call>
<use>
<normal>#2A6484</normal>
<normal>#00A0B6</normal>
</use>
<template_argument>
<normal>#C1305D</normal>
<normal>#D93D5F</normal>
</template_argument>
<type_argument>
<like>template_argument</like>
@@ -430,11 +518,28 @@
</aggregation>
</edge>
</graph>
<tab>
<background>#494949</background>
<bar>
<background>#808080</background>
<border>#BEBEBE</border>
<button>
<text>white</text>
<background>
<normal>#808080</normal>
<hover>#505050</hover>
<press>#494949</press>
</background>
</button>
</bar>
</tab>
<table>
<background>#494949</background>
<table>#C4C4C4</table>
<table>#D4D4D4</table>
<text>
<normal>#C4C4C4</normal>
<normal>#D4D4D4</normal>
<active>black</active>
</text>
<table_line_1>
@@ -446,10 +551,23 @@
<active>#7B7B7B</active>
</table_line_2>
</table>
<tab>
<background>#494949</background>
<active>#C4C4C4</active>
<hover>#878787</hover>
<text>#878787</text>
</tab>
<screen_search>
<background>#808080</background>
<border>#BEBEBE</border>
<box>
<background>#494949</background>
<text>#D4D4D4</text>
<match_label>#CCCCCC</match_label>
</box>
<filter>white</filter>
<button>
<normal>#494949</normal>
<hover>#606060</hover>
<press>#707070</press>
<disabled>#494949</disabled>
<icon>white</icon>
<icon_disabled>#666666</icon_disabled>
</button>
</screen_search>
</config>
+157 -36
View File
@@ -1,30 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<config>
<window>
<separator>#A2A2A2</separator>
<scrollbar>
<background>transparent</background>
<handle>#80999999</handle>
<line>#80999999</line>
</scrollbar>
<dock>
<text>black</text>
<background>#E0E0E0</background>
<line>#BEBEBE</line>
<icon_type>grey</icon_type> <!-- white, grey, black -->
</dock>
<button>
<text>black</text>
<background>white</background>
<border>#AAA</border>
<border_hover>#878787</border_hover>
<icon>black</icon>
</button>
</window>
<search>
<background>white</background>
<button>
<normal>#E0E0E0</normal>
<hover>#B2B2B2</hover>
<press>#626262</press>
<normal>#D0D0D0</normal>
<hover>#A2A2A2</hover>
<press>#727272</press>
<disabled>#F2F2F2</disabled>
<icon>white</icon>
<icon_disabled>#DEDEDE</icon_disabled>
<icon_disabled>#CECECE</icon_disabled>
</button>
<field>
<text>black</text>
<background>#E0E0E0</background>
<highlight>#B2B2B2</highlight>
<background>#D0D0D0</background>
<border>#D0D0D0</border>
<highlight>#A2A2A2</highlight>
</field>
<popup>
<text>black</text>
<by_text>#626262</by_text>
<by_text>#525252</by_text>
<background>white</background>
<highlight>#D0D0D0</highlight>
<line>#E0E0E0</line>
<line>#D0D0D0</line>
</popup>
<query>
@@ -72,21 +95,22 @@
</search>
<code>
<background>white</background>
<background>#F6F6F6</background>
<navigation>
<text>#B2B2B2</text>
<line>#B2B2B2</line>
<background>white</background>
<text>#727272</text>
<line>#A2A2A2</line>
</navigation>
<file>
<background>#E0E0E0</background>
<background>#D0D0D0</background>
<title>
<text>black</text>
<normal>#E0E0E0</normal>
<normal>#D0D0D0</normal>
<hover>#B2B2B2</hover>
<press>#626262</press>
<press>#A2A2A2</press>
<icon>black</icon>
<border>white</border>
<hatching>bright</hatching>
@@ -111,7 +135,10 @@
<text>black</text>
<inactive_text>#A0A0A0</inactive_text>
<background>white</background>
<marker>#A0A0A0</marker>
<marker>
<active>#D0D0D0</active>
<focus>#727272</focus>
</marker>
</line_number>
<syntax>
@@ -119,15 +146,15 @@
<directive>#1B8856</directive>
<keyword>#1B8856</keyword>
<type>#C1492D</type>
<comment>#1A801A</comment>
<comment>#6B9AB2</comment>
<number>#C1315E</number>
<quotation>#865F9E</quotation>
<function>#CC9533</function>
<function>#B0812C</function>
</syntax>
<selection>
<text>black</text>
<background>#E0E0E0</background>
<background>#D0D0D0</background>
</selection>
<annotation>
@@ -173,10 +200,10 @@
<text>#000000</text>
</normal>
<focus>
<fill>#FFFF0000</fill>
<fill>#CCFF0000</fill>
</focus>
</error>
<fulltext>
<fulltext_search>
<normal>
<fill>#C7C7E2</fill>
<text>#000000</text>
@@ -184,7 +211,17 @@
<focus>
<fill>#ABABDD</fill>
</focus>
</fulltext>
</fulltext_search>
<screen_search>
<normal>
<border>transparent</border>
<fill>#8ADBBC</fill>
<text>#000000</text>
</normal>
<focus>
<fill>#DB97C2</fill>
</focus>
</screen_search>
</annotation>
</snippet>
</code>
@@ -195,7 +232,7 @@
<node>
<default>
<fill>
<normal>#ededed</normal>
<normal>#E6E6E6</normal>
</fill>
<border>
<normal>#3C3C3C</normal>
@@ -207,7 +244,7 @@
<normal>black</normal>
</icon>
<hatching>
<normal>white</normal>
<normal>#F5F5F5</normal>
</hatching>
</default>
@@ -232,6 +269,9 @@
<enum>
<like>type</like>
</enum>
<union>
<like>type</like>
</union>
<typedef>
<like>type</like>
</typedef>
@@ -251,6 +291,9 @@
<normal>transparent</normal>
<focus>#3C3C3C</focus>
</border>
<hatching>
<normal>#FFEDC4</normal>
</hatching>
</function>
<method>
<like>function</like>
@@ -265,6 +308,9 @@
<normal>transparent</normal>
<focus>#3C3C3C</focus>
</border>
<hatching>
<normal>#B3D4E5</normal>
</hatching>
</global_variable>
<field>
<like>global_variable</like>
@@ -273,9 +319,9 @@
<like>global_variable</like>
</enum_constant>
<non_indexed>
<symbol>
<like>type</like>
</non_indexed>
</symbol>
<namespace>
<fill>
<normal>#EFC5C5</normal>
@@ -287,6 +333,9 @@
<icon>
<normal>#3D3D3D</normal>
</icon>
<hatching>
<normal>#FFDEDE</normal>
</hatching>
</namespace>
<package>
<like>namespace</like>
@@ -294,13 +343,16 @@
<file>
<fill>
<normal>#DDD</normal>
<focus>#CCC</focus>
<normal>#BEE0AF</normal>
<focus>#A6D492</focus>
</fill>
<border>
<normal>#203C3C3C</normal>
<focus>#3C3C3C</focus>
</border>
<hatching>
<normal>#D7F7C8</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -347,9 +399,51 @@
<normal>transparent</normal>
</fill>
<text>
<normal>#B2B2B2</normal>
<normal>#A2A2A2</normal>
</text>
</text>
<group>
<default>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#D0D0D0</normal>
</border>
</default>
<file>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#5C5C5C</normal>
</text>
<border>
<normal>#BEE0AF</normal>
<focus>#A6D492</focus>
</border>
</file>
<namespace>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#5C5C5C</normal>
</text>
<border>
<normal>#EFC5C5</normal>
<focus>#EFB3B3</focus>
</border>
</namespace>
<inheritance>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#878787</normal>
</border>
</inheritance>
</group>
</node>
<edge>
<default>
@@ -357,7 +451,7 @@
</default>
<override>
<normal>#CC5E89</normal>
<normal>#A37ACC</normal>
</override>
<call>
@@ -370,7 +464,7 @@
</use>
<template_argument>
<normal>#C1305D</normal>
<normal>#CF6B7C</normal>
</template_argument>
<type_argument>
<like>template_argument</like>
@@ -391,15 +485,23 @@
</aggregation>
</edge>
</graph>
<error>
<background>white</background>
</error>
<tab>
<background>white</background>
<active>black</active>
<hover>#878787</hover>
<text>#878787</text>
<bar>
<background>#E0E0E0</background>
<border>#BEBEBE</border>
<button>
<text>black</text>
<background>
<normal>#E0E0E0</normal>
<hover>#F0F0F0</hover>
<press>#FFFFFF</press>
</background>
</button>
</bar>
</tab>
<table>
<background>white</background>
<table>#aaa</table>
@@ -416,4 +518,23 @@
<active>grey</active>
</table_line_2>
</table>
<screen_search>
<background>#E0E0E0</background>
<border>#BEBEBE</border>
<box>
<background>white</background>
<text>black</text>
<match_label>#727272</match_label>
</box>
<filter>black</filter>
<button>
<normal>white</normal>
<hover>#F2F2F2</hover>
<press>#CECECE</press>
<disabled>white</disabled>
<icon>#727272</icon>
<icon_disabled>#CECECE</icon_disabled>
</button>
</screen_search>
</config>
+160 -36
View File
@@ -1,13 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<config>
<window>
<separator>#CCC</separator>
<scrollbar>
<background>transparent</background>
<handle>#80999999</handle>
<line>#80999999</line>
</scrollbar>
<dock>
<text>#F7F7F7</text>
<background>#555555</background>
<line>#808080</line>
<icon_type>white</icon_type> <!-- white, grey, black -->
</dock>
<button>
<text>white</text>
<background>#3A3A3A</background>
<border>#C5C5C5</border>
<border_hover>white</border_hover>
<icon>white</icon>
</button>
</window>
<search>
<background>#272728</background>
<button>
<normal>#777777</normal>
<hover>#555555</hover>
<press>#444444</press>
<normal>#555555</normal>
<hover>#404040</hover>
<press>#3A3A3A</press>
<disabled>#333333</disabled>
<icon>white</icon>
<icon_disabled>#777777</icon_disabled>
@@ -15,8 +37,9 @@
<field>
<text>#F7F7F7</text>
<background>#777777</background>
<highlight>#555555</highlight>
<background>#272728</background>
<border>#555555</border>
<highlight>#999999</highlight>
</field>
<popup>
@@ -24,7 +47,7 @@
<by_text>#A0A0A0</by_text>
<background>#272728</background>
<highlight>#333333</highlight>
<line>#444444</line>
<line>#4A4A4A</line>
</popup>
<query>
@@ -72,21 +95,22 @@
</search>
<code>
<background>#272728</background>
<background>#313132</background>
<navigation>
<text>#A0A0A0</text>
<background>#272728</background>
<text>#C5C5C5</text>
<line>#CCC</line>
</navigation>
<file>
<background>#777777</background>
<background>#5C5C5C</background>
<title>
<text>#F7F7F7</text>
<normal>#777777</normal>
<hover>#555555</hover>
<press>#444444</press>
<normal>#5C5C5C</normal>
<hover>#4A4A4A</hover>
<press>#404040</press>
<icon>white</icon>
<border>#272728</border>
<hatching>dark</hatching>
@@ -111,7 +135,10 @@
<text>#F7F7F7</text>
<inactive_text>#A0A0A0</inactive_text>
<background>#272728</background>
<marker>#969696</marker>
<marker>
<active>#797979</active>
<focus>#F7F7F7</focus>
</marker>
</line_number>
<syntax>
@@ -119,7 +146,7 @@
<directive>#1F9C62</directive>
<keyword>#1F9C62</keyword>
<type>#D95233</type>
<comment>#A0A0A4</comment>
<comment>#4E768A</comment>
<number>#CC3463</number>
<quotation>#9368AD</quotation>
<function>#D69C36</function>
@@ -137,12 +164,12 @@
<fill>transparent</fill>
</normal>
<focus>
<border>#F7F7F7</border>
<border>#D5D5D5</border>
<fill>transparent</fill>
</focus>
<active>
<border>transparent</border>
<fill>#F7F7F7</fill>
<fill>#D5D5D5</fill>
<text>#272728</text>
</active>
</token>
@@ -171,14 +198,14 @@
<error>
<normal>
<border>transparent</border>
<fill>#A0FF0000</fill>
<fill>#BBFF0000</fill>
<text>#000000</text>
</normal>
<focus>
<fill>#FFFF0000</fill>
</focus>
</error>
<fulltext>
<fulltext_search>
<normal>
<fill>#207EA8</fill>
<text>#F7F7F7</text>
@@ -187,7 +214,17 @@
<border>#006D93</border>
<fill>#134B63</fill>
</focus>
</fulltext>
</fulltext_search>
<screen_search>
<normal>
<border>transparent</border>
<fill>#6EDB42</fill>
<text>#000000</text>
</normal>
<focus>
<fill>#FF52E8</fill>
</focus>
</screen_search>
</annotation>
</snippet>
</code>
@@ -198,7 +235,7 @@
<node>
<default>
<fill>
<normal>#4D4D4D</normal>
<normal>#5A5A5A</normal>
</fill>
<border>
<normal>#C3C3C3</normal>
@@ -210,7 +247,7 @@
<normal>#F7F7F7</normal>
</icon>
<hatching>
<normal>#272728</normal>
<normal>#3D3D3D</normal>
</hatching>
</default>
@@ -235,6 +272,9 @@
<enum>
<like>type</like>
</enum>
<union>
<like>type</like>
</union>
<typedef>
<like>type</like>
</typedef>
@@ -254,6 +294,9 @@
<normal>transparent</normal>
<focus>#C3C3C3</focus>
</border>
<hatching>
<normal>#544815</normal>
</hatching>
</function>
<method>
<like>function</like>
@@ -268,6 +311,9 @@
<normal>transparent</normal>
<focus>#C3C3C3</focus>
</border>
<hatching>
<normal>#17384A</normal>
</hatching>
</global_variable>
<field>
<like>global_variable</like>
@@ -276,9 +322,9 @@
<like>global_variable</like>>
</enum_constant>
<non_indexed>
<symbol>
<like>type</like>
</non_indexed>
</symbol>
<namespace>
<fill>
<normal>#78282D</normal>
@@ -290,6 +336,9 @@
<icon>
<normal>#C3C3C3</normal>
</icon>
<hatching>
<normal>#521B1F</normal>
</hatching>
</namespace>
<package>
<like>namespace</like>
@@ -298,12 +347,15 @@
<file>
<fill>
<normal>#1B564E</normal>
<focus>#247368</focus>
<focus>#21695F</focus>
</fill>
<border>
<normal>#20C3C3C3</normal>
<focus>#C3C3C3</focus>
</border>
<hatching>
<normal>#123B35</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -353,6 +405,48 @@
<normal>#777777</normal>
</text>
</text>
<group>
<default>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#5A5A5A</normal>
</border>
</default>
<file>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#C3C3C3</normal>
</text>
<border>
<normal>#1B564E</normal>
<focus>#1E6158</focus>
</border>
</file>
<namespace>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#C3C3C3</normal>
</text>
<border>
<normal>#78282D</normal>
<focus>#872D33</focus>
</border>
</namespace>
<inheritance>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#797979</normal>
</border>
</inheritance>
</group>
</node>
<edge>
<default>
@@ -360,7 +454,7 @@
</default>
<override>
<normal>#CC5E89</normal>
<normal>#8A5A94</normal>
</override>
<call>
@@ -373,7 +467,7 @@
</use>
<template_argument>
<normal>#C1305D</normal>
<normal>#C14057</normal>
</template_argument>
<type_argument>
<like>template_argument</like>
@@ -396,20 +490,37 @@
</macro_use>
<aggregation>
<normal>#3D3D3D</normal>
<focus>#4D4D4D</focus>
<normal>#4D4D4D</normal>
<focus>#6D6D6D</focus>
</aggregation>
</edge>
</graph>
<tab>
<background>#272728</background>
<bar>
<background>#555555</background>
<border>#BEBEBE</border>
<button>
<text>white</text>
<background>
<normal>#555555</normal>
<hover>#2F2F2F</hover>
<press>#272728</press>
</background>
</button>
</bar>
</tab>
<table>
<background>#272728</background>
<table>white</table>
<table>#C5C5C5</table>
<text>
<normal>white</normal>
<active>black</active>
</text>
<table_line_1>
<normal>darkgrey</normal>
<normal>#272728</normal>
<active>#969696</active>
</table_line_1>
<table_line_2>
@@ -417,10 +528,23 @@
<active>#969696</active>
</table_line_2>
</table>
<tab>
<background>#272728</background>
<active>white</active>
<hover>#878787</hover>
<text>#878787</text>
</tab>
<screen_search>
<background>#555555</background>
<border>#BEBEBE</border>
<box>
<background>#272728</background>
<text>#F7F7F7</text>
<match_label>#C5C5C5</match_label>
</box>
<filter>#F7F7F7</filter>
<button>
<normal>#272728</normal>
<hover>#333333</hover>
<press>#555555</press>
<disabled>#272728</disabled>
<icon>white</icon>
<icon_disabled>#555555</icon_disabled>
</button>
</screen_search>
</config>
@@ -5,7 +5,7 @@
<window_base_height>500</window_base_height>
</application>
<indexing>
<indexer_thread_count>4</indexer_thread_count>
<indexer_thread_count>0</indexer_thread_count>
</indexing>
<user>
<recent_projects>
+3 -3
View File
@@ -1,8 +1,8 @@
[General]
DOCK_LOCATIONS=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x2\0\0\x4\x83\0\0\x2\xb3\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x4\x90\0\0\0\0\0\xff\xff\xff\xfc\x2\0\0\0\x1\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0L\0o\0g\0\0\0\x2\xc6\0\0\0\xc1\0\0\0\0\0\0\0\0\xfc\0\0\0\0\0\0\x4\x83\0\0\x2\x46\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\x16\0\0\x2\xb3\0\0\0\xa3\0\xff\xff\xff\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x2P\0\0\x1\x65\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\x16\0\0\0M\0\0\0\x44\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0G\0r\0\x61\0p\0h\x1\0\0\0g\0\0\x2\x62\0\0\0[\0\xff\xff\xff\xfb\0\0\0\x10\0\x44\0o\0\x63\0k\0\x43\0o\0\x64\0\x65\x1\0\0\x2T\0\0\x2/\0\0\0\xdd\0\xff\xff\xff\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0t\0\x61\0t\0u\0s\0\0\0\x2I\0\0\0\xcb\0\0\0\xcb\0\xff\xff\xff\0\0\x4\x83\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
DOCK_LOCATIONS=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x2\0\0\x4~\0\0\x2\xa1\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x4\x90\0\0\0\0\0\xff\xff\xff\xfc\x2\0\0\0\x1\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0L\0o\0g\0\0\0\x2\xc6\0\0\0\xc1\0\0\0\0\0\0\0\0\xfc\0\0\0\0\0\0\x4~\0\0\x2[\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\0\0\0\x2\xa1\0\0\0\x8c\0\xff\xff\xfe\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x2\x84\0\0\x1z\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\0\0\0-\0\0\0-\0\xff\xff\xfe\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0G\0r\0\x61\0p\0h\x1\0\0\0.\0\0\x2s\0\0\0G\0\xff\xff\xfe\xfb\0\0\0\x10\0\x44\0o\0\x63\0k\0\x43\0o\0\x64\0\x65\x1\0\0\x2\x85\0\0\x1\xf9\0\0\0\xe0\0\xff\xff\xff\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0t\0\x61\0t\0u\0s\0\0\0\x2I\0\0\0\xcb\0\0\0\xa8\0\xff\xff\xfe\0\0\x4~\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
[MainWindow]
maximized=false
size=@Size(1200 800)
position=@Point(80 50)
showTitleBars=true
showTitleBars=false
size=@Size(1150 700)
+2 -12
View File
@@ -4,16 +4,6 @@
font-weight: 100;
}
#closeButton {
background: transparent;
border: none;
color: white;
font-size: 14px;
height: 24px;
width: 24px;
}
#closeButton:hover {
border: 2px solid white;
border-radius: 12px;
#window {
background: qlineargradient( x1:0 y1:0.4, x2:0 y2:1, stop:0 #2F3F86, stop:1 #1C7BBC );
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

@@ -2,8 +2,6 @@
#header_background {
background-color: #2E3C86;
border-top-left-radius: 15px;
border-bottom-left-radius: 15px;
}
#title {
@@ -142,8 +140,6 @@
#creator_header_background {
background-color: #2E3C86;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}
#creator_title_label {
+39 -50
View File
@@ -1,13 +1,21 @@
#code_navigation, #code_container, #code_file_list, #code_file_single {
#code_container, #code_file_list {
background-color: <color:code/background>;
}
#code_file_single {
background-color: <color:code/snippet/background>;
}
#code_navigation {
background-color: <color:code/navigation/background>;
}
#code_container, #code_file_list {
border: none;
}
#separator_gap {
background-color: <color:code/background>;
background-color: <color:code/navigation/background>;
border: none;
}
@@ -82,50 +90,57 @@
background-color: <color:code/snippet/background>;
border: 2px solid <color:code/file/background>;
border-radius: 12px;
border-top-left-radius: 14px;
border-top-right-radius: 14px;
font-size: <setting:font_size>px;
padding-bottom: 7px;
}
#code_file #title_widget {
#title_bar, #title_bar_single {
background-color: <color:code/file/background>;
font-size: <setting:font_size>px;
border: none;
}
#title_bar[hovering=false] {
border-top-left-radius: 7px;
border-top-right-radius: 7px;
font-size: <setting:font_size>px;
}
#title_bar_single {
background-color: <color:code/file/background>;
padding-right: 5px;
}
#code_file #title_label, #single_file_title_bar #file_title {
#title_bar #screen_button, #title_bar_single #screen_button {
margin-right: 7px;
}
#title_button {
background-color: <color:code/file/title/normal>;
border: none;
border-radius: 3px;
color: <color:code/file/title/text>;
font-size: <setting:font_size>px;
padding: 2px 4px;
margin: 1px 8px;
}
#code_file #title_label {
margin: 1px 8px 3px;
}
#single_file_title_bar #file_title {
#title_bar_single #title_button {
margin: 3px 8px;
}
#code_file #title_label:hover, #single_file_title_bar #file_title:hover {
#title_button:hover {
background-color: <color:code/file/title/hover>;
}
#code_file #title_label:pressed, #single_file_title_bar #file_title:pressed {
#title_button:pressed {
background-color: <color:code/file/title/press>;
}
#code_file #title_label[complete=false], #single_file_title_bar #file_title[complete=false] {
#title_button[complete=false] {
border: 1px solid <color:code/file/title/border>;
}
#code_file #references_label, #single_file_title_bar #references_label {
#references_label {
background-color: <color:code/file/ref_count/background>;
border: none;
border-radius: 10px;
@@ -141,11 +156,6 @@
font-size: <setting:font_size>px;
}
#code_file #code_snippet[isFirst=true] {
border: none;
padding-top: 0px;
}
#code_file #code_snippet #scope_name, #code_file #code_snippet #dots {
background-color: <color:code/snippet/title/background>;
border: none;
@@ -178,45 +188,24 @@
}
#code_area {
background-color: transparent;
background-color: <color:code/snippet/background>;
color: <color:code/snippet/syntax/normal>;
font-family: "<setting:font_name>";
font-size: <setting:font_size>px;
selection-color: <color:code/snippet/selection/text>;
selection-background-color: <color:code/snippet/selection/background>;
}
#code_file #maximize_button, #code_file #snippet_button, #code_file #minimize_button {
#title_bar #file_button, #title_bar_single #file_button {
background: transparent;
border: none;
margin: 3px;
max-height: 16px;
max-width: 16px;
}
#code_file #maximize_button {
border-image: url(<setting:gui_path>code_view/images/maximize_inactive.png);
#title_bar #file_button:enabled, #title_bar_single #file_button:enabled {
border-image: url(<setting:gui_path>code_view/images/button_background.png);
}
#code_file #maximize_button:enabled {
border-image: url(<setting:gui_path>code_view/images/maximize_active.png);
}
#code_file #snippet_button {
border-image: url(<setting:gui_path>code_view/images/snippet_inactive.png);
}
#code_file #snippet_button:enabled {
border-image: url(<setting:gui_path>code_view/images/snippet_active.png);
}
#code_file #minimize_button {
border-image: url(<setting:gui_path>code_view/images/minimize_inactive.png);
}
#code_file #minimize_button:enabled {
border-image: url(<setting:gui_path>code_view/images/minimize_active.png);
}
#single_file_title_bar {
background-color: <color:code/file/background>;
padding-right: 5px;
#last_scroll_bar {
background-color: <color:code/snippet/background>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

+20 -1
View File
@@ -14,7 +14,7 @@ QPushButton:disabled {
background: <color:search/button/disabled>;
}
QPushButton:hover {
QPushButton:hover, QPushButton:checked {
background: <color:search/button/hover>;
}
@@ -25,6 +25,7 @@ QPushButton:pressed {
#expand_button {
max-width: 26px;
max-height: 26px;
border-radius: 9px;
}
#collapse_button {
@@ -82,3 +83,21 @@ QPushButton:pressed {
#depth_slider::groove:disabled, #depth_slider::handle:disabled {
background: <color:search/button/icon_disabled>;
}
#group_left_button {
border-radius: 0;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
max-width: 26px;
max-height: 26px;
padding-left: 2px;
}
#group_right_button {
border-radius: 0;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
max-width: 26px;
max-height: 26px;
padding-right: 2px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,22 @@
#history, #history_list {
background: <color:search/popup/background>;
border: none;
}
QListWidget::item {
border: none;
border-bottom: 1px solid <color:search/popup/background>;
}
#history_item, #history_item_current {
border: none;
color: <color:search/popup/text>;
font-family: "<setting:font_name>";
font-size: <setting:font_size>px;
padding-left: 22px;
padding-top: 1px;
}
#history_item_current {
font-weight: bold;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@@ -1,4 +1,4 @@
QLabel, QCheckBox {
QLabel, QCheckBox, QRadioButton {
color: white;
}
@@ -24,6 +24,15 @@ QLabel, QCheckBox {
font-weight: bold;
}
#option {
font-size: 14px;
margin-left: 15px;
}
#option:disabled {
color: #A0FFFFFF;
}
#filePath {
font-size: 11px;
}
File diff suppressed because it is too large Load Diff
+132 -97
View File
@@ -1,97 +1,132 @@
Sourcetrail
Software License Agreement (“Agreement”)
Effective 15.2.2017
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
DEFINITIONS
"Software" means:
• A major version of Sourcetrail in executable form. The major version is defined by the leading number of the version string (e.g. the major version of Sourcetrail 1.x.x is version 1);
documentation for that major version of Sourcetrail;
minor updates included in software maintenance which are indicated by an increase in the numbers that follow the major version number (e.g. the update from Sourcetrail 1.0.0 to Sourcetrail 1.1.0).
"Licensor" means:
• Coati Software OG, having a place of business at Jakob-Haringer-Straße 1/127, 5020 Salzburg, Austria.
"Licensee" means:
• the individual who purchased a License(s) for the Software;
• the individual who was granted a Test License(s) for the Software;
the individual evaluating the Software in trial mode;
the company, corporation, or organization that purchased a License(s) for the Software;
the company, corporation, or organization that was granted a Test License(s) for the Software.
"Activation Key" means:
• the name of the Licensee, the kind of license, the major version of the Software that is licensed, and a hash-code; the combination of these values allows the Licensee to activate the full functionality of a genuine copy of the Software.
"Authorized User" means:
• the individual who purchased a License(s) for the Software; the individual is the only Authorized User;
the individual who was granted a Test License(s) for the Software; the individual is the only Authorized User;
• the individual evaluating the Software in trial mode;
• an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization that purchased a License(s) for the Software; an entity has one Authorized User for each License purchased;
an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization was granted a Test License(s) for the Software; an entity has one Authorized User for each License purchased.
GRANT
Subject to the terms of this Agreement, the Licensor hereby grants the Licensee a non-transferable, non-exclusive, non-sub-licensable, limited license that allows:
• the Licensee to distribute (an) Activation Key(s) to Authorized User(s);
• Authorized User(s) to install the licensed version of the Software on computer PCs where potential use of the Software is restricted exclusively to Authorized User(s);
• Authorized User(s) to use the Software on computer PCs and in virtual machines.
• Licensee to make a copy of the Software for archival purposes provided the copy contains all of the proprietary notices of the Software.
• In case the Licensee of the software is a company, corporation, or organization the Licensor has the right to mention this usage of the Software on its own website.
RESTRICTIONS
Licensee will not, and will have no right to:
• distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;
• modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the Software;
• sell, rent, lease, distribute, or otherwise transfer rights to the Software without prior written consent from Licensor;
• remove any proprietary notices or labels from the Software.
Authorized User(s) will not, and will have no right to:
• use the trial mode of the Software for any commercial purposes;
• use a Private/Academic License of the software for any commercial purposes.
TITLE AND COPYRIGHT
Title, ownership rights, intellectual property rights, and copyright to the Software, and any copies or portions thereof, shall remain in Licensor. The Software is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.
DISCLAIMER OF WARRANTY
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
LIMITATION OF LIABILITY
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
TERMINATION
The license granted herein shall be perpetual. If Licensee fails to comply with any of the terms of this Agreement, this Agreement and the rights granted herein will terminate immediately. Licensor may, at its sole discretion and at any time, terminate this Agreement. On termination, Licensee must cease using and destroy all copies of the Software.
EXPORT CONTROLS
Licensee shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Außenwirtschaftsgesetz 2011, BGBl I No. 26/2011. Licensee shall not export, re-export or otherwise transfer the Software to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. Licensee represents and warrants that licensee is not located in, under the control of, or a national or resident of any restricted country or on any such list.
THIRD PARTY CREDITS
Portions of the Software utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the Software, and are accessible via the “3rd Party Licenses” dialog for the Software. Licensee agrees that use of such copyrighted materials is governed by their respective terms.
ENTIRE AGREEMENT
This Agreement represents the complete agreement concerning this Software between the parties and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both parties. Coati Software OG reserves the exclusive right to periodically update this Agreement at its discretion at any time, with reasonable notice to you by posting the new Agreement at the following URL: <http://www.sourcetrail.com/>. Any action arising out of or relating to this Agreement may be brought exclusively in Salzburg, Austria, and Coati Software OG and you irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
CONTACT
If you have questions regarding this agreement, contact:
Coati Software OG
Jakob-Haringer-Straße 1/127
5020 Salzburg
Austria
support@sourcetrail.com
Sourcetrail
Software License Agreement (“AGREEMENT”)
Last date of change: 2018-04-06
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
1. DEFINITIONS
"SOFTWARE" means:
* a version of the cross-platform source code explorer known as Sourcetrail in executable form. The version is defined by the two leading numbers of the version string (e.g. the version of Sourcetrail 2017.1.x is version 2017.1); and
* documentation for that version of Sourcetrail; and
* minor updates included in software maintenance which are indicated by an increase in the digits that follow the first two leading numbers of the version string (e.g. the update from Sourcetrail 2017.1.0 to Sourcetrail 2017.1.1 is a minor update).
"LICENSE" means:
* the permission to use and distribute the SOFTWARE as defined by the following sections of this document. The permissions granted especially depend on whether a SOFTWARE Non-Commercial License or a SOFTWARE Commercial License is agreed-upon.
"LICENSOR" means:
* Coati Software KG, having a place of business at Jakob-Haringer-Straße 1/127, 5020 Salzburg, Austria.
"LICENSEE" means:
* the individual who purchased a LICENSE(s) for the SOFTWARE;
* the individual who was granted a LICENSE(s) for the SOFTWARE by LICENSOR;
* the company, corporation, organization, or legal entity that purchased a LICENSE(s) for the SOFTWARE;
* the company, corporation, organization, or legal entity that was granted a LICENSE(s) for the SOFTWARE by LICENSOR.
"PARTIES" means:
* both LICENSOR and LICENSEE collectively.
"AUTHORIZED USER" means:
* the individual who is LICENSEE of the SOFTWARE. This individual is the only AUTHORIZED USER;
* an employee who is nameable on demand and might at any time use the SOFTWARE, of LICENSEE. Every AUTHORIZED USER known by name can be replaced by another user known by name only once in a month. From that time on, said first user must not use the SOFTWARE anymore and said second user may start to use the SOFTWARE. At no time may the number of the users known by name exceed the agreed-upon number of AUTHORIZED USER(s).
"ACTIVATION KEY" means:
* a document issued by LICENSOR that defines all parameters of the SOFTWARE Commercial License. Said document specifies the name of the licensed SOFTWARE, the name of LICENSEE, the license type, the agreed-upon number of AUTHORIZED USERS, an upper limit for the licensed SOFTWARE version or an expiration date, and a hash-code. The combination of these values allows LICENSEE to unlock the full functionality of a genuine copy of the SOFTWARE for intended commercial use.
2. GRANT
The SOFTWARE is handed over to LICENSEE for its intended use. The scope of the intended use permitted by this AGREEMENT depends on whether a SOFTWARE Non-Commercial License or a SOFTWARE Commercial License is agreed-upon. If a SOFTWARE Non-Commercial License is agreed-upon LICENSEE is allowed to use the SOFTWARE solely for non-commercial purposes. A purpose is non-commercial only if it is in no manner primarily intended for or directed toward commercial advantage or private monetary compensation.
Examples of non-commercial purposes:
* you are using the SOFTWARE to work on open-source projects for free;
* you are a student and you are using the SOFTWARE for your academic projects;
* you are using the SOFTWARE in your spare time to work on the desktop application of your local football club for free.
Examples of commercial purposes, i.e. when you will need a Commercial License:
* you are using the SOFTWARE to work on open-source as well as on your company's projects;
* you are a student and you are using the SOFTWARE for your work as a freelancer;
* you are using the SOFTWARE in your spare time to work on the desktop application of your local football club and you are getting paid for that.
Subject to the terms of this AGREEMENT, LICENSOR hereby grants LICENSEE a worldwide, non-transferable, non-exclusive, non-sub-licensable, limited LICENSE that allows:
* LICENSEE to distribute (an) ACTIVATION KEY(s) to AUTHORIZED USER(s);
* LICENSEE and AUTHORIZED USER(s) to install the SOFTWARE on any number of computer PCs where potential use of the full functionality of the SOFTWARE is restricted exclusively to AUTHORIZED USER(s);
* LICENSEE and AUTHORIZED USER(s) to use the command-line interface of the SOFTWARE without unlocking the full functionality of the SOFTWARE;
* LICENSEE and AUTHORIZED USER(s) to use an ACTIVATION KEY to unlock the full functionality of the SOFTWARE for intended commercial use;
* LICENSEE and AUTHORIZED USER(s) to truthfully declare their intend to solely use the SOFTWARE for non-commercial purposes to unlock the full functionality of the SOFTWARE for intended non-commercial use;
* AUTHORIZED USER(s) to apply any version of the unlocked SOFTWARE that specifies a version number less than or equal to the version number denoted in the ACTIVATION KEY to the permitted intended use. If the ACTIVATION KEY does not denote a version number, the AUTHORIZED USER is allowed to use any version of the SOFTWARE for a period of time that is limited by the expiration date specified in the ACTIVATION KEY;
* LICENSEE to make a copy of the SOFTWARE for archival purposes provided the copy contains all of the proprietary notices of the SOFTWARE.
3. RESTRICTIONS
LICENSEE and AUTHORIZED USER(s) will not, and will have no right to:
* modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the SOFTWARE;
* sell, rent, lease, distribute, or otherwise transfer rights to the SOFTWARE without prior written consent from LICENSOR;
* remove any proprietary notices or labels from the SOFTWARE;
* distribute, use, or transfer an ACTIVATION KEY(s) that has been superseded by an ACTIVATION KEY(s) provided with software maintenance.
4. CONFIDENTIALITY
The SOFTWARE contains a feature that will automatically connect to LICENSOR's servers to check for a new program version. The data sent in this process contains NO POTENTIALLY SENSITIVE INFORMATION. The user can opt-out from this feature.
Unless a valid non-disclosure agreement exists between the Parties, in which case the terms of that non-disclosure agreement shall apply, the following terms shall: Except as necessary for its performance under the AGREEMENT or required by law, LICENSOR shall not disclose to anyone any information furnished by LICENSEE that is marked as confidential or proprietary.
5. TITLE AND COPYRIGHT
Title, ownership rights, intellectual property rights, and copyright to the SOFTWARE, and any copies or portions thereof, shall remain in LICENSOR. The SOFTWARE is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.
6. DISCLAIMER OF WARRANTY
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
7. LIMITATION OF LIABILITY
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
8. TERMINATION
The LICENSE granted herein shall be perpetual. If LICENSEE fails to comply with any of the terms of this AGREEMENT, this AGREEMENT and the rights granted herein will terminate immediately. As such the Non-Commercial LICENSE terminates automatically if the usage of SOFTWARE becomes commercial. LICENSOR may, at its sole discretion and at any time, terminate this AGREEMENT. On termination, LICENSEE must cease using and destroy all copies of the SOFTWARE.
9. EXPORT CONTROLS
LICENSEE shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Außenwirtschaftsgesetz 2011, BGBl I No. 26/2011. LICENSEE shall not export, re-export or otherwise transfer the SOFTWARE to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. LICENSEE represents and warrants that LICENSEE is not located in, under the control of, or a national or resident of any restricted country or on any such list.
10. YOUR RESPONSIBILITIES.
LICENSEE agrees to immediately notify LICENSOR in writing of any misuse, misappropriation or unauthorized use, disclosure, display or copying of the SOFTWARE that may come to LICENSEE's attention. In addition, LICENSEE agrees to defend, indemnify and hold LICENSOR, its suppliers and any of its directors, officers, employees or affiliates of any of the foregoing harmless from any and all claims resulting from or arising out of LICENSEE's use of the Software or breach of this AGREEMENT.
11. THIRD PARTY CREDITS
Portions of the SOFTWARE utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the SOFTWARE, and are accessible via the “3rd Party Licenses” dialog for the SOFTWARE. LICENSEE agrees that use of such copyrighted materials is governed by their respective terms.
12. SEVERABILITY
If a particular term of this AGREEMENT is not enforceable, the unenforceability of that term will not affect any other terms of this AGREEMENT.
13. HEADINGS
The section headings used herein are for convenience only and do not affect the interpretation of this AGREEMENT.
14. NO WAIVER
LICENSOR's failure to enforce or exercise any part of this AGREEMENT is not a waiver of that part.
15. ENTIRE AGREEMENT
This AGREEMENT represents the complete agreement concerning this SOFTWARE between the PARTIES and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both PARTIES. The inclusion of LICENSEE's own terms and conditions is contradicted, unless their validity has explicitly been agreed to. LICENSOR reserves the exclusive right to update this AGREEMENT for new SOFTWARE versions. By using these new SOFTWARE versions the new AGREEMENT supersedes any older one. Any action arising out of or relating to this AGREEMENT may be brought exclusively in Salzburg, Austria, and the PARTIES irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
CONTACT
If you have questions regarding this AGREEMENT, contact:
Coati Software KG
Jakob-Haringer-Straße 1/127
5020 Salzburg
Austria
support@sourcetrail.com
+10 -3
View File
@@ -1,6 +1,9 @@
QLabel {
font-size: 12px;
color: black;
#title {
margin-left: 265px;
}
#licenseOption {
font-weight: bold;
}
#licenseField {
@@ -11,6 +14,10 @@ QLabel {
width: 470px;
}
#licenseField:disabled {
background: #F5F5F5;
}
#licenseError {
color: red;
}
-6
View File
@@ -1,6 +0,0 @@
QToolTip {
background-color: #E0E0E0;
color: black;
font-size: <setting:font_size>px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

+57
View File
@@ -0,0 +1,57 @@
QToolTip {
background-color: #E0E0E0;
color: black;
font-size: <setting:font_size>px;
}
QPushButton {
outline: none;
}
QMainWindow::separator {
background: <color:window/separator>;
width: 1px;
}
QDockWidget {
color: <color:window/dock/text>;
font-size: 10pt;
titlebar-close-icon: url(<setting:gui_path>main/images/close_<color:window/dock/icon_type>.png);
titlebar-normal-icon: url(<setting:gui_path>main/images/float_<color:window/dock/icon_type>.png);
}
QDockWidget::title {
border-bottom: 1px solid <color:window/dock/line>;
background: <color:window/dock/background>;
text-align: center;
padding-top: 1px;
}
QDockWidget::close-button, QDockWidget::float-button {
background: transparent;
border: <platform_wml:0|0|1>px solid transparent;
icon-size: 12px;
margin-top: <platform_wml:0|2|2>px;
}
QDockWidget::close-button {
margin-left: <platform_wml:0|2|0>px;
}
QDockWidget::float-button {
margin-right: <platform_wml:0|2|0>px;
}
#screen_button {
background-color: <color:window/button/background>;
border: 1px solid <color:window/button/border>;
border-radius: 5px;
color: <color:window/button/text>;
font-size: <setting:font_size>px;
padding: 4px 6px;
margin: 2px 0px;
}
#screen_button:hover {
border: 1px solid <color:window/button/border_hover>;
}
+62
View File
@@ -0,0 +1,62 @@
QScrollBar:vertical, QScrollBar:horizontal {
background: <color:window/scrollbar/background>;
border: none;
margin: 0px;
}
QScrollBar:vertical {
width: 15px;
border-left: 1px solid <color:window/scrollbar/line>;
}
QScrollBar:horizontal {
height: 15px;
border-top: 1px solid <color:window/scrollbar/line>;
}
QScrollBar::handle:vertical, QScrollBar::handle:horizontal {
background: <color:window/scrollbar/handle>;
border: none;
border-radius: 4px;
}
QScrollBar::handle:vertical {
width: 8px;
min-height: 16px;
margin: 4px 3px;
}
QScrollBar::handle:horizontal {
height: 8px;
min-width: 16px;
margin: 3px 4px;
}
QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal {
background: transparent;
border: none;
height: 0px;
width: 0px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal {
background: transparent;
border: none;
height: 0px;
width: 0px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: none;
}
QAbstractScrollArea::corner {
background: transparent;
border: none;
border-left: 1px solid <color:window/scrollbar/line>;
border-top: 1px solid <color:window/scrollbar/line>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1,82 @@
#screen_search_bar {
border: none;
}
#screen_search_box {
padding-left: 10;
border-top: 1px solid #BEBEBE;
background: <color:screen_search/background>;
}
#search_box {
background: <color:screen_search/box/background>;
border: none;
color: <color:screen_search/box/text>;
font-family: <setting:font_name>;
font-size: <setting:font_size>px;
margin: 4px 0;
max-width: <setting:font_size*20>px;
min-height: 20px;
padding: 1px 0px 1px 0px;
}
#match_label {
border: none;
background: <color:screen_search/box/background>;
color: <color:screen_search/box/match_label>;
font-size: <setting:font_size-2>px;
margin: 4px 0;
padding-right: 4px;
text-align: right;
min-width: <setting:font_size*7>px;
min-height: 20px;
max-height: 40px;
}
#search_button, #prev_button, #next_button, #close_button {
background: <color:screen_search/button/normal>;
width: 20px;
min-height: 20px;
max-height: 40px;
border-radius: 0;
margin: 4px 0;
}
#search_button {
border-bottom-left-radius: 10px;
border-top-left-radius: 10px;
padding-left: 2px;
}
#prev_button {
margin: 4px 1px;
}
#next_button {
border-bottom-right-radius: 10px;
border-top-right-radius: 10px;
}
#prev_button:disabled, #next_button:disabled {
background: <color:screen_search/button/disabled>;
}
#prev_button:hover, #next_button:hover {
background: <color:screen_search/button/hover>;
}
#prev_button:pressed, #next_button:pressed {
background: <color:screen_search/button/press>;
}
#close_button {
background: transparent;
margin: 4px 6px;
padding-top: 1px;
}
#filter_checkbox {
color: <color:screen_search/filter>;
margin-left: 20px;
font-size: <setting:font_size-1>px;
}
+8 -5
View File
@@ -13,7 +13,7 @@
QWidget#search_box_container {
background: <color:search/field/background>;
border: none;
border: 2px solid <color:search/field/border>;
border-bottom-left-radius: 12px;
border-top-left-radius: 12px;
margin-left: 5px;
@@ -24,7 +24,6 @@ QLineEdit#search_box {
background-color: transparent;
border: none;
color: <color:search/field/text>;
margin-left: 5px;
selection-background-color: <color:search/field/highlight>;
}
@@ -35,10 +34,10 @@ QWidget#search_box_highlight {
QAbstractItemView#search_box_popup {
background-color: <color:search/popup/background>;
border: none;
border: 1px solid <color:search/popup/line>;
color: <color:search/popup/text>;
font-family: "<setting:font_name>";
margin: 8px 0 0;
margin: 0;
min-height: 26px;
selection-background-color: <color:search/popup/highlight>;
}
@@ -47,7 +46,7 @@ QAbstractItemView#search_box_popup {
background: <color:search/button/normal>;
border: none;
border-radius: 12px;
background-position: 15px 5px;
height: 30px;
width: 30px;
}
@@ -56,6 +55,10 @@ QAbstractItemView#search_box_popup {
border-top-left-radius: 0px;
}
#search_button:disabled, #home_button:disabled {
background: <color:search/button/disabled>;
}
#search_button:hover, #home_button:hover {
background: <color:search/button/hover>;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

+13 -2
View File
@@ -42,9 +42,20 @@
font-weight: bold;
}
#updateLabel {
color: black;
#updateButton, #upgradeButton {
margin: 1px 0 3px;
text-align: left;
padding: 0;
background: none;
border: none;
color: #007AC2;
font-size: 12px;
text-decoration: underline;
}
#updateButton:disabled, #upgradeButton:disabled {
color: black;
text-decoration: none;
}
#licenseHeaderLabel {
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+50 -64
View File
@@ -1,50 +1,55 @@
QTabWidget::pane {
background-color: <color:tab/background>;
border-top: <setting:font_size+15>px solid <color:tab/bar/background>;
top: -<setting:font_size+15>px;
}
QTabWidget::tab-bar {
alignment: left;
left: 7px;
bottom: -1px;
}
QTabBar::tab {
background-color: <color:tab/background>;
color: <color:tab/text>;
padding: 12px 75px 5px 12px;
border: 0px;
border-bottom: 4px solid <color:tab/background>;
/*font-size: <setting:font_size>px;*/
/*font-weight: bold;*/
background-color: <color:tab/bar/button/background/normal>;
border: 1px solid <color:tab/bar/border>;
border-top-left-radius: 7px;
border-top-right-radius: 7px;
color: <color:tab/bar/button/text>;
font-size: <setting:font_size>px;
height: <setting:font_size+8>;
margin-left: 3px;
margin-top: 4px;
width: 100px;
}
QTabBar::tab:hover {
border-bottom: 4px solid <color:tab/hover>;
background-color: <color:tab/bar/button/background/hover>;
}
QTabBar::tab:selected {
border-bottom: 4px solid <color:tab/active>;
color: <color:tab/active>;
QTabBar::tab:selected, QTabBar::tab:pressed {
background-color: <color:tab/bar/button/background/press>;
border-bottom: 1px solid <color:tab/bar/button/background/press>;
}
QTabWidget::pane {
top: 0px;
background: <color:tab/background>;
color: <color:tab/text>;
border: 0px;
margin: 0px;
padding: 0px;
QTabWidget #tab_content {
border-top: 1px solid <color:tab/bar/border>;
background-color: <color:tab/background>;
}
QTableView {
color: <color:table/text/normal>;
background-color: <color:table/table_line_1/normal>;
alternate-background-color: <color:table/table_line_2/normal>;
border-radius: 10px;
border-radius: 7px;
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
border: 1px solid <color:table/table>;
margin: 10px;
padding-right: 10px;
margin: 10px 10px 2px;
font-size: <setting:font_size>px;
}
QFrame {
background-color: <color:tab/background>;
}
QTableView::item {
border-left: 1px solid <color:table/table>;
}
@@ -59,6 +64,14 @@ QHeaderView {
background-color: transparent;
}
QHeaderView::up-arrow {
image: url(<setting:gui_path>tabbed_view/arrow_up.png);
}
QHeaderView::down-arrow {
image: url(<setting:gui_path>tabbed_view/arrow_down.png);
}
QHeaderView::section:horizontal {
background-color: transparent;
border: none;
@@ -67,7 +80,7 @@ QHeaderView::section:horizontal {
color: <color:table/text/normal>;
font-size: <setting:font_size>px;
font-weight: bold;
padding: 1px 6px;
padding: 2px 6px 1px;
height: <setting:font_size+5>px;
}
@@ -76,48 +89,21 @@ QHeaderView::section:vertical {
border: none;
color: <color:table/text/normal>;
font-size: <setting:font_size>px;
padding-right: 5px;
padding-left: 5px;
}
QCheckBox {
color: <color:table/text/normal>;
border-color: <color:table/table>;
/*background-color: <color:table/table>;*/
}
QScrollBar:vertical {
}
QScrollBar::handle:vertical {
min-height: 20px;
}
QScrollBar::add-line:vertical {
height: 20px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
height: 20px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
width: 3px;
height: 3px;
background: white;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: none;
padding: 2px 5px 1px;
}
QTableView QTableCornerButton::section {
background-color: <color:table/background>;
border-bottom: 1px solid <color:table/table>;
border-top-left-radius: 10px;
border-top-left-radius: 7px;
}
QCheckBox {
color: <color:table/text/normal>;
font-size: <setting:font_size>px;
}
#help_button {
background: transparent;
border: none;
}
@@ -0,0 +1,28 @@
#tooltip {
background-color: <color:code/file/background>;
border: 1px solid <color:code/file/background>;
border-bottom: none;
}
#tooltip_title {
color: <color:code/file/title/text>;
padding: 3px;
font-size: <setting:font_size>px;
font-weight: bold;
}
#tooltip_references {
background-color: <color:code/file/ref_count/background>;
color: <color:code/file/ref_count/text>;
margin: 4px;
padding: 3px 5px;
border-radius: 8px;
font-size: <setting:font_size-2>px;
}
#tooltip_widget {
background-color: <color:code/snippet/background>;
border-bottom: 1px solid <color:code/file/background>;
padding: 3px;
color: <color:code/snippet/syntax/normal>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

@@ -5,7 +5,6 @@
QPushButton {
background: <color:search/button/normal>;
border: none;
background-position: 15px 5px;
height: 30px;
width: 30px;
}
@@ -13,7 +12,6 @@ QPushButton {
#undo_button {
border-bottom-left-radius: 12px;
border-top-left-radius: 12px;
margin-right: 2px;
}
#redo_button {
@@ -21,6 +19,12 @@ QPushButton {
border-top-right-radius: 12px;
}
#history_button {
width: 14px;
margin-left: 2px;
margin-right: 2px;
}
QPushButton:disabled {
background: <color:search/button/disabled>;
}
+8 -4
View File
@@ -2,7 +2,7 @@
font-size: 12px;
}
QtDirectoryListBox {
QtListBox {
background-color: white;
border: 1px solid lightgray;
border-radius: 12px;
@@ -11,7 +11,7 @@ QtDirectoryListBox {
QListWidget {
background: transparent;
border: none;
margin: 2px 0 2px 0;
margin: 2px 0 0 0;
}
QListWidget::item {
@@ -23,7 +23,7 @@ QListWidget::item:selected {
background-color: #EEE;
}
QtListItemWidget #field {
QtListBoxItem #field {
background-color: transparent;
border: none;
color: black;
@@ -31,11 +31,15 @@ QtListItemWidget #field {
margin-left: 5px;
}
QtListBoxItem #field:disabled {
color: grey;
}
#bar {
border-top: 1px solid lightgray;
}
#iconButton, #dotsButton, #plusButton, #minusButton, #editButton {
#helpButton, #dotsButton, #plusButton, #minusButton, #editButton {
border: none;
color: white;
height: 1em;
Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

+70 -10
View File
@@ -14,6 +14,10 @@ QCheckBox:disabled {
color: gray;
}
#window {
background: white;
}
#title {
font-size: 16px;
font-weight: bold;
@@ -25,18 +29,15 @@ QCheckBox:disabled {
color: gray;
}
#projectTitle {
#sourceGroupTitle {
font-size: 14px;
font-weight: bold;
}
#projectTitle {
background: white;
padding: 5px;
margin-left: 40px;
}
#projectDescription {
#sourceGroupDescription {
font-size: 12px;
margin-left: 20px;
}
@@ -71,7 +72,7 @@ QCheckBox:disabled {
background: transparent;
}
#iconButton, #dotsButton {
#helpButton, #dotsButton {
border: none;
color: white;
height: 1em;
@@ -113,7 +114,7 @@ QCheckBox:disabled {
border: 1px solid lightgray;
border-radius: 8px;
color: black;
padding: 3px 5px 2px;
padding: 3px 8px 2px;
font-size: 14px;
min-width: 5em;
}
@@ -148,7 +149,7 @@ QCheckBox:disabled {
background: #CFD2E0;
}
#projectContainer {
#sourceGroupContainer {
background: white;
border: 1px solid lightgray;
border-radius: 8px;
@@ -156,7 +157,7 @@ QCheckBox:disabled {
margin-left: 20px;
}
#projectButton {
#sourceGroupButton {
background: white;
border-radius: 8px;
color: black;
@@ -166,7 +167,7 @@ QCheckBox:disabled {
margin-top: 10px;
}
#projectButton:hover, #projectButton:checked {
#sourceGroupButton:hover, #sourceGroupButton:checked {
background: #CFD2E0;
}
@@ -177,3 +178,62 @@ QCheckBox:disabled {
color: black;
padding: 6px;
}
#project_menu {
border-left: 1px solid lightgray;
}
#project_menu QListWidget {
background: white;
border: none;
border-bottom: 1px solid lightgray;
border-left: 1px solid lightgray;
color: black;
font-size: 12px;
}
#project_menu QListWidget::item, #project_menu #general_button {
background: white;
border: none;
color: black;
margin-top: 5px;
padding: 3px 5px;
}
#project_menu #general_button {
margin-top: 10px;
font-size: 12px;
text-align: left;
border-left: 1px solid lightgray;
padding: 4px 10px;
}
#project_menu QLabel {
background: white;
font-weight: bold;
border: none;
color: black;
font-size: 12px;
margin-top: 5px;
padding: 3px 7px;
border-left: 1px solid lightgray;
}
#project_menu QListWidget::item:hover, #project_menu QListWidget::item:selected,
#project_menu #general_button:hover, #project_menu #general_button:checked {
background: #CFD2E0;
color: black;
}
#project_menu QListWidget::item:disabled, #project_menu #general_button:disabled {
background: white;
color: gray;
}
#project_menu #action_button {
background: white;
border: none;
color: white;
margin: 5px 5px 3px;
padding: 1px;
}
+54
View File
@@ -0,0 +1,54 @@
allprojects { pp ->
task printMainSrcDirs {
doLast {
if (project.hasProperty("sourceSets")) {
if (project.sourceSets.hasProperty("main")) {
project.sourceSets.main.java.srcDirs.each { dir ->
println "${dir}"
}
}
}
}
}
task printTestSrcDirs {
doLast {
if (project.hasProperty("sourceSets")) {
if (project.sourceSets.hasProperty("test")) {
project.sourceSets.test.java.srcDirs.each { dir ->
println "${dir}"
}
}
}
}
}
task copyCompileLibs {
doLast {
File rootDir = pp.getRootDir()
String destination = project.hasProperty('sourcetrail_lib_path') ? project.property('sourcetrail_lib_path').replace("\"", "") : rootDir.getPath() + rootDir.separator + "lib"
println destination;
if (pp.configurations.hasProperty("compile")) {
copy {
into destination
from pp.configurations.compile
eachFile { println "copying file \"" + it.file.name + "\" to \"" + destination + "\"" }
}
}
}
}
task copyTestCompileLibs {
doLast {
File rootDir = pp.getRootDir()
String destination = project.hasProperty('sourcetrail_lib_path') ? project.property('sourcetrail_lib_path') : rootDir.getPath() + rootDir.separator + "lib"
if (pp.configurations.hasProperty("testCompile")) {
copy {
into destination
from pp.configurations.testCompile
eachFile { println "copying file \"" + it.file.name + "\" to \"" + destination + "\"" }
}
}
}
}
}
+26 -1
View File
@@ -4,7 +4,9 @@
<!-- INTEGER: int e.g 123 -->
<!-- DECIMAL: float e.g 123.456 -->
<!-- STRING: string e.g hello -->
<!-- COLOR: int int int int - rgba e.g. 125 125 125 255 -->
<!-- UUID: string e.g. 00000000-0000-0000-0000-000000000000 -->
<!-- TIME: string in format "%Y-%m-%d %H:%M:%S" -->
<!-- VERSION: string in format "yyyy.x.z" -->
<config>
<version><!-- INTEGER: Version number --></version>
@@ -19,6 +21,7 @@
<font_size_std><!-- INTEGER: standard font size in pt --></font_size_std>
<use_animations><!-- BOOL: define if animations are used --></use_animations>
<builtin_types_in_graph><!-- BOOL: if the graph shows built-in types when referenced --></builtin_types_in_graph>
<window_base_width><!-- INTEGER: initial width of an overlay window --></window_base_width>
<window_base_height><!-- INTEGER: initial height of an overlay window --></window_base_height>
@@ -26,10 +29,17 @@
<scroll_speed><!-- DECIMAL: multiplier for default scroll speed in views --></scroll_speed>
<logging_enabled><!-- BOOL: define if console and file logging is enabled --></logging_enabled>
<verbose_indexer_logging_enabled><!-- BOOL: define if verbose indexer logging is enabled --></verbose_indexer_logging_enabled>
<graph_controls_visible><!-- BOOL: define if the graph controls are visible or collapsed --></graph_controls_visible>
<graph_grouping><!-- STRING: group type name --></graph_grouping>
</application>
<screen>
<auto_scaling><!-- INTEGER: 0 or 1 if auto scaling is enabled, -1 for system setting --></auto_scaling>
<scale_factor><!-- DECIMAL: defines highDPI scale factor, < 0 uses system setting --></scale_factor>
</screen>
<indexing>
<indexer_thread_count><!-- INTEGER: number of threads indexing the source code --></indexer_thread_count>
<multi_process_indexing><!-- BOOL: use different processes instead of threads during indexing --></multi_process_indexing>
@@ -74,7 +84,22 @@
<license>
<check><!-- STRING: hashed path of the working directory used when entering the license key --></check>
<license><!-- STRING: the license key --></license>
<non_commercial_use><!-- BOOL: if used non-commercially --></non_commercial_use>
</license>
<accepted_eula_version><!-- INTEGER: last accepted eula version --></accepted_eula_version>
<token><!-- UUID: identifier for this user --></token>
<update_check>
<automatic><!-- BOOL: whether to check automatically for new software updates --></automatic>
<time_stamp><!-- TIME: time of the last update check --></time_stamp>
<skip_version><!-- VERSION: version to skip for update --></skip_version>
<update_url><!-- STRING: url to new version download --></update_url>
<update_version><!-- VERSION: version of last check --></update_version>
</update_check>
<seen_error_help_message><!-- BOOL: whether user has been shown help message on errors after indexing --></seen_error_help_message>
</user>
<network>
@@ -13,11 +13,11 @@
\n
\tIf you ask yourself where to start, click the symbol linked below.\n
\n
[com\ts\tp\tngithub\ts\tp\tnjavaparser\ts\tp\tnast\ts\tp\tnbody\ts\tp\tnClassOrInterfaceDeclaration\ts\tp] // &lt;- start here!\n\n
[.\tmcom\ts\tp\tngithub\ts\tp\tnjavaparser\ts\tp\tnast\ts\tp\tnbody\ts\tp\tnClassOrInterfaceDeclaration\ts\tp] // &lt;- start here!\n\n
</description>
<source_groups>
<source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
<type>Java Source Group</type>
<name>Javaparser Source Group</name>
<source_extensions>
<source_extension>.java</source_extension>
</source_extensions>
@@ -26,7 +26,10 @@
<source_path>./target/generated-sources/javacc</source_path>
</source_paths>
<standard>8</standard>
<status>enabled</status>
<type>Java Source Group</type>
<use_jre_system_library>1</use_jre_system_library>
</source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
</source_groups>
<version>4</version>
<version>5</version>
</config>
+3 -1
View File
@@ -1,7 +1,9 @@
#ifndef _FIELD_
#define _FIELD_
class Field {
#include "game_object.h"
class Field : public GameObject {
public:
enum Token {
None = 0,
@@ -0,0 +1,10 @@
#ifndef _GAME_OBJECT_
#define _GAME_OBJECT_
class GameObject {
public:
GameObject() {}
virtual ~GameObject() {}
};
#endif // _GAME_OBJECT_
+2 -1
View File
@@ -2,8 +2,9 @@
#define _PLAYER_
#include "field.h"
#include "game_object.h"
class Player {
class Player : public GameObject {
public:
Player( Field::Token token, const char* name );
virtual ~Player();
@@ -2,6 +2,16 @@
<config>
<source_groups>
<source_group_afdfade2-4b42-49a6-961a-d4a563f2cf84>
<cross_compilation>
<target>
<abi>unknown</abi>
<arch>x86_64</arch>
<sys>unknown</sys>
<vendor>unknown</vendor>
</target>
<target_options_enabled>0</target_options_enabled>
</cross_compilation>
<name>TicTacToe Source Group</name>
<source_extensions>
<source_extension>.cpp</source_extension>
<source_extension>.cxx</source_extension>
@@ -11,10 +21,10 @@
<source_paths>
<source_path>./src</source_path>
</source_paths>
<standard>c++1z</standard>
<standard>c++2a</standard>
<status>enabled</status>
<type>C++ Source Group</type>
<use_source_paths_for_header_search>0</use_source_paths_for_header_search>
</source_group_afdfade2-4b42-49a6-961a-d4a563f2cf84>
</source_groups>
<version>4</version>
<version>5</version>
</config>
@@ -8,15 +8,20 @@
//------------------------------------------------------------------------------
//
// 1 - THE CODE TUTORIAL
// As you already know the Code View displays the snippets of code that are
// related to your currently active symbol. These snippets show the relevant
// lines in combination with some context.
// As you already know the Code View displays the snippets of code that are
// related to your currently active symbol. These snippets show the relevant
// lines in combination with some context.
// In case you discover something interesting as part of the snippet's context
// you can activate that symbol with a left-click. That way you dig deeper
// you can activate that symbol with a left-click. That way you dig deeper
// through your code base.
// Have you ever wondered what's the meaning of life, the universe and
// Have you ever wondered what's the meaning of life, the universe and
// everything? Click the respective symbol to find out.
//
// NOTE:
// This tutorial is based on the snippet view of Sourcetrail's Code View.
// Please click the button "snippet list mode" in the top right corner of the
// Code View.
//
//------------------------------------------------------------------------------
class CodeTutorial
@@ -25,7 +30,7 @@ public:
CodeTutorial()
{
}
static int meaning_of_life_the_universe_and_everything;
};
@@ -47,9 +47,8 @@ void function_with_snippets()
// to the central hub.
//
// P.S.
// You can also click the file name above (i guess you need to scroll up a
// little bit) to activate the file's node in case you want to explore your
// include hierarchy.
// You can also click the file name above to activate the file's node in case you
// want to explore your include hierarchy.
//
//------------------------------------------------------------------------------
@@ -4,6 +4,7 @@
#include "graph_tutorial_1.h"
#include "graph_tutorial_5.h"
//------------------------------------------------------------------------------
//
@@ -59,7 +60,7 @@ public:
// click the edge?
//
//------------------------------------------------------------------------------
static int this_last_member;
static ClickMeLater this_last_member;
};
@@ -10,29 +10,23 @@ class ProducerOfTheLastMember
public:
void in()
{
ClassWithHiddenMembers::this_last_member++;
ClassWithHiddenMembers::this_last_member.produce();
}
//------------------------------------------------------------------------------
//
// 7 - THAT'S IT
// You completed the tutorial on the graph view. There is still more to learn
// but I guess you will figure it out on your own. One last thing: If you see
// an element with a hatched background please call us. It's a runaway!
// Just kidding. Those are elements that are used within your code, but have no
// definition anywhere in your source folder (like the "int" symbol on the
// right hand side of the graph). So if you click them, Sourcetrail will display
// all the relations for the element, but the code view won't show a
// definition. If you want to learn more about Sourcetrail, go back to the central
// hub. It is called in the function below but you can also try to get there
// using only the graph.
// 7 - ADVANCED TRAINING
// Now that we have covered all the basics of navigating code using the graph,
// I'd like to conclude this section of the tutorial by showing you a special
// feature. Activate "ClickMeLater" in the far right of the graph when you are
// ready.
//
//------------------------------------------------------------------------------
private:
void the()
{
if (ClassWithHiddenMembers::this_last_member <= 0);
if (ClassWithHiddenMembers::this_last_member.isPositive())
{
the_central_hub();
}
@@ -40,7 +34,7 @@ private:
void codeview()
{
ClassWithHiddenMembers::this_last_member *= 2;
ClassWithHiddenMembers::this_last_member.produce();
}
};
@@ -11,12 +11,12 @@ class ConsumerOfTheLastMember
public:
void go()
{
ClassWithHiddenMembers::this_last_member = 42;
ClassWithHiddenMembers::this_last_member.consume();
}
void on()
{
ClassWithHiddenMembers::this_last_member--;
ClassWithHiddenMembers::this_last_member.consume();
}
//------------------------------------------------------------------------------
//
@@ -32,7 +32,7 @@ public:
//------------------------------------------------------------------------------
void reading()
{
ClassWithHiddenMembers::this_last_member /= 2;
ClassWithHiddenMembers::this_last_member.consume();
}
};
@@ -0,0 +1,37 @@
#ifndef GRAPH_TUTORIAL_5_H
#define GRAPH_TUTORIAL_5_H
#include "graph_tutorial_6.h"
//------------------------------------------------------------------------------
//
// 8 - EXPANDING THE SCOPE
// Showing only one level of dependencies in the graph works well if you want
// to get a quick overview on the parts of your codebase that are related to a
// certain symbol. So using the graph makes sure that you don't overlook any
// relation while planning to modify the source code. But sometimes that is not
// enough.
// Sometimes you are interested in a whole call graph for a certain function or
// you want to see the complete inheritance chain of a specific class and you
// want to expand the scope shown by the graph.
// Do you see the small icon on the upper left of the graph? Use it to show the
// depth graph controls and click the "show base hierarchy" button.
//
//------------------------------------------------------------------------------
class ClickMeLater: public JustMoveOn, public NothingToSeeHere
{
public:
void produce() { value++; }
void consume() { value--; }
bool isPositive() { return value > 0; }
int value;
};
#endif // GRAPH_TUTORIAL_5_H
@@ -0,0 +1,49 @@
#ifndef GRAPH_TUTORIAL_6_H
#define GRAPH_TUTORIAL_6_H
#include <string>
class BoringClass
{
};
//------------------------------------------------------------------------------
//
// 9 - THAT'S IT
// Great work! You have found this previously hidden base class. Of course you
// can also use the depth graph controls to expand the all classes that derive
// from a selected symbol or, if the active symbol is a function or a method it
// allows you to display the caller or callee graph.
// You completed the tutorial on the graph view. There is still more to learn
// but I guess you will figure it out on your own. One last thing: If you see
// an element with a hatched background please call us. It's a runaway!
// Just kidding. Those are elements that are used within your code, but have no
// definition anywhere in your source folder (like the "string" symbol on the
// right hand side of the graph). So if you click them, Sourcetrail will
// display all the relations for the element, but the code view won't show a
// definition. If you want to learn more about Sourcetrail, use the graph to go
// back to the central hub.
//
//------------------------------------------------------------------------------
class click_me_to_continue
{
void method(std::string s)
{
the_central_hub();
}
};
class NothingToSeeHere: public BoringClass, public click_me_to_continue
{
};
class JustMoveOn
{
};
#endif // GRAPH_TUTORIAL_6_H
@@ -13,19 +13,30 @@
LET'S GET STARTED!\n
\tTo keep things simple just click the "main" symbol below to start the tour.\n
\n
[main\tsint\tp()](); // &lt;- start here\n\n
[::\tmmain\tsint\tp()](); // &lt;- start here\n\n
</description>
<source_groups>
<source_group_75041cb3-37c8-45c6-bb8a-1b8b79040f59>
<type>C++ Source Group</type>
<cross_compilation>
<target>
<abi>unknown</abi>
<arch>x86_64</arch>
<sys>unknown</sys>
<vendor>unknown</vendor>
</target>
<target_options_enabled>0</target_options_enabled>
</cross_compilation>
<name>Tutorial Source Group</name>
<source_extensions>
<source_extension>.cpp</source_extension>
</source_extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
<standard>c++1z</standard>
<standard>c++2a</standard>
<status>enabled</status>
<type>C++ Source Group</type>
</source_group_75041cb3-37c8-45c6-bb8a-1b8b79040f59>
</source_groups>
<version>4</version>
<version>5</version>
</config>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<path>
<to>
<special_character>ü</special_character>
</to>
</path>
</config>

Some files were not shown because too many files have changed in this diff Show More