Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef SVN_UPDATE_DIALOG_H
Toshihiro Shimizu 890ddd
#define SVN_UPDATE_DIALOG_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "toonzqt/dvdialog.h"
Toshihiro Shimizu 890ddd
#include "versioncontrol.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <qlist></qlist>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class QLabel;
Toshihiro Shimizu 890ddd
class QPushButton;
Toshihiro Shimizu 890ddd
class DateChooserWidget;
Toshihiro Shimizu 890ddd
class ConflictWidget;
Toshihiro Shimizu 890ddd
class QTextEdit;
Toshihiro Shimizu 890ddd
class QCheckBox;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class SVNUpdateDialog final : public DVGui::Dialog {
Shinya Kitaoka 120a6e
  Q_OBJECT
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QPushButton *m_closeButton;
Shinya Kitaoka 120a6e
  QPushButton *m_cancelButton;
Shinya Kitaoka 120a6e
  QPushButton *m_updateButton;  // only in update to revision
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  VersionControlThread m_thread;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QCheckBox *m_updateSceneContentsCheckBox;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QLabel *m_waitingLabel;
Shinya Kitaoka 120a6e
  QLabel *m_textLabel;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QString m_workingDir;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QList<svnstatus> m_status;</svnstatus>
Shinya Kitaoka 120a6e
  QStringList m_files;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QList<qstring> m_filesToUpdate;</qstring>
Shinya Kitaoka 120a6e
  QList<qstring> m_filesWithConflict;</qstring>
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QList<qstring> m_sceneResources;</qstring>
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  bool m_updateToRevision;
Shinya Kitaoka 120a6e
  bool m_nonRecursive;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  QTextEdit *m_output;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  DateChooserWidget *m_dateChooserWidget;
Shinya Kitaoka 120a6e
  ConflictWidget *m_conflictWidget;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  int m_sceneIconsCount;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  // Used to choose to display "Get scene contents"
Shinya Kitaoka 120a6e
  // If there is some missing .tnz files don't display "Get Scene Contents"
Shinya Kitaoka 120a6e
  // checkbox.
Shinya Kitaoka 120a6e
  bool m_someSceneIsMissing;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  void updateFiles();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void checkFiles();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void switchToCloseButton();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  SVNUpdateDialog(QWidget *parent, const QString &workingDir,
Shinya Kitaoka 120a6e
                  const QStringList &filesToUpdate, int sceneIconsCount,
Shinya Kitaoka 120a6e
                  bool isFolderOnly, bool updateToRevision, bool nonRecursive);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
protected slots:
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onError(const QString &);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onUpdateDone(const QString &);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onConflictSetted();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onUpdateToMineDone();
Shinya Kitaoka 120a6e
  void onConflictResolved();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  // Only for update to revision
Shinya Kitaoka 120a6e
  void onUpdateToRevisionButtonClicked();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onUpdateButtonClicked();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void addOutputText(const QString &text);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onStatusRetrieved(const QString &);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onUpdateSceneContentsToggled(bool);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
signals:
Shinya Kitaoka 120a6e
  void done(const QStringList &);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
#endif  // SVN_REVERT_DIALOG_H