Don't keep compiling/run if something failed.
[kdevelopdvcssupport.git] / plugins / subversion / svnrevertwidgets.cpp
blob12f277f1de9b581a42be7b3935fcc694c21eaf7b
1 /***************************************************************************
2 * Copyright 2007 Dukju Ahn <dukjuahn@gmail.com> *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 ***************************************************************************/
11 #include "svnrevertwidgets.h"
12 #include "svnpart.h"
13 #include "svnmodels.h"
14 #include <QList>
15 #include <QTreeWidget>
16 #include <QFileInfo>
17 #include <kurl.h>
19 SvnRevertOptionDlg::SvnRevertOptionDlg( KDevSubversionPart *part, QWidget *parent )
20 : KDialog(parent), m_part(part)
22 ui.setupUi( mainWidget() );
23 setCaption( i18n("Subversion Revert") );
24 setButtons( KDialog::Ok | KDialog::Cancel );
27 SvnRevertOptionDlg::~SvnRevertOptionDlg()
30 void SvnRevertOptionDlg::setCandidates( const KUrl::List &urls )
32 foreach( KUrl _url, urls ){
33 QFileInfo fileInfo(_url.toLocalFile());
35 if( fileInfo.isFile() ){
36 QList<SvnStatusHolder> holderList = m_part->statusSync( _url, false, true, false ).values();
37 if( holderList.count() < 1 ){
38 insertRow( _url, "unknown", "unknown" );
40 else{
41 if( holderList.at(0).wcPath == _url.toLocalFile() ){
42 insertRow( _url,
43 SvnStatusHolder::statusToString( holderList.at(0).textStatus ),
44 SvnStatusHolder::statusToString( holderList.at(0).propStatus ) );
46 else{
47 insertRow( _url, "unknown", "unknown" );
50 }// end of isFile()
52 else if( fileInfo.isDir() ){
53 // FIXME this code adds every items whose status is not normal. Should we allow
54 // only added/removed/modified here?
55 QList<SvnStatusHolder> holderList = m_part->statusSync( _url, true, false, false, true ).values();
56 foreach( SvnStatusHolder _holder, holderList ){
58 if( _holder.textStatus != svn_wc_status_unversioned &&
59 _holder.textStatus != svn_wc_status_none )
61 insertRow( _holder.wcPath,
62 SvnStatusHolder::statusToString( _holder.textStatus ),
63 SvnStatusHolder::statusToString( _holder.propStatus ) );
70 KUrl::List SvnRevertOptionDlg::candidates()
72 KUrl::List list;
74 QTreeWidgetItemIterator it( ui.treeWidget, QTreeWidgetItemIterator::Checked );
75 for( ; *it; ++it ){
76 QString path = (*it)->text( 3 );
77 list << path;
79 return list;
82 bool SvnRevertOptionDlg::recurse()
84 return ui.recursive->isChecked();
87 void SvnRevertOptionDlg::insertRow( const KUrl &url, const QString &textStat, const QString &propStat )
89 QStringList list;
90 list << "" << textStat << propStat << url.toLocalFile() ;
91 QTreeWidgetItem *item = new QTreeWidgetItem( ui.treeWidget, list );
92 item->setCheckState(0, Qt::Checked);
95 #include "svnrevertwidgets.moc"