Fix no newlines warnings. Patch by Peter Oberndorfer
[kdevelopdvcssupport.git] / kross / krossdistributedversioncontrol.cpp
blobe891bf3dcbb36e6e18897b620d6e9f34196b7a37
1 /* KDevPlatform Kross Support
3 * Copyright 2008 Aleix Pol <aleixpol@gmail.com>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 * 02110-1301, USA.
21 #include "krossdistributedversioncontrol.h"
22 #include <KDebug>
23 #include <KAction>
24 #include <KLocale>
25 #include <QMenu>
27 #include <interfaces/iplugin.h>
28 #include <kross/core/action.h>
29 #include <interfaces/context.h>
30 #include <project/projectmodel.h>
31 #include "krossvcsjob.h"
32 #include "wrappers/krossvcsrevision.h"
33 #include "wrappers/krossvcslocation.h"
35 using namespace KDevelop;
37 KrossDistributedVersionControl::KrossDistributedVersionControl(KDevelop::IPlugin* plugin)
38 : action(0), m_plugin(plugin)
42 KrossDistributedVersionControl::~KrossDistributedVersionControl()
46 void KrossDistributedVersionControl::setActionDistributed(Kross::Action* anAction)
48 action=anAction;
51 QString KrossDistributedVersionControl::name() const
53 QVariantList args;
54 QVariant result=action->callFunction("name", args );
55 kDebug() << "retrieving name" << result.toString();
56 return result.toString();
59 KDevelop::VcsImportMetadataWidget * KrossDistributedVersionControl::createImportMetadataWidget(QWidget *)
61 return 0;
64 bool KrossDistributedVersionControl::isVersionControlled(const KUrl & url)
66 QVariantList args;
67 args << QUrl(url);
68 QVariant result=action->callFunction( "isVersionControlled", args);
69 return result.toBool();
72 KDevelop::VcsJob * KrossDistributedVersionControl::add(const KUrl::List & files, KDevelop::IBasicVersionControl::RecursionMode mode = IBasicVersionControl::Recursive)
74 QVariant param(files);
75 QVariant param1(mode==Recursive);
77 return new KrossVcsJob("add", QVariantList() << param << param1, action, m_plugin, action);
80 KDevelop::VcsJob * KrossDistributedVersionControl::remove(const KUrl::List & files)
82 QVariant param(files);
84 return new KrossVcsJob("remove", QVariantList() << param, action, m_plugin, action);
87 KDevelop::VcsJob * KrossDistributedVersionControl::copy(const KUrl & file, const KUrl & newfile)
89 QVariant from(file);
90 QVariant to(newfile);
92 return new KrossVcsJob("copy", QVariantList() << from << to, action, m_plugin, action);
95 KDevelop::VcsJob * KrossDistributedVersionControl::move(const KUrl & file, const KUrl & newfile)
97 QVariant from(file);
98 QVariant to(newfile);
100 return new KrossVcsJob("move", QVariantList() << from << to, action, m_plugin, action);
103 KDevelop::VcsJob * KrossDistributedVersionControl::status(const KUrl::List & files, KDevelop::IBasicVersionControl::RecursionMode mode)
105 QVariant param(files);
106 QVariant param1(mode);
108 return new KrossVcsJob("status", QVariantList() << param << param1, action, m_plugin, action);
111 KDevelop::VcsJob * KrossDistributedVersionControl::revert(const KUrl::List & files, KDevelop::IBasicVersionControl::RecursionMode mode)
113 QVariant param(files);
114 QVariant param1(mode==Recursive);
116 return new KrossVcsJob("revert", QVariantList() << param << param1, action, m_plugin, action);
119 KDevelop::VcsJob * KrossDistributedVersionControl::update(const KUrl::List & localLocations, const KDevelop::VcsRevision & rev,
120 KDevelop::IBasicVersionControl::RecursionMode rec)
122 QVariant revision=Handlers::kDevelopVcsRevisionHandler(&rev);
124 QVariantList parameters;
125 parameters.append(QVariant(localLocations));
126 parameters.append(revision);
127 parameters.append(QVariant(rec));
129 return new KrossVcsJob("update", parameters, action, m_plugin, action);
130 return 0;
133 KDevelop::VcsJob * KrossDistributedVersionControl::commit(const QString & msg, const KUrl::List & files,
134 KDevelop::IBasicVersionControl::RecursionMode mode)
136 QVariant message(msg);
137 QVariant file(files);
138 QVariant recursion(mode);
140 return new KrossVcsJob("commit", QVariantList() << message << file << mode, action, m_plugin, action);
143 KDevelop::VcsJob * KrossDistributedVersionControl::diff(const KUrl::List & files, KDevelop::VcsRevision & rev,
144 KDevelop::IBasicVersionControl::RecursionMode mode)
146 QVariant revision=Handlers::kDevelopVcsRevisionHandler(&rev);
148 return new KrossVcsJob("commit", QVariantList() << files << revision << mode, action, m_plugin, action);
151 KDevelop::VcsJob * KrossDistributedVersionControl::repositoryLocation(const KUrl::List & files)
153 return new KrossVcsJob("repositoryLocation", QVariantList() << files, action, m_plugin, action);
156 KDevelop::VcsJob * KrossDistributedVersionControl::repositoryLocation(const KUrl & localLocation)
158 return new KrossVcsJob("repositoryLocation", QVariantList() << localLocation, action, m_plugin, action);
161 KDevelop::VcsJob * KrossDistributedVersionControl::diff(const KDevelop::VcsLocation & localOrRepoLocationSrc,
162 const KDevelop::VcsLocation & localOrRepoLocationDst,
163 const KDevelop::VcsRevision & srcRevision,
164 const KDevelop::VcsRevision & dstRevision,
165 KDevelop::VcsDiff::Type t,
166 KDevelop::IBasicVersionControl::RecursionMode recursion)
168 QVariant srcrev=Handlers::kDevelopVcsRevisionHandler(&srcRevision);
169 QVariant dstrev=Handlers::kDevelopVcsRevisionHandler(&dstRevision);
171 QVariant srcloc=Handlers::kDevelopVcsLocationHandler(&localOrRepoLocationSrc);
172 QVariant dstloc=Handlers::kDevelopVcsLocationHandler(&localOrRepoLocationDst);
174 return new KrossVcsJob("repositoryLocation",
175 QVariantList() << srcloc << dstloc << srcrev << dstrev << QVariant(t) << QVariant(recursion), action, m_plugin, action);
176 return 0;
179 KDevelop::VcsJob * KrossDistributedVersionControl::log(const KUrl & file, const KDevelop::VcsRevision & rev, long unsigned int limit)
181 QVariant revision=Handlers::kDevelopVcsRevisionHandler(&rev);
183 return new KrossVcsJob("log", QVariantList() << file << revision << qlonglong(limit), action, m_plugin, action);
186 VcsJob* KrossDistributedVersionControl::log(const KUrl& file, const VcsRevision& rev, const VcsRevision& lim)
188 QVariant revision=Handlers::kDevelopVcsRevisionHandler(&rev);
189 QVariant limit=Handlers::kDevelopVcsRevisionHandler(&lim);
191 return new KrossVcsJob("log", QVariantList() << file << revision << limit, action, m_plugin, action);
194 VcsJob* KrossDistributedVersionControl::annotate(const KUrl& file, const VcsRevision& rev)
196 QVariant revision=Handlers::kDevelopVcsRevisionHandler(&rev);
198 return new KrossVcsJob("annotate", QVariantList() << file << revision, action, m_plugin, action);
201 VcsJob* KrossDistributedVersionControl::merge(const VcsLocation& localOrRepoLocationSrc,
202 const VcsLocation& localOrRepoLocationDst,
203 const VcsRevision& srcRevision,
204 const VcsRevision& dstRevision,
205 const KUrl& localLocation )
207 QVariant srcrev=Handlers::kDevelopVcsRevisionHandler(&srcRevision);
208 QVariant dstrev=Handlers::kDevelopVcsRevisionHandler(&dstRevision);
210 QVariant srcloc=Handlers::kDevelopVcsLocationHandler(&localOrRepoLocationSrc);
211 QVariant dstloc=Handlers::kDevelopVcsLocationHandler(&localOrRepoLocationDst);
213 return new KrossVcsJob("merge", QVariantList() << srcloc << dstloc << srcrev << dstrev << localLocation, action, m_plugin, action);
217 VcsJob* KrossDistributedVersionControl::resolve( const KUrl::List& localLocations, KDevelop::IBasicVersionControl::RecursionMode recursion )
219 return new KrossVcsJob("resolve", QVariantList() << localLocations << recursion, action, m_plugin, action);
222 VcsJob* KrossDistributedVersionControl::add_dvcs(const KUrl &repository,
223 const KUrl::List& localLocations)
225 return add(localLocations);
228 VcsJob* KrossDistributedVersionControl::init(const KUrl& location)
230 return new KrossVcsJob("init", QVariantList() << location, action, m_plugin, action);
233 VcsJob* KrossDistributedVersionControl::clone(const KDevelop::VcsLocation& localOrRepoLocationSrc, const KUrl& localRepositoryLocationSrc)
235 return new KrossVcsJob("clone", QVariantList() << localOrRepoLocationSrc.localUrl() << localRepositoryLocationSrc, action, m_plugin, action);
238 VcsJob* KrossDistributedVersionControl::push(const KUrl& localRepositoryLocation, const KDevelop::VcsLocation& localOrRepoLocationDst)
240 return new KrossVcsJob("push", QVariantList() << localRepositoryLocation << localOrRepoLocationDst.localUrl(), action, m_plugin, action);
243 VcsJob* KrossDistributedVersionControl::pull(const KDevelop::VcsLocation& localOrRepoLocationSrc, const KUrl& localRepositoryLocation)
245 return new KrossVcsJob("pull", QVariantList() << localOrRepoLocationSrc.localUrl() << localRepositoryLocation, action, m_plugin, action);
248 VcsJob* KrossDistributedVersionControl::checkout(const KDevelop::VcsMapping& mapping)
250 //TODO empty QVarianList
251 return new KrossVcsJob("checkout", QVariantList(), action, m_plugin, action);
254 VcsJob* KrossDistributedVersionControl::reset(const KUrl &repository, const QStringList &args, const KUrl::List &files)
256 return new KrossVcsJob("checkout", QVariantList() << repository << args << files, action, m_plugin, action);
259 #include "krossdistributedversioncontrol.moc"