~sachinr/xpad/xpad-qt

« back to all changes in this revision

Viewing changes to src/padgroup.cpp

  • Committer: Sachin Raut
  • Date: 2013-09-19 16:29:31 UTC
  • Revision ID: great.sachin@gmail.com-20130919162931-rkup975f66xjsgvr
pad saving with 0 based files
added persistency to pads.
changed icon and saved pads path.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#include "padgroup.h"
2
2
#include<pad.h>
 
3
#include <QDir>
 
4
#include <QFile>
 
5
#include <QTextStream>
3
6
 
4
7
PadGroup::PadGroup()
5
8
{
 
9
    newPadIndex = 0;
6
10
}
7
11
 
8
12
void PadGroup::CreateNewPad()
9
13
{
 
14
    auto filename = QString("%1/%2").arg(directory).arg(newPadIndex);
 
15
 
 
16
    newPadWithInfo(filename);
 
17
 
 
18
    ++newPadIndex;
 
19
}
 
20
 
 
21
Pad* PadGroup::newPadWithInfo(QString filename)
 
22
{
10
23
    auto pad = new Pad();
 
24
    pad->setFilename(filename);
 
25
    padToFilenameMap[pad] = filename;
11
26
    pads.push_back(pad);
 
27
    return pad;
 
28
}
 
29
 
 
30
void PadGroup::SetDirectory(QString dir)
 
31
{
 
32
    directory = dir;
12
33
}
13
34
 
14
35
const list<Pad*>& PadGroup::GetPads()
16
37
    return pads;
17
38
}
18
39
 
 
40
void PadGroup::LoadPads()
 
41
{
 
42
    QDir dir(directory);
 
43
    dir.setFilter(QDir::Files);
 
44
    for (auto file : dir.entryInfoList())
 
45
    {
 
46
        auto absFilepath = file.absoluteFilePath();
 
47
        // update new pad index
 
48
        auto fileno = file.fileName().toInt();
 
49
        if (fileno > newPadIndex)
 
50
            newPadIndex = fileno;
 
51
        auto pad = newPadWithInfo(absFilepath);
 
52
        pad->loadFromFile();
 
53
    }
 
54
    ++newPadIndex;
 
55
}
 
56
 
19
57
PadGroup::~PadGroup()
20
58
{
21
59
    for(auto pad : pads)