diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-04-07 18:09:30 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2013-04-08 18:23:29 +0200 |
commit | 62e4f87cecd2345efb47351f2403d103822cc746 (patch) | |
tree | 4a8b12e16c80f5f70f64576ede9cdfdbe75b4555 | |
parent | af6f340bef54b42f79d7f0e482615e52900883c6 (diff) | |
download | tdeedu-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.cpp | 51 |
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; |