kde-workspace/dolphin/plugins/hg/bundledialog.h
Ivailo Monev f68295ea28 generic: move sub-projects from kde-baseapps [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-14 21:56:54 +03:00

92 lines
2.9 KiB
C++

/***************************************************************************
* Copyright (C) 2011 by Vishesh Yadav <vishesh3y@gmail.com> *
* *
* 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; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
#ifndef HGBUNDLEDIALOG_H
#define HGBUNDLEDIALOG_H
#include <kdialog.h>
#include <QGroupBox>
#include <QCheckBox>
class KLineEdit;
class HgCommitInfoWidget;
class HgPathSelector;
class KPushButton;
/**
* Dialog which implements bundle feature of Mercurial. Bundle enables
* user to creates a file containing all the selected/desired changesets
* in mercurial's internal format rather than patches.
*
* Changesets can either be selected by user or after being compared by
* remote repository selected.
*
*/
class HgBundleDialog : public KDialog
{
Q_OBJECT
public:
HgBundleDialog(QWidget *parent=0);
public slots:
void done(int r);
private slots:
void saveGeometry();
/**
* Opens a dialog listing all changeset from which user will select a
* changeset for base revision.
*/
void slotSelectChangeset();
void slotAllChangesCheckToggled(int state);
private:
void setupUI();
/**
* Creates bundle file.
*
* @param fileName Path to file where bundle will be created.
*/
void createBundle(const QString &fileName);
/**
* Find all changesets in respository and show them in Commit Selector in
* Base Changeset selector.
*/
void loadCommits();
private:
QGroupBox *m_mainGroup;
HgPathSelector *m_pathSelect;
HgCommitInfoWidget *m_commitInfo;
KPushButton *m_selectCommitButton;
KLineEdit *m_baseRevision;
QCheckBox *m_allChangesets;
//options
QGroupBox *m_optionGroup;
QCheckBox *m_optForce;
QCheckBox *m_optInsecure;
};
#endif /* HGBUNDLEDIALOG_H */