Пример #1
0
void writeMatchingPsl(struct sqlConnection *conn, char *table,
	struct hash *qHash, FILE *f)
/* Write all psls in table where qName is in qHash to f */
{
char query[256];
sqlSafef(query, sizeof(query), "select * from %s", table);
struct sqlResult *sr = sqlGetResult(conn, query);
char **row;
int count = 0;
while ((row = sqlNextRow(sr)) != NULL)
    {
    char *qName = row[10];
    if (hashLookup(qHash, qName))
        {
	saveRow(row+1, 21, f);
	++count;
	}
    }
sqlFreeResult(&sr);
verbose(1, "wrote %d %s\n", count, table);
}
Пример #2
0
void toResultDataSingle::changeSource(toResultModelEdit *model, int _row)
{
    delete Container;
    Container = new QScrollArea(this);
    layout()->addWidget(Container);

    Model = model;
    ProgressBar->setMaximum(Model->rowCount());
    ProgressBar->setValue(_row);

    QWidget *ext = new QWidget(Container);
    Container->setWidget(ext);
    Container->setWidgetResizable(true);

    QGridLayout *grid = new QGridLayout;
    ext->setLayout(grid);

    Value.clear();
    Null.clear();

    const toResultModel::HeaderList Headers = Model->headers();

    int row = 1 + Model->getPriKeys().size();
    int col = 0;

    for (; row < Headers.size(); row++, col = 0)
    {
        QLabel *name = new QLabel(Headers[row].name, this);
        grid->addWidget(name, row, col++);

        QLineEdit *edit = new QLineEdit(this);
        edit->setObjectName(QString::number(row));
        edit->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,
                                        QSizePolicy::Minimum));
        grid->addWidget(edit, row, col);
        // edit widget should get the most space
        grid->setColumnStretch(col++, 1);

        QCheckBox *box = new QCheckBox(("NULL"), this);
        connect(box, SIGNAL(toggled(bool)), edit, SLOT(setDisabled(bool)));
        grid->addWidget(box, row, col++);

        toParamGetButton *btn = new toParamGetButton(row, this);
        btn->setText(tr("Edit"));
        btn->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed));
        connect(btn, SIGNAL(clicked(int)), this, SLOT(showMemo(int)));
        connect(box, SIGNAL(toggled(bool)), btn, SLOT(setDisabled(bool)));
        connect(box, SIGNAL(toggled(bool)), this, SLOT(saveRow()));
        connect(edit, SIGNAL(editingFinished()), this, SLOT(saveRow()));
        grid->addWidget(btn, row, col++);

        Value.append(edit);
        Null.append(box);
    }

    // add widget at bottom of grid so it can resize
    grid->addWidget(new QLabel(this), row, 0);
    grid->setRowStretch(row, 1);

    changeRow(Row);

    connect(Model,
            SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
            this,
            SLOT(dataChanged(const QModelIndex &, const QModelIndex &)));
}
Пример #3
0
ContactView::ContactView(ContactHandler *ch, QWidget *parent) :
    QWidget(parent)
{
    //Labels
    fName_lbl   = new QLabel("Fornavn:");
    lName_lbl   = new QLabel("Etternavn:");
    phoneN_lbl  = new QLabel("Tlf:");
    eMail_lbl   = new QLabel("e-post:");

    //LineEdit
    fName = new QLineEdit();
    lName = new QLineEdit();
    phoneNumber = new QLineEdit();
    eMail = new QLineEdit();

    //PushButtons
    edit = new QPushButton("Rediger");
    save = new QPushButton("Lagre");
    remove = new QPushButton("Slett");
    add = new QPushButton("Legg til");
    close = new QPushButton("Lukk");

    //Layouts
    main = new QHBoxLayout(this);
    setLayout(main);
    leftmain = new QVBoxLayout();
    rightmain = new QVBoxLayout();
    rightlabel = new QVBoxLayout();
    rightedit = new QVBoxLayout();
    bottomright = new QHBoxLayout();
    firstright = new QHBoxLayout();
    main->addLayout(leftmain);
    main->addLayout(rightmain);
    firstright->addLayout(rightlabel);
    firstright->addLayout(rightedit);
    rightmain->addLayout(firstright);
    rightmain->addLayout(bottomright);


    //Lager kontaklista
    tv = new QTableView();
    leftmain->addWidget(tv);
    mdl = new ContactListModel(ch,this);
    tv->setModel(mdl);
    tv->setSelectionBehavior(QTableView::SelectRows);
    tv->setSelectionMode(QTableView::SingleSelection);

    //Setter storrelset på vindu, knapper o.l.
    tv->setMinimumWidth(598);
    tv->setColumnWidth(0,150);
    tv->setColumnWidth(1,150);
    tv->setColumnWidth(2,120);
    tv->setColumnWidth(3,150);

    //Adder knapper og layouts til rl og ll
    rightlabel->addWidget(fName_lbl);
    rightlabel->addWidget(lName_lbl);
    rightlabel->addWidget(phoneN_lbl);
    rightlabel->addWidget(eMail_lbl);

    rightedit->addWidget(fName);
    rightedit->addWidget(lName);
    rightedit->addWidget(phoneNumber);
    rightedit->addWidget(eMail);
    rightedit->insertSpacing(4,5);

    bottomright->addWidget(edit);
    bottomright->addWidget(save);
    bottomright->addWidget(remove);
    bottomright->addWidget(add);
    bottomright->insertSpacing(3,5);
    bottomright->addWidget(close);

    //gjømmer knapper
    save->hide();

    //Ekle feltvariablar
    cHandler = ch;
    selectedRow = -1;

    //Connects
    connect(edit,SIGNAL(clicked()),this,SLOT(editRow()));
    connect(save,SIGNAL(clicked()),this,SLOT(saveRow()));
    connect(add,SIGNAL(clicked()),this,SLOT(addCont()));
    connect(remove,SIGNAL(clicked()),this,SLOT(deleteRow()));
    connect(close,SIGNAL(clicked()),this,SLOT(saveToFile()));
    connect(this,SIGNAL(end()),this,SLOT(close()));

    //Widget settings
    setWindowTitle("Kontakter");

}