~ubuntu-branches/ubuntu/karmic/kid3/karmic

« back to all changes in this revision

Viewing changes to kid3/oggfile.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Patrick Matthäi
  • Date: 2009-05-20 16:12:30 UTC
  • mfrom: (1.2.3 upstream)
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: james.westby@ubuntu.com-20090520161230-qetp532r8ydujkz2
Tags: upstream-1.2
Import upstream version 1.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
74
74
{
75
75
        if (force || !m_fileRead) {
76
76
                m_comments.clear();
77
 
                markTag2Changed(false);
 
77
                markTag2Unchanged();
78
78
                m_fileRead = true;
79
79
                QCM_QCString fnIn = QFile::encodeName(getDirInfo()->getDirname() + QDir::separator() + currentFilename());
80
80
 
205
205
                if (!writeOk) {
206
206
                        return false;
207
207
                }
208
 
                markTag2Changed(false);
 
208
                markTag2Unchanged();
209
209
                QDir(dirname).remove(tempFilename);
210
210
                if (getFilename() != currentFilename()) {
211
211
                        updateCurrentFilename();
329
329
{
330
330
        if (flt.areAllEnabled()) {
331
331
                m_comments.clear();
332
 
                markTag2Changed();
 
332
                markTag2Changed(Frame::FT_UnknownFrame);
333
333
        } else {
334
334
                bool changed = false;
335
335
                for (OggFile::CommentList::iterator it = m_comments.begin();
343
343
                        }
344
344
                }
345
345
                if (changed) {
346
 
                        markTag2Changed();
 
346
                        markTag2Changed(Frame::FT_UnknownFrame);
347
347
                }
348
348
        }
349
349
}
465
465
 *
466
466
 * @param name name
467
467
 * @param value value, "" to remove, QString::null to do nothing
 
468
 * @param type frame type
468
469
 */
469
 
void OggFile::setTextField(const QString& name, const QString& value)
 
470
void OggFile::setTextField(const QString& name, const QString& value,
 
471
                           Frame::Type type)
470
472
{
471
473
        if (m_fileRead && !value.isNull() &&
472
474
                        m_comments.setValue(name, value)) {
473
 
                markTag2Changed();
 
475
                markTag2Changed(type);
474
476
        }
475
477
}
476
478
 
481
483
 */
482
484
void OggFile::setTitleV2(const QString& str)
483
485
{
484
 
        setTextField("TITLE", str);
 
486
        setTextField("TITLE", str, Frame::FT_Title);
485
487
}
486
488
 
487
489
/**
491
493
 */
492
494
void OggFile::setArtistV2(const QString& str)
493
495
{
494
 
        setTextField("ARTIST", str);
 
496
        setTextField("ARTIST", str, Frame::FT_Artist);
495
497
}
496
498
 
497
499
/**
501
503
 */
502
504
void OggFile::setAlbumV2(const QString& str)
503
505
{
504
 
        setTextField("ALBUM", str);
 
506
        setTextField("ALBUM", str, Frame::FT_Album);
505
507
}
506
508
 
507
509
/**
511
513
 */
512
514
void OggFile::setCommentV2(const QString& str)
513
515
{
514
 
        setTextField(getCommentFieldName(), str);
 
516
        setTextField(getCommentFieldName(), str, Frame::FT_Comment);
515
517
}
516
518
 
517
519
/**
528
530
                } else {
529
531
                        str = "";
530
532
                }
531
 
                setTextField("DATE", str);
 
533
                setTextField("DATE", str, Frame::FT_Date);
532
534
        }
533
535
}
534
536
 
548
550
                } else {
549
551
                        str = "";
550
552
                }
551
 
                setTextField("TRACKNUMBER", str);
 
553
                setTextField("TRACKNUMBER", str, Frame::FT_Track);
552
554
                if (numTracks > 0) {
553
555
                        str.setNum(numTracks);
554
 
                        setTextField("TRACKTOTAL", str);
 
556
                        setTextField("TRACKTOTAL", str, Frame::FT_Other);
555
557
                }
556
558
        }
557
559
}
563
565
 */
564
566
void OggFile::setGenreV2(const QString& str)
565
567
{
566
 
        setTextField("GENRE", str);
 
568
        setTextField("GENRE", str, Frame::FT_Genre);
567
569
}
568
570
 
569
571
/**
660
662
                if (numTracks > 0) {
661
663
                        QString numTracksStr = QString::number(numTracks);
662
664
                        if (getTextField("TRACKTOTAL") != numTracksStr) {
663
 
                                setTextField("TRACKTOTAL", numTracksStr);
664
 
                                markTag2Changed();
 
665
                                setTextField("TRACKTOTAL", numTracksStr, Frame::FT_Other);
 
666
                                markTag2Changed(Frame::FT_Other);
665
667
                        }
666
668
                }
667
669
        }
673
675
#if QT_VERSION >= 0x040000
674
676
                if (m_comments[index].getValue() != value) {
675
677
                        m_comments[index].setValue(value);
676
 
                        markTag2Changed();
 
678
                        markTag2Changed(frame.getType());
677
679
                }
678
680
                return true;
679
681
#else
681
683
                if (it != m_comments.end()) {
682
684
                        if ((*it).getValue() != value) {
683
685
                                (*it).setValue(value);
684
 
                                markTag2Changed();
 
686
                                markTag2Changed(frame.getType());
685
687
                        }
686
688
                        return true;
687
689
                }
709
711
        m_comments.push_back(OggFile::CommentField(name, frame.getValue()));
710
712
        frame.setInternalName(name);
711
713
        frame.setIndex(m_comments.size() - 1);
712
 
        markTag2Changed();
 
714
        markTag2Changed(frame.getType());
713
715
        return true;
714
716
}
715
717
 
731
733
                OggFile::CommentList::iterator it = m_comments.at(index);
732
734
                m_comments.erase(it);
733
735
#endif
734
 
                markTag2Changed();
 
736
                markTag2Changed(frame.getType());
735
737
                return true;
736
738
        }
737
739