All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH QGit 2/4] Correctly count the entries in the revs context menu
@ 2009-06-06 11:57 Markus Heidelberg
  0 siblings, 0 replies; only message in thread
From: Markus Heidelberg @ 2009-06-06 11:57 UTC (permalink / raw)
  To: Marco Costalba; +Cc: git, Markus Heidelberg

The previous implementation counted all the QAction entries. A separator
is of type QAction, but shouldn't be considered when calculating the
menu size.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
---
 src/mainimpl.cpp |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/mainimpl.cpp b/src/mainimpl.cpp
index 60414ab..24b4ef1 100644
--- a/src/mainimpl.cpp
+++ b/src/mainimpl.cpp
@@ -1124,6 +1124,17 @@ void MainImpl::doUpdateRecentRepoMenu(SCRef newEntry) {
 	settings.setValue(REC_REP_KEY, newRecents);
 }
 
+static int cntMenuEntries(const QMenu& menu) {
+
+	int cnt = 0;
+	QList<QAction*> al(menu.actions());
+	FOREACH (QList<QAction*>, it, al) {
+		if (!(*it)->isSeparator())
+			cnt++;
+	}
+	return cnt;
+}
+
 void MainImpl::doContexPopup(SCRef sha) {
 
 	QMenu contextMenu(this);
@@ -1186,7 +1197,7 @@ void MainImpl::doContexPopup(SCRef sha) {
 			contextMenu.addSeparator();
 
 		FOREACH_SL (it, bn) {
-			if (contextMenu.actions().count() < MAX_MENU_ENTRIES)
+			if (cntMenuEntries(contextMenu) < MAX_MENU_ENTRIES)
 				act = contextMenu.addAction(*it);
 			else
 				act = contextSubMenu.addAction(*it);
@@ -1200,7 +1211,7 @@ void MainImpl::doContexPopup(SCRef sha) {
 				contextMenu.addSeparator();
 
 		FOREACH_SL (it, tn) {
-			if (contextMenu.actions().count() < MAX_MENU_ENTRIES)
+			if (cntMenuEntries(contextMenu) < MAX_MENU_ENTRIES)
 				act = contextMenu.addAction(*it);
 			else
 				act = contextSubMenu.addAction(*it);
-- 
1.6.3.2.213.g30b07

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2009-06-06 11:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-06 11:57 [PATCH QGit 2/4] Correctly count the entries in the revs context menu Markus Heidelberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.