summaryrefslogtreecommitdiffstats
path: root/kstars/kstars/stardatasink.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 (patch)
treed3bb9f5d25a2dc09ca81adecf39621d871534297 /kstars/kstars/stardatasink.cpp
downloadtdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.tar.gz
tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kstars/kstars/stardatasink.cpp')
-rw-r--r--kstars/kstars/stardatasink.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/kstars/kstars/stardatasink.cpp b/kstars/kstars/stardatasink.cpp
new file mode 100644
index 00000000..45b3d983
--- /dev/null
+++ b/kstars/kstars/stardatasink.cpp
@@ -0,0 +1,60 @@
+/***************************************************************************
+ stardatasink.cpp - description
+ -------------------
+ begin : Son Feb 10 2002
+ copyright : (C) 2002 by Thomas Kabelmann
+ email : tk78@gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "stardatasink.h"
+
+#include "dms.h"
+#include "kstarsdata.h"
+
+StarDataSink::StarDataSink(KStarsData *parent, const char *name) : QObject(parent, name) {
+ ksData = parent;
+ receivedBlocks = 0;
+ nameListCount = ksData->ObjNames.count();
+}
+
+StarDataSink::~StarDataSink(){
+}
+
+int StarDataSink::readyToReceive(){
+ // return a value != NULL, to show that the object is ready for receiveing data.
+ return 1;
+}
+
+void StarDataSink::eof() {
+ // update skymap at the end of reloading
+ emit updateSkymap();
+ // clear cached finddialog if new objects were appended to the list
+ if (nameListCount != ksData->ObjNames.count()) emit clearCache();
+ // end of data transmission
+ emit done();
+}
+
+void StarDataSink::receive( const uchar *data, int entries ) {
+ receivedBlocks++;
+ // Pointer was send as const uchar* so it must be converted explicitly to QString*
+ QString *line = (QString *) data;
+ int counter = -1;
+ while (++counter < entries) { // run counter from 0 to entries -1
+ ksData->processStar(line, true);
+ line++;
+ }
+
+ // update the skymap every tenth block
+ if (receivedBlocks % 10 == 0) emit updateSkymap();
+}
+
+#include "stardatasink.moc"