6 QString
devpath =
"/var/run/ckb%1";
40 timer->setInterval(1000 / framerate);
42 timer->start(1000 / framerate);
47 QStringList dots = version.replace(QRegExp(
"\\+.+"),
"").replace(QRegExp(
"[^\\d\\.]"),
"").split(
".");
52 foreach(
const QString& dot, dots){
53 res += dot.toFloat() * base;
60 QString rootdev =
devpath.arg(0);
61 QFile connected(rootdev +
"/connected");
62 if(!connected.open(QIODevice::ReadOnly)){
77 QFile version(rootdev +
"/version");
79 if(version.open(QIODevice::ReadOnly)){
80 vString = QString::fromUtf8(version.readLine()).trimmed();
90 QList<QStringList> lines;
92 QString line = connected.readLine().trimmed();
95 QStringList components = line.split(
" ");
96 if(components.length() < 2)
98 lines.append(components);
103 QMutableSetIterator<Kb*> i(
_devices);
106 bool matched =
false;
107 foreach(
const QStringList& line, lines){
108 if(kb->
matches(line[0], line[1])){
123 foreach(
const QStringList& line, lines){
124 bool matched =
false;
126 if(kb->
matches(line[0], line[1])){
134 Kb* kb =
new Kb(
this, line[0]);
143 connect(
_eventTimer, SIGNAL(timeout()), kb, SLOT(frameUpdate()));
144 connect(
_scanTimer, SIGNAL(timeout()), kb, SLOT(autoSave()));
bool matches(const QString &path, const QString &serial)
static QTimer * eventTimer()
static QString _daemonVersion
static float parseVersionString(QString version)
void kbDisconnected(Kb *device)
void kbConnected(Kb *device)
static void init(QString guiVersion)
#define DAEMON_UNAVAILABLE_STR
KbManager(QObject *parent=0)
static QString _guiVersion
static KbManager * _kbManager
static void fps(int framerate)