13 #include <QMainWindow>
22 class QListWidgetItem;
23 class QTableWidgetItem;
24 class QTreeWidgetItem;
54 : data(s.data(), s.size())
72 class AbstractGitCommand;
79 std::shared_ptr<ProcessStatus>
status;
102 IndexRole = Qt::UserRole,
161 operator bool ()
const
171 void postEvent(QObject *receiver, QEvent *event,
int ms_later);
173 void cancelPendingUserEvents();
175 void updateFileList(
const GitHash &
id);
177 void updateFileListLater(
int delay_ms);
178 void cancelUpdateFileList();
179 void initUpdateFileListTimer();
182 bool new_session =
true;
184 bool validate =
false;
185 bool wait_cursor =
true;
186 bool keep_selection =
false;
188 bool clear_log =
true;
189 bool do_fetch =
true;
193 void reopenRepository(
bool validate);
194 void openSelectedRepository();
198 QStringList selectedFiles_(QListWidget *listwidget)
const;
199 QStringList selectedFiles()
const;
200 void for_each_selected_files(std::function<
void (QString
const &)>
const &fn);
201 void clearFileList();
202 void clearDiffView();
207 void buildRepoTree(QString
const &group, QTreeWidgetItem *item, QList<RepositoryInfo> *repos);
208 void refrectRepositories();
210 void updateDiffView(QListWidgetItem *item);
211 void updateDiffView();
212 void updateUnstagedFileCurrentItem();
213 void updateStagedFileCurrentItem();
214 void updateStatusBarText();
215 void setRepositoryInfo(QString
const &reponame, QString
const &brname);
217 QString getIncrementalSearchText()
const;
218 void setFilterText(
const QString &text,
int repo_list_select_row = -1);
219 void clearFilterText(
int repo_list_select_row = -1);
220 void clearAllFilters(
int select_row = -1);
222 void _appendCharToFilterText(ushort c);
232 void setRemoteOnline(
bool f,
bool save);
234 void setNetworkingCommandsEnabled(
bool enabled);
235 void blame(QListWidgetItem *item);
237 QListWidgetItem *currentFileItem()
const;
238 void execAreYouSureYouWantToContinueConnectingDialog(
const QString &windowtitle);
240 QStringList remoteBranches(
const GitHash &
id, QStringList *all);
241 bool isUninitialized();
242 void onLogCurrentItemChanged(
bool update_file_list);
244 void findText(
const QString &text);
245 bool locateCommitID(QString
const &commit_id);
248 void showLogWindow(
bool show);
249 bool isValidRemoteURL(
const QString &url,
const QString &sshkey);
250 QStringList whichCommand_(
const QString &cmdfile1,
const QString &cmdfile2 = {});
251 QString selectCommand_(
const QString &cmdname,
const QStringList &cmdfiles,
const QStringList &list, QString path,
const std::function<
void (
const QString &)> &callback);
252 QString selectCommand_(
const QString &cmdname,
const QString &cmdfile,
const QStringList &list,
const QString &path,
const std::function<
void (
const QString &)> &callback);
253 const RepositoryInfo *findRegisteredRepository(QString *workdir)
const;
254 bool execSetGlobalUserDialog();
255 void revertAllFiles();
256 bool execWelcomeWizardDialog();
257 void execRepositoryPropertyDialog(
const RepositoryInfo &repo,
bool open_repository_menu =
false);
258 void execConfigUserDialog(
const GitUser &global_user,
const GitUser &local_user,
bool enable_local_user,
const QString &reponame);
259 void setGitCommand(
const QString &path,
bool save);
260 void setGpgCommand(
const QString &path,
bool save);
261 void setSshCommand(
const QString &path,
bool save);
262 bool checkGitCommand();
263 bool saveByteArrayAs(
const QByteArray &ba,
const QString &dstpath);
264 QString executableOrEmpty(
const QString &path);
265 bool checkExecutable(
const QString &path);
266 void internalSaveCommandPath(
const QString &path,
bool save,
const QString &name);
267 void logGitVersion();
268 void internalClearRepositoryInfo();
271 void setCurrentRepository(
const RepositoryInfo &repo,
bool clear_authentication);
272 std::optional<QList<GitDiff>> makeDiffs(
GitRunner g,
GitHash id, std::future<QList<GitSubmoduleItem>> &&async_modules);
274 void updateRemoteInfo();
276 void submodule_add(QString url = {},
const QString &local_dir = {});
278 void commit(
bool amend =
false);
283 void push(
bool set_upstream,
const QString &remote,
const QString &branch,
bool force);
285 void stage(
GitRunner g,
const QStringList &paths);
289 void delete_tags(
GitRunner g,
const QStringList &tagnames);
295 void deleteSelectedBranch();
296 void resetFile(
const QStringList &paths);
297 void clearAuthentication();
298 void clearSshAuthentication();
299 void internalDeleteTags(
const QStringList &tagnames);
300 void internalAddTag(
const QString &name);
301 void createRepository(
const QString &dir);
302 void addRepository(
const QString &local_dir,
const QString &group = {});
304 void scanFolderAndRegister(
const QString &group);
305 void doGitCommand(
const std::function<
void (
GitRunner)> &callback);
306 void setWindowTitle_(
const GitUser &user);
307 void setUnknownRepositoryInfo();
308 void setCurrentRemoteName(
const QString &name);
310 QStringList remotes()
const;
312 QString tempfileHeader()
const;
313 void deleteTempFiles();
314 QString newTempFilePath();
315 int limitLogCount()
const;
316 bool isThereUncommitedChanges()
const;
318 const std::map<GitHash, BranchList> &branchmap()
const;
320 void updateWindowTitle(
const GitUser &user);
323 std::tuple<QString, BranchLabelList> makeCommitLabels(
GitCommitItem const &commit, std::map<GitHash, BranchList>
const &branch_map, std::map<GitHash, TagList>
const &tag_map)
const;
326 void removeRepositoryFromBookmark(RepositoryTreeIndex
const &index,
bool ask);
329 bool askAreYouSureYouWantToRun(
const QString &title,
const QString &command);
330 bool editFile(
const QString &path,
const QString &title);
333 void saveApplicationSettings();
335 void setDiffResult(
const QList<GitDiff> &diffs);
336 const QList<GitSubmoduleItem> &submodules()
const;
337 void setSubmodules(
const QList<GitSubmoduleItem> &submodules);
338 bool runOnRepositoryDir(
const std::function<
void (QString, QString)> &callback,
const RepositoryInfo *repo);
341 const std::map<GitHash, TagList> &tagmap()
const;
342 std::map<GitHash, TagList> queryTags(
GitRunner g);
345 void sshSetPassphrase(
const std::string &user,
const std::string &pass);
346 std::string sshPassphraseUser()
const;
347 std::string sshPassphrasePass()
const;
348 void httpSetAuthentication(
const std::string &user,
const std::string &pass);
349 std::string httpAuthenticationUser()
const;
350 std::string httpAuthenticationPass()
const;
353 bool saveRepositoryBookmarks();
354 QString getBookmarksFilePath()
const;
355 void stopPtyProcess();
356 void abortPtyProcess();
359 bool getPtyProcessOk()
const;
360 bool isPtyProcessRunning()
const;
361 void setCompletedHandler(std::function<
void (
bool,
const QVariant &)> fn,
const QVariant &userdata);
362 void setPtyProcessOk(
bool pty_process_ok);
364 const QList<RepositoryInfo> &repositoryList()
const;
365 void setRepositoryList(QList<RepositoryInfo> &&list);
367 bool interactionEnabled()
const;
368 void setInteractionEnabled(
bool enabled);
369 InteractionMode interactionMode()
const;
370 void setInteractionMode(
const InteractionMode &im);
371 void setUncommitedChanges(
bool uncommited_changes);
372 QList<GitDiff>
const *diffResult()
const;
374 void clearLabelMap();
379 void setHeadId(
const GitHash &head_id);
380 void setPtyProcessCompletionData(
const QVariant &value);
381 const QVariant &getTempRepoForCloneCompleteV()
const;
382 void msgNoRepositorySelected();
383 bool isRepositoryOpened()
const;
384 void initRepository(
const QString &path,
const QString &reponame,
const GitRemote &remote);
385 void updatePocessLog(
bool processevents);
386 void appendLogHistory(
const QByteArray &str);
387 std::vector<std::string> getLogHistoryLines();
388 void clearLogHistory();
389 void updateAvatar(
const GitUser &user,
bool request);
390 void cleanSubModule(
GitRunner g, QListWidgetItem *item);
392 void updateUncommitedChanges(
GitRunner g);
394 QString preferredRepositoryGroup()
const;
395 void setPreferredRepositoryGroup(
const QString &group);
396 bool _addExistingLocalRepository(QString dir, QString name, QString sshkey,
bool open,
bool save =
true,
bool msgbox_if_err =
true);
397 void addExistingLocalRepositoryWithGroup(
const QString &dir,
const QString &group);
398 bool addExistingLocalRepository(
const QString &dir,
bool open);
401 int rowFromCommitId(
const GitHash &
id);
403 void _updateCommitLogTableView(
int delay_ms);
411 void jump(
GitRunner g,
const QString &text);
412 void connectPtyProcessCompleted();
413 void setupShowFileListHandler();
415 void setRetry(std::function<
void (
const QVariant &)> fn,
const QVariant &
var);
418 bool isRetryQueued()
const;
420 void clearGitCommandCache();
421 void clearGitObjectCache();
429 void setupAddFileObjectData();
431 void setupStatusInfoHandler();
432 void connectSetCommitLog();
434 void _chooseRepository(QTreeWidgetItem *item);
435 void chooseRepository();
438 std::optional<GitCommitItem> getCommitItem(
GitRunner g,
const GitHash &hash)
const;
440 void closeEvent(QCloseEvent *event)
override;
441 void dragEnterEvent(QDragEnterEvent *event)
override;
442 void keyPressEvent(QKeyEvent *event)
override;
443 bool event(QEvent *event)
override;
444 bool eventFilter(QObject *watched, QEvent *event)
override;
445 std::optional<RepositoryInfo> selectedRepositoryItem()
const;
446 void removeSelectedRepositoryFromBookmark(
bool ask);
453 void onLogVisibilityChanged();
454 void onRepositoriesTreeDropped();
455 void onInterval10ms();
456 void onAvatarReady();
457 void onCommitDetailGetterReady();
460 void onCommitLogCurrentRowChanged(
int row);
462 void on_action_about_triggered();
463 void on_action_add_repository_triggered();
464 void on_action_clean_df_triggered();
465 void on_action_commit_triggered();
466 void on_action_create_desktop_launcher_file_triggered();
467 void on_action_delete_branch_triggered();
468 void on_action_delete_remote_branch_triggered();
469 void on_action_edit_git_config_triggered();
470 void on_action_edit_gitignore_triggered();
471 void on_action_edit_global_gitconfig_triggered();
472 void on_action_edit_settings_triggered();
473 void on_action_edit_tags_triggered();
474 void on_action_exit_triggered();
475 void on_action_expand_commit_log_triggered();
476 void on_action_expand_diff_view_triggered();
477 void on_action_expand_file_list_triggered();
478 void on_action_explorer_triggered();
479 void on_action_fetch_prune_triggered();
480 void on_action_fetch_triggered();
481 void on_action_find_next_triggered();
482 void on_action_find_triggered();
483 void on_action_offline_triggered();
484 void on_action_online_triggered();
485 void on_action_pull_triggered();
486 void on_action_push_all_tags_triggered();
487 void on_action_push_triggered();
488 void on_action_reflog_triggered();
489 void on_action_repo_checkout_triggered();
490 void on_action_repo_jump_to_head_triggered();
491 void on_action_repo_jump_triggered();
492 void on_action_repo_merge_triggered();
493 void on_action_repositories_panel_triggered();
494 void on_action_repository_property_triggered();
495 void on_action_repository_status_triggered();
496 void on_action_reset_HEAD_1_triggered();
497 void on_action_reset_hard_triggered();
498 void on_action_configure_user_triggered();
499 void on_action_set_gpg_signing_triggered();
500 void on_action_show_labels_triggered();
501 void on_action_show_graph_triggered();
502 void on_action_show_avatars_triggered();
503 void on_action_sidebar_triggered();
504 void on_action_stash_apply_triggered();
505 void on_action_stash_drop_triggered();
506 void on_action_stash_triggered();
507 void on_action_stop_process_triggered();
508 void on_action_submodule_add_triggered();
509 void on_action_submodule_update_triggered();
510 void on_action_submodules_triggered();
511 void on_action_terminal_triggered();
512 void on_action_view_refresh_triggered();
513 void on_action_window_log_triggered(
bool checked);
514 void on_listWidget_files_currentRowChanged(
int currentRow);
515 void on_listWidget_files_customContextMenuRequested(
const QPoint &pos);
516 void on_listWidget_files_itemDoubleClicked(QListWidgetItem *item);
517 void on_listWidget_staged_currentRowChanged(
int currentRow);
518 void on_listWidget_staged_customContextMenuRequested(
const QPoint &pos);
519 void on_listWidget_staged_itemDoubleClicked(QListWidgetItem *item);
520 void on_listWidget_unstaged_currentRowChanged(
int currentRow);
521 void on_listWidget_unstaged_customContextMenuRequested(
const QPoint &pos);
522 void on_listWidget_unstaged_itemDoubleClicked(QListWidgetItem *item);
523 void on_radioButton_remote_offline_clicked();
524 void on_radioButton_remote_online_clicked();
525 void on_tableWidget_log_customContextMenuRequested(
const QPoint &pos);
526 void on_tableWidget_log_doubleClicked(
const QModelIndex &index);
527 void on_toolButton_commit_clicked();
528 void on_toolButton_explorer_clicked();
529 void on_toolButton_fetch_clicked();
530 void on_toolButton_pull_clicked();
531 void on_toolButton_push_clicked();
532 void on_toolButton_select_all_clicked();
533 void on_toolButton_stage_clicked();
534 void on_toolButton_status_clicked();
535 void on_toolButton_stop_process_clicked();
536 void on_toolButton_terminal_clicked();
537 void on_toolButton_unstage_clicked();
538 void on_treeWidget_repos_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
539 void on_treeWidget_repos_customContextMenuRequested(
const QPoint &pos);
540 void on_treeWidget_repos_itemDoubleClicked(QTreeWidgetItem *item,
int column);
541 void on_toolButton_addrepo_clicked();
544 void toggleMaximized();
546 void onRemoteInfoChanged();
547 void onShowStatusInfo(
StatusInfo const &info);
548 void on_action_rebase_abort_triggered();
553 void on_action_view_sort_by_time_changed();
555 void on_action_ssh_triggered();
557 void on_action_restart_trace_logger_triggered();
574 explicit MainWindow(QWidget *parent =
nullptr);
577 QColor color(
unsigned int i);
578 bool isOnlineMode()
const;
579 void updateCurrentFileList();
583 const TagList &queryCurrentCommitTagList()
const;
585 static int indexOfLog(QListWidgetItem *item);
586 static int indexOfDiff(QListWidgetItem *item);
587 static QList<GitSubmoduleItem> updateSubmodules(
GitRunner g,
const GitHash &
id);
589 static TagList findTag(std::map<GitHash, TagList>
const &tagmap,
GitHash const &
id);
590 static QString makeRepositoryName(
const QString &loc);
591 static void addDiffItems(
const QList<GitDiff> *diff_list,
const std::function<
void (
const ObjectData &)> &add_item);
592 static GitHash getObjectID(QListWidgetItem *item);
593 static QString getFilePath(QListWidgetItem *item);
594 static QString getSubmodulePath(QListWidgetItem *item);
595 static QString getSubmoduleCommitId(QListWidgetItem *item);
598 static std::string parseDetectedDubiousOwnershipInRepositoryAt(
const std::vector<std::string> &lines);
601 static bool isValidWorkingCopy(
GitRunner g);
602 bool isValidWorkingCopy(QString
const &local_dir);
605 void drawDigit(QPainter *pr,
int x,
int y,
int n)
const;
606 static constexpr
int DIGIT_WIDTH = 5;
607 static constexpr
int DIGIT_HEIGHT = 7;
609 void clearStatusInfo();
610 bool setCurrentLogRow(
int row);
612 void deleteTags(QStringList
const &tagnames);
613 void addTag(QString
const &name);
614 int selectedLogIndex()
const;
615 void updateAncestorCommitMap();
616 bool isAncestorCommit(
GitHash const &
id)
const;
617 void postStartEvent(
int ms_later);
618 void setShowLabels(
bool show,
bool save);
619 void setShowGraph(
bool show,
bool save);
620 void setShowAvatars(
bool show,
bool save);
621 bool isLabelsVisible()
const;
622 bool isGraphVisible()
const;
623 bool isAvatarsVisible()
const;
624 bool isAvatarEnabled()
const;
625 void makeDiffList(
const GitHash &
id, QList<GitDiff> *diff_list, QListWidget *listwidget);
627 void execCommitPropertyDialog(QWidget *parent,
const GitCommitItem &commit);
628 void execCommitExploreWindow(QWidget *parent,
const GitCommitItem *commit);
629 void execFileHistory(
const QString &path);
630 void execFileHistory(QListWidgetItem *item);
631 void showObjectProperty(QListWidgetItem *item);
632 bool testRemoteRepositoryValidity(
const QString &url,
const QString &sshkey);
633 QString selectGitCommand(
bool save);
634 QString selectGpgCommand(
bool save);
635 QString selectSshCommand(
bool save);
637 void setCurrentBranch(
const GitBranch &b);
639 QString currentRepositoryName()
const;
640 QString currentRemoteName()
const;
641 QString currentBranchName()
const;
642 GitRunner _git(
const QString &dir,
const QString &submodpath,
const QString &sshkey)
const;
643 GitRunner unassosiated_git_runner()
const;
644 GitRunner new_git_runner(
const QString &dir,
const QString &sshkey);
648 bool isValidWorkingCopy(QString
const &dir)
const;
649 void autoOpenRepository(QString dir,
const QString &commit_id = {});
650 std::optional<GitCommitItem> queryCommit(
const GitHash &
id);
651 bool checkoutLocalBranch(QString
const &name);
652 void checkout(QWidget *parent,
const GitCommitItem &commit, std::function<
void ()> accepted_callback = {});
654 bool jumpToCommit(
const GitHash &
id);
655 bool jumpToCommit(
const QString &
id);
658 void emitWriteLog(
LogData const &logdata);
659 QString findFileID(
const GitHash &commit_id,
const QString &file);
662 QImage committerIcon(
int row, QSize size)
const;
663 void changeSshKey(
const QString &local_dir,
const QString &ssh_key,
bool save);
666 QString defaultWorkingDir()
const;
667 QIcon signatureVerificationIcon(
const GitHash &
id)
const;
668 QAction *addMenuActionProperty(QMenu *menu);
669 QString currentWorkingCopyDir()
const;
673 GitUser currentGitUser()
const;
674 void setupExternalPrograms();
675 void updateCommitLogTableViewLater();
677 void changeRepositoryBookmarkName(
RepositoryInfo item, QString new_name);
679 void setProgress(
float progress);
680 void showProgress(
const QString &text,
float progress = -1.0f);
682 void internalAfterFetch();
683 void onRepositoryTreeSortRecent(
bool f);
686 void clearLogContents();
687 void updateLogTableView();
688 void setFocusToLogTable();
689 void selectLogTableRow(
int row);
693 bool saveFileAs(
const QString &srcpath,
const QString &dstpath);
694 bool saveBlobAs(
const QString &
id,
const QString &dstpath);
696 void internalWriteLog(
const LogData &logdata);
GitMergeFastForward
Definition: GitTypes.h:360
QList< NamedCommitItem > NamedCommitList
Definition: Git.h:256
QList< BranchLabel > BranchLabelList
Definition: RepositoryModel.h:9
QList< GitBranch > BranchList
Definition: RepositoryModel.h:8
QList< GitTag > TagList
Definition: RepositoryModel.h:7
std::shared_ptr< TextEditorTheme > TextEditorThemePtr
Definition: TextEditorTheme.h:9
Definition: AboutDialog.h:10
Definition: AddRepositoryDialog.h:14
Definition: ApplicationSettings.h:23
ログテーブルウィジェットのブランチ名ラベル
Definition: BranchLabel.h:11
Definition: FileHistoryWindow.h:14
std::variant< Git_clone, Git_fetch, Git_stage, Git_push, Git_pull, Git_push_tags, Git_delete_tag, Git_delete_tags, Git_add_tag, Git_submodule_add > variant_t
Definition: GitCommandRunner.h:133
Definition: GitTypes.h:142
Definition: GitTypes.h:31
Definition: GitObjectManager.h:37
Definition: GitRunner.h:14
Definition: MainWindow.h:65
std::vector< std::string > lines
Definition: MainWindow.h:69
size_t pos
Definition: MainWindow.h:68
size_t len
Definition: MainWindow.h:68
int hunk_number
Definition: MainWindow.h:67
Definition: MainWindow.h:699
MainWindow::FileListType files_list_type
Definition: MainWindow.h:701
std::vector< MainWindow::ObjectData > object_data
Definition: MainWindow.h:702
Definition: MainWindow.h:157
QByteArray content
Definition: MainWindow.h:160
bool is(GitObject::Type t) const
Definition: MainWindow.h:165
Definition: MainWindow.h:90
@ FilePathRole
Definition: MainWindow.h:103
@ DiffIndexRole
Definition: MainWindow.h:104
@ HeaderRole
Definition: MainWindow.h:106
@ ObjectIdRole
Definition: MainWindow.h:105
@ SubmoduleCommitIdRole
Definition: MainWindow.h:108
@ SubmodulePathRole
Definition: MainWindow.h:107
void signalShowStatusInfo(StatusInfo const &info)
void signalSetProgress(float progress)
void setForceFetch(bool force_fetch)
Ui::MainWindow * ui
Definition: MainWindow.h:143
static std::pair< QString, QString > makeFileItemText(const ObjectData &data)
Private * m
Definition: MainWindow.h:145
InteractionMode
Definition: MainWindow.h:115
@ None
Definition: MainWindow.h:116
@ Busy
Definition: MainWindow.h:117
void signalHideProgress()
NamedCommitFlag
Definition: MainWindow.h:120
void sigPtyFetchCompleted(bool ok, QVariant const &userdata)
QString currentFileMimeFileType() const
void sigPtyCloneCompleted(bool ok, QVariant const &userdata)
FileListType
Definition: MainWindow.h:126
CloneOperation
Definition: MainWindow.h:110
@ SubmoduleAdd
Definition: MainWindow.h:112
@ Clone
Definition: MainWindow.h:111
void enableDragAndDropOnRepositoryTree(bool enabled)
bool getForceFetch() const
void signalAddFileObjectData(const MainWindowExchangeData &data)
void sigSetCommitLog(const CommitLogExchangeData &log)
void signalUpdateCommitLog()
void connectShowFileListHandler()
void sigPtyProcessCompleted(bool ok, PtyProcessCompleted const &data)
FilterTarget
Definition: MainWindow.h:152
void sigWriteLog(LogData const &logdata)
void sigShowFileList(FileListType files_list_type)
Definition: MyProcess.h:21
Definition: MainWindow.h:76
PtyProcessCompleted()
Definition: MainWindow.h:83
QString process_name
Definition: MainWindow.h:81
QVariant userdata
Definition: MainWindow.h:80
QElapsedTimer elapsed
Definition: MainWindow.h:82
std::function< void(ProcessStatus *, QVariant const &)> callback
Definition: MainWindow.h:78
std::shared_ptr< ProcessStatus > status
Definition: MainWindow.h:79
Definition: StatusInfo.h:8
Definition: UnixPtyProcess.h:7
Definition: UserEvent.h:31
std::variant< StartEventData, CloneRepositoryEventData > variant_t
Definition: UserEvent.h:36
Definition: AboutDialog.h:6
static Variant var(jstream::Reader const &reader)
Definition: jstream.h:1612
Definition: GitTypes.h:67
Definition: MainWindow.h:32
RepositoryInfo repodata
Definition: MainWindow.h:34
GitCloneData clonedata
Definition: MainWindow.h:33
Definition: RepositoryModel.h:28
Definition: GitTypes.h:220
Definition: GitTypes.h:247
Definition: GitTypes.h:114
Definition: MainWindow.h:60
QString repository_name
Definition: MainWindow.h:62
QString owner_account_name
Definition: MainWindow.h:61
Type
Definition: GitTypes.h:78
Definition: GitTypes.h:11
Definition: GitTypes.h:366
Definition: GitTypes.h:211
Definition: MainWindow.h:38
LogData(QByteArray const &ba)
Definition: MainWindow.h:41
LogData(char const *p, int n)
Definition: MainWindow.h:49
LogData(std::string_view const &s)
Definition: MainWindow.h:53
QByteArray data
Definition: MainWindow.h:39
LogData(QString const &s)
Definition: MainWindow.h:45
Definition: MainWindow.h:133
QString header
Definition: MainWindow.h:138
int idiff
Definition: MainWindow.h:139
QString id
Definition: MainWindow.h:134
GitSubmoduleItem submod
Definition: MainWindow.h:136
QString path
Definition: MainWindow.h:135
GitCommitItem submod_commit
Definition: MainWindow.h:137
Definition: MainWindow.h:181
Definition: MainWindow.cpp:114
Definition: MainWindow.h:148
Definition: RepositoryModel.h:11
Definition: RepositoryInfo.h:7