vcs/subversion/subversion_part.h
Go to the documentation of this file.00001 /* Copyright (C) 2003 00002 Mickael Marchand <marchand@kde.org> 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; see the file COPYING. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 #ifndef __KDEVPART_SUBVERSION_H__ 00020 #define __KDEVPART_SUBVERSION_H__ 00021 00022 00023 #include <qguardedptr.h> 00024 #include <kdevplugin.h> 00025 #include <kurl.h> 00026 #include "kdevversioncontrol.h" 00027 00028 class subversionCore; 00029 class subversionOptionsWidget; 00030 class subversionProjectWidget; 00031 00032 class subversionPart : public KDevVersionControl 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 subversionPart(QObject *parent, const char *name, const QStringList &); 00038 ~subversionPart(); 00039 00040 void setupActions(); 00041 QWidget* newProjectWidget( QWidget* parent ); 00042 void createNewProject( const QString& dirname ); 00043 bool fetchFromRepository(); 00044 KDevVCSFileInfoProvider * fileInfoProvider() const; 00045 bool isValidDirectory( const QString& dirPath); 00046 bool urlFocusedDocument( KURL &url ); 00047 void restorePartialProjectSession(const QDomElement* ); 00048 void savePartialProjectSession(QDomElement* ); 00049 void setBaseURL(const KURL& url ) { base = url; } 00050 KURL baseURL() { return base; } 00051 00052 signals: 00053 // void finishedFetching( QString destinationDir ); 00054 00055 private slots: 00056 void contextMenu( QPopupMenu *popup, const Context *context ); 00057 void slotActionUpdate(); 00058 void slotActionCommit(); 00059 void slotUpdate(); 00060 void slotCommit(); 00061 void slotProjectClosed(); 00062 void slotProjectOpened(); 00063 void projectConfigWidget( KDialogBase *dlg ); 00064 00065 private: 00066 QGuardedPtr<subversionCore> m_impl; 00067 KURL::List m_urls; 00068 00069 KAction *actionCommit, 00070 *actionDiff, 00071 *actionAdd, 00072 *actionRemove, 00073 *actionUpdate, 00074 *actionAddToIgnoreList, 00075 *actionRemoveFromIgnoreList; 00076 00077 QGuardedPtr<subversionProjectWidget> m_projWidget; 00078 KURL base; 00079 00080 public: 00081 //options 00082 bool m_checkout_recurse; 00083 bool m_update_recurse; 00084 bool m_switch_recurse; 00085 bool m_add_recurse; 00086 bool m_remove_force; 00087 bool m_commit_recurse; 00088 bool m_diff_recurse; 00089 bool m_merge_recurse; 00090 bool m_merge_overwrite; 00091 bool m_relocate_recurse; 00092 bool m_revert_recurse; 00093 bool m_resolve_recurse; 00094 bool m_move_force; 00095 bool m_propset_recurse; 00096 bool m_propget_recurse; 00097 bool m_proplist_recurse; 00098 }; 00099 00100 00101 #endif