/*************************************************************************** * 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 #include #include #include #include #include #include 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"