Guitar
BlameWindow.h
Go to the documentation of this file.
1 #ifndef BLAMEWINDOW_H
2 #define BLAMEWINDOW_H
3 
4 #include "Git.h"
5 
6 #include <QDateTime>
7 #include <QDialog>
8 
9 class MainWindow;
10 class QTableWidgetItem;
11 
12 
13 namespace Ui {
14 class BlameWindow;
15 }
16 
17 struct BlameItem {
18  QString commit_id;
19  QString author;
20  QDateTime time;
21  int line_number = 0;
22  QString text;
23 };
24 
25 class BlameWindow : public QDialog {
26  Q_OBJECT
27 private:
28  struct Private;
30 public:
31  explicit BlameWindow(MainWindow *parent, QString const &filename, QList<BlameItem> const &list);
32  ~BlameWindow() override;
33 
34  static QList<BlameItem> parseBlame(const std::string_view &str);
35 private slots:
36  void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
37  void on_tableWidget_customContextMenuRequested(const QPoint &pos);
38  void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item);
39 private:
40  Ui::BlameWindow *ui;
42 
43  // QObject interface
44  Git::Hash getCommitId(QTableWidgetItem *item) const;
45  Git::Hash currentCommitId() const;
46 };
47 
48 #endif // BLAMEWINDOW_H
Definition: BlameWindow.h:25
Git::Hash getCommitId(QTableWidgetItem *item) const
Definition: BlameWindow.cpp:161
~BlameWindow() override
Definition: BlameWindow.cpp:115
Private * m
Definition: BlameWindow.h:28
Git::Hash currentCommitId() const
Definition: BlameWindow.cpp:166
BlameWindow(MainWindow *parent, QString const &filename, QList< BlameItem > const &list)
Definition: BlameWindow.cpp:29
void on_tableWidget_customContextMenuRequested(const QPoint &pos)
Definition: BlameWindow.cpp:196
Ui::BlameWindow * ui
Definition: BlameWindow.h:40
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
Definition: BlameWindow.cpp:177
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
Definition: BlameWindow.cpp:218
MainWindow * mainwindow()
Definition: BlameWindow.cpp:191
static QList< BlameItem > parseBlame(const std::string_view &str)
Definition: BlameWindow.cpp:121
Definition: Git.h:46
Definition: MainWindow.h:85
Definition: AboutDialog.h:6
Definition: BlameWindow.h:17
QString author
Definition: BlameWindow.h:19
QDateTime time
Definition: BlameWindow.h:20
int line_number
Definition: BlameWindow.h:21
QString commit_id
Definition: BlameWindow.h:18
QString text
Definition: BlameWindow.h:22
Definition: BlameWindow.cpp:24