summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-04-07 18:09:30 -0500
committerSlávek Banko <slavek.banko@axis.cz>2013-04-08 18:23:29 +0200
commit62e4f87cecd2345efb47351f2403d103822cc746 (patch)
tree4a8b12e16c80f5f70f64576ede9cdfdbe75b4555
parentaf6f340bef54b42f79d7f0e482615e52900883c6 (diff)
downloadtdeedu-62e4f87cecd2345efb47351f2403d103822cc746.tar.gz
tdeedu-62e4f87cecd2345efb47351f2403d103822cc746.zip
Allow kvoctrain to build even if undefined symbols have been disallowed
This relates to Bug 1134 (cherry picked from commit c5dacf57e07e93dd186692d4de64fbe9784af87d)
-rw-r--r--kvoctrain/kvoctrain/kvt-core/kvd_csv.cpp51
1 files changed, 50 insertions, 1 deletions
diff --git a/kvoctrain/kvoctrain/kvt-core/kvd_csv.cpp b/kvoctrain/kvoctrain/kvt-core/kvd_csv.cpp
index 6684b834..e2d4fedb 100644
--- a/kvoctrain/kvoctrain/kvt-core/kvd_csv.cpp
+++ b/kvoctrain/kvoctrain/kvt-core/kvd_csv.cpp
@@ -32,6 +32,55 @@
#include <vector>
using namespace std;
+vector<int> getCsvOrder(kvoctrainDoc *doc)
+{
+ vector<int> csv_order;
+ TQStringList lang_order = Prefs::pasteOrder();
+
+ if (!Prefs::useCurrent())
+ {
+ if (/*lang_order &&*/ lang_order.count() != 0) {
+ for (int i = 0; i < (int) lang_order.count(); i++)
+ {
+ int j = doc->findIdent((lang_order)[i]);
+ if (j >= 0)
+ csv_order.push_back (j);
+ else
+ csv_order.push_back (-1);
+ }
+ }
+ }
+/*
+ for (int i = 0; i < csv_order.size(); i++)
+ cout << csv_order[i] << " ";
+ cout << endl;
+*/
+
+/* perhaps skip missing ??
+ for (int i = csv_order.size()-1; i >= 0; i--)
+ if (csv_order[i] == -1)
+ csv_order.erase(csv_order.begin() + i);
+*/
+ // append indices from doc if no order given
+ for (int i = 0; i < doc->numLangs(); i++)
+ if (::find (csv_order.begin(), csv_order.end(), i) == csv_order.end())
+ csv_order.push_back(i);
+/*
+ if (csv_order.size() > doc->numLangs() )
+ csv_order.erase(csv_order.begin() + doc->numLangs(), csv_order.end());
+*/
+
+ // remove trailing garbage
+ for (int i = csv_order.size()-1; i >= 0; i--) {
+ if (csv_order[i] != -1)
+ break;
+ else
+ csv_order.erase(csv_order.begin() + i);
+ }
+
+ return csv_order;
+}
+
bool kvoctrainDoc::saveTypeNameCsv (TQTextStream &)
{
return true;
@@ -70,7 +119,7 @@ bool kvoctrainDoc::saveToCsv (TQTextStream& os, TQString &)
os << i18n("! Title:") << separator << getTitle() << "\n";
os << i18n("! Author:") << separator << getAuthor() << "\n";
- vector <int> csv_order = kvoctrainApp::getCsvOrder(this);
+ vector <int> csv_order = getCsvOrder(this);
vector<kvoctrainExpr>::const_iterator first = vocabulary.begin ();
TQString exp;