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); }
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 &))); }
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"); }