/*************************************************************************** * Copyright (C) 200?-2003 by KDevelop Authors * * www.kdevelop.org * * * * 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. * * * ***************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include "cvsoptions.h" #include "cvslogpage.h" #include "cvsdiffpage.h" #include "cvslogdialog.h" /////////////////////////////////////////////////////////////////////////////// // class CVSLogDialog /////////////////////////////////////////////////////////////////////////////// CVSLogDialog::CVSLogDialog( CvsService_stub *cvsService, TQWidget *parent, const char *name, int ) : KDialogBase( Tabbed, i18n("CVS Log & Diff Dialog"), Close, Close, parent, name? name : "logformdialog", false /*modal*/, true /*separator*/ ), m_cvsLogPage( 0 ), m_cvsService( cvsService ) { setWFlags( getWFlags() | WDestructiveClose ); TQVBox *vbox = addVBoxPage( i18n("Log From CVS") ); m_cvsLogPage = new CVSLogPage( m_cvsService, vbox ); connect( m_cvsLogPage, TQT_SIGNAL(diffRequested(const TQString&, const TQString&, const TQString&)), this, TQT_SLOT(slotDiffRequested(const TQString&, const TQString&, const TQString&)) ); } /////////////////////////////////////////////////////////////////////////////// CVSLogDialog::~CVSLogDialog() { kdDebug(9006) << "CVSLogDialog::~CVSLogDialog()" << endl; } /////////////////////////////////////////////////////////////////////////////// void CVSLogDialog::startLog( const TQString &workDir, const TQString &pathName ) { kdDebug(9006) << "CVSLogDialog::start() here! workDir = " << workDir << ", pathName = " << pathName << endl; // displayActionFeedback( true ); /* TQVBox *vbox = addVBoxPage( i18n("Log From CVS: ") + pathName ); m_cvsLogPage = new CVSLogPage( m_cvsService, vbox ); this->resize( m_cvsLogPage->size() ); connect( m_cvsLogPage, TQT_SIGNAL(linkClicked(const TQString&, const TQString&)), this, TQT_SLOT(slotDiffRequested(const TQString&, const TQString&)) ); */ m_cvsLogPage->startLog( workDir, pathName ); } /////////////////////////////////////////////////////////////////////////////// void CVSLogDialog::slotDiffRequested( const TQString &pathName, const TQString &revA, const TQString &revB ) { kdDebug(9006) << "CVSLogDialog::slotDiffRequested()" << endl; // Create a new CVSDiffPage and start diffing process TQString diffTitle = i18n("Diff between %1 and %2").arg( revA ).arg( revB ); TQVBox *vbox = addVBoxPage( diffTitle ); CVSDiffPage *diffPage = new CVSDiffPage( m_cvsService, vbox ); diffPage->startDiff( pathName, revA, revB ); } /////////////////////////////////////////////////////////////////////////////// void CVSLogDialog::slotCancel() { // Hmmm ... KDialogBase::slotCancel(); } /////////////////////////////////////////////////////////////////////////////// void CVSLogDialog::displayActionFeedback( bool working ) { if (working) { setCursor( KCursor::waitCursor() ); } else { setCursor( KCursor::arrowCursor() ); } } #include "cvslogdialog.moc"