Пример #1
0
void NewDevice::showManufacturers()
{
  m_manufacturer->clear();

  QList <DeviceClass> dclist(_app->doc()->deviceClassList());
  for (DeviceClass* dc = dclist.first(); dc != NULL; dc = dclist.next())
    {
      QPixmap pm(_app->settings()->getPixmapPath() + QString("dmx.xpm"));
      bool alreadyAdded = false;
      for (int i = 0; i < m_manufacturer->count(); i++)
	{
	  alreadyAdded = false;
	  
	  if (m_manufacturer->text(i) == dc->manufacturer())
	    {
	      alreadyAdded = true;
	      break;
	    }
	}
      
      if (alreadyAdded == false)
	{
	  m_manufacturer->insertItem(pm, dc->manufacturer());
	}
    }

  slotManufacturerActivated(m_manufacturer->currentItem());
}
Пример #2
0
void QuickDC::Share::Manager::createFileLists(bool incomplete) {
    QDBG("QuickDC::Share::Manager::createFileLists");
    Samurai::IO::Buffer* xmlout = new Samurai::IO::Buffer();

    createFileList(xmlout, 0, incomplete);

    {
#ifdef DATADUMP
        QDBG("XML file list will be %i bytes long", (int) xmlout->size());
#endif
        Samurai::IO::File xmllist("~/.quickdc/files.xml");
        if (xmllist.open(Samurai::IO::File::Write | Samurai::IO::File::Truncate)) {
            char* out = new char[xmlout->size()];
            xmlout->pop(out, xmlout->size());
            int written = xmllist.write(out, xmlout->size());
            if (written == -1) QDBG("Error writing files.xml");
            xmllist.close();
            delete[] out;
        }
    }

#ifdef BZIP2
    {
        Samurai::IO::File dclist("~/.quickdc/files.xml.bz2");
        Samurai::IO::BZip2Compressor* filter = new Samurai::IO::BZip2Compressor();
        Samurai::IO::Buffer* writer = new Samurai::IO::Buffer();
        bool ok = process(filter, xmlout, writer);
        if (ok && dclist.open(Samurai::IO::File::Write | Samurai::IO::File::Truncate)) {
            int written = dclist.write(writer, writer->size());
            if (written == -1) QDBG("Error writing files.xml.bz2");
            dclist.close();
        }
        delete filter;
        delete writer;
    }
#endif // BZIP2
#ifdef DATADUMP
    QDBG("Lists written to disk");
#endif

    delete xmlout;

    filelists = true;
}
Пример #3
0
void NewDevice::fillTree()
{
  QListViewItem* parent = NULL;
  QListViewItem* newItem = NULL;

  QList <DeviceClass> dclist(_app->doc()->deviceClassList());
  QPixmap pm(_app->settings()->pixmapPath() + QString("dmx.xpm"));

  m_tree->clear();

  for (DeviceClass* dc = dclist.first(); dc != NULL; dc = dclist.next())
    {
      bool alreadyAdded = false;

      for (QListViewItem* i = m_tree->firstChild(); i != NULL; i = i->nextSibling())
	{
	  if (i->text(0) == dc->manufacturer())
	    {
	      alreadyAdded = true;
	      parent = i;
	      break;
	    }
	}

      if (alreadyAdded == false)
	{
	  parent = new QListViewItem(m_tree, dc->manufacturer());
	  if (_app->settings()->newDeviceTreeOpen() == true)
	    {
	      parent->setOpen(true);
	    }
	}

      parent->setPixmap(0, QPixmap(_app->settings()->pixmapPath() + QString("global.xpm")));

      newItem = new QListViewItem(parent, dc->model());
      newItem->setPixmap(0, pm);
      newItem->setText(1,dc->type());
    }
}
Пример #4
0
void NewDevice::showModels(QString mfg)
{
  m_model->clear();

  QList <DeviceClass> dclist(_app->doc()->deviceClassList());
  for (DeviceClass* dc = dclist.first(); dc != NULL; dc = dclist.next())
    {
      if (mfg == dc->manufacturer())
	{
	  if (dc->protocol() == DeviceClass::DMX512)
	    {
	      QPixmap pm(_app->settings()->getPixmapPath() + QString("dmx.xpm"));
	      m_model->insertItem(pm, dc->model());
	    }
	  else
	    {
	      m_model->insertItem(dc->model());
	    }
	}
    }

  slotModelActivated(m_model->currentItem());
}