ChangeLog for kdevplatform v1.1.80 ================================== * Milian Wolff: set version to 1.1.80 for beta 1 * Milian Wolff: fix linking of unit test * Andreas Pakulat: Show the complete path to documents when no tabbar is used * Andreas Pakulat: Fix updating of status icon when switching views. * Andreas Pakulat: Show the location of files in the listview * Andreas Pakulat: drop TODO that got done already * Andreas Pakulat: Add new function to retrieve the path of a url in a pretty way. * Milian Wolff: optimize: save basename in IndexedString and use that fast version in hasFileOrFolder * Milian Wolff: api dox clarifying that these operators are fast * Milian Wolff: adapt to internal change: folders always have the trailing slash now * Milian Wolff: don't assert on project or name/parent * Milian Wolff: leverage polymorphism over dynamic casts since that is faster * Andreas Pakulat: Fix linkage and link-interfaces * Andreas Pakulat: Remove dependency on QtDesigner. * Aleix Pol: Report the executable with its arguments when it's being run. * David Nolden: Revert 986ec7bb18211a7789e28c48fdc750668ae9b1d5 . Unfortunately, this completely broke restoring of split-view area configurations (to test: Just create split-view, close+open the working-set, bang. Alternatively, close+reopen the app, it will assert during startup). * Aleix Pol: Use the proper icon for the environment widget buttons. * Milian Wolff: fix license * David Nolden: Always show the prefix of argument-hints, even in reduced completion mode. * Andreas Pakulat: Improve the cmake code for linking. * Milian Wolff: use variable number of threads, this way it should hang for more people * Till Adam: Build on OSX. * Milian Wolff: add testcase for deadlock in ForegroundLock with QMutex * Milian Wolff: make it possible for inheritors to decide when to do rainbow coloring and when not * Morten Volden: Remove call to QProcess::setEnvironment which sets the environment to that of the parent process. A client using DvcsJob can now set the environment of the job without having settings overwritten. * Andreas Pakulat: Fix link-interface * David Nolden: Don't highlight declarations when there is a selection. This makes the highlighting work better together with the new kate "highlight selection" plugin. * Yuri Chornoivan: fix typos * Milian Wolff: initialize even more static data in a controlled way to prevent random crashes * Milian Wolff: also init repository for modification revision sets properly * Milian Wolff: move initialization of static DUChain data to DUChain::initialize() * Andreas Pakulat: Revert "Merge branch 'git/extensive_version_check'" * David Nolden: Add the title of the problem solution assistant in places where the assistant title isn't visible. * David Nolden: Don't try to delete type-data for which we don't have the correct type factories loaded, because that will lead to an assertion/crash. BUG: 259076 * Jan Gerrit Marker: If name or email are empty add a place holder instead of nothing to the license * Jan Gerrit Marker: Add year, name and email to license text when generating a new class. In order to do this change licenses to use the same place holders for year respectively author * Pino Toscano: i18n: small improvement to message * Silvere Lestang: Add a collapse & expand all items actions to find & replace (icons are temporary) * Julien Desgats: Cleanup warnigns & minor modifications * Andreas Pakulat: Declare the new function * Andreas Pakulat: Extract duchain-item-repo initialization into a separate function. * Andreas Pakulat: Fix a crash when loading a project, by initializing static data * David Nolden: Don't ask "Do you really want to save?" when closing a working-set but the modified file is actually in another area. * Julien Desgats: Apply button is enabled only when items are checked * Julien Desgats: Minor corrections (tooltips, combo storing) * Julien Desgats: Replacement string is now entered after search * David nolden: Always seed the random number generator before using QUuid::createUuid * David nolden: Fix the problem that the session-chooser dialog sometimes didn't really create a new session when "New Session" is selected, by seeding qrand() before using QUUid::uuid(). * David nolden: Add some comments * David nolden: Link to pthread if it's a separate library * David nolden: Slight tweaks and bug-fixes in the grep-view: - Store the values from the grep dialog in the session-specific configuration, not in the global config. - Make the grep output look nicer: * Use pretty-printing for the filenames in the grep output * Make the (X matches) printed in italic * Write "Line X:" rather than just "X:" to make the output less cryptic * Slightly increase the vertical space between lines, so the output doesn't look so crowded * Disable clipping while painting the lines. Together with the additional vertical space, this fixes the strange ugly clipping issues. * Pino Toscano: i18n: add missing i18n, and avoid string puzzle * Vladimir Prus: Report when the current launch config does not support a given mode. Ideally, we should disable "Execute" or "Debug" button in that case, but it's for later. * Christophe Giboudeaux: Install the header in kdevplatform/ vs. kdevelop/ before. * David Nolden: Only use the pthread-mutex on linux * Milian Wolff: remove flicker and cleanup code: remove addViewSilently, don't force reload of window area whenever a workingset changed * Milian Wolff: improve crash recovery dialog * Aleix Pol: When working with directories, use the actual directory to get the cwd instead of the parent. * Dmitry Risenberg: Move signal/slot connection out of kDebug - otherwise connect never gets called in Release mode. * Milian Wolff: make sure we don't try to apply / jump to prev/next item if we don't have any matches * Nicolás Alvarez: Minor doxygen fixes. * Nicolás Alvarez: Fix IPlugin documentation. * David Nolden: Use pthread directly for the foreground mutex, potentially trying to workaround a problem in the QMutex implementation which leads to a rare deadlock. BUG: 252659 * David Nolden: Remove the "#if 0" * David Nolden: Don't close the running session when a session is selected through the "Session" menu. * Milian Wolff: make it possible to differentiate between context menu and toolbar actions use that to filter the new filter lineedit from the project manager view * Nicolás Alvarez: Fix typo in method name. * Pino Toscano: fixuifiles * Milian Wolff: don't connect to compat signal * Milian Wolff: use plain string, not text() as that can contain an ampersand for the accellerator * Andreas Pakulat: Improve version check for KDevPlatform * Milian Wolff: show prefix, postfix and arguments in snippets tree view * Milian Wolff: use Disabled palette also for snippets in disabled repositoreis * Milian Wolff: warn user if he closes a snippet with unsaved changes * Julien Desgats: Copyright block correction, some kdebug removed * David nolden: Make the uses-widget nicer to look at, by giving each level some tree-like indentation, and using ProjectController::prettyFileName for the filename. * Yuri Chornoivan: typo: diable->disable * Nicolás Alvarez: Fix comment typo. * Nicolás Alvarez: Fix link of findreplace-test. * Milian Wolff: use the same (small) icon size for the toolbar in the Documentation view * David nolden: - Add a safety check whether m_declaration still exists - Make several completion constants accessible to subclasses * Milian Wolff: add contexts to strings * Milian Wolff: sort actions by name in 'Add Tool View' context menu * Milian Wolff: put common code into a static method in IOpenWith, make QuickOpen for project files use IOpenWith * Milian Wolff: use IOpenWith in file manager plugin * Milian Wolff: make it possible to always open some mimetypes in an external application * Milian Wolff: prepend member varis with m_ * David Nolden: Change the foreground lock to only use a non-recursive mutex, and manage the recursion manually. This might fix an occassional deadlock due to a potential bug in the recursive QMutex implementation. CCBUG: 252659 * Milian Wolff: fix rename of files in build-folders (e.g. qmake) * Milian Wolff: fix removal of existing files/folders when they are buildfolders or targets * Milian Wolff: use genericmanager debug area for abstractfilemanagerplugin + filemanagerlistjob * Julien Desgats: Encoding handling in GrepJob * Silvere Lestang: Clean includes + other things * David Nolden: Don't use the file contents to determine the mimetype in the language controller. This could lead to huge UI lock-ups when there were many non-code files contained by the project directory. * Julien Desgats: Use IDocumentController instrad of directly KSaveSelectDialog * Aleix Pol: Make the build tool responsible for renaming the items when rename is triggered (it was already being done, but twice in abstractfilemanagerplugin). * Dmitry Risenberg: Fix line numbers in annotation bar for git. BUG:255599 * Silvere Lestang: Make the results toolview kill the GrepJob when we close it * Benjamin Port: Modify some string in GrepViewPlugin * Benjamin Port: Replace Find in files by Find/Replace in files * David nolden: Delete recovery files for documents in the moment they are saved. This makes sure that we never offer a recovery when in reality the file was saved shortly before the crash. * David nolden: Remove the debug output * David nolden: Fix massive UI flickering when closing the last view of a document which is active in multiple areas through the same working-set. * Milian Wolff: prevent qt warning about unexpected null receiver in disconnect * Milian Wolff: check for signal existance before connecting to it, fixes Qt warning for Problem tooltips * Milian Wolff: fix close all tabs / close other tabs actions by using a QueuedConnection * Milian Wolff: don't crash when we don't find an area for a view * Milian Wolff: introduce getter for current document path/url * David nolden: Remove obsolete todo * David nolden: Add useful assertion * David nolden: Show the "clear" button in the filter view. * Milian Wolff: provide QDebug operator<< for RangeInRevision and CursorInRevision * Milian Wolff: put filter line edit into the dockwidget's toolbar * Dmitry Risenberg: Problem Reporter: make column resizing work without user interference. * Dmitry Risenberg: Problem Reporter: rebuild problem list on timer. * David nolden: Fix the problem that the "Document has changes, do you want to save?" dialog wasn't triggered in time when the view was part of a working set which was attached to multiple areas. * Frederik Schwarzer: fixuifiles * Milian Wolff: add apidox * Milian Wolff: make it possible to configure the environment from inside the configure launches dialog * Milian Wolff: tooltips for project view filter, toolview toggle buttons and toolview button bar * Milian Wolff: add tooltip to outline and quickopen toolbar lineedits * Milian Wolff: add tooltips to outline buttons * Milian Wolff: show find-in-files results expanded by default * Frederik Schwarzer: change layout of the Project configure dialog page * Milian Wolff: don't try to update invalid url (i.e. when we have no active document and change the settings) * Frederik Schwarzer: missing colon * Milian Wolff: code cleanup and return early when we don't have to filter anything * Milian Wolff: set click message on new filter lineedit * Milian Wolff: set dynamic sort filter, don't do that customly * Milian Wolff: --debug * Milian Wolff: fix parens... doh * Milian Wolff: init data to 0, prevent valgrind warnings * Olivier JG: AssistantPopup: add some spacing and give it the tooltip palette. * Julien Desgats: Removed job benchmarks * Silvere Lestang: Replace kDebug by an error message when the replace fail * Julien Desgats: When a job is started, previous is killed (if it is still running) * Silvere Lestang: Better way of testing the types of items * Silvere Lestang: Fix the behaviour of the status when we abort grepjob * David nolden: Don't crash if the documentLoaded signal was emitted multiple times. Apparently, TextDocument does this after a file was renamed using "Save As". * Benjamin Port: Set GrepDialog default folder * Silvere Lestang: Fix the last commit position of copyrights and remove unused .h * Silvere Lestang: Add Copyrights * Silvere Lestang: Modify the behaviour of previous & next actions Make them change the focus * David nolden: Correctly connect the signal and slot. This should fix a possible crash, because teh breakpoint-model didnt notice when the moving interface content was deleted. * David nolden: Adapt to changes in RecoveryInterface * Nicolás Alvarez: Change Colorizer to take QFlags for italic/bold instead of separate bools. * ben2367: rename method (doucmentation to documentation) * Julien Desgats: Added a check to warn user that unsaved files will be searched * Julien Desgats: Changed status text on a replace * Eugene Agafonov: Project Manager View inclusive filter * Benjamin Port: Rename Find in files by Find/replace in files * Benjamin Port: Add tooltips to grep dialog * David nolden: Make sure to always remove the highlighting before deleting the model-list, just to make sure that there never is a highlighter which references an already-deleted model. _might_ fix a hardly reproducible crash. * Julien Desgats: Change criteria implementation * Olivier JG: A bit of cleanup for the assistant interface and popup. * Benjamin Port: Keep the last directory in the search dialog * Milian Wolff: fix compile: onyl look for recovery interface starting with kde 4.6 betas * Milian Wolff: remove obsolete version check * Milian Wolff: fix regression: don't hide the progress bar when there are jobs left * Julien Desgats: Some more display fixes * David nolden: - Never do "Simplified" update, as that is no full duchain processing. - When only one document is select, force a full recursive update. That was the basic idea of the button: To allow fixing duchain problems, even if they happened in some imports. * Julien Desgats: Some improvements in item display * Silvere Lestang: Implement the previous and next actions of the toolview * David nolden: Remove helper functions, they are implemented somewhere else now (more efficiently) * Milian Wolff: remove more obsolete kde version checks * Milian Wolff: don't exctract messages from reviewboardtest * Milian Wolff: remove defines, we depend on kde 4.5 anyways * Milian Wolff: move scripts editor to 'edit snippet' dialog and use a KTextEditor for it, make documentation more accessible * Silvere Lestang: Typo + formating * Milian Wolff: rtrim * Milian Wolff: don't highlight TODO problems nor show a tooltip for them * Silvere Lestang: Replace the four buttons by actions inside a toolbar Change the icon of the toolview + some reformating * David nolden: Nicely play together with the kate swap-file recovery, using the new KTextEditor::RecoveryInterface. * Milian Wolff: Revert "unbreak API-breakage introduced by 700a8aabed34f83365643db4ab4e7878261fc6f6" * Julien Desgats: "Apply" button enabled (2 pass replacement) - Root item added * Milian Wolff: Revert stringhelpers.cpp part of "Necessities for finding TODOs in comments." * Milian Wolff: remove UpdateOptionsDialog that was nowhere used * Milian Wolff: Revert "only require readlock in newUse that takes a Declaration*, to stay compatible with old code" * Milian Wolff: only require readlock in newUse that takes a Declaration*, to stay compatible with old code * Milian Wolff: unbreak API-breakage introduced by 700a8aabed34f83365643db4ab4e7878261fc6f6 * Milian Wolff: document return value of new strip functions * Milian Wolff: don't delay KActionMenu display * Milian Wolff: don't crash when pressing show when a patch is already shown * Julien Desgats: Removed old code that was used to draw tree * Julien Desgats: Rich text tooltip * Julien Desgats: Messages are handled directly by GrepOutputView and not by GrepOutputModel * Julien Desgats: Corrected rich text display * Julien Desgats: Tooltip is not shown if there is no replacement * Milian Wolff: constify * Benjamin Port: Use %s as default search template * Benjamin Port: Move Find in files action to Edit menu * Benjamin Port: Add find action to project contextual menu * Silvere Lestang: Escape text of error message iin case they contain html tags * Silvere Lestang: Fix the wrong behaviour of checkbox in the treeview * Julien Desgats: Added tooltip message. Rich text message. Focus on item activation * Aleix Pol: Remove repeated connect. * Aleix Pol: Make Use method to get the declaration const. Doesn't modify anything (just calls a const method), should be fine. * David Nolden: Fix a possible random crash * David Nolden: Use DUChainPointer to reach uses to newUse, as the duchain is not locked beforehand, and the declaration might get deleted in the meantime. This may fix random crashes, if the builders are adapted accordingly (never reference declerations from a different top-context through Declaration* when the duchain isn't locked) * David Nolden: Fix several working-set actions that led to a crash when the current working-set was empty, especially the "Add All" action, by using an empmty working set object. When you do a refactoring, cannot you at least try each of the 5 buttons whether it leads to an instant crash?! * David Nolden: - Fix a bad regression from the refactoring: When the current working-set was empty, using the file-buttons in tooltips from other working-sets led to an instant crash. - Leave tooltips open after the current working-set was closed: This way a user can close and delete a working-set in one go. * Silvere Lestang: Add a QLabel to the toolview and used it to display messages + remove some tab * Silvere Lestang: Clear the model between two search. * Silvere Lestang: Add "Results no found" message. * Julien Desgats: Changed check to detect empty string matches everywhere * Aleix Pol: Make it actually possible to create launch configurations outside its UI. * Aleix Pol: Remove unused file. * Dmitry Risenberg: Problem Reporter: do less parsing on full update && fix full update tooltip. * Dmitry Risenberg: Problem Reporter: make list of todo markers in comments configurable. * ben2367: Select the first entry in the documentation ComboBox * ben2367: Remove indentation changes * ben2367: Clear documentation history when documentation providers changed * ben2367: Load and unload documentation provider-provider * ben2367: Reload documentation providers at runtime * ben2367: Load documentation providers from documentation provider-provider * ben2367: Add documentation provider provider interface * Milian Wolff: prevent warning: kdevelop/kdeui (kdelibs): No such XML file .../.kde/share/apps/kdevelop/katepartui.rc * Milian Wolff: prevent pesty warning: "QFSFileEngine::map: Mapping a file beyond its size is not portable" * Milian Wolff: don't access workingset controller in no-ui mode * Julien Desgats: Some cleanup & refecotring - more test cases * Milian Wolff: use KTextEditor in snippet editor * Milian Wolff: optimize: delete ranges on aboutToRemoveText when removed range spans multiple lines * Milian Wolff: clear highlighting for document when moving interface content is about to invalidate * Silvere Lestang: Remove the green arrows on the line items, add checkbox on every items and a slot to handle their state (not fully working right now) * Silvere Lestang: Move the model of the TreeView from GrepJob to GrepOutputView. Delete the requirement of IOutputView in .desktop file * Dmitry Risenberg: Problem Reporter: fix parse job notifocation. * Dmitry Risenberg: Problem Reporter: add filtering errors by severity. * Dmitry Risenberg: Problem Reporter: Implement Full Update action. Full update causes all watched documents to be re-parsed. If errors in imports are tracked, then imports are also re-parsed. * Dmitry Risenberg: Do not cache problem data in ProblemModel. Use DUChain directly. Implement proper locking when working with ProblemModel internal data. * Dmitry Risenberg: Problem Reporter: add autoresize property to widget to automaticaly resize columns to data width. * Dmitry Risenberg: Problem Reporter: allow problem scope to be selected. * Dmitry Risenberg: Necessities for finding TODOs in comments. * Milian Wolff: expose more information through the LockSessionState (lockfile, pid, app, hostname) * Milian Wolff: add new MainWindow::ensureVisible method that is exposed to DBUS * David Nolden: Improve contentContextFromProxyContext so that it never returns the wrong content-context, better return zero. * David Nolden: Add an environment variable DONT_CLEAR_DUCHAIN_DIR which turns off the automatic clearing of the duchain directory, so that crashy duchain problems can be debugged. * Julien Desgats: Fixed a typo * Julien Desgats: Added unit tests (only find currently) * Milian Wolff: --debug * Milian Wolff: initialize CodeHighlightingColors after we initialized the required member vars, add test to run valgrind easily * Milian Wolff: fix indent * Milian Wolff: remove obsolete, unimplemented function * Silvere Lestang: Modify the grepview plugin to used it's on view for dislpaying results : * Create a new widget call grepoutputview. * Modify GrepJob so it's derivated from KJob instead of OutputJob. * Make GrepJob used grepoutputview instead of standardoutputview. * Modify grepoutputmodel so it's not derivated from IOutputViewModel anymore as we don't use the standardoutputview. * Julien Desgats: Use DocumentChange to find/replace * Milian Wolff: extend warning message for non-function type assigned to function declaration * Milian Wolff: make warning more understandible, for me it's mostly type aliases that trigger the warning, they should maybe be hidden. * Milian Wolff: show proper error message when no KTextEditor::Factory could be found * Mantia Andras: Make sure the find widget is just as big as really needed. * Milian Wolff: add tooltips to add/remove launch config buttons * Olivier JG: Allow PersistantMovingRange to expand * Milian Wolff: use QThread* instead of Qt::HANDLE as the documentation warns about using the latter: * Julien Desgats: Added a replacement template * Aleix Pol: Expose QMenu's instead of lists of actions from the configuration types. Makes it possible to add some hierarchy into the lauchers suggestion list. * Milian Wolff: add getter for project watcher * Milian Wolff: --debug * Julien Desgats: Code style corrections * Milian Wolff: enable/disable processing instead of resume/suspend when enabling/disabling the background parser * Milian Wolff: make background parser settings per-session (though keep backwards compatibility) * Milian Wolff: cleanup code and fix pesky 'no such signal QObject::patchChanged * Nicolás Alvarez: Add proper whitespace in the tooltips for VCS annotate. * Aleix Pol: Generate the suggestionActions every time we open the launches configuration dialog * Milian Wolff: use virtual inheritance to overcome the diamond-shaped inheritance chain for IBuildSystemManager and IProjectFileManager * Milian Wolff: only append subdirs to actual parent list jobs, fixes random crashes * Milian Wolff: fix build * Aleix Pol: Fix typo. * Aleix Pol: Make it possible to add pre-configured launch configurations. Hopefully this will be the definitive twist of that dialog so that it finally makes everyone happy :). * Milian Wolff: ask user whether to overwrite existing project file * Milian Wolff: fix sig/slot connection... /me bangs head for sucky fully-qualified-id-requirement-in-sig-slots... * Milian Wolff: don't inherit from IProjectFileManager in IBuildSystemManager * Milian Wolff: make public signals use fully qualified identifiers * Milian Wolff: always skip dot and dotdot folders from entries to prevent infinite recursion * Niko Sams: clearCurrentPosition when state changes. * Niko Sams: add addr to signal to avoid an custom signal in gdb plugin * Niko Sams: turn file into a KUrl, as it's always a url and we might want to support other protocols too * Niko Sams: make vars private * Niko Sams: improve code style * Milian Wolff: remove unused forward decl (what should this be anyways?) * Milian Wolff: fileitems will always have a parent * Milian Wolff: provide AbstractFileManagerPlugin, code is from GenericManager (which now reuses that) * Milian Wolff: add myself to copyright, remove obsolete fixme * Julien Desgats: Fixed a incorrect regexp escaping * Konstantin Karganov: Cleanup: moved IDebugSession member accessors from .h file to .cpp * Milian Wolff: emit signals everytime we create a new item * Milian Wolff: emit signals so we can listen to those in managers reusing the IGenericManager * Milian Wolff: simplify code * Milian Wolff: fix arg name * Milian Wolff: cleanup: don't have one workingset for each area with an empty ID doing magic * Milian Wolff: only renable updates if they where enabled before * Milian Wolff: cleanup: put working set switching into the controller * Milian Wolff: remove now obsolete Document::uniqueView * Milian Wolff: put ctor on top * Milian Wolff: add i18n context * Milian Wolff: use i18np * Milian Wolff: use i18np * Julien Desgats: Some improvements * Olivier JG: Tweak the file deletion prompt to look/feel like the Dolphin one. * Olivier JG: Only show contextmenu actions that apply to all selected items Don't show Remove action for targets or their subfiles * Olivier JG: Make ApplyChangesWidget's changes list show removed text. * Olivier JG: Change API from removeFile()/removeFolder() to removeFilesAndFolders() * Julien Desgats: Only modified documents are kept open after a mass replace * Julien Desgats: Added a basic replace in files mode. * Milian Wolff: fixup doubled code * Milian Wolff: refactor and cleanup WorkingSetWidget into two distinct classes * Milian Wolff: remove dead code * Milian Wolff: cleanup and documentation * Milian Wolff: close tooltip when closing working set through it * Milian Wolff: fix compilation * Milian Wolff: cleanup working set code * Milian Wolff: fix compile warning (signed vs unsigned comparison) * Milian Wolff: const& in public API * David Faure: Use KIO::stat rather than KIO::NetAccess::stat so that we can pass HideProgressInfo, otherwise a progress dialog would pop up at every keystroke while typing the hostname of sftp://hostname. * Milian Wolff: always show 'Configure Editor...' action * Milian Wolff: explicitly delete delegate to prevent kWarning spamming on closing settings or loaded plugins dialog * Julien Desgats: Some refactoring for handling find and replace signals with same slot * Konstantin Karganov: Cleaning up setting the positions in debug session. Setting position has been moved into ingerface with automatic signal emitting. * Julien Desgats: Reverted a wrong default template replacement * Julien Desgats: Added a replace field in "Find in files" (renamed to "Find-Replace in files) * Milian Wolff: make encoding argument to PartController::createTextPart optional * Milian Wolff: put toolview actions at top of context menu, make it clearer that the remove etc. actions act on the toolview * Milian Wolff: teeny tiny bit less flickering during area switching by disabling updates * Milian Wolff: prevent flicker when showing the same patch again * Milian Wolff: only switch area if required, otherwise the whole UI would get rebuild and results in ugly flicker * Milian Wolff: compare against area not working set * Milian Wolff: use non-deprecated function * Konstantin Karganov: More accurate cleaning of current position. * Konstantin Karganov: Making debug session to know current execution position. * Milian Wolff: add ctx menu action to show diff for revision * Vladimir Prus: Make launch config enable "Apply" the project target changes. * Milian Wolff: cleanup * Milian Wolff: don't use remembered search directory if we switched to a file of a different project * Milian Wolff: cleanup * Milian Wolff: queue found matches and send them via signal/slot to the model * Milian Wolff: cleanup code * Milian Wolff: unbreak project file matching * Syron: enable/disable the "limit to project files" checkbox dynamically if the path changes * Milian Wolff: keep compatibility: do wildcard matching instead of regexp search as fallback (not a simple string contains()) * Milian Wolff: revert parts of 243ff3a5a452a1e5bfbbf39f22381f4f3315887c as it breaks compatibility * Milian Wolff: show messages and errors in toolview * Milian Wolff: never use namespace in a header * Milian Wolff: setup toolview sooner to give the user some feedback * Syron: regexps fixed * Kevin Ottens: Make it build with QT_STRICT_ITERATORS. * Kevin Ottens: Don't use kutils but the more specific kcmutils spin-off. * Milian Wolff: don't override protected doKill as public * Syron: fixed the decision if a regexp search is a plain search; threading fix * Syron: ui: docs/descriptions of the widgets updated. * Syron: replaced all the old grep code with the new one which doesn't use external tools * Syron: made the GrepJob public member vars private. * Syron: modified the file and template patterns to be compatible with the new toolchain. * Syron: output model tree-style is ready * Syron: outputmodel and outputitem are ready now. * Syron: first steps to a tree-style view of the matches. made the public data members of GrepOutputItem private. does not compile yet. * Syron: added the internal grep functions * Syron: fix: suppressFindErrors now fully removed * Syron: added the "find files" thread code * Syron: removed the check for external tools, these won't be needed anymore * Syron: added saving the template string and template combobox index between sessions * Syron: removed "supress find errors", that wasn't used anywhere * Milian Wolff: fix compile :) * Milian Wolff: truncate git hashes to 8 chars in annotate view * Milian Wolff: qDebug -> kDebug * Milian Wolff: support ./ and ../ shortcuts in quickopen filter for project files * Milian Wolff: set CTRL + < as default shortcut to locate current document * Milian Wolff: favor exact postfix matches when filtering in QuickOpen. * Milian Wolff: fix typo * Milian Wolff: unbreak 'jump to prev/next function', they tried to access transfromFromLocalRevision without DUChain lock * Vladimir Prus: Implement opening a file after creating project from template. * Milian Wolff: BackgroundParser::trackerForUrl doesn't have to be a Q_SLOT * Milian Wolff: add force-update-recursive to duchainify * Milian Wolff: don't crash when calling addDocumentChain during shutdown (DUChain cleanup) * Milian Wolff: refactor DumpChain to namespaced function dumpDUContext and use QDebug to output ignoring kdebugdialog settings * Milian Wolff: never try to use KIO::mimetype syncronously as the document controller is not reentrant instead use text/plain for remote files where we couldn't guess the mimetype from the extension * Milian Wolff: fix compile on some platforms * Milian Wolff: don't rely on the QualifiedIdentifier for distinction between declarations * Milian Wolff: only show 'jump to declaration' in context menu if we are not already at that position * Milian Wolff: set invalid documentrange for use in codecontext when no use was found * Milian Wolff: reuse jump to Declaration/Definition actions in QuickOpen plugin, reduces code duplicatoin and makes sure the actions have the same icon/shortcut/name everywhere * David nolden: Don't show the working-set tooltip when switching tab through the shortcut. * Milian Wolff: add some notes about the reason of Q_ASSERT(!documents.contains(url) || documents[url]==doc), waiting for feedback on kdevelop-devel ML * Milian Wolff: use mimeType->name() == instead of mimeType->is(...) when checking for application/octet-stream mimetype as we don't want mimetype inheritance to kick in * Milian Wolff: make it possible to run applications in any external terminal emulator * David Faure: Fix compilation with strict iterators * Aleix Pol: Properly merge the version change. * David nolden: Improve the tracking of edits in the document, and update the duchain more often. There are also some related in kdelibs/kate that will be in KDE 4.6 and that i have backported to KDE 4.5.2. * David nolden: Don't show annoying notifications for the KIO::mimetype call * David nolden: Make the working-set tooltip prettier: Use only the working-set icon at top-left, instead of a button containing the icon. * David nolden: if the mimetype of an opened document could not be determined through KMimeType::findByUrl, try again with a KIO::MimeTypeJob. This job can also look at the contents of _remote_ files, and thus avoids annoying "Do you want to open the file as plain text" message-boxes when opening remote text files. * David nolden: Add copyright notice * David nolden: Hide the tooltip if the working set was emptied * David nolden: Improve the positioning of the active tooltip again. Only move it to another location if the location _really_ intersects the mouse cursor. * David nolden: - Make the "+" or "-" buttons in the working-set widget much smaller, so they don't create huge margins between the files. - Correctly update the file-list when files were removed. * David nolden: Move the "Next Window" and "Previous Window" actions into the working-set controller, and rename them to "Next Document" and "Previous Document". Whenever these actions are used, a working-set tooltip is shown now, containing the list of all opened documents, with the currently active document highlighted. This is very useful when the number of tabs has surpassed the usability limit, and increases discoverability of working sets. The tooltip can also be used to cleanup the list of opened documents using the mouse. * David nolden: - Fix a slight positioning glitch of the active tool-tip - Emit signals when the tooltip is entered/left by the mouse * David nolden: Set tooltip for the file label. * David nolden: Allow asking the highlighting-interface whether a document already has some highlighting * David nolden: Update the state of the working-set buttons/labels after a working-set was loaded, closed, or after random views were opened/closed in whatsoever ways. * David nolden: - Only show each url once in the working-set tooltip. - When switching the view through the working-set tooltip, prefer already existing views in split-view environments over creating new ones. * Aleix Pol: Fix master compilation. * David nolden: - When removing a file from the current working set, completely remove it from the file list, instead of just changing the button. - Allow activating a working-set file by clicking onto the label in the tooltip - Highlight the currently active file in the working-set tooltip * David nolden: Add some debug output for a deadlock-on-shutdown problem * David nolden: Fix a serious problem with the persistency of working sets. Due to this problem, working sets could simply get lost after closing+reopening the application. * Andrew Coles: Fixed typo, due to missing space in string split across several lines. * Milian Wolff: increase plugin versions * Milian Wolff: increase plugin version for what will become kdev 4.2 * Milian Wolff: typo fixes by Andrew Coles * Vladimir Prus: Make breakpoint the default and only mark type. * Maciej Mrozowski: [CMake] Cleanup in plugins - do not expose CMake variables of plugins' dependencies, only variables for plugins itself. * Milian Wolff: improve assert and document it * Milian Wolff: fix assert for root item in project model * David Nolden: Modularize the handling of the mutex in the foreground lock into separate functions, and make the "recursion" and "holderThread" parameters volatile. This hopefully fixes a possible deadlock. * David Nolden: Initialize ArrayTypeData::m_dimension in the default constructor. This will silence valgrind for some cases, and might also fix some tiny bugs. * Milian Wolff: make sure the project passed to ProjectBaseItem is valid * David Nolden: Add a debugging assertion * David nolden: Revert f146c3f, the problem came from something else * Aleix Pol: Fix naming of the actions as David suggested. Uncomment the Revision History. * David nolden: When referring to the current revision in the moving-interface, use the real revision-number instead of "-1". * Aleix Pol: Don't let the user ask between revisions if there is not at least 2 revisions selected. * Aleix Pol: Make revision intervals a little safer. * Aleix Pol: Make it possible to diff last changes, improve the support to intervals with previous. * Aleix Pol: Looks like making the paths relative wasn't needed afterall. * Aleix Pol: Use the correct API to construct special revisions. * Aleix Pol: Make git status compatible with versions older than 1.7.0 * David nolden: Hopefully fix a deadlock-like long waiting time that could happen sometimes on shutdown * David nolden: Don't automatically hide the completion-list when the typed keywoard equals a word in the list * David nolden: Don't automatically hide the completion-list when the typed keywoard equals a word in the list * David nolden: Fix a possible deadlock on shutdown * Milian Wolff: use background from style if available * David nolden: Also get the background color if updateColorsFromScheme is called * David nolden: Allow to start the patch-review commit-UI even if there were no differences reported, as for example untracked files can be added. * David nolden: - Fix the patch-review plugin after the port to MovingRanges. - When applying/reverting a hunk, also directly update the tooltip directly. * David nolden: Set the z-depth for special-language-object highlighting * David nolden: Don't use CamelCase for the MovingInterface header, as that doesn't seem to exist in older kdelibs checkouts * David nolden: Also allow retrieving the background color. @Milian: I have to use the color-scheme, the HighlightInterface doesn't seem to work here. CCMAIL: mail@milianw.de * Milian Wolff: port PatchReview to MovingInterface * Milian Wolff: port debugger away from Smart* to Moving* * Milian Wolff: update range passed to executed() manually (since it's not a SmartRange anymore) * Milian Wolff: make insertFunctionParenText take a position, instead of a range * Aleix Pol: Revert --porcelain and --short change. There's no --short either prior to 1.7. We'll have to figure out what to do about that. * Aleix Pol: Let DVcsJob-using implementations to choose how to treat url parameters (usually paths). * Aleix Pol: Apply David's patch in a somewhat cleaner way, now the GitJob will care about the path relativity. * Aleix Pol: Use "git status --short" instead of "git status --porcelain" for old git versions and parse them properly. * Aleix Pol: Add version checks in case it's needed after during the execution. * Nicolás Alvarez: In the save dialog shown on quit, focus Cancel button by default. * Milian Wolff: more removal of obsolete Smart* notices and includes * Milian Wolff: port snippets completion model to controller interface 3 * Milian Wolff: port codecompletionmodel to ControllerInterface3, cleanup includes * Milian Wolff: remove obsolete dumpRanges, MovingRanges cannot be nested * Milian Wolff: cleanup header includes, esp. remove obsolete smartinterface includes * Milian Wolff: remove long dead code * Milian Wolff: port code completion worker away from SmartInterface * Milian Wolff: increase lib version for what will become 4.2 * Milian Wolff: increase version for what will become 4.2 * David Nolden: - Make locks of non-existent sessions always successful. - When a session-id has Guuid form, use it as the ID, not as the name of a newly created session. * David Nolden: Improve the session-picking dialog. - Update the information about locked sessions sessions every 5 seconds. - Show the application pid in which a session is running. - Show the session-picking dialog if KDevelop is started with a session that's already running. * David Nolden: Allow to show a session-selection list before starting up the application (including "Create New Session"). * David Nolden: Fix compilation * David Nolden: Make the syncing of the configuration at least #define configurable, as it can be very slow * Milian Wolff: require KDE 4.5.0 * David nolden: Don't alter the text when checking whether it's whitespace-only * David nolden: Use the patch-review plugin to show diffs like "difference to previous" from within the revision history-viewer. * David nolden: Don't show the DVCS "Revision History" action, as it is redundant with the non-dvcs "History" action. * David nolden: Fix a bug that resulted from the last fixes, and that resulted in the revision-mapping not working at all. (very bad highlighting after/during changes) * David nolden: - Use the destination-url of patches for the file path (should work better with VCS patches after addition/renaming) - Also start the commit-review if there is no diff. File may have been added/deleted. - Sort the files more cleverly: Put files that were added/removed to the top with the modified files, and select them by default for committing. Altogether, this makes the git plugin work more nicely. * David nolden: Make prettyFileName also show pretty filenames for files that are in a subfolder of a project, but not part of the project (wrong file ending for example). * David nolden: Improve the message when there are no differences after "Compare to base". * David nolden: Store old commit-messages, and allow the user to select them using a dropdown when typing the commit-message. Typed messages are also stored if the user cancels the review. * David nolden: Improve the comment so it's better understandable what the function does. * David nolden: Correctly open documents when patch-review is started with relative paths in the patch (as it is the case in git patches). * David Nolden: When a background thread fails to acquire the foreground lock, send an event to the foreground from within which the foreground lock is released temporarily. This way, the foreground lock can work transparently with additional event-loops started from the foreground, like modal dialogs. This makes the "rename refactoring" dialog work again. * David Nolden: Correctly deal with documents that have an invalid url, and with renaming of documents. * David Nolden: Clear the revision-cache on aboutToInvalidateMovingInterfaceContent. Remove some unneeded code. * David Nolden: Don't assert when the moving-range was already deleted. * David Nolden: Don't assert when trying to remove an uncached entry from the cache. * David Nolden: - Use RevisionReference instead of qint64 in some DocumentChangeTracker functions, to get more safety. - Reset the predecessor-revision on aboutToInvalidateMovingInterfaceContent. This fixes a possible crash on document reload. * David Nolden: Add updated ranges to the new set of ranges. This fixes the problem that sometimes the highlighting didn't disappear, and should also solve some efficiency problems (too many ranges were created). * David Nolden: Fix TemporarilyReleaseForegroundLock * David Nolden: Release the foreground lock when entering a new event-loop during waitForUpdate. This fixes a possible deadlock. Add a TemporarilyReleaseForegroundLock class, that can be used for such occassions. * Milian Wolff: use m_url, save us a IndexedString creation * Milian Wolff: fix assert: don't add document chain again when recompiling * Milian Wolff: add QDebug operator<< for SimpleRange and SimpleCursor * David Nolden: Do the sorting of the highlighted ranges before notifying the foreground, thus preventing a possible crash. * David Nolden: Make the forwarding of standard arguments like "--graphicssystem" and "--style" to newly opened kdevelop instances work. * David Nolden: Use the include instead of , as that one is more portable. * David nolden: Use the new versions of textRemoved and textChanged, so that we correctly recognize when non-whitespace text was removed, and reparse the document in that case. * David nolden: Enable kate revision backward-transformation, and enable the smarter behavior of DocumentChangeTracker where the duchain isn't reparsed on whitespace-only changes. WARNING: This requires the most recent version of kate. * David nolden: Make compile: Remove some remainders of smart* code * David nolden: Change the #include directive so it's found in every context * David nolden: Don't allow the ActiveToolTip parent to be zero, because else it won't be shown. * David nolden: Don't allow the parent to be zero, because else the tooltip won't be shown. * David nolden: - Port the problem highlighter from SmartRange to MovingRange. This fixes a possible crash, as recent kate versions don't seem to call the rangeDeleted callback anymore. - Give a parent to the problem-highlighter tooltip, so that problem-tooltips are shown again. * David nolden: Make the updating of existing KTextEditor::MovingRange's work correctly. * David nolden: Store the url, as during reloading, m_document->url() seems to return an invalid url. * David nolden: Only update the range if it is not the top-context, for compatibility reasons. * David nolden: Add some error output * David nolden: Disable assertion that can happen on document reload * David nolden: Change the range when an existing range is being updated. * David nolden: Fix document-updating when unordered_map is used. It doesn't seem to replace the old item in "insert(..)", so first erase the old one. * David nolden: Use a queued connection when notifying that a document couldn't be updated due to a missing language-support. This prevents a deadlock coming from the backgroundparser-mutex. * David nolden: Define z-depth for context-browser and code highlighting. * David nolden: Fix the connection * David nolden: Always update the document even on whitespace changes, and never try to translate from the current revision to an older one. This makes KDevelop work with the current version of kate. * David nolden: Fix a crash when closing documents. * David nolden: Add a note. * David nolden: Periodically release the duchain while computing the highlighting, so that the UI isn't locked. This requires all language-plugins to use UrlParseLock. * David nolden: Add some documentation * David nolden: Make kdevelop somewhat work after the port * David nolden: add missing files * David nolden: Use CursorInRevision and RangeInRevision when referencing cursors/ranges in the duchain parsing document revision, and SimpleCursor/SimpleRange when referencing cursors/ranges in the current document revision. This way mistakes in revision-handling are nearly impossible. * David nolden: Initial port * David nolden: Improve tracking of document-changes, don't use smart-ranges to achieve it. - Rewrite DocumentChangeTracker so that it _really_ tracks all edits to the document, isntead of listening for smart-range notifications. - Let the DocumentChangeTracker decide when a parse-job needs to be scheduled, remove the coupling between BackgroundParser and DUChain. * David nolden: Re-add the foreground lock