[Qtstalker-svn-commits] SF.net SVN: qtstalker:[14] trunk/plugins
Brought to you by:
sstratos
|
From: <sst...@us...> - 2013-02-25 23:58:39
|
Revision: 14
http://qtstalker.svn.sourceforge.net/qtstalker/?rev=14&view=rev
Author: sstratos
Date: 2013-02-25 23:58:32 +0000 (Mon, 25 Feb 2013)
Log Message:
-----------
fixed IndicatorPlot groups display
Modified Paths:
--------------
trunk/plugins/Group/GroupObject.cpp
trunk/plugins/Group/GroupObject.h
trunk/plugins/IndicatorPlot/GroupPage.cpp
trunk/plugins/SymbolSelect/SymbolSelectDialog.cpp
Modified: trunk/plugins/Group/GroupObject.cpp
===================================================================
--- trunk/plugins/Group/GroupObject.cpp 2013-02-25 22:12:45 UTC (rev 13)
+++ trunk/plugins/Group/GroupObject.cpp 2013-02-25 23:58:32 UTC (rev 14)
@@ -43,12 +43,19 @@
QDir dir(QDir::homePath());
tl << dir.absolutePath() << QString("OTA") << QString("Group") << QString("db") << QString("groups");
_file = tl.join("/");
+
+ Util util;
+ _dialog = util.object(QString("SymbolSelect"), QString(), QString());
+ if (_dialog)
+ connect(_dialog, SIGNAL(signalMessage(ObjectCommand)), this, SLOT(dialogMessage(ObjectCommand)));
load();
}
GroupObject::~GroupObject ()
{
+ if (_dialog)
+ delete _dialog;
}
int
@@ -87,32 +94,8 @@
return 0;
QSettings settings(_file, QSettings::NativeFormat);
+ _symbols = settings.value(_name).toStringList();
- QStringList symbols = settings.value(_name).toStringList();
- if (! symbols.size())
- return 1;
-
- Util util;
- Object *db = util.object(QString("Symbol"), QString(), QString());
- if (! db)
- {
- qDebug() << "GroupObject::load: invalid Symbol";
- return 0;
- }
-
- ObjectCommand toc(QString("info"));
- toc.setValue(QString("names"), symbols);
- if (! db->message(&toc))
- {
- qDebug() << "GroupObject::load: message error" << db->plugin() << toc.command();
- delete db;
- return 0;
- }
- else
- delete db;
-
- _symbols = toc.getDatas();
-
return 1;
}
@@ -123,17 +106,7 @@
return 0;
QSettings settings(_file, QSettings::NativeFormat);
-
- QStringList tl;
- QHashIterator<QString, Data> it(_symbols);
- while (it.hasNext())
- {
- it.next();
- tl << it.key();
- }
-
- settings.setValue(_name, tl);
-
+ settings.setValue(_name, _symbols);
settings.sync();
return 1;
@@ -167,32 +140,47 @@
{
if (_name.isEmpty())
return 0;
+
+ if (! _dialog)
+ return 0;
- GroupDialog *d = new GroupDialog(_name);
- d->setSettings(_symbols);
- connect(d, SIGNAL(signalDone(void *)), this, SLOT(dialogDone(void *)));
- d->setModified(FALSE);
- d->show();
+ ObjectCommand toc(QString("settings"));
+ _dialog->message(&toc);
+
+ toc.setValue(QString("symbols"), _symbols);
+
+ toc.setCommand(QString("set_settings"));
+ _dialog->message(&toc);
+
+ toc.setCommand(QString("dialog"));
+ _dialog->message(&toc);
+
return 1;
}
void
-GroupObject::dialogDone (void *dialog)
+GroupObject::dialogMessage (ObjectCommand oc)
{
- GroupDialog *d = (GroupDialog *) dialog;
- d->settings(_symbols);
+ if (oc.command() != QString("symbols_changed"))
+ return;
+
+ ObjectCommand toc(QString("settings"));
+ _dialog->message(&toc);
+
+ _symbols = toc.getList(QString("symbols"));
+
save();
- ObjectCommand toc(QString("modified"));
- toc.setValue(QString("group"), _name);
- toc.setDatas(_symbols);
- emit signalMessage(toc);
+ ObjectCommand moc(QString("modified"));
+ moc.setValue(QString("group"), _name);
+ moc.setValue(QString("symbols"), _symbols);
+ emit signalMessage(moc);
}
int
GroupObject::symbols (ObjectCommand *oc)
{
- oc->setDatas(_symbols);
+ oc->setValue(QString("symbols"), _symbols);
return 1;
}
@@ -211,34 +199,9 @@
load();
key = QString("list");
- QStringList tl = oc->getList(key);
+ _symbols << oc->getList(key);
+ _symbols.removeDuplicates();
- Util util;
- Object *db = util.object(QString("Symbol"), QString(), QString());
- if (! db)
- {
- qDebug() << "GroupObject::add: invalid Symbol object";
- return 0;
- }
-
- ObjectCommand toc(QString("info"));
- toc.setValue(QString("names"), tl);
- if (! db->message(&toc))
- {
- qDebug() << "GroupObject::load: message error" << db->plugin() << toc.command();
- delete db;
- return 0;
- }
- else
- delete db;
-
- QHashIterator<QString, Data> it(toc.getDatas());
- while (it.hasNext())
- {
- it.next();
- _symbols.insert(it.key(), it.value());
- }
-
save();
return 1;
Modified: trunk/plugins/Group/GroupObject.h
===================================================================
--- trunk/plugins/Group/GroupObject.h 2013-02-25 22:12:45 UTC (rev 13)
+++ trunk/plugins/Group/GroupObject.h 2013-02-25 23:58:32 UTC (rev 14)
@@ -45,12 +45,13 @@
public slots:
int message (ObjectCommand *);
- void dialogDone (void *);
+ void dialogMessage (ObjectCommand);
private:
+ Object *_dialog;
QStringList _commandList;
QString _file;
- QHash<QString, Data> _symbols;
+ QStringList _symbols;
};
#endif
Modified: trunk/plugins/IndicatorPlot/GroupPage.cpp
===================================================================
--- trunk/plugins/IndicatorPlot/GroupPage.cpp 2013-02-25 22:12:45 UTC (rev 13)
+++ trunk/plugins/IndicatorPlot/GroupPage.cpp 2013-02-25 23:58:32 UTC (rev 14)
@@ -242,6 +242,10 @@
delete o;
QStringList groups = toc.getList(key);
+
+ Object *db = util.object(QString("Symbol"), QString(), QString());
+ if (! db)
+ return;
for (int pos = 0; pos < groups.size(); pos++)
{
@@ -261,6 +265,12 @@
continue;
}
+ QStringList tl = toc.getList(QString("symbols"));
+
+ toc.setCommand(QString("info"));
+ toc.setValue(QString("names"), tl);
+ db->message(&toc);
+
QHashIterator<QString, Data> it(toc.getDatas());
while (it.hasNext())
{
@@ -276,6 +286,8 @@
_groups.insert(groups.at(pos), group);
}
+ delete db;
+
selectionChanged();
}
@@ -342,17 +354,29 @@
p->takeChildren();
- QHashIterator<QString, Data> it(oc.getDatas());
+ QStringList sl = oc.getList(QString("symbols"));
+
+ Util util;
+ Object *db = util.object(QString("Symbol"), QString(), QString());
+ if (! db)
+ return;
+
+ ObjectCommand toc(QString("info"));
+ toc.setValue(QString("names"), sl);
+ db->message(&toc);
+
+ QHashIterator<QString, Data> it(toc.getDatas());
while (it.hasNext())
{
it.next();
Data d = it.value();
-
+
QTreeWidgetItem *i = new QTreeWidgetItem(p);
i->setText(1, it.key());
i->setToolTip(1, d.value(QString("name")).toString());
}
+ delete db;
+
selectionChanged();
}
-
Modified: trunk/plugins/SymbolSelect/SymbolSelectDialog.cpp
===================================================================
--- trunk/plugins/SymbolSelect/SymbolSelectDialog.cpp 2013-02-25 22:12:45 UTC (rev 13)
+++ trunk/plugins/SymbolSelect/SymbolSelectDialog.cpp 2013-02-25 23:58:32 UTC (rev 14)
@@ -152,7 +152,7 @@
l << tr("Symbol") << tr("Name");
_searchList = new QTreeWidget;
- _searchList->setSortingEnabled(FALSE);
+ _searchList->setSortingEnabled(TRUE);
_searchList->setRootIsDecorated(FALSE);
_searchList->setHeaderLabels(l);
_searchList->setSelectionMode(QAbstractItemView::ExtendedSelection);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|