Mercurial > hg > easyhg
comparison mainwindow.cpp @ 289:37f67999b661
We can provide a better interface for most common cases by essentially showing a formatted log for the summary rather than a diff only
| author | Chris Cannam |
|---|---|
| date | Mon, 21 Feb 2011 12:15:04 +0000 |
| parents | ca6edd303c9d |
| children | 7b4f42cfc596 |
comparison
equal
deleted
inserted
replaced
| 288:ca6edd303c9d | 289:37f67999b661 |
|---|---|
| 599 | 599 |
| 600 m_runner->requestAction(HgAction(ACT_CHGSETDIFF, m_workFolderPath, params)); | 600 m_runner->requestAction(HgAction(ACT_CHGSETDIFF, m_workFolderPath, params)); |
| 601 } | 601 } |
| 602 | 602 |
| 603 | 603 |
| 604 void MainWindow::hgShowSummaryToParent(QString child, QString parent) | 604 void MainWindow::hgShowSummaryFor(Changeset *cs) |
| 605 { | 605 { |
| 606 QStringList params; | 606 QStringList params; |
| 607 | 607 |
| 608 params << "diff" << "--stat" | 608 // This will pick a default parent if there is more than one |
| 609 << "--rev" << Changeset::hashOf(parent) | 609 // (whereas with diff we need to supply one). But it does need a |
| 610 << "--rev" << Changeset::hashOf(child); | 610 // bit more parsing |
| 611 | 611 params << "log" << "--stat" << "--rev" << Changeset::hashOf(cs->id()); |
| 612 m_runner->requestAction(HgAction(ACT_DIFF_SUMMARY, m_workFolderPath, params)); | 612 |
| 613 m_runner->requestAction(HgAction(ACT_DIFF_SUMMARY, m_workFolderPath, | |
| 614 params, cs)); | |
| 613 } | 615 } |
| 614 | 616 |
| 615 | 617 |
| 616 void MainWindow::hgUpdate() | 618 void MainWindow::hgUpdate() |
| 617 { | 619 { |
| 1915 "", | 1917 "", |
| 1916 output)); | 1918 output)); |
| 1917 break; | 1919 break; |
| 1918 | 1920 |
| 1919 case ACT_DIFF_SUMMARY: | 1921 case ACT_DIFF_SUMMARY: |
| 1920 if (output == "") { | 1922 { |
| 1921 // Can happen, for a merge commit | 1923 // Output has log info first, diff following after a blank line |
| 1924 output.replace("\r\n", "\n"); | |
| 1925 QStringList olist = output.split("\n\n", QString::SkipEmptyParts); | |
| 1926 if (olist.size() > 1) output = olist[1]; | |
| 1927 | |
| 1928 Changeset *cs = (Changeset *)completedAction.extraData; | |
| 1929 if (cs) { | |
| 1930 QMessageBox::information | |
| 1931 (this, tr("Change summary"), | |
| 1932 format3(tr("Summary of changes"), | |
| 1933 cs->formatHtml(), | |
| 1934 output)); | |
| 1935 } else if (output == "") { | |
| 1936 // Can happen, for a merge commit (depending on parent) | |
| 1922 QMessageBox::information(this, tr("Change summary"), | 1937 QMessageBox::information(this, tr("Change summary"), |
| 1923 format3(tr("Summary of changes"), | 1938 format3(tr("Summary of changes"), |
| 1924 tr("No changes"), | 1939 tr("No changes"), |
| 1925 output)); | 1940 output)); |
| 1926 } else { | 1941 } else { |
| 1928 format3(tr("Summary of changes"), | 1943 format3(tr("Summary of changes"), |
| 1929 "", | 1944 "", |
| 1930 output)); | 1945 output)); |
| 1931 } | 1946 } |
| 1932 break; | 1947 break; |
| 1948 } | |
| 1933 | 1949 |
| 1934 case ACT_FOLDERDIFF: | 1950 case ACT_FOLDERDIFF: |
| 1935 case ACT_CHGSETDIFF: | 1951 case ACT_CHGSETDIFF: |
| 1936 case ACT_SERVE: | 1952 case ACT_SERVE: |
| 1937 case ACT_HG_IGNORE: | 1953 case ACT_HG_IGNORE: |
| 2104 this, SLOT(hgDiffToCurrent(QString))); | 2120 this, SLOT(hgDiffToCurrent(QString))); |
| 2105 | 2121 |
| 2106 connect(m_hgTabs, SIGNAL(diffToParent(QString, QString)), | 2122 connect(m_hgTabs, SIGNAL(diffToParent(QString, QString)), |
| 2107 this, SLOT(hgDiffToParent(QString, QString))); | 2123 this, SLOT(hgDiffToParent(QString, QString))); |
| 2108 | 2124 |
| 2109 connect(m_hgTabs, SIGNAL(showSummaryToParent(QString, QString)), | 2125 connect(m_hgTabs, SIGNAL(showSummary(Changeset *)), |
| 2110 this, SLOT(hgShowSummaryToParent(QString, QString))); | 2126 this, SLOT(hgShowSummaryFor(Changeset *))); |
| 2111 | 2127 |
| 2112 connect(m_hgTabs, SIGNAL(mergeFrom(QString)), | 2128 connect(m_hgTabs, SIGNAL(mergeFrom(QString)), |
| 2113 this, SLOT(hgMergeFrom(QString))); | 2129 this, SLOT(hgMergeFrom(QString))); |
| 2114 | 2130 |
| 2115 connect(m_hgTabs, SIGNAL(tag(QString)), | 2131 connect(m_hgTabs, SIGNAL(tag(QString)), |
