14 #include <QMainWindow>
23 class QListWidgetItem;
24 class QTableWidgetItem;
25 class QTreeWidgetItem;
78 class AbstractGitCommand;
85 std::shared_ptr<ProcessStatus>
status;
109 IndexRole = Qt::UserRole,
169 explicit operator bool()
const
179 void postEvent(QObject *receiver, QEvent *event,
int ms_later);
181 void cancelPendingUserEvents();
183 void updateFileList(
const GitHash &
id);
185 void updateFileListLater(
int delay_ms);
186 void cancelUpdateFileList();
187 void initUpdateFileListTimer();
190 bool new_session =
true;
192 bool validate =
false;
193 bool wait_cursor =
true;
194 bool keep_selection =
false;
196 bool clear_log =
true;
197 bool do_fetch =
true;
199 bool suppress_uncommit_changes =
false;
204 void reopenRepositoryAsNewSession();
205 void openSelectedRepository();
209 QStringList selectedFiles_(QListWidget *listwidget)
const;
210 QStringList selectedFiles()
const;
211 void for_each_selected_files(std::function<
void(QString
const &)>
const &fn);
212 void clearFileList();
213 void clearDiffView();
218 void reflectRepositories();
220 void updateDiffView(QListWidgetItem
const *item);
221 void updateDiffView();
222 void updateUnstagedFileCurrentItem();
223 void updateStagedFileCurrentItem();
224 void updateStatusBarText();
225 void setRepositoryInfo(QString
const &reponame, QString
const &brname);
227 QString getIncrementalSearchText()
const;
228 void setIncrementalSearchText(QString
const &text,
int repo_list_select_row = -1);
229 void clearFilterText(
int repo_list_select_row = -1);
230 void clearAllFilters(
int select_row = -1);
244 void setRemoteOnline(
bool f,
bool save);
246 void setNetworkingCommandsEnabled(
bool enabled);
248 void blame(
const QListWidgetItem *item);
251 QListWidgetItem *currentFileItem()
const;
253 void execAreYouSureYouWantToContinueConnectingDialog(QString
const &windowtitle);
254 void execConsiderGitRebaseQuitOrWorktreeAddDialog(QString
const &windowtitle);
264 bool isGitInitialized()
const;
265 void onLogCurrentItemChanged(
bool update_file_list);
267 void findText(QString
const &text);
268 bool locateCommitID(QString
const &commit_id);
271 void showLogWindow(
bool show);
272 bool isValidRemoteURL(QString
const &url, QString
const &sshkey);
273 QStringList whichCommand_(QString
const &cmdfile1, QString
const &cmdfile2 = { });
274 QString selectCommand_(QString
const &cmdname,
const QStringList &cmdfiles,
const QStringList &list, QString path,
const std::function<
void(QString
const &)> &callback);
275 QString selectCommand_(QString
const &cmdname, QString
const &cmdfile,
const QStringList &list, QString
const &path,
const std::function<
void(QString
const &)> &callback);
276 const RepositoryInfo *findRegisteredRepository(QString *workdir)
const;
277 bool execSetGlobalUserDialog();
278 void revertAllFiles();
279 bool execWelcomeWizardDialog();
280 void execRepositoryPropertyDialog(
const RepositoryInfo &repo,
bool open_repository_menu =
false);
281 void execConfigUserDialog(
const GitUser &global_user,
const GitUser &local_user,
bool enable_local_user, QString
const &reponame);
282 void setGitCommand(QString
const &path,
bool save);
283 void setGpgCommand(QString
const &path,
bool save);
284 void setSshCommand(QString
const &path,
bool save);
285 bool checkGitCommand();
286 bool saveByteArrayAs(
const QByteArray &ba, QString
const &dstpath);
287 QString executableOrEmpty(QString
const &path);
288 bool checkExecutable(QString
const &path);
289 void internalSaveCommandPath(QString
const &path,
bool save, QString
const &name);
290 void logGitVersion();
291 void internalClearRepositoryInfo();
294 void setCurrentRepository(
const RepositoryInfo &repo,
bool clear_authentication);
295 std::optional<std::vector<GitDiff>> makeDiffs(
GitRunner g,
GitHash id, std::future<std::vector<GitSubmoduleItem>> &&async_modules);
297 void updateRemoteInfo();
299 void submodule_add(QString url = { }, QString
const &local_dir = { });
301 void commit(
bool amend =
false);
306 void push(
bool set_upstream, QString
const &remote, QString
const &branch,
bool force);
308 void stage(
GitRunner g,
const std::vector<std::string> &paths);
312 void delete_tags(
GitRunner g,
const std::vector<std::string> &names);
313 void add_tag(
GitRunner g,
const std::string &name,
GitHash const &commit_id);
318 void deleteSelectedBranch();
319 void resetFile(
const QStringList &paths);
320 void clearAuthentication();
321 void clearSshAuthentication();
322 void internalDeleteTags(
const std::vector<std::string> &tagnames);
323 void internalAddTag(
const std::string &name);
324 void createRepository(QString
const &dir);
325 void addRepository(QString
const &local_dir, QString
const &group = { });
327 void scanFolderAndRegister(QString
const &group);
328 void doGitCommand(
const std::function<
void(
GitRunner)> &callback);
329 void setWindowTitle_(
const GitUser &user);
330 void setUnknownRepositoryInfo();
331 void setCurrentRemoteName(
const std::string &name);
333 std::vector<std::string> remotes()
const;
335 QString tempfileHeader()
const;
336 void deleteTempFiles();
337 QString newTempFilePath();
338 int limitLogCount()
const;
339 bool isThereUncommittedChanges()
const;
341 const std::map<GitHash, BranchList> &branchmap()
const;
343 void updateWindowTitle(
const GitUser &user);
346 std::tuple<QString, BranchLabelList> makeCommitLabels(
GitCommitItem const &commit, std::map<GitHash, BranchList>
const &branch_map, std::map<GitHash, TagList>
const &tag_map)
const;
349 void removeRepositoryFromBookmark(RepositoryTreeIndex
const &index,
bool ask);
352 bool askAreYouSureYouWantToRun(QString
const &title, QString
const &command);
353 bool editFile(QString
const &path, QString
const &title);
356 void saveApplicationSettings();
358 void setDiffResult(std::vector<GitDiff> &&diffs);
359 const std::vector<GitSubmoduleItem> &submodules()
const;
360 void setSubmodules(
const std::vector<GitSubmoduleItem> &submodules);
361 bool runOnRepositoryDir(
const std::function<
void(QString, QString)> &callback,
const RepositoryInfo *repo);
364 const std::map<GitHash, TagList> &tagmap()
const;
365 std::map<GitHash, TagList> queryTags(
GitRunner g);
368 void sshSetPassphrase(
const std::string &user,
const std::string &pass);
369 std::string sshPassphraseUser()
const;
370 std::string sshPassphrasePass()
const;
371 void httpSetAuthentication(
const std::string &user,
const std::string &pass);
372 std::string httpAuthenticationUser()
const;
373 std::string httpAuthenticationPass()
const;
376 bool saveRepositoryBookmarks();
377 QString getBookmarksFilePath()
const;
378 void stopPtyProcess();
379 void abortPtyProcess();
382 bool getPtyProcessOk()
const;
383 bool isPtyProcessRunning()
const;
384 void setCompletedHandler(std::function<
void(
bool,
const QVariant &)> fn,
const QVariant &userdata);
385 void setPtyProcessOk(
bool pty_process_ok);
387 const std::vector<RepositoryInfo> &repositoryList()
const;
388 void setRepositoryList(std::vector<RepositoryInfo> &&list);
390 bool interactionEnabled()
const;
391 void setInteractionEnabled(
bool enabled);
392 InteractionMode interactionMode()
const;
393 void setInteractionMode(
const InteractionMode &im);
394 void setUncommittedChanges(
bool uncommited_changes);
399 mutable std::vector<GitDiff const *>
ptrs_;
413 list_ = std::move(list);
416 std::basic_string_view<GitDiff const *>
items()
const
419 const size_t N = list_.size();
421 for (
size_t i = 0; i < N; i++) {
422 ptrs_[i] = &list_[i];
425 return std::basic_string_view<GitDiff const *>(ptrs_.data(), ptrs_.size());
429 std::basic_string_view<const GitDiff *> diffResult()
const;
431 void clearLabelMap();
436 void setHeadId(
const GitHash &head_id);
437 void setPtyProcessCompletionData(
const QVariant &value);
438 const QVariant &getTempRepoForCloneCompleteV()
const;
439 void msgNoRepositorySelected();
440 bool isRepositoryOpened()
const;
441 void initRepository(QString
const &path, QString
const &reponame,
const GitRemote &remote);
442 void updatePtyPocessLog(
bool processevents);
443 void appendLogHistory(
const QByteArray &str,
LogChannel channel);
444 std::vector<std::string> readLogHistoryLines(
LogChannel channel);
446 void updateAvatar(
const GitUser &user,
bool request);
447 void cleanSubModule(
GitRunner g, QListWidgetItem *item);
449 void updateUncommittedChanges(
GitRunner g);
451 QString preferredRepositoryGroup()
const;
452 void setPreferredRepositoryGroup(QString
const &group);
453 bool _addExistingLocalRepository(QString dir, QString name, QString sshkey,
bool open,
bool save =
true,
bool msgbox_if_err =
true);
454 void addExistingLocalRepositoryWithGroup(QString
const &dir, QString
const &group);
455 bool addExistingLocalRepository(QString
const &dir,
bool open);
458 int rowFromCommitId(
const GitHash &
id);
460 void _updateCommitLogTableView(
int delay_ms);
468 void jump(
GitRunner g, QString
const &text);
470 void connectPtyProcessCompleted();
471 void setupShowFileListHandler();
473 void setRetry(std::function<
void(
const QVariant &)> fn,
const QVariant &
var);
476 bool isRetryQueued()
const;
478 void clearGitCommandCache();
479 void clearGitObjectCache();
487 void setupAddFileObjectData();
489 void setupStatusInfoHandler();
490 void connectSetCommitLog();
492 void _chooseRepository(QTreeWidgetItem *item);
493 void chooseRepository();
496 std::optional<GitCommitItem> getCommitItem(
GitRunner g,
const GitHash &hash)
const;
497 GitHash blobID(QListWidgetItem *item)
const;
498 bool copyWorkingCopyDirToClipboard();
501 void closeEvent(QCloseEvent *event)
override;
502 void dragEnterEvent(QDragEnterEvent *event)
override;
503 void keyPressEvent(QKeyEvent *event)
override;
504 bool event(QEvent *event)
override;
505 bool eventFilter(QObject *watched, QEvent *event)
override;
506 std::optional<RepositoryInfo> selectedRepositoryItem()
const;
507 void removeSelectedRepositoryFromBookmark(
bool ask);
514 void onLogVisibilityChanged();
515 void onRepositoriesTreeDropped();
516 void onInterval10ms();
517 void onAvatarReady();
518 void onCommitDetailGetterReady();
521 void onCommitLogCurrentRowChanged(
int row);
523 void on_action_about_triggered();
524 void on_action_add_repository_triggered();
525 void on_action_clean_df_triggered();
526 void on_action_commit_triggered();
527 void on_action_create_desktop_launcher_file_triggered();
528 void on_action_delete_branch_triggered();
529 void on_action_delete_remote_branch_triggered();
530 void on_action_edit_git_config_triggered();
531 void on_action_edit_gitignore_triggered();
532 void on_action_edit_global_gitconfig_triggered();
533 void on_action_edit_settings_triggered();
534 void on_action_edit_tags_triggered();
535 void on_action_exit_triggered();
536 void on_action_expand_commit_log_triggered();
537 void on_action_expand_diff_view_triggered();
538 void on_action_expand_file_list_triggered();
539 void on_action_explorer_triggered();
540 void on_action_fetch_prune_triggered();
541 void on_action_fetch_triggered();
542 void on_action_find_next_triggered();
543 void on_action_find_triggered();
544 void on_action_offline_triggered();
545 void on_action_online_triggered();
546 void on_action_pull_triggered();
547 void on_action_push_all_tags_triggered();
548 void on_action_push_triggered();
549 void on_action_reflog_triggered();
550 void on_action_repo_checkout_triggered();
551 void on_action_repo_jump_to_head_triggered();
552 void on_action_repo_jump_triggered();
553 void on_action_repo_merge_triggered();
554 void on_action_repositories_panel_triggered();
555 void on_action_repository_property_triggered();
556 void on_action_repository_status_triggered();
557 void on_action_reset_HEAD_1_triggered();
558 void on_action_reset_hard_triggered();
559 void on_action_configure_user_triggered();
560 void on_action_set_gpg_signing_triggered();
561 void on_action_show_labels_triggered();
562 void on_action_show_graph_triggered();
563 void on_action_show_avatars_triggered();
564 void on_action_sidebar_triggered();
565 void on_action_stash_apply_triggered();
566 void on_action_stash_drop_triggered();
567 void on_action_stash_triggered();
568 void on_action_stop_process_triggered();
569 void on_action_submodule_add_triggered();
570 void on_action_submodule_update_triggered();
571 void on_action_submodules_triggered();
572 void on_action_terminal_triggered();
573 void on_action_view_refresh_triggered();
574 void on_action_window_log_triggered(
bool checked);
575 void on_listWidget_files_currentRowChanged(
int currentRow);
576 void on_listWidget_files_customContextMenuRequested(
const QPoint &pos);
577 void on_listWidget_files_itemDoubleClicked(QListWidgetItem *item);
578 void on_listWidget_staged_currentRowChanged(
int currentRow);
579 void on_listWidget_staged_customContextMenuRequested(
const QPoint &pos);
580 void on_listWidget_staged_itemDoubleClicked(QListWidgetItem *item);
581 void on_listWidget_unstaged_currentRowChanged(
int currentRow);
582 void on_listWidget_unstaged_customContextMenuRequested(
const QPoint &pos);
583 void on_listWidget_unstaged_itemDoubleClicked(QListWidgetItem *item);
584 void on_radioButton_remote_offline_clicked();
585 void on_radioButton_remote_online_clicked();
586 void on_tableWidget_log_customContextMenuRequested(
const QPoint &pos);
587 void on_tableWidget_log_doubleClicked(
const QModelIndex &index);
588 void on_toolButton_commit_clicked();
589 void on_toolButton_explorer_clicked();
590 void on_toolButton_fetch_clicked();
591 void on_toolButton_pull_clicked();
592 void on_toolButton_push_clicked();
593 void on_toolButton_select_all_clicked();
594 void on_toolButton_stage_clicked();
595 void on_toolButton_status_clicked();
596 void on_toolButton_stop_process_clicked();
597 void on_toolButton_terminal_clicked();
598 void on_toolButton_unstage_clicked();
599 void on_treeWidget_repos_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
600 void on_treeWidget_repos_customContextMenuRequested(
const QPoint &pos);
601 void on_treeWidget_repos_itemDoubleClicked(QTreeWidgetItem *item,
int column);
602 void on_toolButton_addrepo_clicked();
605 void toggleMaximized();
607 void onRemoteInfoChanged();
608 void onShowStatusInfo(
StatusInfo const &info);
616 internalShowPanel(panel_type);
620 void on_action_view_sort_by_time_changed();
622 void on_action_ssh_triggered();
624 void on_action_restart_trace_logger_triggered();
626 void on_action_rebase_continue_triggered();
627 void on_action_rebase_quit_triggered();
628 void on_action_rebase_abort_triggered();
645 explicit MainWindow(QWidget *parent =
nullptr);
648 QColor color(
unsigned int i);
649 bool isOnlineMode()
const;
650 void updateCurrentFileList();
654 TagList queryCurrentCommitTagList()
const;
656 static int indexOfLog(
const QListWidgetItem *item);
657 static int indexOfDiff(
const QListWidgetItem *item);
658 static std::vector<GitSubmoduleItem> updateSubmodules(
GitRunner g,
const GitHash &
id);
660 static TagList findTag(std::map<GitHash, TagList>
const &tagmap,
GitHash const &
id);
661 static QString makeRepositoryName(QString
const &loc);
662 static void addDiffItems(std::basic_string_view<const GitDiff *> diff_list,
const std::function<
void(
const ObjectData &)> &add_item);
663 static GitHash getObjectID(
const QListWidgetItem *item);
664 static QString getFilePath(
const QListWidgetItem *item);
665 static QString getSubmodulePath(
const QListWidgetItem *item);
666 static QString getSubmoduleCommitId(
const QListWidgetItem *item);
669 static std::string parseDetectedDubiousOwnershipInRepositoryAt(
const std::vector<std::string> &lines);
671 static bool isValidWorkingCopy(
GitRunner g);
672 bool isValidWorkingCopy(QString
const &local_dir);
674 static constexpr
int DIGIT_WIDTH = 5;
675 static constexpr
int DIGIT_HEIGHT = 7;
676 static void drawDigit(QPainter *pr,
int x,
int y,
int n);
679 void clearStatusInfo();
680 bool setCurrentLogRow(
int row);
682 void deleteTags(
const std::vector<std::string> &tagnames);
683 void addTag(
const std::string &name);
684 int selectedLogIndex()
const;
685 void updateAncestorCommitMap();
686 bool isAncestorCommit(
GitHash const &
id)
const;
687 void postStartEvent(
int ms_later);
688 void setShowLabels(
bool show,
bool save);
689 void setShowGraph(
bool show,
bool save);
690 void setShowAvatars(
bool show,
bool save);
691 bool isLabelsVisible()
const;
692 bool isGraphVisible()
const;
693 bool isAvatarsVisible()
const;
694 bool isAvatarEnabled()
const;
697 void execCommitPropertyDialog(QWidget *parent,
const GitCommitItem &commit);
698 void execCommitExploreWindow(QWidget *parent,
const GitCommitItem *commit);
699 void execFileHistory(QString
const &path);
700 void execFileHistory(
const QListWidgetItem *item);
701 void showObjectProperty(
const QListWidgetItem *item);
702 bool testRemoteRepositoryValidity(QString
const &url, QString
const &sshkey);
703 QString selectGitCommand(
bool save);
704 QString selectGpgCommand(
bool save);
705 QString selectSshCommand(
bool save);
707 void setCurrentBranch(
const GitBranch &b);
709 QString currentRepositoryName()
const;
710 std::string currentRemoteName()
const;
711 std::string currentBranchName()
const;
712 GitRunner _git(
const QString &dir,
const QString &submodpath,
const QString &sshkey)
const;
713 GitRunner unassosiated_git_runner()
const;
714 GitRunner new_git_runner(
const QString &dir,
const QString &sshkey);
718 bool isValidWorkingCopy(QString
const &dir)
const;
719 void autoOpenRepository(QString dir, QString
const &commit_id = { });
720 std::optional<GitCommitItem> queryCommit(
const GitHash &
id);
721 bool checkoutLocalBranch(
const std::string &name);
722 void checkout(QWidget *parent,
const GitCommitItem &commit, std::function<
void()> accepted_callback = { });
725 bool jumpToCommit(
const GitHash &
id);
726 bool jumpToCommitWithRevParse(
const std::string &
id);
731 QString findFileID(
const GitHash &commit_id, QString
const &file);
734 QImage committerIcon(
int row, QSize size)
const;
735 void changeSshKey(QString
const &local_dir, QString
const &ssh_key,
bool save);
738 QString defaultWorkingDir()
const;
739 QIcon signatureVerificationIcon(
const GitHash &
id)
const;
740 QAction *addMenuActionProperty(QMenu *menu);
741 QString currentWorkingCopyDir()
const;
745 GitUser currentGitUser()
const;
746 void setupExternalPrograms();
747 void updateCommitLogTableViewLater();
749 void changeRepositoryBookmarkName(
RepositoryInfo item, QString new_name);
751 void setProgress(
float progress);
752 void showProgress(QString
const &text,
float progress = -1.0f);
754 void internalAfterFetch();
755 void onRepositoryTreeSortRecent(
bool f);
760 std::basic_string_view<GitCommitItem *> commitlogItems()
const;
763 void clearLogContents();
764 void updateLogTableView();
765 void setFocusToLogTable();
766 void selectLogTableRow(
int row);
772 bool saveFileAs(QString
const &srcpath, QString
const &dstpath);
773 bool saveBlobAs(
const GitHash &
id, QString
const &dstpath);
775 bool isIncrementalSearching()
const;
777 static void openTerminal(QString
const &dir, QString
const &ssh_key);
778 static void openExplorer(QString
const &dir, QString
const &ssh_key);
779 static void openNewGuitar(QString
const &path, QString
const &commit_id);
#define ASSERT_MAIN_THREAD()
Definition: ApplicationGlobal.h:149
static std::string git(std::string const &gitcommand, std::string const &dir, std::string const &cmd)
HEADとの差分を取得する内部実装。
Definition: CommitMessageGenerator.cpp:146
GitMergeFastForward
Definition: GitTypes.h:416
std::vector< NamedCommitItem > NamedCommitList
Definition: Git.h:262
LogChannel
Definition: MainWindow.h:39
QList< BranchLabel > BranchLabelList
Definition: RepositoryModel.h:9
QList< GitBranch > BranchList
Definition: RepositoryModel.h:8
std::vector< 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:46
ログテーブルウィジェットのブランチ名ラベル
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:157
Definition: GitTypes.h:31
Definition: GitObjectManager.h:38
Definition: GitRunner.h:13
Definition: MainWindow.h:71
std::vector< std::string > lines
Definition: MainWindow.h:75
size_t pos
Definition: MainWindow.h:74
size_t len
Definition: MainWindow.h:74
int hunk_number
Definition: MainWindow.h:73
Definition: MainWindow.h:784
MainWindow::FileListType files_list_type
Definition: MainWindow.h:786
std::vector< MainWindow::ObjectData > object_data
Definition: MainWindow.h:787
Definition: MainWindow.h:165
QByteArray content
Definition: MainWindow.h:168
bool is(GitObject::Type t) const
Definition: MainWindow.h:173
Definition: MainWindow.h:96
void signalShowStatusInfo(StatusInfo const &info)
void signalSetProgress(float progress)
@ FilePathRole
Definition: MainWindow.h:110
@ DiffIndexRole
Definition: MainWindow.h:111
@ HeaderRole
Definition: MainWindow.h:113
@ ObjectIdRole
Definition: MainWindow.h:112
@ SubmoduleCommitIdRole
Definition: MainWindow.h:115
@ SubmodulePathRole
Definition: MainWindow.h:114
void setForceFetch(bool force_fetch)
Ui::MainWindow * ui
Definition: MainWindow.h:151
static std::pair< QString, QString > makeFileItemText(const ObjectData &data)
Private * m
Definition: MainWindow.h:153
void sigShowFileList(MainWindow::FileListType files_list_type)
InteractionMode
Definition: MainWindow.h:122
@ None
Definition: MainWindow.h:123
@ Busy
Definition: MainWindow.h:124
void signalHideProgress()
void onShowFileList(MainWindow::FileListType panel_type)
Definition: MainWindow.h:610
NamedCommitFlag
Definition: MainWindow.h:127
void sigPtyFetchCompleted(bool ok, QVariant const &userdata)
QString currentFileMimeFileType() const
void sigPtyCloneCompleted(bool ok, QVariant const &userdata)
FileListType
Definition: MainWindow.h:133
CloneOperation
Definition: MainWindow.h:117
@ SubmoduleAdd
Definition: MainWindow.h:119
@ Clone
Definition: MainWindow.h:118
void enableDragAndDropOnRepositoryTree(bool enabled)
static QString appendCharToFilterText(QString filter, const QString &add)
bool getForceFetch() const
void sigWriteLog(LogData const &logdata, LogChannel channel)
void signalAddFileObjectData(const MainWindowExchangeData &data)
void signalUpdateCommitLog()
void connectShowFileListHandler()
void sigPtyProcessCompleted(bool ok, PtyProcessCompleted const &data)
FilterTarget
Definition: MainWindow.h:160
void sigSetCommitLog(CommitLogExchangeData const &log)
Definition: MyProcess.h:21
Definition: MainWindow.h:82
PtyProcessCompleted()
Definition: MainWindow.h:89
QString process_name
Definition: MainWindow.h:87
QVariant userdata
Definition: MainWindow.h:86
std::function< void(ProcessStatus *, QVariant const &)> callback
Definition: MainWindow.h:84
QElapsedTimer elapsed
Definition: MainWindow.h:88
std::shared_ptr< ProcessStatus > status
Definition: MainWindow.h:85
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
QString appendCharToFilterText(QString filter, QString const &add)
Definition: IncrementalSearchHelper.cpp:77
static Variant var(jstream::Reader const &reader)
Definition: jstream.h:1738
Definition: GitTypes.h:74
Definition: MainWindow.h:33
RepositoryInfo repodata
Definition: MainWindow.h:35
GitCloneData clonedata
Definition: MainWindow.h:34
Definition: RepositoryModel.h:18
Definition: GitTypes.h:276
Definition: GitTypes.h:303
Definition: GitTypes.h:121
Definition: MainWindow.h:66
QString repository_name
Definition: MainWindow.h:68
QString owner_account_name
Definition: MainWindow.h:67
Type
Definition: GitTypes.h:85
Definition: GitTypes.h:11
Definition: GitTypes.h:422
Definition: GitTypes.h:267
Definition: MainWindow.h:44
LogData(QByteArray const &ba)
Definition: MainWindow.h:47
LogData(char const *p, int n)
Definition: MainWindow.h:55
LogData(std::string_view const &s)
Definition: MainWindow.h:59
QByteArray data
Definition: MainWindow.h:45
LogData(QString const &s)
Definition: MainWindow.h:51
Definition: MainWindow.h:397
std::vector< GitDiff > list_
Definition: MainWindow.h:398
std::vector< GitDiff const * > ptrs_
Definition: MainWindow.h:399
DiffResult(DiffResult const &r)
Definition: MainWindow.h:401
void setList(std::vector< GitDiff > &&list)
Definition: MainWindow.h:411
std::basic_string_view< GitDiff const * > items() const
Definition: MainWindow.h:416
Definition: MainWindow.h:140
QString header
Definition: MainWindow.h:145
std::string path
Definition: MainWindow.h:142
GitSubmoduleItem submod
Definition: MainWindow.h:143
GitCommitItem submod_commit
Definition: MainWindow.h:144
size_t idiff
Definition: MainWindow.h:146
std::string id
Definition: MainWindow.h:141
Definition: MainWindow.h:189
Definition: MainWindow.cpp:141
Definition: MainWindow.h:258
QStringList branches
Definition: MainWindow.h:259
QStringList all_branches
Definition: MainWindow.h:260
Definition: MainWindow.h:156
Definition: RepositoryModel.h:11
Definition: RepositoryInfo.h:7