[QGIT PATCH] Rework the commit confirmation box a bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The problem was that the dialog was too big for my whenever too many files
were changed. Now, the list of changed files is only shown whenever they are
less than 20; otherwise it is shown in the detailed text accessible though
the 'Show Detail' button.
---
 src/commitimpl.cpp |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/commitimpl.cpp b/src/commitimpl.cpp
index 1540947..def5209 100644
--- a/src/commitimpl.cpp
+++ b/src/commitimpl.cpp
@@ -236,17 +236,32 @@ bool CommitImpl::checkConfirm(SCRef msg, SCRef patchName, SCList selFiles, bool
         (git->isStGITStack() ? "refresh top patch with" :
                         "amend last commit with") :
         (git->isStGITStack() ? "create a new patch with" : "commit");
- QString text("Do you want to " + whatToDo + " the following file(s)?\n\n" +
-                 selFiles.join("\n") + "\n\nwith the message:\n\n");
+    QString text("Do you want to " + whatToDo);
+
+    bool const fullList = selFiles.size() < 20;
+    if (fullList) {
+        text.append(" the following file(s)?\n\n" + selFiles.join("\n")
+            + "\n\nwith the message:\n\n");
+    } else {
+        text.append(" those " + QString::number(selFiles.size())
+            + " files the with the message:\n\n");
+    }
+
     text.append(msg);
     if (git->isStGITStack())
         text.append("\n\nAnd patch name: " + patchName);

     QTextCodec::setCodecForCStrings(tc);

-    int but = QMessageBox::question(this, "Commit changes - QGit",
-                                    text, "&Yes", "&No", QString(), 0, 1);
-    return (but != 1);
+    QMessageBox msgBox(this);
+    msgBox.setWindowTitle("Commit changes - QGit");
+    msgBox.setText(text);
+    if (!fullList)
+        msgBox.setDetailedText(selFiles.join("\n"));
+    msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+    msgBox.setDefaultButton(QMessageBox::Yes);
+
+    return msgBox.exec() != QMessageBox::No;
 }

 void CommitImpl::pushButtonSettings_clicked() {
--
1.6.0.2.1172.ga5ed0

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux