Guitar
BlameWindow.h
Go to the documentation of this file.
1 #ifndef BLAMEWINDOW_H
2 #define BLAMEWINDOW_H
3 
4 #include <QDateTime>
5 #include <QDialog>
6 
7 class MainWindow;
8 class QTableWidgetItem;
9 
10 
11 namespace Ui {
12 class BlameWindow;
13 }
14 
15 struct BlameItem {
16  QString commit_id;
17  QString author;
18  QDateTime time;
19  int line_number = 0;
20  QString text;
21 };
22 
23 class BlameWindow : public QDialog {
24  Q_OBJECT
25 private:
26  struct Private;
27  Private *m;
28 public:
29  explicit BlameWindow(MainWindow *parent, QString const &filename, QList<BlameItem> const &list);
30  ~BlameWindow() override;
31 
32  static QList<BlameItem> parseBlame(char const *begin, char const *end);
33 private slots:
34  void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
35  void on_tableWidget_customContextMenuRequested(const QPoint &pos);
36  void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item);
37 private:
38  Ui::BlameWindow *ui;
40 
41  // QObject interface
42  QString getCommitId(QTableWidgetItem *item) const;
43  QString currentCommitId() const;
44 };
45 
46 #endif // BLAMEWINDOW_H
BlameWindow.h
misc::makeDateTimeString
static QString makeDateTimeString(const QDateTime &dt)
Definition: misc.cpp:199
BlameWindow::~BlameWindow
~BlameWindow() override
Definition: BlameWindow.cpp:115
BlameWindow::Private::commit_cache
std::map< QString, CommitInfo > commit_cache
Definition: BlameWindow.cpp:26
GitPtr
std::shared_ptr< Git > GitPtr
Definition: Git.h:38
BlameWindow::BlameWindow
BlameWindow(MainWindow *parent, QString const &filename, QList< BlameItem > const &list)
Definition: BlameWindow.cpp:29
BlameWindow
Definition: BlameWindow.h:23
BlameWindow::parseBlame
static QList< BlameItem > parseBlame(char const *begin, char const *end)
Definition: BlameWindow.cpp:126
BlameItem::line_number
int line_number
Definition: BlameWindow.h:19
MainWindow::addMenuActionProperty
QAction * addMenuActionProperty(QMenu *menu)
MainWindow::addMenuActionProperty.
Definition: MainWindow.cpp:897
CommitPropertyDialog
Definition: CommitPropertyDialog.h:17
BlameWindow::on_tableWidget_itemDoubleClicked
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
Definition: BlameWindow.cpp:182
misc.h
BlameWindow::Private
Definition: BlameWindow.cpp:24
Ui
Definition: AboutDialog.h:6
MainWindow
Definition: MainWindow.h:58
BlameItem::text
QString text
Definition: BlameWindow.h:20
BlameWindow::m
Private * m
Definition: BlameWindow.h:26
BlameWindow::mainwindow
MainWindow * mainwindow()
Definition: BlameWindow.cpp:121
CommitPropertyDialog::showCheckoutButton
void showCheckoutButton(bool f)
Definition: CommitPropertyDialog.cpp:167
misc::splitLines
static QStringList splitLines(QByteArray const &ba, std::function< QString(char const *ptr, size_t len)> const &tos)
QByteArrayの文字列を行に分割する。
Definition: misc.cpp:33
Git.h
BlameWindow::getCommitId
QString getCommitId(QTableWidgetItem *item) const
Definition: BlameWindow.cpp:166
BlameWindow::Private::list
QList< BlameItem > list
Definition: BlameWindow.cpp:25
MainWindow.h
Git::isValidID
static bool isValidID(QString const &id)
Definition: Git.cpp:154
BlameItem
Definition: BlameWindow.h:15
BlameWindow::on_tableWidget_customContextMenuRequested
void on_tableWidget_customContextMenuRequested(const QPoint &pos)
Definition: BlameWindow.cpp:195
BlameWindow::on_tableWidget_currentItemChanged
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
Definition: BlameWindow.cpp:217
CommidIdRole
@ CommidIdRole
Definition: BlameWindow.cpp:12
MainWindow::git
GitPtr git(const QString &dir, const QString &submodpath, const QString &sshkey) const
Definition: MainWindow.cpp:5199
BlameItem::commit_id
QString commit_id
Definition: BlameWindow.h:16
BlameItem::author
QString author
Definition: BlameWindow.h:17
MainWindow::execCommitPropertyDialog
void execCommitPropertyDialog(QWidget *parent, const Git::CommitItem *commit)
Definition: MainWindow.cpp:4517
BlameWindow::ui
Ui::BlameWindow * ui
Definition: BlameWindow.h:38
BlameItem::time
QDateTime time
Definition: BlameWindow.h:18
CommitPropertyDialog::showJumpButton
void showJumpButton(bool f)
Definition: CommitPropertyDialog.cpp:172
BlameWindow::currentCommitId
QString currentCommitId() const
Definition: BlameWindow.cpp:171
CommitPropertyDialog.h