QGalleryAbstractResponse *QDocumentGalleryPrivate::createItemListResponse( QGalleryTrackerResultSetArguments *arguments, int offset, int limit, bool isItemType, bool autoUpdate) { QGalleryTrackerResultSet *response = 0; if (isItemType) { response = new QGalleryTrackerEditableResultSet( arguments, metaDataInterface(), autoUpdate, offset, limit); } else { response = new QGalleryTrackerResultSet(arguments, autoUpdate, offset, limit); } if (autoUpdate) { QObject::connect( changeNotifier(), SIGNAL(itemsChanged(int)), response, SLOT(refresh(int))); } QObject::connect( response, SIGNAL(itemEdited(QString)), changeNotifier(), SLOT(itemsEdited(QString))); return response; }
// override setData to emit signal when edited. By default the itemChanged signal fires way too often void QgsTreeWidgetItem::setData( int column, int role, const QVariant & value ) { QTreeWidgetItem::setData( column, role, value ); if ( role == Qt::EditRole ) { emit itemEdited( this, column ); } }
void UserFunctionListWidget::editItem() { if (!currentItem() || m_userFunctions->selectedItems().isEmpty()) return; emit itemEdited(currentItem()->text(0) + " = " + currentItem()->text(1)); }