diff options
Diffstat (limited to 'vcs/subversion/svn_switchwidget.cpp')
-rw-r--r-- | vcs/subversion/svn_switchwidget.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vcs/subversion/svn_switchwidget.cpp b/vcs/subversion/svn_switchwidget.cpp new file mode 100644 index 00000000..ec1b603c --- /dev/null +++ b/vcs/subversion/svn_switchwidget.cpp @@ -0,0 +1,60 @@ +#include <kurl.h> +#include <klineedit.h> +#include <qcheckbox.h> +#include <qradiobutton.h> + +#include "svn_switchwidget.h" +#include "subversion_global.h" + +SvnSwitchDlg::SvnSwitchDlg( const SvnGlobal::SvnInfoHolder *holder, + const QString &wcPath, QWidget *parent ) + : SvnSwitchDlgBase( parent ) + , m_info( holder ) +{ + connect( switchOnlyRadio, SIGNAL(clicked()), this, SLOT(resetCurrentRepositoryUrlEdit()) ); + connect( relocationRadio , SIGNAL(clicked()), this, SLOT(resetCurrentRepositoryUrlEdit()) ); + // set switch only + switchOnlyRadio->setChecked( true ); + wcUrlEdit->setText( wcPath ); + currentUrlEdit->setText( m_info->url.prettyURL() ); +} + +SvnSwitchDlg::~SvnSwitchDlg() +{} + +const QString SvnSwitchDlg::currentUrl() +{ + return currentUrlEdit->text(); +} +const QString SvnSwitchDlg::destUrl() +{ + return destUrlEdit->text(); +} + +bool SvnSwitchDlg::recursive() +{ + return (! nonRecurseCheck->isChecked() ); +} +bool SvnSwitchDlg::switchOnly() +{ + return switchOnlyRadio->isChecked(); +} +bool SvnSwitchDlg::relocation() +{ + return relocationRadio->isChecked(); +} + +void SvnSwitchDlg::resetCurrentRepositoryUrlEdit() +{ + if( relocation() ){ + // only ROOT repository url should be given + currentUrlEdit->setText( m_info->reposRootUrl.prettyURL() ); + } else if( switchOnly() ){ + // the full URL of item should be given + currentUrlEdit->setText( m_info->url.prettyURL() ); + } else{ + // should not reach here!! + } +} + +#include "svn_switchwidget.moc" |