equal
deleted
inserted
replaced
290 if (row == -1) |
290 if (row == -1) |
291 row = appendRow(name); |
291 row = appendRow(name); |
292 VideoItem * item = nameItem(row); |
292 VideoItem * item = nameItem(row); |
293 item->seen = true; |
293 item->seen = true; |
294 item->desc = ""; |
294 item->desc = ""; |
|
295 setName(item, item->name); |
295 updateSize(row); |
296 updateSize(row); |
296 } |
297 } |
297 |
298 |
298 // remove all non seen files |
299 // remove all non seen files |
299 for (int i = 0; i < filesTable->rowCount();) |
300 for (int i = 0; i < filesTable->rowCount();) |
424 newPrefix = newName; |
425 newPrefix = newName; |
425 newPrefix.truncate(pointPos); |
426 newPrefix.truncate(pointPos); |
426 } |
427 } |
427 } |
428 } |
428 else |
429 else |
429 { |
|
430 newPrefix = newName; |
430 newPrefix = newName; |
|
431 for (int i = 0; i < filesTable->rowCount(); i++) |
|
432 { |
|
433 // don't allow rename if duplicate prefix |
|
434 VideoItem * iterateItem = nameItem(i); |
|
435 if ((i != row) && (newPrefix == iterateItem->prefix)) |
|
436 { |
|
437 setName(item, oldName); |
|
438 return; |
|
439 } |
431 } |
440 } |
432 #ifdef Q_OS_WIN |
441 #ifdef Q_OS_WIN |
433 // there is a bug in qt, QDir::rename() doesn't fail on such names but damages files |
442 // there is a bug in qt, QDir::rename() doesn't fail on such names but damages files |
434 if (newName.contains(QRegExp("[\"*:<>?\\/|]"))) |
443 if (newName.contains(QRegExp("[\"*:<>?\\/|]"))) |
435 { |
444 { |
458 { |
467 { |
459 nameChangedFromCode = true; |
468 nameChangedFromCode = true; |
460 item->setText(newName); |
469 item->setText(newName); |
461 nameChangedFromCode = false; |
470 nameChangedFromCode = false; |
462 item->name = newName; |
471 item->name = newName; |
|
472 // try to extract prefix |
|
473 if (item->ready()) |
|
474 item->prefix = item->name; |
|
475 else |
|
476 item->prefix = item->pRecorder->name; |
|
477 // remove extension |
|
478 int pt = item->prefix.lastIndexOf('.'); |
|
479 if (pt != -1) |
|
480 item->prefix.truncate(pt); |
463 } |
481 } |
464 |
482 |
465 int PageVideos::appendRow(const QString & name) |
483 int PageVideos::appendRow(const QString & name) |
466 { |
484 { |
467 int row = filesTable->rowCount(); |
485 int row = filesTable->rowCount(); |
544 } |
562 } |
545 } |
563 } |
546 desc += item->desc + '\n'; |
564 desc += item->desc + '\n'; |
547 } |
565 } |
548 |
566 |
549 if (item->prefix.isEmpty()) |
567 if (item->prefix.isNull() || item->prefix.isEmpty()) |
550 { |
568 { |
551 // try to extract prefix from file name instead |
569 // try to extract prefix from file name instead |
552 if (item->ready()) |
570 if (item->ready()) |
553 item->prefix = item->name; |
571 item->prefix = item->name; |
554 else |
572 else |