CvsServicePart Class Reference
This plugin integrates Cervisia (version >= 2.1) cvsservice DCOP service into kdevelop (read FAQ at the bottom of this document): so, this part _does_ require cvsservice installed on your system: the configure script in the main source directory should automagically detect the presence of Cervisia and build this plugin. More...
#include <cvspart.h>
Inheritance diagram for CvsServicePart:


Public Member Functions | |
CvsServicePart (QObject *parent, const char *name, const QStringList &) | |
Standard constructor. | |
virtual | ~CvsServicePart () |
Destructor. | |
virtual QWidget * | newProjectWidget (QWidget *parent) |
Returns the configuration widget (for properly configuring the project to use CVS), child of parent . | |
virtual void | createNewProject (const QString &dir) |
Setup a directory tree for use with CVS. | |
virtual bool | fetchFromRepository () |
Fetch a module from remote repository, so it can be used for importing. | |
virtual KDevVCSFileInfoProvider * | fileInfoProvider () const |
virtual bool | isValidDirectory (const QString &dirPath) const |
Private Slots | |
void | contextMenu (QPopupMenu *popup, const Context *context) |
Add menu items binded to cvs operations' slots to popup , using data in context . | |
void | slotActionLogin () |
void | slotActionLogout () |
void | slotActionCommit () |
void | slotActionUpdate () |
void | slotActionAdd () |
void | slotActionAddBinary () |
void | slotActionRemove () |
void | slotActionRemoveSticky () |
void | slotActionLog () |
void | slotActionDiff () |
void | slotActionTag () |
void | slotActionUnTag () |
void | slotActionAddToIgnoreList () |
void | slotActionRemoveFromIgnoreList () |
void | slotCommit () |
void | slotUpdate () |
void | slotAdd () |
void | slotAddBinary () |
void | slotRemove () |
void | slotRemoveSticky () |
void | slotLog () |
void | slotDiff () |
void | slotTag () |
void | slotUnTag () |
void | slotAddToIgnoreList () |
void | slotRemoveFromIgnoreList () |
void | slotProjectOpened () |
void | slotProjectClosed () |
void | slotAddFilesToProject (const QStringList &) |
void | slotRemovedFilesFromProject (const QStringList &) |
void | projectConfigWidget (KDialogBase *dlg) |
Adds a configuration widget (for properly configuring CVS command-line options) and adds it to dlg . | |
void | slotStopButtonClicked (KDevPlugin *) |
Called when the user wishes to stop an operation. | |
Private Member Functions | |
void | init () |
void | setupActions () |
bool | urlFocusedDocument (KURL &url) |
Returns the KURL for the currently focused document, if there is any. | |
Private Attributes | |
KURL::List | m_urls |
A list of KURLs of the files to be "operated" on (to be committed, added, removed, ...). | |
QGuardedPtr< CvsForm > | m_cvsConfigurationForm |
This is a pointer to the d->form used for collecting data about CVS project creation (used by the ApplicationWizard in example). | |
KAction * | actionCommit |
KAction * | actionDiff |
KAction * | actionLog |
KAction * | actionAdd |
KAction * | actionAddBinary |
KAction * | actionRemove |
KAction * | actionUpdate |
KAction * | actionRemoveSticky |
KAction * | actionAddToIgnoreList |
KAction * | actionRemoveFromIgnoreList |
KAction * | actionTag |
KAction * | actionUnTag |
KAction * | actionLogin |
KAction * | actionLogout |
CvsServicePartImpl * | m_impl |
Friends | |
class | CvsServicePartImpl |
Detailed Description
This plugin integrates Cervisia (version >= 2.1) cvsservice DCOP service into kdevelop (read FAQ at the bottom of this document): so, this part _does_ require cvsservice installed on your system: the configure script in the main source directory should automagically detect the presence of Cervisia and build this plugin.
If Cervisia wasn't installed in $KDEDIR than you need to specify paths for lib and include files, for example: --with-extra-libs=$HOME/kde/lib --with-extra-includes=$HOME/kde/include
(where $HOME/kde is where I install my own kde stuff so I don't mess with working kde installation)
WARNING: So, if you have already compiled kdevelop *without* cvsservice and have now installed cervisia to try this nice piece of software, you need to re-run configure so it can detect cervisia installation and enable compilation for vcs/cvsservice.
WARNING: This plugin will quite surely change when the upcoming modifications in Cervisia's own architecture (separation of core and front-ends and user applications' library) are done (probably starting from kde >= 3.3). If you want to partecipate please join discussions on the cervisia@kde.org mailing list. Contributions are always welcome :-)
WARNING2: If it doesn't compile try to update your cervisia installation.
Implementation of this component is done by:
- class CvsServicePart, which does provide integration within kdevelop, set-up GUI integration, forward cvs commands to the implementation (m_impl). It does also intercepts signals like "new files added to project" and "... removed from ...".
- class CvsServicePartImpl implements the actual feature: more general speaking functions (like checking for whether files are in repository, provide checks on file lists, ...).
- class CvsProcessWidget provides output wrapping for commands (ok, it is useful for debugging too ;-). It simply starts a DCOP job and awaits notification for its termination.
- class CvsOptions* provide info about the user preferences when executing commands: settings are stored in myprj.kdevses file, loaded when project is opened and saved when project is closed.
- There is a bunch of dialog classes for collecting useful data about the operations one wants to perform: exception to this are the cvslog* classes which do start cvs jobs independently archiving parallelism with the CvsProcesssWidget.
- CVSDir and CVSEntry provide abstraction for accessing to local CVS information
- CVSFileInfoProvider is an implementation of KDevVCSFileInfoProvider interface and collects data about files stats: for CVS, both synch (fetch data from local sandbox) and asynch (fetch from repository server) are working with some minor bugs in the parsing of 'cvs status' output for the latter. (Sync means that information are collected from local CVS dirs which do not provide much information; async mean that a "cvs status <dir-name>" request is launched, output parsed and information returned to the client in _different_ times). Obviously this stuff requires the client (actually only the FileTree viewer) to be aware of this feature (see parts/fileview for additional info).
- Todo:
- Fix the "cvs update" function which behave strangely for sub-directories of the main project dir.
- (> 3.0) Replace the menu entries text with shorter ones
- Fix bugs on bugs.kde.org ;-)
Test with SSH repositories!
Share a common outputview between VCS: CvsProcessWidget should be reworked :-/
Additional slots for more complex stuff as status, revert, patch creation, ...
- Feature(s):
- All that provided by parts/cvs
it is possible to 'add as binary' files to repository
checkout from remote repository ability added to the appwizard/importdlg
should handle :ext: repositories thanks to cvsservice
can tag / un-tag files
can revert and diff between specific releases
can do multiple diff from a common cvs log output text
- Requirement(s):
- CVS >= 1.10.6
Cervisia >= 2.1 (from kdesdk package included in KDE >= 3.2)
- F.A.Q.:
- Does cvsservicepart support login with :pserver: or :ext: ? Well, I dunno ;-) I have no ssh repositories to test so feel free to provide feedback on the subject :-) Update: Ok, it seems at least one user has tried :ext: reporting it to work (with ssh-agent avoiding some typing headache ;-))
Definition at line 38 of file cvspart.h.
Constructor & Destructor Documentation
|
Standard constructor.
|
|
Destructor.
Definition at line 103 of file cvspart.cpp. |
Member Function Documentation
|
Add menu items binded to cvs operations' slots to
Not that Definition at line 272 of file cvspart.cpp. References actionAdd, actionAddBinary, actionAddToIgnoreList, actionCommit, actionDiff, actionLog, actionRemove, actionRemoveFromIgnoreList, actionRemoveSticky, actionTag, actionUnTag, actionUpdate, URLUtil::dump(), Context::hasType(), isValidDirectory(), kdDebug(), m_urls, KDevPlugin::project(), slotAdd(), slotAddBinary(), slotAddToIgnoreList(), slotCommit(), slotDiff(), slotLog(), slotRemove(), slotRemoveFromIgnoreList(), slotRemoveSticky(), slotTag(), slotUnTag(), slotUpdate(), KAction::text, EditorContext::url(), and FileContext::urls(). Referenced by init(). |
|
Setup a directory tree for use with CVS.
Reimplemented from KDevVersionControl. Definition at line 231 of file cvspart.cpp. References CvsServicePartImpl::createNewProject(), g_projectWasJustCreated, kdDebug(), m_cvsConfigurationForm, and m_impl. |
|
Fetch a module from remote repository, so it can be used for importing.
Reimplemented from KDevVersionControl. Definition at line 217 of file cvspart.cpp. References CvsServicePartImpl::checkout(), and m_impl. |
|
Reimplemented from KDevVersionControl. Definition at line 224 of file cvspart.cpp. References CvsServicePartImpl::fileInfoProvider(), and m_impl. |
|
|
Reimplemented from KDevVersionControl. Definition at line 367 of file cvspart.cpp. References CvsServicePartImpl::isValidDirectory(), and m_impl. Referenced by contextMenu(), slotProjectClosed(), and slotProjectOpened(). |
|
Returns the configuration widget (for properly configuring the project to use CVS), child of
Reimplemented from KDevVersionControl. Definition at line 264 of file cvspart.cpp. References m_cvsConfigurationForm. |
|
Adds a configuration widget (for properly configuring CVS command-line options) and adds it to
Definition at line 255 of file cvspart.cpp. References KDialogBase::addVBoxPage(), and KDevPlugin::icon(). Referenced by init(). |
|
|
Definition at line 410 of file cvspart.cpp. References CvsServicePartImpl::add(), m_impl, and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 421 of file cvspart.cpp. References CvsServicePartImpl::add(), m_impl, and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 498 of file cvspart.cpp. References CvsServicePartImpl::addToIgnoreList(), m_impl, and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 388 of file cvspart.cpp. References CvsServicePartImpl::commit(), m_impl, and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 465 of file cvspart.cpp. References CvsServicePartImpl::diff(), m_impl, and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 454 of file cvspart.cpp. References CvsServicePartImpl::log(), m_impl, and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 374 of file cvspart.cpp. References CvsServicePartImpl::login(), and m_impl. Referenced by setupActions(). |
|
Definition at line 381 of file cvspart.cpp. References CvsServicePartImpl::logout(), and m_impl. Referenced by setupActions(). |
|
Definition at line 432 of file cvspart.cpp. References m_impl, CvsServicePartImpl::remove(), and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 509 of file cvspart.cpp. References m_impl, CvsServicePartImpl::removeFromIgnoreList(), and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 443 of file cvspart.cpp. References m_impl, CvsServicePartImpl::removeStickyFlag(), and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 476 of file cvspart.cpp. References m_impl, CvsServicePartImpl::tag(), and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 487 of file cvspart.cpp. References m_impl, CvsServicePartImpl::unTag(), and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 399 of file cvspart.cpp. References m_impl, CvsServicePartImpl::update(), and urlFocusedDocument(). Referenced by setupActions(). |
|
Definition at line 534 of file cvspart.cpp. References CvsServicePartImpl::add(), m_impl, and m_urls. Referenced by contextMenu(). |
|
Definition at line 541 of file cvspart.cpp. References CvsServicePartImpl::add(), m_impl, and m_urls. Referenced by contextMenu(). |
|
Definition at line 614 of file cvspart.cpp. References CvsServicePartImpl::addFilesToProject(), and m_impl. Referenced by slotProjectClosed(), and slotProjectOpened(). |
|
Definition at line 590 of file cvspart.cpp. References CvsServicePartImpl::addToIgnoreList(), m_impl, and m_urls. Referenced by contextMenu(). |
|
Definition at line 520 of file cvspart.cpp. References CvsServicePartImpl::commit(), m_impl, and m_urls. Referenced by contextMenu(). |
|
Definition at line 569 of file cvspart.cpp. References CvsServicePartImpl::diff(), m_impl, and m_urls. Referenced by contextMenu(). |
|
Definition at line 562 of file cvspart.cpp. References CvsServicePartImpl::log(), m_impl, and m_urls. Referenced by contextMenu(). |
|
Definition at line 656 of file cvspart.cpp. References CvsOptions::instance(), isValidDirectory(), kdDebug(), KDevPlugin::project(), CvsOptions::save(), slotAddFilesToProject(), and slotRemovedFilesFromProject(). Referenced by init(). |
|
Definition at line 628 of file cvspart.cpp. References g_projectWasJustCreated, CvsOptions::instance(), isValidDirectory(), kdDebug(), CvsOptions::load(), KDevPlugin::project(), CvsOptions::save(), slotAddFilesToProject(), and slotRemovedFilesFromProject(). Referenced by init(). |
|
Definition at line 548 of file cvspart.cpp. References m_impl, m_urls, and CvsServicePartImpl::remove(). Referenced by contextMenu(). |
|
Definition at line 621 of file cvspart.cpp. References m_impl, and CvsServicePartImpl::removedFilesFromProject(). Referenced by slotProjectClosed(), and slotProjectOpened(). |
|
Definition at line 597 of file cvspart.cpp. References m_impl, m_urls, and CvsServicePartImpl::removeFromIgnoreList(). Referenced by contextMenu(). |
|
Definition at line 555 of file cvspart.cpp. References m_impl, m_urls, and CvsServicePartImpl::removeStickyFlag(). Referenced by contextMenu(). |
|
Called when the user wishes to stop an operation.
Definition at line 604 of file cvspart.cpp. References CvsServicePartImpl::flushJobs(), and m_impl. Referenced by init(). |
|
Definition at line 576 of file cvspart.cpp. References m_impl, m_urls, and CvsServicePartImpl::tag(). Referenced by contextMenu(). |
|
Definition at line 583 of file cvspart.cpp. References m_impl, m_urls, and CvsServicePartImpl::unTag(). Referenced by contextMenu(). |
|
Definition at line 527 of file cvspart.cpp. References m_impl, m_urls, and CvsServicePartImpl::update(). Referenced by contextMenu(). |
|
Returns the KURL for the currently focused document, if there is any.
Definition at line 346 of file cvspart.cpp. References KParts::PartManager::activePart(), KURL::isLocalFile(), kdDebug(), KDevPlugin::partController(), and KParts::ReadOnlyPart::url(). Referenced by slotActionAdd(), slotActionAddBinary(), slotActionAddToIgnoreList(), slotActionCommit(), slotActionDiff(), slotActionLog(), slotActionRemove(), slotActionRemoveFromIgnoreList(), slotActionRemoveSticky(), slotActionTag(), slotActionUnTag(), and slotActionUpdate(). |
Friends And Related Function Documentation
|
Definition at line 42 of file cvspart.h. Referenced by init(). |
Member Data Documentation
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
Definition at line 141 of file cvspart.h. Referenced by contextMenu(), and setupActions(). |
|
This is a pointer to the d->form used for collecting data about CVS project creation (used by the ApplicationWizard in example).
Definition at line 138 of file cvspart.h. Referenced by createNewProject(), and newProjectWidget(). |
|
|
A list of KURLs of the files to be "operated" on (to be committed, added, removed, ...).
Definition at line 133 of file cvspart.h. Referenced by contextMenu(), slotAdd(), slotAddBinary(), slotAddToIgnoreList(), slotCommit(), slotDiff(), slotLog(), slotRemove(), slotRemoveFromIgnoreList(), slotRemoveSticky(), slotTag(), slotUnTag(), and slotUpdate(). |
The documentation for this class was generated from the following files:
- vcs/cvsservice/cvspart.h
- vcs/cvsservice/cvspart.cpp