Guitar
RepositoryWrapperFrame.h
Go to the documentation of this file.
1 #ifndef REPOSITORYWRAPPERFRAME_H
2 #define REPOSITORYWRAPPERFRAME_H
3 
4 #include "BranchLabel.h"
5 #include "Git.h"
6 #include "GitObjectManager.h"
7 
8 #include <QFrame>
9 
10 class MainWindow;
11 class LogTableWidget;
12 class FilesListWidget;
13 class FileDiffWidget;
14 
15 class RepositoryWrapperFrame : public QFrame {
16  Q_OBJECT
17  friend class MainWindow;
18 private:
20 
21  MainWindow *mw_ = nullptr;
27 
28  std::map<Git::CommitID, QList<Git::Branch>> branch_map;
29  std::map<Git::CommitID, QList<Git::Tag>> tag_map;
30  std::map<int, QList<BranchLabel>> label_map;
31  std::map<QString, Git::Diff> diff_cache;
32 
34 
36  MainWindow const *mainwindow() const;
37 public:
38  explicit RepositoryWrapperFrame(QWidget *parent = nullptr);
39  ~RepositoryWrapperFrame() override;
40  Git::CommitItem const *commitItem(int row);
41  QIcon signatureVerificationIcon(const Git::CommitID &id) const;
42  QImage committerIcon(int row, QSize size) const;
43  const QList<BranchLabel> *label(int row) const;
44  QString currentBranchName() const;
45  const Git::CommitItemList &getLogs() const;
46  bool isAncestorCommit(const QString &id);
47  QColor color(unsigned int i);
49  void bind(MainWindow *mw
52  , FilesListWidget *unstagedfileslistwidget
53  , FilesListWidget *stagesfileslistwidget
55  );
56 
57  void prepareLogTableWidget();
58  void clearLogContents();
64  void updateLogTableView();
65  void setFocusToLogTable();
66  void selectLogTableRow(int row);
67 public slots:
68  void avatarReady();
69 };
70 
74  : pointer(pointer)
75  {
76  }
77 };
78 
79 #endif // REPOSITORYWRAPPERFRAME_H
RepositoryWrapperFrame::selectLogTableRow
void selectLogTableRow(int row)
Definition: RepositoryWrapperFrame.cpp:120
RepositoryWrapperFrame::filediffwidget
FileDiffWidget * filediffwidget()
Definition: RepositoryWrapperFrame.cpp:60
AvatarLoader::connectAvatarReady
void connectAvatarReady(const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
Definition: AvatarLoader.h:45
LogTableWidget
コミットログテーブルウィジェット
Definition: LogTableWidget.h:12
RepositoryWrapperFrameP::RepositoryWrapperFrameP
RepositoryWrapperFrameP(RepositoryWrapperFrame *pointer=nullptr)
Definition: RepositoryWrapperFrame.h:73
AvatarLoader::disconnectAvatarReady
void disconnectAvatarReady(const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
Definition: AvatarLoader.h:49
RepositoryWrapperFrame::stagesfileslistwidget_
FilesListWidget * stagesfileslistwidget_
Definition: RepositoryWrapperFrame.h:25
RepositoryWrapperFrame::unstagedFileslistwidget
FilesListWidget * unstagedFileslistwidget()
Definition: RepositoryWrapperFrame.cpp:50
RepositoryWrapperFrame.h
RepositoryWrapperFrame::filediffwidget_
FileDiffWidget * filediffwidget_
Definition: RepositoryWrapperFrame.h:26
RepositoryWrapperFrame::mw_
MainWindow * mw_
Definition: RepositoryWrapperFrame.h:21
MainWindow::signatureVerificationIcon
QIcon signatureVerificationIcon(const Git::CommitID &id) const
MainWindow::signatureVerificationIcon.
Definition: MainWindow.cpp:864
RepositoryWrapperFrame::prepareLogTableWidget
void prepareLogTableWidget()
Definition: RepositoryWrapperFrame.cpp:130
RepositoryWrapperFrameP::pointer
RepositoryWrapperFrame * pointer
Definition: RepositoryWrapperFrame.h:72
RepositoryWrapperFrame::committerIcon
QImage committerIcon(int row, QSize size) const
Definition: RepositoryWrapperFrame.cpp:75
UserEvent.h
RepositoryWrapperFrame::objcache
GitObjectCache objcache
Definition: RepositoryWrapperFrame.h:33
FilesListWidget
Definition: FilesListWidget.h:9
MainWindow::color
QColor color(unsigned int i)
MainWindow::color.
Definition: MainWindow.cpp:931
RepositoryWrapperFrame::color
QColor color(unsigned int i)
Definition: RepositoryWrapperFrame.cpp:100
RepositoryWrapperFrame::RepositoryWrapperFrame
RepositoryWrapperFrame(QWidget *parent=nullptr)
Definition: RepositoryWrapperFrame.cpp:6
RepositoryWrapperFrame::tag_map
std::map< Git::CommitID, QList< Git::Tag > > tag_map
Definition: RepositoryWrapperFrame.h:29
RepositoryWrapperFrame::diff_cache
std::map< QString, Git::Diff > diff_cache
Definition: RepositoryWrapperFrame.h:31
RepositoryWrapperFrameP
Definition: RepositoryWrapperFrame.h:71
RepositoryWrapperFrame
Definition: RepositoryWrapperFrame.h:15
ApplicationGlobal::avatar_loader
AvatarLoader avatar_loader
Definition: ApplicationGlobal.h:54
MainWindow::isAncestorCommit
bool isAncestorCommit(const QString &id)
Definition: MainWindow.cpp:5589
RepositoryWrapperFrame::avatarReady
void avatarReady()
Definition: RepositoryWrapperFrame.cpp:125
MainWindow::getCommitLog
const Git::CommitItemList & getCommitLog(RepositoryWrapperFrame const *frame) const
Definition: MainWindow.cpp:3068
MainWindow::updateCommitGraph
void updateCommitGraph(RepositoryWrapperFrame *frame)
MainWindow::updateCommitGraph.
Definition: MainWindow.cpp:2774
RepositoryWrapperFrame::branch_map
std::map< Git::CommitID, QList< Git::Branch > > branch_map
Definition: RepositoryWrapperFrame.h:28
RepositoryWrapperFrame::bind
void bind(MainWindow *mw, LogTableWidget *logtablewidget, FilesListWidget *fileslistwidget, FilesListWidget *unstagedfileslistwidget, FilesListWidget *stagesfileslistwidget, FileDiffWidget *filediffwidget)
Definition: RepositoryWrapperFrame.cpp:17
RepositoryWrapperFrame::getLogs
const Git::CommitItemList & getLogs() const
Definition: RepositoryWrapperFrame.cpp:90
RepositoryWrapperFrame::fileslistwidget
FilesListWidget * fileslistwidget()
Definition: RepositoryWrapperFrame.cpp:45
MainWindow
Definition: MainWindow.h:58
RepositoryWrapperFrame::clearLogContents
void clearLogContents()
Definition: RepositoryWrapperFrame.cpp:151
GitObjectCache
Definition: GitObjectManager.h:55
RepositoryWrapperFrame::mainwindow
MainWindow * mainwindow()
Definition: RepositoryWrapperFrame.cpp:28
RepositoryWrapperFrame::~RepositoryWrapperFrame
~RepositoryWrapperFrame() override
Definition: RepositoryWrapperFrame.cpp:12
RepositoryWrapperFrame::fileslistwidget_
FilesListWidget * fileslistwidget_
Definition: RepositoryWrapperFrame.h:23
LogTableWidget.h
Git::CommitID
Definition: Git.h:42
RepositoryWrapperFrame::updateLogTableView
void updateLogTableView()
Definition: RepositoryWrapperFrame.cpp:110
MainWindow::commitItem
const Git::CommitItem * commitItem(const RepositoryWrapperFrame *frame, int row) const
Definition: MainWindow.cpp:5433
Git::CommitItemList
Definition: Git.h:131
BranchLabel.h
Git.h
RepositoryWrapperFrame::signatureVerificationIcon
QIcon signatureVerificationIcon(const Git::CommitID &id) const
Definition: RepositoryWrapperFrame.cpp:70
RepositoryWrapperFrame::label
const QList< BranchLabel > * label(int row) const
Definition: RepositoryWrapperFrame.cpp:80
MainWindow.h
MainWindow::committerIcon
QImage committerIcon(RepositoryWrapperFrame *frame, int row, QSize size) const
Definition: MainWindow.cpp:5457
RepositoryWrapperFrame::commit_log
Git::CommitItemList commit_log
Definition: RepositoryWrapperFrame.h:19
global
ApplicationGlobal * global
Definition: main.cpp:33
RepositoryWrapperFrame::label_map
std::map< int, QList< BranchLabel > > label_map
Definition: RepositoryWrapperFrame.h:30
Git::CommitItem
Definition: Git.h:109
GitObjectManager.h
RepositoryWrapperFrame::currentBranchName
QString currentBranchName() const
Definition: RepositoryWrapperFrame.cpp:85
FileDiffWidget
The FileDiffWidget class サイドバイサイドで2つのファイルのdiffを表示するウィジェット
Definition: FileDiffWidget.h:39
RepositoryWrapperFrame::setFocusToLogTable
void setFocusToLogTable()
Definition: RepositoryWrapperFrame.cpp:115
LogTableWidget::bind
void bind(RepositoryWrapperFrame *frame)
Definition: LogTableWidget.cpp:209
MainWindow::label
const QList< BranchLabel > * label(const RepositoryWrapperFrame *frame, int row) const
Definition: MainWindow.cpp:2743
RepositoryWrapperFrame::logtablewidget_
LogTableWidget * logtablewidget_
Definition: RepositoryWrapperFrame.h:22
RepositoryWrapperFrame::isAncestorCommit
bool isAncestorCommit(const QString &id)
Definition: RepositoryWrapperFrame.cpp:95
RepositoryWrapperFrame::updateAncestorCommitMap
void updateAncestorCommitMap()
Definition: RepositoryWrapperFrame.cpp:105
RepositoryWrapperFrame::commitItem
const Git::CommitItem * commitItem(int row)
Definition: RepositoryWrapperFrame.cpp:65
RepositoryWrapperFrame::logtablewidget
LogTableWidget * logtablewidget()
Definition: RepositoryWrapperFrame.cpp:40
RepositoryWrapperFrame::stagedFileslistwidget
FilesListWidget * stagedFileslistwidget()
Definition: RepositoryWrapperFrame.cpp:55
MainWindow::currentBranchName
QString currentBranchName() const
Definition: MainWindow.cpp:5194
MainWindow::updateAncestorCommitMap
void updateAncestorCommitMap(RepositoryWrapperFrame *frame)
Definition: MainWindow.cpp:5595
RepositoryWrapperFrame::unstagedfileslistwidget_
FilesListWidget * unstagedfileslistwidget_
Definition: RepositoryWrapperFrame.h:24