|
|
|
/***************************************************************************
|
|
|
|
* Copyright (C) 2005-2007 by Rajko Albrecht *
|
|
|
|
* ral@alwins-world.de *
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
|
|
* (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
* This program 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 General Public License for more details. *
|
|
|
|
* *
|
|
|
|
* You should have received a copy of the GNU General Public License *
|
|
|
|
* along with this program; if not, write to the *
|
|
|
|
* Free Software Foundation, Inc., *
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
|
|
|
***************************************************************************/
|
|
|
|
#include "checkoutinfo_impl.h"
|
|
|
|
#include "rangeinput_impl.h"
|
|
|
|
#include "depthselector.h"
|
|
|
|
#include "url.hpp"
|
|
|
|
#include "ktranslateurl.h"
|
|
|
|
#include <kurlrequester.h>
|
|
|
|
#include <tqlabel.h>
|
|
|
|
#include <tqtooltip.h>
|
|
|
|
|
|
|
|
#include <klineedit.h>
|
|
|
|
#include <tqcheckbox.h>
|
|
|
|
#include <tdelocale.h>
|
|
|
|
#include <kdebug.h>
|
|
|
|
|
|
|
|
CheckoutInfo_impl::CheckoutInfo_impl(TQWidget *parent, const char *name)
|
|
|
|
:CheckoutInfo(parent, name)
|
|
|
|
{
|
|
|
|
m_RangeInput->setStartOnly(true);
|
|
|
|
m_RangeInput->setHeadDefault();
|
|
|
|
}
|
|
|
|
|
|
|
|
CheckoutInfo_impl::~CheckoutInfo_impl()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
svn::Revision CheckoutInfo_impl::toRevision()
|
|
|
|
{
|
|
|
|
return m_RangeInput->getRange().first;
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString CheckoutInfo_impl::reposURL()
|
|
|
|
{
|
|
|
|
KURL uri(m_UrlEdit->url());
|
|
|
|
TQString proto = svn::Url::transformProtokoll(uri.protocol());
|
|
|
|
if (proto=="file"&&!m_UrlEdit->url().startsWith("ksvn+file:")) {
|
|
|
|
uri.setProtocol("");
|
|
|
|
} else {
|
|
|
|
uri.setProtocol(proto);
|
|
|
|
}
|
|
|
|
return uri.prettyURL();
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString CheckoutInfo_impl::targetDir()
|
|
|
|
{
|
|
|
|
if (!m_CreateDirButton->isChecked()) {
|
|
|
|
return m_TargetSelector->url();
|
|
|
|
}
|
|
|
|
TQString _uri = reposURL();
|
|
|
|
while (_uri.endsWith("/")) {
|
|
|
|
_uri.truncate(_uri.length()-1);
|
|
|
|
}
|
|
|
|
TQStringList l = TQStringList::split('/',_uri);
|
|
|
|
if (l.count()==0) {
|
|
|
|
return m_TargetSelector->url();
|
|
|
|
}
|
|
|
|
return m_TargetSelector->url()+"/"+l[l.count()-1];
|
|
|
|
}
|
|
|
|
|
|
|
|
bool CheckoutInfo_impl::overwrite()
|
|
|
|
{
|
|
|
|
return m_overwriteButton->isChecked();
|
|
|
|
}
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn CheckoutInfo_impl::setTargetUrl(const TQString&)
|
|
|
|
*/
|
|
|
|
void CheckoutInfo_impl::setTargetUrl(const TQString&what)
|
|
|
|
{
|
|
|
|
m_TargetSelector->setURL(what);
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::setStartUrl(const TQString&what)
|
|
|
|
{
|
|
|
|
KURL uri(what);
|
|
|
|
if (uri.protocol()=="file") {
|
|
|
|
if (what.startsWith("file:")) {
|
|
|
|
uri.setProtocol("ksvn+file");
|
|
|
|
} else {
|
|
|
|
uri.setProtocol("");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
uri.setProtocol(helpers::KTranslateUrl::makeKdeUrl(uri.protocol()));
|
|
|
|
}
|
|
|
|
m_UrlEdit->setURL(uri.prettyURL());
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::hideDepth(bool how,bool overwriteAsRecurse)
|
|
|
|
{
|
|
|
|
if (how) {
|
|
|
|
m_DepthSelector->setEnabled(false);
|
|
|
|
m_DepthSelector->hide();
|
|
|
|
if (overwriteAsRecurse) {
|
|
|
|
TQToolTip::add( m_overwriteButton, i18n( "Make operation recursive." ) );
|
|
|
|
m_overwriteButton->setText(i18n("Recursive"));
|
|
|
|
}
|
|
|
|
} else if (!how) {
|
|
|
|
m_DepthSelector->setEnabled(false);
|
|
|
|
m_DepthSelector->show();
|
|
|
|
m_overwriteButton->setText( tr2i18n( "Overwrite existing" ) );
|
|
|
|
TQToolTip::add( m_overwriteButton, tr2i18n( "May existing unversioned items ovewritten" ) );
|
|
|
|
}
|
|
|
|
adjustSize();
|
|
|
|
}
|
|
|
|
|
|
|
|
svn::Depth CheckoutInfo_impl::getDepth()
|
|
|
|
{
|
|
|
|
if (m_DepthSelector->isEnabled()) {
|
|
|
|
return m_DepthSelector->getDepth();
|
|
|
|
}
|
|
|
|
return svn::DepthUnknown;
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::disableTargetDir(bool how)
|
|
|
|
{
|
|
|
|
if (how) {
|
|
|
|
m_TargetSelector->setEnabled(false);
|
|
|
|
m_TargetSelector->hide();
|
|
|
|
m_TargetLabel->hide();
|
|
|
|
} else if (!how) {
|
|
|
|
m_TargetSelector->setEnabled(true);
|
|
|
|
m_TargetSelector->show();
|
|
|
|
m_TargetLabel->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::disableOpen(bool how)
|
|
|
|
{
|
|
|
|
if (how) {
|
|
|
|
m_ShowExplorer->setEnabled(false);
|
|
|
|
m_ShowExplorer->hide();
|
|
|
|
} else if (!how) {
|
|
|
|
m_ShowExplorer->setEnabled(true);
|
|
|
|
m_ShowExplorer->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn CheckoutInfo_impl::openAfterJob()
|
|
|
|
*/
|
|
|
|
bool CheckoutInfo_impl::openAfterJob()
|
|
|
|
{
|
|
|
|
return m_ShowExplorer->isChecked();
|
|
|
|
}
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn CheckoutInfo_impl::disableRange(bool how)
|
|
|
|
*/
|
|
|
|
void CheckoutInfo_impl::disableRange(bool how)
|
|
|
|
{
|
|
|
|
if (how) {
|
|
|
|
m_RangeInput->setEnabled(false);
|
|
|
|
m_RangeInput->hide();
|
|
|
|
} else {
|
|
|
|
m_RangeInput->setEnabled(true);
|
|
|
|
m_RangeInput->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::urlChanged(const TQString&)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::disableAppend(bool how)
|
|
|
|
{
|
|
|
|
m_CreateDirButton->setChecked(!how);
|
|
|
|
if (how) {
|
|
|
|
m_CreateDirButton->hide();
|
|
|
|
} else {
|
|
|
|
m_CreateDirButton->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn CheckoutInfo_impl::ignoreExternals()
|
|
|
|
*/
|
|
|
|
bool CheckoutInfo_impl::ignoreExternals()
|
|
|
|
{
|
|
|
|
return m_ignoreExternals->isChecked();
|
|
|
|
}
|
|
|
|
|
|
|
|
void CheckoutInfo_impl::disableExternals(bool how)
|
|
|
|
{
|
|
|
|
m_ignoreExternals->setChecked(!how);
|
|
|
|
if (how) {
|
|
|
|
m_ignoreExternals->hide();
|
|
|
|
} else {
|
|
|
|
m_ignoreExternals->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#include "checkoutinfo_impl.moc"
|