/** Copyright (C) 2003-2005 Mickael Marchand 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; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include #include #include #include "subversion_part.h" #include "subversion_widget.h" #include #include #include #include subversionWidget::subversionWidget( subversionPart *part, TQWidget *parent, const char* name ) : KTabWidget(parent) { m_part = part; m_edit = new KTextEdit( this ); m_edit->setReadOnly( TRUE ); tab()->addTab( m_edit, i18n("Notification") ); m_closeButton = new TQPushButton( tab() ); m_closeButton->setText( i18n("Close") ); tab()->setCornerWidget(m_closeButton); connect( m_closeButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(closeCurrentTab()) ); } subversionWidget::~subversionWidget() {} void subversionWidget::append( TQString notifications ) { if( !m_edit ){ // should not happen m_edit = new KTextEdit(this); } m_edit->append( notifications ); showPage( m_edit ); } void subversionWidget::showLogResult( TQValueList *holderList, TQString reqUrl ) { SvnLogViewWidget *widget = new SvnLogViewWidget( m_part, this ); widget->setLogResult( holderList ); widget->setRequestedUrl( reqUrl ); tab()->addTab( widget, i18n("Log History") ); tab()->setTabEnabled( widget, true ); tab()->showPage( widget ); } void subversionWidget::showBlameResult( TQValueList *blamelist ) { SvnBlameWidget *widget = new SvnBlameWidget( this ); widget->copyBlameData( blamelist ); tab()->addTab( widget, i18n("Blame") ); tab()->setTabEnabled( widget, true ); tab()->showPage( widget ); } void subversionWidget::closeCurrentTab() { TQWidget *current = tab()->currentPage(); KTextEdit *edit = static_cast(current); if( edit ){ if( edit == m_edit ) // main notification output should not be deleted return; } tab()->removePage( current ); delete current; } //////////////////////////////////////////////////////////////////////// SvnIntSortListItem::SvnIntSortListItem( TQListView* parent ) :TQListViewItem(parent) {} SvnIntSortListItem::~SvnIntSortListItem() {} int SvnIntSortListItem::compare( TQListViewItem *item, int col, bool ascending ) const { unsigned int myVal = this->text(col).toUInt(); unsigned int yourVal = item->text(col).toUInt(); if( myVal < yourVal ) return -1; if( myVal > yourVal ) return 1; return 0; } SvnLogViewItem::SvnLogViewItem( TQListView * parent ) :SvnIntSortListItem( parent ) { m_pathList = ""; m_message = ""; } SvnLogViewItem ::~SvnLogViewItem () {} //////////////////////////////////////////////////////////////////////// SvnProgressDlg::SvnProgressDlg( bool showNow ) : TDEIO::DefaultProgress( showNow ) { setStopOnClose( true ); setCaption( i18n("Subversion Job Progress") ); } SvnProgressDlg::~SvnProgressDlg() {} void SvnProgressDlg::setSourceUrl( const TQString &src ) { sourceEdit->setText( src ); } void SvnProgressDlg::setDestUrl( const TQString &dest ) { destEdit->setText( dest ); } #include "subversion_widget.moc"