PyObject* py_read_config_entry(PyObject *, PyObject *args)
{
  long widget;
  char* key;
  if (!PyArg_ParseTuple(args, (char*)"ls:readConfigEntry", &widget, &key))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;
  QString k;
  k.setAscii(key);

  QVariant entry = readConfigEntry(widget, k);
  QString type;
  type.setAscii(entry.typeName());

  if (type == "Bool")
  {
    return Py_BuildValue((char*)"l", (int)entry.toBool());
  }

  bool isint = false;
  int i = entry.toInt(&isint);
  if (isint)
  {
    return Py_BuildValue((char*)"l", i);
  }

  if (type == "QString")
  {
    return Py_BuildValue((char*)"s", entry.toString().ascii());
  }
  // Add more types if needed
  return NULL;
}
/**
 * creates the icon for the specified task as a karamba image
 * @param ctask         the window id of the task to create the icon for
 */
PyObject* py_createTaskIcon(PyObject *, PyObject *args)
{
  long widget, x, y;
  long ctask;
  if (!PyArg_ParseTuple(args, (char*)"llll:createTaskIcon", &widget, &x, &y, &ctask))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;

  //get the specified task and insure it exists
  TaskList taskList = ((karamba*)widget)->taskManager.tasks();
  Task* task = 0;
  Task* currTask = 0;
  for (task = taskList.first(); task; task = taskList.next())
  {
    if ((long)task == (long)ctask)
    {
      //task found
      currTask = task;
      break;
    }
  }
  if (currTask == 0)
  {
    //no task was found
    qWarning("Task not found.");
    return (long)NULL ;
  }
  //retrieve the QPixmap that represents this image
  QPixmap iconPixmap = KWin::icon(currTask->window());

  ImageLabel *tmp = createImageLabel((karamba*)widget, x, y, 0, 0);
  tmp->setValue(iconPixmap);
  return (Py_BuildValue((char*)"l", (long)tmp));
}
Beispiel #3
0
PyObject* py_read_config_entry(PyObject *, PyObject *args)
{
    long widget;
    char* key;
    if (!PyArg_ParseTuple(args, (char*)"ls:readConfigEntry", &widget, &key))
        return NULL;
    if (!checkKaramba(widget))
        return NULL;

    QString k;
    k = QString::fromAscii(key);

    QString entry = readConfigEntry(widget, k);

    if (entry.isEmpty())
        return Py_BuildValue((char*)"");

    if (entry.startsWith("false", Qt::CaseInsensitive))
        return Py_BuildValue((char*)"l", 0);

    if (entry.startsWith("true", Qt::CaseInsensitive))
        return Py_BuildValue((char*)"l", 0);

    bool ok;
    if (entry.toInt(&ok))
        return Py_BuildValue((char*)"l", entry.toInt());

    return Py_BuildValue((char*)"s",
                         entry.toAscii().constData());

    return NULL;
}
PyObject* py_createBackgroundImage(PyObject *, PyObject *args)
{
  long widget, x, y;
  char *text;
  if (!PyArg_ParseTuple(args, (char*)"llls:createBackgroundImage", &widget, &x, &y,
                        &text))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;
  ImageLabel *tmp = createImageLabel((karamba*)widget, x, y, text, 1);
  return (Py_BuildValue((char*)"l", (long)tmp));
}
Beispiel #5
0
PyObject* py_createGraph(PyObject *, PyObject *args)
{
  long widget, x, y, w, h, points;

  if (!PyArg_ParseTuple(args, (char*)"llllll", &widget, &x, &y, &w, &h, &points))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;

  Graph *tmp =
      new Graph((karamba*)widget, (int)x, (int)y, (int)w, (int)h, (int)points);
  ((karamba*)widget)->meterList->append(tmp);
  return (Py_BuildValue((char*)"l", (long)tmp));
}
Beispiel #6
0
PyObject* py_createBar(PyObject *, PyObject *args)
{
  long widget, x, y, w, h;
  char *text;
  if (!PyArg_ParseTuple(args, (char*)"lllll|s", &widget, &x, &y, &w, &h, &text))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;

  Bar *tmp = new Bar((karamba*)widget, x,y,w,h);
  if (text && text[0] != '\0')
    tmp->setImage(text);
  ((karamba*)widget)->meterList->append(tmp);
  return (Py_BuildValue((char*)"l", (long)tmp));
}
PyObject* py_read_menu_config_option(PyObject *, PyObject *args)
{
  long widget;
  char* key;

  if (!PyArg_ParseTuple(args, (char*)"ls:readMenuConfigOption", &widget, &key))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;

  QString k;
  k.setAscii(key);

  return Py_BuildValue((char*)"l", readMenuConfigOption(widget, k));
}
PyObject* py_set_menu_config_option(PyObject *, PyObject *args)
{
  long widget;
  char* key;
  int value;

  if (!PyArg_ParseTuple(args, (char*)"lsi:setMenuConfigOption", &widget, &key, &value))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;

  QString k;
  k.setAscii(key);

  return Py_BuildValue((char*)"l", setMenuConfigOption(widget, k, (bool)value));
}
PyObject* py_write_config_entry(PyObject *, PyObject *args)
{
  long widget;
  char* key;
  char* value;

  if (!PyArg_ParseTuple(args, (char*)"lss:writeConfigEntry", &widget, &key, &value))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;
  QString k, v;
  k.setAscii(key);
  v.setAscii(value);

  return Py_BuildValue((char*)"l", writeConfigEntry(widget, k, value));
}
PyObject* py_createRichText(PyObject *, PyObject *args)
{
  long widget, underline = 0;
  PyObject *text;
  if (!PyArg_ParseTuple(args, (char*)"lO|l:createRichText",
      &widget, &text, &underline))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;
  RichTextLabel *tmp = new RichTextLabel((karamba*)widget);
  tmp->setText(PyString2TQString(text), underline);
  tmp->setTextProps(((karamba*)widget)->getDefaultTextProps());
  ((karamba*)widget)->meterList->append(tmp);
  ((karamba*)widget)->clickList->append(tmp);
  return (Py_BuildValue((char*)"l", (long)tmp));
}
Beispiel #11
0
PyObject* py_add_menu_config_option(PyObject *, PyObject *args)
{
  long widget;
  char* key;
  PyObject* name;

  if (!PyArg_ParseTuple(args, (char*)"lsO:addMenuConfigOption", &widget, &key, &name))
    return NULL;
  if (!checkKaramba(widget))
    return NULL;

  QString k, n;
  k.setAscii(key);
  n = PyString2QString(name);

  return Py_BuildValue((char*)"l", addMenuConfigOption(widget, k, n));
}