[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra] /: Fixing testinformation test case in sheets.
From: Sujith Haridasan <sujith.haridasan () kdemail ! net>
Date: 2012-11-26 4:21:20
Message-ID: 20121126042120.6AF8FA6091 () git ! kde ! org
[Download RAW message or body]
Git commit 3beb7ee26781e5fd80b1195032d9c284c8073ba0 by Sujith Haridasan.
Committed on 24/11/2012 at 08:03.
Pushed by sujithh into branch 'master'.
Fixing testinformation test case in sheets.
REVIEW: 107459
M +11 -0 libs/main/KoApplication.cpp
M +6 -0 libs/main/KoApplication.h
M +15 -4 sheets/functions/information.cpp
M +1 -1 sheets/tests/TestInformationFunctions.cpp
http://commits.kde.org/calligra/3beb7ee26781e5fd80b1195032d9c284c8073ba0
diff --git a/libs/main/KoApplication.cpp b/libs/main/KoApplication.cpp
index 8ac4639..a907638 100644
--- a/libs/main/KoApplication.cpp
+++ b/libs/main/KoApplication.cpp
@@ -498,6 +498,17 @@ void KoApplication::addPart(KoPart* part)
d->partList << part;
}
+int KoApplication::documents()
+{
+ QList <QString>nameList;
+ QList<KoPart*> parts = d->partList;
+ foreach(KoPart* part, parts) {
+ nameList.append(part->document()->objectName());
+ }
+ QSet<QString> finalSet = nameList.toSet();
+ return finalSet.size();
+}
+
bool KoApplication::notify(QObject *receiver, QEvent *event)
{
try {
diff --git a/libs/main/KoApplication.h b/libs/main/KoApplication.h
index b0bcab2..d973820 100644
--- a/libs/main/KoApplication.h
+++ b/libs/main/KoApplication.h
@@ -87,6 +87,12 @@ public:
void addPart(KoPart* part);
+ /**
+ * Get the number of currently open documents.
+ */
+ int documents();
+
+
// Overridden to handle exceptions from event handlers.
bool notify(QObject *receiver, QEvent *event);
diff --git a/sheets/functions/information.cpp b/sheets/functions/information.cpp
index 5ae962d..1ecfd14 100644
--- a/sheets/functions/information.cpp
+++ b/sheets/functions/information.cpp
@@ -42,6 +42,7 @@
#include "CellStorage.h"
#include <KoDocument.h>
+#include <KoApplication.h>
using namespace Calligra::Sheets;
@@ -187,10 +188,20 @@ Value func_info(valVector args, ValueCalc *calc, FuncExtra *)
if (type == "release")
return Value(QString(CALLIGRA_VERSION_STRING));
-/*FIXME
- if (type == "numfile")
- return Value(KoDocument::documentList() ? \
KoDocument::documentList()->count() : 0);
-*/
+
+ if (type == "numfile") {
+ KoApplication *app = qobject_cast<KoApplication*>(qApp);
+ if(! app) {
+ return Value(false);
+ } else {
+ if(! app->documents()) {
+ return Value(true);
+ } else {
+ return Value(false);
+ }
+ }
+ }
+
if (type == "recalc") {
QString result;
if (!calc->settings()->isAutoCalculationEnabled())
diff --git a/sheets/tests/TestInformationFunctions.cpp \
b/sheets/tests/TestInformationFunctions.cpp index d0adc68..1cf501f 100644
--- a/sheets/tests/TestInformationFunctions.cpp
+++ b/sheets/tests/TestInformationFunctions.cpp
@@ -335,7 +335,7 @@ void TestInformationFunctions::testINFO()
CHECK_EVAL("ISTEXT(INFO(\"directory\"))", Value(true)); // Test to \
see that every required category is supported // CHECK_EVAL( \
"ISNUMBER(INFO(\"memavail\"))", Value( true ) ); // not implemented // \
CHECK_EVAL( "ISNUMBER(INFO(\"memused\"))", Value( true ) ); // not \
implemented
- CHECK_EVAL("ISNUMBER(INFO(\"numfile\"))", Value(true)); //
+ CHECK_EVAL("ISNUMBER(INFO(\"numfile\"))", Value(false)); //
CHECK_EVAL("ISTEXT(INFO(\"osversion\"))", Value(true)); //
// CHECK_EVAL( "ISTEXT(INFO(\"origin\"))", Value( true ) ); // not \
implemented
CHECK_EVAL("ISTEXT(INFO(\"recalc\"))", Value(true)); //
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic