Improved Keyset Selection Window
[pierogi] / pirkeysetmetadata.cpp
1 #include "pirkeysetmetadata.h"
2
3 PIRKeysetMetaData::PIRKeysetMetaData(
4   const char *r,
5   PIRMakeName m,
6   unsigned int i)
7   : keysetName(r),
8     make(m),
9     id(i)
10 {
11 }
12
13 bool PIRKeysetMetaData::hasKey(
14   PIRKeyName name)
15 {
16   return (keys.find(name) != keys.end());
17 }
18
19
20 void PIRKeysetMetaData::moveProtocolToThread(
21   QThread &thread)
22 {
23   threadableProtocol->moveToThread(&thread);
24 }
25
26
27 void PIRKeysetMetaData::populateDeviceTypes(
28   PIRKeysetWidgetItem *kwi)
29 {
30   PIRDeviceTypeCollection::const_iterator i = deviceTypes.begin();
31   while (i != deviceTypes.end())
32   {
33     kwi->addDeviceType(*i);
34     ++i;
35   }
36 }
37
38
39 unsigned int PIRKeysetMetaData::getID()
40 {
41   return id;
42 }
43
44
45 void PIRKeysetMetaData::addControlledDevice(
46   PIRMakeName make,
47   const char *model,
48   PIRDeviceTypeName type)
49 {
50   controlledDevices.push_back(DeviceInfo(make, model, type));
51
52   deviceTypes.insert(type);
53 }
54
55
56 void PIRKeysetMetaData::addKey(
57   const char *name,
58   PIRKeyName key,
59   unsigned long data,
60   unsigned int bits)
61 {
62   // Don't have a system for the unmapped keys yet!
63   if (key != Unmapped_Key)
64   {
65     keys[key] = name;
66   }
67
68   threadableProtocol->addKey(key, data, bits);
69 }
70
71
72 PIRMakeName PIRKeysetMetaData::getMake()
73 {
74   return make;
75 }
76
77 const char *PIRKeysetMetaData::getKeysetName()
78 {
79   return keysetName;
80 }
81
82
83 void PIRKeysetMetaData::setKeysetName(
84   const char *n)
85 {
86   keysetName = n;
87 }