You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.8 KiB
114 lines
3.8 KiB
/***************************************************************************
|
|
* 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 <tqvbox.h>
|
|
#include <tqregexp.h>
|
|
#include <tqdir.h>
|
|
#include <tqstringlist.h>
|
|
|
|
#include <kmessagebox.h>
|
|
#include <kcursor.h>
|
|
#include <klocale.h>
|
|
#include <kdebug.h>
|
|
|
|
#include <cvsjob_stub.h>
|
|
#include <cvsservice_stub.h>
|
|
|
|
#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"
|
|
|
|
|