src/EditProductTab13.cpp

changeset 475
895c5ae1dab1
parent 474
18b72c518d0d
child 476
29487eac1183
equal deleted inserted replaced
474:18b72c518d0d 475:895c5ae1dab1
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */ 18 */
19 19
20 void EditProduct::images_Init() 20 void EditProduct::images_Init()
21 { 21 {
22 qDebug() << "images_Init()"; 22 qDebug() << "images_Init() count" << product->images_count << "current" << product->images_current << "size" << product->images_list.size();
23 23
24 // Start spinner 24 // Start spinner
25 25
26 /* 26 /*
27 * Clean old picture areas. 27 * Clean old picture areas.
84 /* 84 /*
85 * Show thumbnails on the left. 85 * Show thumbnails on the left.
86 */ 86 */
87 void EditProduct::images_Thumbnails() 87 void EditProduct::images_Thumbnails()
88 { 88 {
89 qDebug() << "images_Thumbnails()" << product->images_list.size();
89 ui->filmStrip->clear(); 90 ui->filmStrip->clear();
90 91
91 for (int i = 0; i < product->images_list.size(); i++) { 92 for (int i = 0; i < product->images_list.size(); i++) {
92 QListWidgetItem* newItem = new QListWidgetItem(); 93 QListWidgetItem* newItem = new QListWidgetItem();
93 QString text = QCoreApplication::translate("PicType", g_prod_pic_types[product->images_list.at(i).pic_type]); 94 QString text = QCoreApplication::translate("PicType", g_prod_pic_types[product->images_list.at(i).pic_type]);
117 ui->downloadImage->setEnabled((product->images_count > 0) ? true:false); 118 ui->downloadImage->setEnabled((product->images_count > 0) ? true:false);
118 ui->printImage->setEnabled((product->images_count > 0) ? true:false); 119 ui->printImage->setEnabled((product->images_count > 0) ? true:false);
119 ui->delImage->setEnabled((product->images_count > 0) ? true:false); 120 ui->delImage->setEnabled((product->images_count > 0) ? true:false);
120 121
121 const QSignalBlocker blocker1(ui->image_typeEdit); 122 const QSignalBlocker blocker1(ui->image_typeEdit);
123 const QSignalBlocker blocker2(ui->image_commentEdit);
122 124
123 if (product->images_count < 1) { 125 if (product->images_count < 1) {
124 ui->image_filenameEdit->setText(""); 126 ui->image_filenameEdit->setText("");
125 ui->image_timestampEdit->setText(""); 127 ui->image_timestampEdit->setText("");
126 ui->image_commentEdit->setText(""); 128 ui->image_commentEdit->setText("");
127 ui->image_typeEdit->setCurrentIndex(0); 129 ui->image_typeEdit->setCurrentIndex(0);
128 //ui->currentImage->setPixmap(); 130 ui->currentImage->clear();
129 return; 131 return;
130 } 132 }
131 133
132 QPixmap outPixmap = QPixmap(); 134 QPixmap outPixmap = QPixmap();
133 outPixmap.loadFromData(product->images_list.at(id).pic_data); 135 outPixmap.loadFromData(product->images_list.at(id).pic_data);
134 qDebug() << " " << outPixmap.width() << "x" << outPixmap.height() << "size" << outPixmap.size() << product->images_list.at(id).filename; 136 // qDebug() << " " << outPixmap.width() << "x" << outPixmap.height() << "size" << outPixmap.size() << product->images_list.at(id).filename;
135 if (outPixmap.width() > ui->currentImage->width() || outPixmap.height() > ui->currentImage->height()) 137 if (outPixmap.width() > ui->currentImage->width() || outPixmap.height() > ui->currentImage->height())
136 ui->currentImage->setPixmap(outPixmap.scaled(ui->currentImage->width(), ui->currentImage->height(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); 138 ui->currentImage->setPixmap(outPixmap.scaled(ui->currentImage->width(), ui->currentImage->height(), Qt::KeepAspectRatio, Qt::SmoothTransformation));
137 else 139 else
138 ui->currentImage->setPixmap(outPixmap); 140 ui->currentImage->setPixmap(outPixmap);
139 141
289 if (query.lastError().isValid()) { 291 if (query.lastError().isValid()) {
290 qWarning() << "delImage_clicked()" << query.lastError(); 292 qWarning() << "delImage_clicked()" << query.lastError();
291 QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3") 293 QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3")
292 .arg(query.lastError().nativeErrorCode()).arg(query.lastError().driverText()).arg(query.lastError().databaseText())); 294 .arg(query.lastError().nativeErrorCode()).arg(query.lastError().driverText()).arg(query.lastError().databaseText()));
293 } 295 }
296 qDebug() << " delete record done";
294 297
295 product->images_count = -1; // Force reload data 298 product->images_count = -1; // Force reload data
296 images_Init(); 299 images_Init();
297 } 300 }
298 301
387 } 390 }
388 391
389 392
390 void EditProduct::pictype_changed(int val) 393 void EditProduct::pictype_changed(int val)
391 { 394 {
395 if (product->images_count < 1)
396 return;
397
392 qDebug() << "pictype_changed" << val; 398 qDebug() << "pictype_changed" << val;
393
394 product->images_list[ui->filmStrip->currentRow()].pic_type = val; 399 product->images_list[ui->filmStrip->currentRow()].pic_type = val;
395 400
396 QSqlQuery query; 401 QSqlQuery query;
397 query.prepare("UPDATE products_pics SET pic_type=:pic_type WHERE record=:record"); 402 query.prepare("UPDATE products_pics SET pic_type=:pic_type WHERE record=:record");
398 query.bindValue(":pic_type", val); 403 query.bindValue(":pic_type", val);
409 } 414 }
410 415
411 416
412 void EditProduct::piccomment_changed() 417 void EditProduct::piccomment_changed()
413 { 418 {
419 if (product->images_count < 1)
420 return;
421
414 qDebug() << "piccomment_changed" << ui->image_commentEdit->text(); 422 qDebug() << "piccomment_changed" << ui->image_commentEdit->text();
415
416 product->images_list[ui->filmStrip->currentRow()].pic_comment = ui->image_commentEdit->text(); 423 product->images_list[ui->filmStrip->currentRow()].pic_comment = ui->image_commentEdit->text();
417 424
418 QSqlQuery query; 425 QSqlQuery query;
419 qDebug() << "piccomment_changed 0"; 426 qDebug() << "piccomment_changed 0";
420 query.prepare("UPDATE products_pics SET pic_comment=:pic_comment WHERE record=:record"); 427 query.prepare("UPDATE products_pics SET pic_comment=:pic_comment WHERE record=:record");
421 query.bindValue(":pic_comment", ui->image_commentEdit->text()); 428 query.bindValue(":pic_comment", ui->image_commentEdit->text());
422 query.bindValue(":record", product->images_list.at(ui->filmStrip->currentRow()).record); 429 query.bindValue(":record", product->images_list.at(ui->filmStrip->currentRow()).record);
423 qDebug() << "piccomment_changed 1";
424 query.exec(); 430 query.exec();
425 qDebug() << "piccomment_changed 2";
426 431
427 if (query.lastError().isValid()) { 432 if (query.lastError().isValid()) {
428 qWarning() << "pictype_changed()" << query.lastError(); 433 qWarning() << "pictype_changed()" << query.lastError();
429 QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3") 434 QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3")
430 .arg(query.lastError().nativeErrorCode()).arg(query.lastError().driverText()).arg(query.lastError().databaseText())); 435 .arg(query.lastError().nativeErrorCode()).arg(query.lastError().driverText()).arg(query.lastError().databaseText()));

mercurial