~ubuntu-branches/debian/experimental/audex/experimental

« back to all changes in this revision

Viewing changes to models/profilemodel.cpp

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2013-04-14 18:14:34 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20130414181434-0dgmtvjvi31wgikh
Tags: 0.77~b1-1
* New Upstream Release
* Updated debian/watch from Bart Martens
  - Fixes "[audex] now hosted at kde svn" (Closes: #555406)
* Add myself to Uploaders:
* Ack NMU. Thanks Matthias & Romain
* debian/compat -> 9
* Fix "encoding dependencies" Added Suggests:  (Closes: #696941)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* AUDEX CDDA EXTRACTOR
2
 
 * Copyright (C) 2007-2011 Marco Nelles (audex@maniatek.com)
 
2
 * Copyright (C) 2007-2013 Marco Nelles (audex@maniatek.com)
3
3
 * <http://kde.maniatek.com/audex>
4
4
 *
5
5
 * This program is free software: you can redistribute it and/or modify
29
29
 
30
30
int ProfileModel::rowCount(const QModelIndex &parent) const {
31
31
  Q_UNUSED(parent);
32
 
  return cache.count();
 
32
  return p_cache.count();
33
33
}
34
34
 
35
35
int ProfileModel::columnCount(const QModelIndex &parent) const {
43
43
    return QVariant();
44
44
  }
45
45
 
46
 
  if ((index.row() < 0) || (index.row() >= cache.count())) {
 
46
  if ((index.row() < 0) || (index.row() >= p_cache.count())) {
47
47
    return QVariant();
48
48
  }
49
49
 
54
54
  if ((role == Qt::DisplayRole) || (role == Qt::EditRole)) {
55
55
    switch (index.column()) {
56
56
 
57
 
      case PROFILE_MODEL_COLUMN_PROFILEINDEX_INDEX : return cache.at(index.row())[PROFILE_MODEL_PROFILEINDEX_KEY];
58
 
      case PROFILE_MODEL_COLUMN_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_NAME_KEY];
59
 
      case PROFILE_MODEL_COLUMN_ICON_INDEX : return cache.at(index.row())[PROFILE_MODEL_ICON_KEY];
60
 
 
61
 
      case PROFILE_MODEL_COLUMN_ENCODER_SELECTED_INDEX : return cache.at(index.row())[PROFILE_MODEL_ENCODER_SELECTED_KEY];
62
 
 
63
 
      case PROFILE_MODEL_COLUMN_PATTERN_INDEX : return cache.at(index.row())[PROFILE_MODEL_PATTERN_KEY];
64
 
      case PROFILE_MODEL_COLUMN_FAT32COMPATIBLE_INDEX : return cache.at(index.row())[PROFILE_MODEL_FAT32COMPATIBLE_KEY];
65
 
      case PROFILE_MODEL_COLUMN_UNDERSCORE_INDEX : return cache.at(index.row())[PROFILE_MODEL_UNDERSCORE_KEY];
66
 
      case PROFILE_MODEL_COLUMN_2DIGITSTRACKNUM_INDEX : return cache.at(index.row())[PROFILE_MODEL_2DIGITSTRACKNUM_KEY];
67
 
      case PROFILE_MODEL_COLUMN_SC_INDEX : return cache.at(index.row())[PROFILE_MODEL_SC_KEY];
68
 
      case PROFILE_MODEL_COLUMN_SC_SCALE_INDEX : return cache.at(index.row())[PROFILE_MODEL_SC_SCALE_KEY];
69
 
      case PROFILE_MODEL_COLUMN_SC_SIZE_INDEX : return cache.at(index.row())[PROFILE_MODEL_SC_SIZE_KEY];
70
 
      case PROFILE_MODEL_COLUMN_SC_FORMAT_INDEX : return cache.at(index.row())[PROFILE_MODEL_SC_FORMAT_KEY];
71
 
      case PROFILE_MODEL_COLUMN_SC_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_SC_NAME_KEY];
72
 
      case PROFILE_MODEL_COLUMN_PL_INDEX : return cache.at(index.row())[PROFILE_MODEL_PL_KEY];
73
 
      case PROFILE_MODEL_COLUMN_PL_FORMAT_INDEX : return cache.at(index.row())[PROFILE_MODEL_PL_FORMAT_KEY];
74
 
      case PROFILE_MODEL_COLUMN_PL_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_PL_NAME_KEY];
75
 
      case PROFILE_MODEL_COLUMN_DISCID_INDEX : return cache.at(index.row())[PROFILE_MODEL_DISCID_KEY];
76
 
      case PROFILE_MODEL_COLUMN_INF_INDEX : return cache.at(index.row())[PROFILE_MODEL_INF_KEY];
77
 
      case PROFILE_MODEL_COLUMN_INF_TEXT_INDEX : return cache.at(index.row())[PROFILE_MODEL_INF_TEXT_KEY];
78
 
      case PROFILE_MODEL_COLUMN_INF_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_INF_NAME_KEY];
79
 
      case PROFILE_MODEL_COLUMN_INF_SUFFIX_INDEX : return cache.at(index.row())[PROFILE_MODEL_INF_SUFFIX_KEY];
80
 
      case PROFILE_MODEL_COLUMN_HL_INDEX : return cache.at(index.row())[PROFILE_MODEL_HL_KEY];
81
 
      case PROFILE_MODEL_COLUMN_HL_FORMAT_INDEX : return cache.at(index.row())[PROFILE_MODEL_HL_FORMAT_KEY];
82
 
      case PROFILE_MODEL_COLUMN_HL_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_HL_NAME_KEY];
83
 
      case PROFILE_MODEL_COLUMN_CUE_INDEX : return cache.at(index.row())[PROFILE_MODEL_CUE_KEY];
84
 
      case PROFILE_MODEL_COLUMN_CUE_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_CUE_NAME_KEY];
85
 
      case PROFILE_MODEL_COLUMN_SF_INDEX : return cache.at(index.row())[PROFILE_MODEL_SF_KEY];
86
 
      case PROFILE_MODEL_COLUMN_SF_NAME_INDEX : return cache.at(index.row())[PROFILE_MODEL_SF_NAME_KEY];
87
 
      case PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_INDEX : return cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY];
88
 
      case PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_INDEX : return cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY];
89
 
      case PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_INDEX : return cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY];
90
 
      case PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_INDEX : return cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY];
91
 
      case PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_INDEX : return cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY];
92
 
      case PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_INDEX : return cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY];
 
57
      case PROFILE_MODEL_COLUMN_PROFILEINDEX_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_PROFILEINDEX_KEY];
 
58
      case PROFILE_MODEL_COLUMN_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_NAME_KEY];
 
59
      case PROFILE_MODEL_COLUMN_ICON_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_ICON_KEY];
 
60
 
 
61
      case PROFILE_MODEL_COLUMN_ENCODER_SELECTED_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_ENCODER_SELECTED_KEY];
 
62
 
 
63
      case PROFILE_MODEL_COLUMN_PATTERN_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_PATTERN_KEY];
 
64
      case PROFILE_MODEL_COLUMN_FAT32COMPATIBLE_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_FAT32COMPATIBLE_KEY];
 
65
      case PROFILE_MODEL_COLUMN_UNDERSCORE_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_UNDERSCORE_KEY];
 
66
      case PROFILE_MODEL_COLUMN_2DIGITSTRACKNUM_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_2DIGITSTRACKNUM_KEY];
 
67
      case PROFILE_MODEL_COLUMN_SC_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SC_KEY];
 
68
      case PROFILE_MODEL_COLUMN_SC_SCALE_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SC_SCALE_KEY];
 
69
      case PROFILE_MODEL_COLUMN_SC_SIZE_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SC_SIZE_KEY];
 
70
      case PROFILE_MODEL_COLUMN_SC_FORMAT_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SC_FORMAT_KEY];
 
71
      case PROFILE_MODEL_COLUMN_SC_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SC_NAME_KEY];
 
72
      case PROFILE_MODEL_COLUMN_PL_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_PL_KEY];
 
73
      case PROFILE_MODEL_COLUMN_PL_FORMAT_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_PL_FORMAT_KEY];
 
74
      case PROFILE_MODEL_COLUMN_PL_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_PL_NAME_KEY];
 
75
      case PROFILE_MODEL_COLUMN_PL_ABS_FILE_PATH_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_PL_ABS_FILE_PATH_KEY];
 
76
      case PROFILE_MODEL_COLUMN_INF_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_INF_KEY];
 
77
      case PROFILE_MODEL_COLUMN_INF_TEXT_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_INF_TEXT_KEY];
 
78
      case PROFILE_MODEL_COLUMN_INF_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_INF_NAME_KEY];
 
79
      case PROFILE_MODEL_COLUMN_INF_SUFFIX_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_INF_SUFFIX_KEY];
 
80
      case PROFILE_MODEL_COLUMN_HL_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_HL_KEY];
 
81
      case PROFILE_MODEL_COLUMN_HL_FORMAT_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_HL_FORMAT_KEY];
 
82
      case PROFILE_MODEL_COLUMN_HL_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_HL_NAME_KEY];
 
83
      case PROFILE_MODEL_COLUMN_CUE_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_CUE_KEY];
 
84
      case PROFILE_MODEL_COLUMN_CUE_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_CUE_NAME_KEY];
 
85
      case PROFILE_MODEL_COLUMN_SF_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SF_KEY];
 
86
      case PROFILE_MODEL_COLUMN_SF_NAME_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_SF_NAME_KEY];
 
87
      case PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY];
 
88
      case PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY];
 
89
      case PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY];
 
90
      case PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY];
 
91
      case PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY];
 
92
      case PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_INDEX : return p_cache.at(index.row())[PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY];
93
93
 
94
94
    }
95
95
  }
96
96
 
97
97
  if (role == Qt::DecorationRole) {
98
 
    QString iconName(cache.at(index.row())[PROFILE_MODEL_ICON_KEY].toString());
 
98
    QString iconName(p_cache.at(index.row())[PROFILE_MODEL_ICON_KEY].toString());
99
99
 
100
100
    if(!iconName.isEmpty()) {
101
101
      KIcon icon(iconName);
117
117
    return FALSE;
118
118
  }
119
119
 
120
 
  if ((index.row() < 0) || (index.row() >= cache.count())) {
 
120
  if ((index.row() < 0) || (index.row() >= p_cache.count())) {
121
121
    return FALSE;
122
122
  }
123
123
 
130
130
 
131
131
        case PROFILE_MODEL_COLUMN_NAME_INDEX :
132
132
          if (value.toString().isEmpty()) {
133
 
            error = Error(
 
133
            p_error = Error(
134
134
                i18n("Profile name must not be empty."),
135
 
                i18n("You've given no name for the profile. Please set one."),
 
135
                i18n("You have given no name for the profile. Please set one."),
136
136
                Error::ERROR,
137
137
                this);
138
138
            return FALSE;
140
140
          break;
141
141
        case PROFILE_MODEL_COLUMN_ENCODER_SELECTED_INDEX :
142
142
          if (value.toInt()==-1) {
143
 
            error = Error(
 
143
            p_error = Error(
144
144
                i18n("Profile encoder is not defined."),
145
 
                i18n("You've given no encoder for the profile. Please set one."),
 
145
                i18n("You have given no encoder for the profile. Please set one."),
146
146
                Error::ERROR,
147
147
                this);
148
148
            return FALSE;
150
150
          break;
151
151
        case PROFILE_MODEL_COLUMN_PATTERN_INDEX :
152
152
          if (value.toString().isEmpty()) {
153
 
            error = Error(
 
153
            p_error = Error(
154
154
                i18n("Profile filename pattern is not defined."),
155
 
                i18n("You've given no filename pattern for the profile. Please set one."),
 
155
                i18n("You have given no filename pattern for the profile. Please set one."),
156
156
                Error::ERROR,
157
157
                this);
158
158
            return FALSE;
166
166
        case PROFILE_MODEL_COLUMN_SC_SIZE_INDEX : break;
167
167
        case PROFILE_MODEL_COLUMN_SC_FORMAT_INDEX :
168
168
          if ((value.toString()!="JPEG") && (value.toString()!="JPG") && (value.toString()!="PNG") && (value.toString()!="TIFF") && (value.toString()!="BMP")) {
169
 
            error = Error(
 
169
            p_error = Error(
170
170
                i18n("The image file format is unknown."),
171
171
                i18n("Your given image file format is unknown. Please choose on of these formats: JPG/JPEG, PNG or BMP."),
172
172
                Error::ERROR,
176
176
          break;
177
177
        case PROFILE_MODEL_COLUMN_SC_NAME_INDEX :
178
178
          if (value.toString().isEmpty()) {
179
 
            error = Error(
 
179
            p_error = Error(
180
180
                i18n("Cover name must not be empty."),
181
 
                i18n("You've given no name for the cover. Please set one."),
 
181
                i18n("You have given no name for the cover. Please set one."),
182
182
                Error::ERROR,
183
183
                this);
184
184
            return FALSE;
187
187
        case PROFILE_MODEL_COLUMN_PL_INDEX : break;
188
188
        case PROFILE_MODEL_COLUMN_PL_FORMAT_INDEX :
189
189
          if ((value.toString()!="M3U") && (value.toString()!="PLS") && (value.toString()!="XSPF")) {
190
 
            error = Error(
 
190
            p_error = Error(
191
191
                i18n("The playlist file format is unknown."),
192
192
                i18n("Your given playlist file format is unknown. Please choose on of these formats: M3U, PLS or XSPF."),
193
193
                Error::ERROR,
197
197
          break;
198
198
        case PROFILE_MODEL_COLUMN_PL_NAME_INDEX :
199
199
          if (value.toString().isEmpty()) {
200
 
            error = Error(
 
200
            p_error = Error(
201
201
                i18n("Playlist name must not be empty."),
202
 
                i18n("You've given no name for the playlist. Please set one."),
 
202
                i18n("You have given no name for the playlist. Please set one."),
203
203
                Error::ERROR,
204
204
                this);
205
205
            return FALSE;
206
206
          }
207
207
          break;
208
 
        case PROFILE_MODEL_COLUMN_DISCID_INDEX : break;
 
208
        case PROFILE_MODEL_COLUMN_PL_ABS_FILE_PATH_INDEX : break;
209
209
        case PROFILE_MODEL_COLUMN_INF_INDEX : break;
210
210
        case PROFILE_MODEL_COLUMN_INF_TEXT_INDEX : break;
211
211
        case PROFILE_MODEL_COLUMN_INF_NAME_INDEX :
212
212
          if (value.toString().isEmpty()) {
213
 
            error = Error(
 
213
            p_error = Error(
214
214
                i18n("Info text name must not be empty."),
215
 
                i18n("You've given no name for the info text file. Please set one."),
 
215
                i18n("You have given no name for the info text file. Please set one."),
216
216
                Error::ERROR,
217
217
                this);
218
218
            return FALSE;
220
220
          break;
221
221
        case PROFILE_MODEL_COLUMN_INF_SUFFIX_INDEX : break;
222
222
          if (value.toString().isEmpty()) {
223
 
            error = Error(
 
223
            p_error = Error(
224
224
                i18n("Info text file name suffix must not be empty."),
225
 
                i18n("You've given no suffix for the info text file. Please set one."),
 
225
                i18n("You have given no suffix for the info text file. Please set one."),
226
226
                Error::ERROR,
227
227
                this);
228
228
            return FALSE;
231
231
        case PROFILE_MODEL_COLUMN_HL_INDEX : break;
232
232
        case PROFILE_MODEL_COLUMN_HL_FORMAT_INDEX :
233
233
          if ((value.toString() != "SFV") && (value.toString() != "MD5")) {
234
 
            error = Error(
 
234
            p_error = Error(
235
235
                i18n("The hashlist file format is unknown."),
236
236
                i18n("Your given hashlist file format is unknown. Please choose on of these formats: SFV, MD5."),
237
237
                Error::ERROR,
241
241
          break;
242
242
        case PROFILE_MODEL_COLUMN_HL_NAME_INDEX : break;
243
243
          if (value.toString().isEmpty()) {
244
 
            error = Error(
 
244
            p_error = Error(
245
245
                i18n("Hashlist name must not be empty."),
246
 
                i18n("You've given no name for the hashlist. Please set one."),
 
246
                i18n("You have given no name for the hashlist. Please set one."),
247
247
                Error::ERROR,
248
248
                this);
249
249
            return FALSE;
252
252
        case PROFILE_MODEL_COLUMN_CUE_INDEX : break;
253
253
        case PROFILE_MODEL_COLUMN_CUE_NAME_INDEX : break;
254
254
          if (value.toString().isEmpty()) {
255
 
            error = Error(
 
255
            p_error = Error(
256
256
                i18n("Cue filename name must not be empty."),
257
 
                i18n("You've given no name for the cue sheet. Please set one."),
 
257
                i18n("You have given no name for the cue sheet. Please set one."),
258
258
                Error::ERROR,
259
259
                this);
260
260
            return FALSE;
263
263
        case PROFILE_MODEL_COLUMN_SF_INDEX : break;
264
264
        case PROFILE_MODEL_COLUMN_SF_NAME_INDEX : break;
265
265
          if (value.toString().isEmpty()) {
266
 
            error = Error(
 
266
            p_error = Error(
267
267
                i18n("Filename name must not be empty."),
268
 
                i18n("You've given no name for the single audio file. Please set one."),
 
268
                i18n("You have given no name for the single audio file. Please set one."),
269
269
                Error::ERROR,
270
270
                this);
271
271
            return FALSE;
283
283
      //check if name is unique
284
284
      if (index.column()==PROFILE_MODEL_COLUMN_NAME_INDEX) {
285
285
        bool found = FALSE;
286
 
        for (int i = 0; i < cache.count(); ++i) {
 
286
        for (int i = 0; i < p_cache.count(); ++i) {
287
287
          if (i==index.row()) continue;
288
 
          if (value.toString()==cache.at(i)[PROFILE_MODEL_NAME_KEY].toString()) { found = TRUE; break; }
 
288
          if (value.toString()==p_cache.at(i)[PROFILE_MODEL_NAME_KEY].toString()) { found = TRUE; break; }
289
289
        }
290
290
        if (found) {
291
 
          error = Error(
 
291
          p_error = Error(
292
292
                i18n("Profile name already exists."),
293
293
                i18n("Your profile name %1 already exists in the set of profiles. Please choose a unique one.", value.toString()),
294
294
                Error::ERROR,
300
300
      //check if profile index is unique
301
301
      if ((index.column()==PROFILE_MODEL_COLUMN_PROFILEINDEX_INDEX) && (value.toInt()!=-1)) {
302
302
        bool found = FALSE;
303
 
        for (int i = 0; i < cache.count(); ++i) {
 
303
        for (int i = 0; i < p_cache.count(); ++i) {
304
304
          if (i==index.row()) continue;
305
 
          if (value.toInt()==cache.at(i)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt()) { found = TRUE; break; }
 
305
          if (value.toInt()==p_cache.at(i)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt()) { found = TRUE; break; }
306
306
        }
307
307
        if (found) {
308
 
          error = Error(
 
308
          p_error = Error(
309
309
                i18n("Profile index already exists."),
310
310
                i18n("Your profile index %1 already exists in the set of profiles. Please choose a unique one.", value.toInt()),
311
311
                Error::ERROR,
316
316
 
317
317
      switch (index.column()) {
318
318
 
319
 
        case PROFILE_MODEL_COLUMN_PROFILEINDEX_INDEX : cache[index.row()][PROFILE_MODEL_PROFILEINDEX_KEY] = value; break;
320
 
        case PROFILE_MODEL_COLUMN_NAME_INDEX : cache[index.row()][PROFILE_MODEL_NAME_KEY] = value; break;
321
 
        case PROFILE_MODEL_COLUMN_ICON_INDEX : cache[index.row()][PROFILE_MODEL_ICON_KEY] = value; break;
322
 
 
323
 
        case PROFILE_MODEL_COLUMN_ENCODER_SELECTED_INDEX : cache[index.row()][PROFILE_MODEL_ENCODER_SELECTED_KEY] = value; break;
324
 
 
325
 
        case PROFILE_MODEL_COLUMN_PATTERN_INDEX : cache[index.row()][PROFILE_MODEL_PATTERN_KEY] = value; break;
326
 
        case PROFILE_MODEL_COLUMN_FAT32COMPATIBLE_INDEX : cache[index.row()][PROFILE_MODEL_FAT32COMPATIBLE_KEY] = value; break;
327
 
        case PROFILE_MODEL_COLUMN_UNDERSCORE_INDEX : cache[index.row()][PROFILE_MODEL_UNDERSCORE_KEY] = value; break;
328
 
        case PROFILE_MODEL_COLUMN_2DIGITSTRACKNUM_INDEX : cache[index.row()][PROFILE_MODEL_2DIGITSTRACKNUM_KEY] = value; break;
329
 
        case PROFILE_MODEL_COLUMN_SC_INDEX : cache[index.row()][PROFILE_MODEL_SC_KEY] = value; break;
330
 
        case PROFILE_MODEL_COLUMN_SC_SCALE_INDEX : cache[index.row()][PROFILE_MODEL_SC_SCALE_KEY] = value; break;
331
 
        case PROFILE_MODEL_COLUMN_SC_SIZE_INDEX : cache[index.row()][PROFILE_MODEL_SC_SIZE_KEY] = value; break;
332
 
        case PROFILE_MODEL_COLUMN_SC_FORMAT_INDEX : cache[index.row()][PROFILE_MODEL_SC_FORMAT_KEY] = value; break;
333
 
        case PROFILE_MODEL_COLUMN_SC_NAME_INDEX : cache[index.row()][PROFILE_MODEL_SC_NAME_KEY] = value; break;
334
 
        case PROFILE_MODEL_COLUMN_PL_INDEX : cache[index.row()][PROFILE_MODEL_PL_KEY] = value; break;
335
 
        case PROFILE_MODEL_COLUMN_PL_FORMAT_INDEX : cache[index.row()][PROFILE_MODEL_PL_FORMAT_KEY] = value; break;
336
 
        case PROFILE_MODEL_COLUMN_PL_NAME_INDEX : cache[index.row()][PROFILE_MODEL_PL_NAME_KEY] = value; break;
337
 
        case PROFILE_MODEL_COLUMN_DISCID_INDEX : cache[index.row()][PROFILE_MODEL_DISCID_KEY] = value; break;
338
 
        case PROFILE_MODEL_COLUMN_INF_INDEX : cache[index.row()][PROFILE_MODEL_INF_KEY] = value; break;
339
 
        case PROFILE_MODEL_COLUMN_INF_TEXT_INDEX : cache[index.row()][PROFILE_MODEL_INF_TEXT_KEY] = value; break;
340
 
        case PROFILE_MODEL_COLUMN_INF_NAME_INDEX : cache[index.row()][PROFILE_MODEL_INF_NAME_KEY] = value; break;
341
 
        case PROFILE_MODEL_COLUMN_INF_SUFFIX_INDEX : cache[index.row()][PROFILE_MODEL_INF_SUFFIX_KEY] = value; break;
342
 
        case PROFILE_MODEL_COLUMN_HL_INDEX : cache[index.row()][PROFILE_MODEL_HL_KEY] = value; break;
343
 
        case PROFILE_MODEL_COLUMN_HL_FORMAT_INDEX : cache[index.row()][PROFILE_MODEL_HL_FORMAT_KEY] = value; break;
344
 
        case PROFILE_MODEL_COLUMN_HL_NAME_INDEX : cache[index.row()][PROFILE_MODEL_HL_NAME_KEY] = value; break;
345
 
        case PROFILE_MODEL_COLUMN_CUE_INDEX : cache[index.row()][PROFILE_MODEL_CUE_KEY] = value; break;
346
 
        case PROFILE_MODEL_COLUMN_CUE_NAME_INDEX : cache[index.row()][PROFILE_MODEL_CUE_NAME_KEY] = value; break;
347
 
        case PROFILE_MODEL_COLUMN_SF_INDEX : cache[index.row()][PROFILE_MODEL_SF_KEY] = value; break;
348
 
        case PROFILE_MODEL_COLUMN_SF_NAME_INDEX : cache[index.row()][PROFILE_MODEL_SF_NAME_KEY] = value; break;
349
 
 
350
 
        case PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_INDEX : cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY] = value; break;
351
 
        case PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_INDEX : cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY] = value; break;
352
 
        case PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_INDEX : cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY] = value; break;
353
 
        case PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_INDEX : cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY] = value; break;
354
 
        case PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_INDEX : cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY] = value; break;
355
 
        case PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_INDEX : cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY] = value; break;
 
319
        case PROFILE_MODEL_COLUMN_PROFILEINDEX_INDEX : p_cache[index.row()][PROFILE_MODEL_PROFILEINDEX_KEY] = value; break;
 
320
        case PROFILE_MODEL_COLUMN_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_NAME_KEY] = value; break;
 
321
        case PROFILE_MODEL_COLUMN_ICON_INDEX : p_cache[index.row()][PROFILE_MODEL_ICON_KEY] = value; break;
 
322
 
 
323
        case PROFILE_MODEL_COLUMN_ENCODER_SELECTED_INDEX : p_cache[index.row()][PROFILE_MODEL_ENCODER_SELECTED_KEY] = value; break;
 
324
 
 
325
        case PROFILE_MODEL_COLUMN_PATTERN_INDEX : p_cache[index.row()][PROFILE_MODEL_PATTERN_KEY] = value; break;
 
326
        case PROFILE_MODEL_COLUMN_FAT32COMPATIBLE_INDEX : p_cache[index.row()][PROFILE_MODEL_FAT32COMPATIBLE_KEY] = value; break;
 
327
        case PROFILE_MODEL_COLUMN_UNDERSCORE_INDEX : p_cache[index.row()][PROFILE_MODEL_UNDERSCORE_KEY] = value; break;
 
328
        case PROFILE_MODEL_COLUMN_2DIGITSTRACKNUM_INDEX : p_cache[index.row()][PROFILE_MODEL_2DIGITSTRACKNUM_KEY] = value; break;
 
329
        case PROFILE_MODEL_COLUMN_SC_INDEX : p_cache[index.row()][PROFILE_MODEL_SC_KEY] = value; break;
 
330
        case PROFILE_MODEL_COLUMN_SC_SCALE_INDEX : p_cache[index.row()][PROFILE_MODEL_SC_SCALE_KEY] = value; break;
 
331
        case PROFILE_MODEL_COLUMN_SC_SIZE_INDEX : p_cache[index.row()][PROFILE_MODEL_SC_SIZE_KEY] = value; break;
 
332
        case PROFILE_MODEL_COLUMN_SC_FORMAT_INDEX : p_cache[index.row()][PROFILE_MODEL_SC_FORMAT_KEY] = value; break;
 
333
        case PROFILE_MODEL_COLUMN_SC_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_SC_NAME_KEY] = value; break;
 
334
        case PROFILE_MODEL_COLUMN_PL_INDEX : p_cache[index.row()][PROFILE_MODEL_PL_KEY] = value; break;
 
335
        case PROFILE_MODEL_COLUMN_PL_FORMAT_INDEX : p_cache[index.row()][PROFILE_MODEL_PL_FORMAT_KEY] = value; break;
 
336
        case PROFILE_MODEL_COLUMN_PL_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_PL_NAME_KEY] = value; break;
 
337
        case PROFILE_MODEL_COLUMN_PL_ABS_FILE_PATH_INDEX : p_cache[index.row()][PROFILE_MODEL_PL_ABS_FILE_PATH_KEY] = value; break;
 
338
        case PROFILE_MODEL_COLUMN_INF_INDEX : p_cache[index.row()][PROFILE_MODEL_INF_KEY] = value; break;
 
339
        case PROFILE_MODEL_COLUMN_INF_TEXT_INDEX : p_cache[index.row()][PROFILE_MODEL_INF_TEXT_KEY] = value; break;
 
340
        case PROFILE_MODEL_COLUMN_INF_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_INF_NAME_KEY] = value; break;
 
341
        case PROFILE_MODEL_COLUMN_INF_SUFFIX_INDEX : p_cache[index.row()][PROFILE_MODEL_INF_SUFFIX_KEY] = value; break;
 
342
        case PROFILE_MODEL_COLUMN_HL_INDEX : p_cache[index.row()][PROFILE_MODEL_HL_KEY] = value; break;
 
343
        case PROFILE_MODEL_COLUMN_HL_FORMAT_INDEX : p_cache[index.row()][PROFILE_MODEL_HL_FORMAT_KEY] = value; break;
 
344
        case PROFILE_MODEL_COLUMN_HL_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_HL_NAME_KEY] = value; break;
 
345
        case PROFILE_MODEL_COLUMN_CUE_INDEX : p_cache[index.row()][PROFILE_MODEL_CUE_KEY] = value; break;
 
346
        case PROFILE_MODEL_COLUMN_CUE_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_CUE_NAME_KEY] = value; break;
 
347
        case PROFILE_MODEL_COLUMN_SF_INDEX : p_cache[index.row()][PROFILE_MODEL_SF_KEY] = value; break;
 
348
        case PROFILE_MODEL_COLUMN_SF_NAME_INDEX : p_cache[index.row()][PROFILE_MODEL_SF_NAME_KEY] = value; break;
 
349
 
 
350
        case PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_INDEX : p_cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY] = value; break;
 
351
        case PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_INDEX : p_cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY] = value; break;
 
352
        case PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_INDEX : p_cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY] = value; break;
 
353
        case PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_INDEX : p_cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY] = value; break;
 
354
        case PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_INDEX : p_cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY] = value; break;
 
355
        case PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_INDEX : p_cache[index.row()][PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY] = value; break;
356
356
 
357
357
        default : break;
358
358
 
362
362
 
363
363
  reset();
364
364
 
365
 
  error = Error(
 
365
  p_error = Error(
366
366
                i18n("Unknown error. No index found in profile model."),
367
367
                i18n("This is an internal error. Please report."),
368
368
                Error::ERROR,
376
376
 
377
377
  Q_UNUSED(parent);
378
378
 
379
 
  if ((row < 0) || (row >= cache.count())) {
 
379
  if ((row < 0) || (row >= p_cache.count())) {
380
380
    return FALSE;
381
381
  }
382
382
 
385
385
  }
386
386
 
387
387
  int c;
388
 
  if (row+count > cache.count()) {
389
 
    c = cache.count();
 
388
  if (row+count > p_cache.count()) {
 
389
    c = p_cache.count();
390
390
  } else {
391
391
    c = row+count;
392
392
  }
393
393
 
394
394
  for (int i = row; i < c; ++i) {
395
 
    cache.removeAt(i);
 
395
    p_cache.removeAt(i);
396
396
  }
397
397
 
398
398
  reset();
399
399
 
400
400
  //update current profile index. maybe current has been deleted?
401
 
  setCurrentProfileIndex(current_profile_index);
 
401
  setCurrentProfileIndex(p_current_profile_index);
402
402
 
403
403
  emit profilesRemovedOrInserted();
404
404
 
410
410
 
411
411
  Q_UNUSED(parent);
412
412
 
413
 
  if ((row < 0) || (row > cache.count())) {
 
413
  if ((row < 0) || (row > p_cache.count())) {
414
414
    return FALSE;
415
415
  }
416
416
 
418
418
    return FALSE;
419
419
  }
420
420
 
421
 
  bool wasEmpty = (cache.count()==0);
 
421
  bool wasEmpty = (p_cache.count()==0);
422
422
 
423
 
  if (row == cache.count()) {
424
 
    for (int i = 0; i < count; ++i) cache.append(newProfile());
 
423
  if (row == p_cache.count()) {
 
424
    for (int i = 0; i < count; ++i) p_cache.append(p_new_profile());
425
425
  } else {
426
 
    for (int i = row; i < count; ++i) cache.insert(i, newProfile());
 
426
    for (int i = row; i < count; ++i) p_cache.insert(i, p_new_profile());
427
427
  }
428
428
 
429
429
  reset();
430
430
 
431
431
  if (wasEmpty) {
432
432
    //set first profile as current index
433
 
    setCurrentProfileIndex(cache.at(0)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt());
 
433
    setCurrentProfileIndex(p_cache.at(0)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt());
434
434
  }
435
435
 
436
436
  emit profilesRemovedOrInserted();
441
441
 
442
442
void ProfileModel::setCurrentProfileIndex(int profile_index) {
443
443
  int pi = profile_index;
444
 
  if (cache.count()==0) {
 
444
  if (p_cache.count()==0) {
445
445
    pi = -1;
446
446
  } else if (!indexExists(profile_index)) {
447
447
    //set first profile as current index
448
 
    pi = cache.at(0)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt();
 
448
    pi = p_cache.at(0)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt();
449
449
  }
450
 
  if (pi != current_profile_index) {
451
 
    current_profile_index = pi;
 
450
  if (pi != p_current_profile_index) {
 
451
    p_current_profile_index = pi;
452
452
    KConfig config;
453
453
    KConfigGroup profilesGroup(&config, "Profiles");
454
454
    profilesGroup.writeEntry("Standard", pi);
458
458
}
459
459
 
460
460
int ProfileModel::setRowAsCurrentProfileIndex(int row) {
461
 
  int i = cache.at(row).value(PROFILE_MODEL_PROFILEINDEX_KEY, -1).toInt();
 
461
  int i = p_cache.at(row).value(PROFILE_MODEL_PROFILEINDEX_KEY, -1).toInt();
462
462
  setCurrentProfileIndex(i);
463
463
  return i;
464
464
}
465
465
 
466
466
int ProfileModel::currentProfileIndex() const {
467
 
  if (cache.count()==0) return -1;
468
 
  return current_profile_index;
 
467
  if (p_cache.count()==0) return -1;
 
468
  return p_current_profile_index;
469
469
}
470
470
 
471
471
int ProfileModel::currentProfileRow() const {
472
 
  return getRowByIndex(current_profile_index);
 
472
  return getRowByIndex(p_current_profile_index);
473
473
}
474
474
 
475
475
int ProfileModel::getRowByIndex(int profile_index) const {
476
 
  for (int i = 0; i < cache.count(); ++i)
477
 
    if (profile_index==cache.at(i)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt()) return i;
 
476
  for (int i = 0; i < p_cache.count(); ++i)
 
477
    if (profile_index==p_cache.at(i)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt()) return i;
478
478
  return -1;
479
479
}
480
480
 
481
481
void ProfileModel::clear() {
482
 
  cache.clear();
483
 
  current_profile_index = -1;
 
482
  p_cache.clear();
 
483
  p_current_profile_index = -1;
484
484
}
485
485
 
486
486
bool ProfileModel::nameExists(const QString& name) const {
487
487
 
488
 
  for (int j = 0; j < cache.count(); ++j)
489
 
    if (name==cache.at(j)[PROFILE_MODEL_NAME_KEY].toString()) return TRUE;
 
488
  for (int j = 0; j < p_cache.count(); ++j)
 
489
    if (name==p_cache.at(j)[PROFILE_MODEL_NAME_KEY].toString()) return TRUE;
490
490
 
491
491
  return FALSE;
492
492
 
494
494
 
495
495
bool ProfileModel::indexExists(int profile_index) const {
496
496
 
497
 
  for (int j = 0; j < cache.count(); ++j)
498
 
    if (profile_index==cache.at(j)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt()) return TRUE;
 
497
  for (int j = 0; j < p_cache.count(); ++j)
 
498
    if (profile_index==p_cache.at(j)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt()) return TRUE;
499
499
 
500
500
  return FALSE;
501
501
 
504
504
int ProfileModel::getNewIndex() const {
505
505
 
506
506
  QSet<int> indexes;
507
 
  QList<Profile>::ConstIterator it(cache.begin()), end(cache.end());
 
507
  QList<Profile>::ConstIterator it(p_cache.begin()), end(p_cache.end());
508
508
 
509
509
  for (; it != end; ++it) {
510
510
    indexes.insert((*it)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt());
522
522
 
523
523
 
524
524
void ProfileModel::sortItems() {
525
 
  qSort(cache.begin(), cache.end(), lessThan);
 
525
  qSort(p_cache.begin(), p_cache.end(), lessThan);
526
526
  reset();
527
527
  emit profilesRemovedOrInserted();
528
528
}
531
531
 
532
532
  bool flag = FALSE;
533
533
 
534
 
  bool wasEmpty = (cache.count()==0);
 
534
  bool wasEmpty = (p_cache.count()==0);
535
535
 
536
536
  if (EncoderAssistant::available(EncoderAssistant::LAME)) {
537
537
 
538
538
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::LAME) + LABEL_MOBILE_QUALITY)) {
539
 
      Profile p = newProfile();
 
539
      Profile p = p_new_profile();
540
540
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::LAME) + LABEL_MOBILE_QUALITY;
541
541
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::LAME);
542
542
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::LAME;
543
543
      p[PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::LAME, EncoderAssistant::MOBILE).toString();
544
 
      cache.append(p);
 
544
      p_cache.append(p);
545
545
      flag = TRUE;
546
546
    }
547
547
 
548
548
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::LAME) + LABEL_NORMAL_QUALITY)) {
549
 
      Profile p = newProfile();
 
549
      Profile p = p_new_profile();
550
550
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::LAME) + LABEL_NORMAL_QUALITY;
551
551
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::LAME);
552
552
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::LAME;
553
553
      p[PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::LAME, EncoderAssistant::NORMAL).toString();
554
 
      cache.append(p);
 
554
      p_cache.append(p);
555
555
      flag = TRUE;
556
556
    }
557
557
 
558
558
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::LAME) + LABEL_EXTREME_QUALITY)) {
559
 
      Profile p = newProfile();
 
559
      Profile p = p_new_profile();
560
560
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::LAME) + LABEL_EXTREME_QUALITY;
561
561
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::LAME);
562
562
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::LAME;
563
563
      p[PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::LAME, EncoderAssistant::EXTREME).toString();;
564
 
      cache.append(p);
 
564
      p_cache.append(p);
565
565
      flag = TRUE;
566
566
    }
567
567
 
570
570
  if (EncoderAssistant::available(EncoderAssistant::OGGENC)) {
571
571
 
572
572
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::OGGENC) + LABEL_MOBILE_QUALITY)) {
573
 
      Profile p = newProfile();
 
573
      Profile p = p_new_profile();
574
574
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::OGGENC) + LABEL_MOBILE_QUALITY;
575
575
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::OGGENC);
576
576
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::OGGENC;
577
577
      p[PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::OGGENC, EncoderAssistant::MOBILE).toString();
578
 
      cache.append(p);
 
578
      p_cache.append(p);
579
579
      flag = TRUE;
580
580
    }
581
581
 
582
582
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::OGGENC) + LABEL_NORMAL_QUALITY)) {
583
 
      Profile p = newProfile();
 
583
      Profile p = p_new_profile();
584
584
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::OGGENC) + LABEL_NORMAL_QUALITY;
585
585
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::OGGENC);
586
586
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::OGGENC;
587
587
      p[PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::OGGENC, EncoderAssistant::NORMAL).toString();
588
 
      cache.append(p);
 
588
      p_cache.append(p);
589
589
      flag = TRUE;
590
590
    }
591
591
 
592
592
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::OGGENC) + LABEL_EXTREME_QUALITY)) {
593
 
      Profile p = newProfile();
 
593
      Profile p = p_new_profile();
594
594
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::OGGENC) + LABEL_EXTREME_QUALITY;
595
595
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::OGGENC);
596
596
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::OGGENC;
597
597
      p[PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::OGGENC, EncoderAssistant::EXTREME).toString();
598
 
      cache.append(p);
 
598
      p_cache.append(p);
599
599
      flag = TRUE;
600
600
    }
601
601
 
602
602
  }
603
603
 
604
604
  if ((!nameExists(EncoderAssistant::name(EncoderAssistant::FLAC))) && (EncoderAssistant::available(EncoderAssistant::FLAC))) {
605
 
    Profile p = newProfile();
 
605
    Profile p = p_new_profile();
606
606
    p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::FLAC);
607
607
    p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::FLAC);
608
608
    p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::FLAC;
609
 
    cache.append(p);
 
609
    p_cache.append(p);
610
610
    flag = TRUE;
611
611
  }
612
612
 
613
613
  if (EncoderAssistant::available(EncoderAssistant::FAAC)) {
614
614
 
615
615
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::FAAC) + LABEL_MOBILE_QUALITY)) {
616
 
      Profile p = newProfile();
 
616
      Profile p = p_new_profile();
617
617
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::FAAC) + LABEL_MOBILE_QUALITY;
618
618
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::FAAC);
619
619
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::FAAC;
620
620
      p[PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::FAAC, EncoderAssistant::MOBILE).toString();
621
 
      cache.append(p);
 
621
      p_cache.append(p);
622
622
      flag = TRUE;
623
623
    }
624
624
 
625
625
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::FAAC) + LABEL_NORMAL_QUALITY)) {
626
 
      Profile p = newProfile();
 
626
      Profile p = p_new_profile();
627
627
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::FAAC) + LABEL_NORMAL_QUALITY;
628
628
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::FAAC);
629
629
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::FAAC;
630
630
      p[PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::FAAC, EncoderAssistant::NORMAL).toString();
631
 
      cache.append(p);
 
631
      p_cache.append(p);
632
632
      flag = TRUE;
633
633
    }
634
634
 
635
635
    if (!nameExists(EncoderAssistant::name(EncoderAssistant::FAAC) + LABEL_EXTREME_QUALITY)) {
636
 
      Profile p = newProfile();
 
636
      Profile p = p_new_profile();
637
637
      p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::FAAC) + LABEL_EXTREME_QUALITY;
638
638
      p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::FAAC);
639
639
      p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::FAAC;
640
640
      p[PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY] = EncoderAssistant::stdParameters(EncoderAssistant::FAAC, EncoderAssistant::EXTREME).toString();
641
 
      cache.append(p);
 
641
      p_cache.append(p);
642
642
      flag = TRUE;
643
643
    }
644
644
 
645
645
  }
646
646
 
647
647
  if ((!nameExists(EncoderAssistant::name(EncoderAssistant::WAVE))) && (EncoderAssistant::available(EncoderAssistant::WAVE))) {
648
 
    Profile p = newProfile();
 
648
    Profile p = p_new_profile();
649
649
    p[PROFILE_MODEL_NAME_KEY] = EncoderAssistant::name(EncoderAssistant::WAVE);
650
650
    p[PROFILE_MODEL_ICON_KEY] = EncoderAssistant::icon(EncoderAssistant::WAVE);
651
651
    p[PROFILE_MODEL_ENCODER_SELECTED_KEY] = (int)EncoderAssistant::WAVE;
652
 
    cache.append(p);
 
652
    p_cache.append(p);
653
653
    flag = TRUE;
654
654
  }
655
655
 
657
657
    sortItems();
658
658
    if (wasEmpty) {
659
659
      //set first profile as current index
660
 
      setCurrentProfileIndex(cache.at(0)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt());
 
660
      setCurrentProfileIndex(p_cache.at(0)[PROFILE_MODEL_PROFILEINDEX_KEY].toInt());
661
661
    }
662
662
  }
663
663
 
721
721
 
722
722
}
723
723
 
 
724
const QString ProfileModel::getSelectedEncoderNameAndVersion() {
 
725
 
 
726
  EncoderAssistant::Encoder encoder = getSelectedEncoderFromCurrentIndex();
 
727
  
 
728
  return QString("%1 %2").arg(EncoderAssistant::encoderName(encoder)).arg(EncoderAssistant::version(encoder));
 
729
  
 
730
}
 
731
 
724
732
Error ProfileModel::lastError() const {
725
 
  return error;
 
733
  return p_error;
726
734
}
727
735
 
728
736
void ProfileModel::commit() {
729
737
  KConfig config;
730
 
  save(&config);
 
738
  p_save(&config);
731
739
}
732
740
 
733
 
const Profile ProfileModel::newProfile() {
 
741
const Profile ProfileModel::p_new_profile() {
734
742
 
735
743
  Profile p;
736
744
 
753
761
  p[PROFILE_MODEL_PL_KEY] = DEFAULT_PL;
754
762
  p[PROFILE_MODEL_PL_FORMAT_KEY] = DEFAULT_PL_FORMAT;
755
763
  p[PROFILE_MODEL_PL_NAME_KEY] = DEFAULT_PL_NAME;
756
 
  p[PROFILE_MODEL_DISCID_KEY] = DEFAULT_DISCID;
 
764
  p[PROFILE_MODEL_PL_ABS_FILE_PATH_KEY] = DEFAULT_PL_ABS_FILE_PATH;
757
765
  p[PROFILE_MODEL_INF_KEY] = DEFAULT_INF;
758
766
  p[PROFILE_MODEL_INF_TEXT_KEY] = DEFAULT_INF_TEXT;
759
767
  p[PROFILE_MODEL_INF_NAME_KEY] = DEFAULT_INF_NAME;
777
785
 
778
786
}
779
787
 
780
 
void ProfileModel::_new_name(QString& name) {
781
 
  for (int j = 0; j < cache.count(); ++j) {
782
 
    if (name==cache.at(j)[PROFILE_MODEL_NAME_KEY].toString()) {
 
788
void ProfileModel::p_new_name(QString& name) {
 
789
  for (int j = 0; j < p_cache.count(); ++j) {
 
790
    if (name==p_cache.at(j)[PROFILE_MODEL_NAME_KEY].toString()) {
783
791
      name = "_"+name;
784
 
      _new_name(name);
 
792
      p_new_name(name);
785
793
      return;
786
794
    }
787
795
  }
790
798
void ProfileModel::revert() {
791
799
  clear();
792
800
  KConfig config;
793
 
  load(&config);
 
801
  p_load(&config);
794
802
}
795
803
 
796
804
int ProfileModel::copy(const int profileRow) {
798
806
  if ((profileRow < 0) || (profileRow >= rowCount())) return -1;
799
807
 
800
808
  int key = getNewIndex();
801
 
  Profile p = cache[profileRow];
 
809
  Profile p = p_cache[profileRow];
802
810
 
803
 
  QString name = cache[profileRow][PROFILE_MODEL_NAME_KEY].toString();
804
 
  _new_name(name);
 
811
  QString name = p_cache[profileRow][PROFILE_MODEL_NAME_KEY].toString();
 
812
  p_new_name(name);
805
813
  p[PROFILE_MODEL_NAME_KEY] = name;
806
814
  p[PROFILE_MODEL_PROFILEINDEX_KEY] = key;
807
 
  cache.append(p);
 
815
  p_cache.append(p);
808
816
 
809
817
  reset();
810
818
  emit profilesRemovedOrInserted();
815
823
 
816
824
bool ProfileModel::saveProfilesToFile(const QString& filename) {
817
825
  KConfig config(filename);
818
 
  save(&config);
 
826
  p_save(&config);
819
827
  return TRUE;
820
828
}
821
829
 
822
830
bool ProfileModel::loadProfilesFromFile(const QString& filename) {
823
831
  KConfig config(filename);
824
 
  load(&config);
 
832
  p_load(&config);
825
833
  reset();
826
834
  commit();
827
835
  return TRUE;
828
836
}
829
837
 
830
 
void ProfileModel::save(KConfig *config) {
 
838
void ProfileModel::p_save(KConfig *config) {
831
839
 
832
840
  KConfigGroup profilesGroup(config, "Profiles");
833
841
  profilesGroup.deleteGroup();
834
 
  profilesGroup.writeEntry("Standard", current_profile_index);
835
 
  profilesGroup.writeEntry("Count", cache.count());
 
842
  profilesGroup.writeEntry("Standard", p_current_profile_index);
 
843
  profilesGroup.writeEntry("Count", p_cache.count());
836
844
 
837
 
  for (int i = 0; i < cache.count(); ++i) {
 
845
  for (int i = 0; i < p_cache.count(); ++i) {
838
846
 
839
847
    KConfigGroup subGroup(&profilesGroup, QString("Profile %1").arg(i));
840
848
 
841
 
    subGroup.writeEntry(PROFILE_MODEL_PROFILEINDEX_KEY, cache[i][PROFILE_MODEL_PROFILEINDEX_KEY]);
842
 
    subGroup.writeEntry(PROFILE_MODEL_NAME_KEY, cache[i][PROFILE_MODEL_NAME_KEY]);
843
 
    subGroup.writeEntry(PROFILE_MODEL_ICON_KEY, cache[i][PROFILE_MODEL_ICON_KEY]);
844
 
 
845
 
    subGroup.writeEntry(PROFILE_MODEL_ENCODER_SELECTED_KEY, cache[i][PROFILE_MODEL_ENCODER_SELECTED_KEY]);
846
 
 
847
 
    subGroup.writeEntry(PROFILE_MODEL_PATTERN_KEY, cache[i][PROFILE_MODEL_PATTERN_KEY]);
848
 
    subGroup.writeEntry(PROFILE_MODEL_FAT32COMPATIBLE_KEY, cache[i][PROFILE_MODEL_FAT32COMPATIBLE_KEY]);
849
 
    subGroup.writeEntry(PROFILE_MODEL_UNDERSCORE_KEY, cache[i][PROFILE_MODEL_UNDERSCORE_KEY]);
850
 
    subGroup.writeEntry(PROFILE_MODEL_2DIGITSTRACKNUM_KEY, cache[i][PROFILE_MODEL_2DIGITSTRACKNUM_KEY]);
851
 
 
852
 
    subGroup.writeEntry(PROFILE_MODEL_SC_KEY, cache[i][PROFILE_MODEL_SC_KEY]);
853
 
    subGroup.writeEntry(PROFILE_MODEL_SC_SCALE_KEY, cache[i][PROFILE_MODEL_SC_SCALE_KEY]);
854
 
    subGroup.writeEntry(PROFILE_MODEL_SC_SIZE_KEY, cache[i][PROFILE_MODEL_SC_SIZE_KEY]);
855
 
    subGroup.writeEntry(PROFILE_MODEL_SC_FORMAT_KEY, cache[i][PROFILE_MODEL_SC_FORMAT_KEY]);
856
 
    subGroup.writeEntry(PROFILE_MODEL_SC_NAME_KEY, cache[i][PROFILE_MODEL_SC_NAME_KEY]);
857
 
    subGroup.writeEntry(PROFILE_MODEL_PL_KEY, cache[i][PROFILE_MODEL_PL_KEY]);
858
 
    subGroup.writeEntry(PROFILE_MODEL_PL_FORMAT_KEY, cache[i][PROFILE_MODEL_PL_FORMAT_KEY]);
859
 
    subGroup.writeEntry(PROFILE_MODEL_PL_NAME_KEY, cache[i][PROFILE_MODEL_PL_NAME_KEY]);
860
 
    subGroup.writeEntry(PROFILE_MODEL_DISCID_KEY, cache[i][PROFILE_MODEL_DISCID_KEY]);
861
 
    subGroup.writeEntry(PROFILE_MODEL_INF_KEY, cache[i][PROFILE_MODEL_INF_KEY]);
862
 
    subGroup.writeEntry(PROFILE_MODEL_INF_TEXT_KEY, cache[i][PROFILE_MODEL_INF_TEXT_KEY]);
863
 
    subGroup.writeEntry(PROFILE_MODEL_INF_NAME_KEY, cache[i][PROFILE_MODEL_INF_NAME_KEY]);
864
 
    subGroup.writeEntry(PROFILE_MODEL_INF_SUFFIX_KEY, cache[i][PROFILE_MODEL_INF_SUFFIX_KEY]);
865
 
    subGroup.writeEntry(PROFILE_MODEL_HL_KEY, cache[i][PROFILE_MODEL_HL_KEY]);
866
 
    subGroup.writeEntry(PROFILE_MODEL_HL_FORMAT_KEY, cache[i][PROFILE_MODEL_HL_FORMAT_KEY]);
867
 
    subGroup.writeEntry(PROFILE_MODEL_HL_NAME_KEY, cache[i][PROFILE_MODEL_HL_NAME_KEY]);
868
 
    subGroup.writeEntry(PROFILE_MODEL_CUE_KEY, cache[i][PROFILE_MODEL_CUE_KEY]);
869
 
    subGroup.writeEntry(PROFILE_MODEL_CUE_NAME_KEY, cache[i][PROFILE_MODEL_CUE_NAME_KEY]);
870
 
    subGroup.writeEntry(PROFILE_MODEL_SF_KEY, cache[i][PROFILE_MODEL_SF_KEY]);
871
 
    subGroup.writeEntry(PROFILE_MODEL_SF_NAME_KEY, cache[i][PROFILE_MODEL_SF_NAME_KEY]);
872
 
 
873
 
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY, cache[i][PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY]);
874
 
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY, cache[i][PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY]);
875
 
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY, cache[i][PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY]);
876
 
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY, cache[i][PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY]);
877
 
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY, cache[i][PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY]);
878
 
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY, cache[i][PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY]);
 
849
    subGroup.writeEntry(PROFILE_MODEL_PROFILEINDEX_KEY, p_cache[i][PROFILE_MODEL_PROFILEINDEX_KEY]);
 
850
    subGroup.writeEntry(PROFILE_MODEL_NAME_KEY, p_cache[i][PROFILE_MODEL_NAME_KEY]);
 
851
    subGroup.writeEntry(PROFILE_MODEL_ICON_KEY, p_cache[i][PROFILE_MODEL_ICON_KEY]);
 
852
 
 
853
    subGroup.writeEntry(PROFILE_MODEL_ENCODER_SELECTED_KEY, p_cache[i][PROFILE_MODEL_ENCODER_SELECTED_KEY]);
 
854
 
 
855
    subGroup.writeEntry(PROFILE_MODEL_PATTERN_KEY, p_cache[i][PROFILE_MODEL_PATTERN_KEY]);
 
856
    subGroup.writeEntry(PROFILE_MODEL_FAT32COMPATIBLE_KEY, p_cache[i][PROFILE_MODEL_FAT32COMPATIBLE_KEY]);
 
857
    subGroup.writeEntry(PROFILE_MODEL_UNDERSCORE_KEY, p_cache[i][PROFILE_MODEL_UNDERSCORE_KEY]);
 
858
    subGroup.writeEntry(PROFILE_MODEL_2DIGITSTRACKNUM_KEY, p_cache[i][PROFILE_MODEL_2DIGITSTRACKNUM_KEY]);
 
859
 
 
860
    subGroup.writeEntry(PROFILE_MODEL_SC_KEY, p_cache[i][PROFILE_MODEL_SC_KEY]);
 
861
    subGroup.writeEntry(PROFILE_MODEL_SC_SCALE_KEY, p_cache[i][PROFILE_MODEL_SC_SCALE_KEY]);
 
862
    subGroup.writeEntry(PROFILE_MODEL_SC_SIZE_KEY, p_cache[i][PROFILE_MODEL_SC_SIZE_KEY]);
 
863
    subGroup.writeEntry(PROFILE_MODEL_SC_FORMAT_KEY, p_cache[i][PROFILE_MODEL_SC_FORMAT_KEY]);
 
864
    subGroup.writeEntry(PROFILE_MODEL_SC_NAME_KEY, p_cache[i][PROFILE_MODEL_SC_NAME_KEY]);
 
865
    subGroup.writeEntry(PROFILE_MODEL_PL_KEY, p_cache[i][PROFILE_MODEL_PL_KEY]);
 
866
    subGroup.writeEntry(PROFILE_MODEL_PL_FORMAT_KEY, p_cache[i][PROFILE_MODEL_PL_FORMAT_KEY]);
 
867
    subGroup.writeEntry(PROFILE_MODEL_PL_NAME_KEY, p_cache[i][PROFILE_MODEL_PL_NAME_KEY]);
 
868
    subGroup.writeEntry(PROFILE_MODEL_PL_ABS_FILE_PATH_KEY, p_cache[i][PROFILE_MODEL_PL_ABS_FILE_PATH_KEY]);
 
869
    subGroup.writeEntry(PROFILE_MODEL_INF_KEY, p_cache[i][PROFILE_MODEL_INF_KEY]);
 
870
    subGroup.writeEntry(PROFILE_MODEL_INF_TEXT_KEY, p_cache[i][PROFILE_MODEL_INF_TEXT_KEY]);
 
871
    subGroup.writeEntry(PROFILE_MODEL_INF_NAME_KEY, p_cache[i][PROFILE_MODEL_INF_NAME_KEY]);
 
872
    subGroup.writeEntry(PROFILE_MODEL_INF_SUFFIX_KEY, p_cache[i][PROFILE_MODEL_INF_SUFFIX_KEY]);
 
873
    subGroup.writeEntry(PROFILE_MODEL_HL_KEY, p_cache[i][PROFILE_MODEL_HL_KEY]);
 
874
    subGroup.writeEntry(PROFILE_MODEL_HL_FORMAT_KEY, p_cache[i][PROFILE_MODEL_HL_FORMAT_KEY]);
 
875
    subGroup.writeEntry(PROFILE_MODEL_HL_NAME_KEY, p_cache[i][PROFILE_MODEL_HL_NAME_KEY]);
 
876
    subGroup.writeEntry(PROFILE_MODEL_CUE_KEY, p_cache[i][PROFILE_MODEL_CUE_KEY]);
 
877
    subGroup.writeEntry(PROFILE_MODEL_CUE_NAME_KEY, p_cache[i][PROFILE_MODEL_CUE_NAME_KEY]);
 
878
    subGroup.writeEntry(PROFILE_MODEL_SF_KEY, p_cache[i][PROFILE_MODEL_SF_KEY]);
 
879
    subGroup.writeEntry(PROFILE_MODEL_SF_NAME_KEY, p_cache[i][PROFILE_MODEL_SF_NAME_KEY]);
 
880
 
 
881
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY, p_cache[i][PROFILE_MODEL_COLUMN_ENCODER_LAME_PARAMETERS_KEY]);
 
882
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY, p_cache[i][PROFILE_MODEL_COLUMN_ENCODER_OGGENC_PARAMETERS_KEY]);
 
883
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY, p_cache[i][PROFILE_MODEL_COLUMN_ENCODER_FLAC_PARAMETERS_KEY]);
 
884
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY, p_cache[i][PROFILE_MODEL_COLUMN_ENCODER_FAAC_PARAMETERS_KEY]);
 
885
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY, p_cache[i][PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY]);
 
886
    subGroup.writeEntry(PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY, p_cache[i][PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY]);
879
887
 
880
888
  }
881
889
 
882
 
  if (cache.count()>0) profilesGroup.config()->sync();
 
890
  if (p_cache.count()>0) profilesGroup.config()->sync();
883
891
 
884
892
}
885
893
 
886
 
void ProfileModel::load(KConfig *config) {
 
894
void ProfileModel::p_load(KConfig *config) {
887
895
 
888
896
  KConfigGroup profilesGroup(config, "Profiles");
889
897
  clear();
890
 
  current_profile_index = profilesGroup.readEntry("Standard", -1);
 
898
  p_current_profile_index = profilesGroup.readEntry("Standard", -1);
891
899
  int profileCount = profilesGroup.readEntry("Count", QVariant(0)).toInt();
892
900
 
893
901
  for (int i = 0; i < profileCount; ++i) {
914
922
    p[PROFILE_MODEL_PL_KEY] = subGroup.readEntry(PROFILE_MODEL_PL_KEY, DEFAULT_PL);
915
923
    p[PROFILE_MODEL_PL_FORMAT_KEY] = subGroup.readEntry(PROFILE_MODEL_PL_FORMAT_KEY, DEFAULT_PL_NAME);
916
924
    p[PROFILE_MODEL_PL_NAME_KEY] = subGroup.readEntry(PROFILE_MODEL_PL_NAME_KEY, DEFAULT_PL_NAME);
917
 
    p[PROFILE_MODEL_DISCID_KEY] = subGroup.readEntry(PROFILE_MODEL_DISCID_KEY, DEFAULT_DISCID);
 
925
    p[PROFILE_MODEL_PL_ABS_FILE_PATH_KEY] = subGroup.readEntry(PROFILE_MODEL_PL_ABS_FILE_PATH_KEY, DEFAULT_PL_ABS_FILE_PATH);
918
926
    p[PROFILE_MODEL_INF_KEY] = subGroup.readEntry(PROFILE_MODEL_INF_KEY, DEFAULT_INF);
919
927
    p[PROFILE_MODEL_INF_TEXT_KEY] = subGroup.readEntry(PROFILE_MODEL_INF_TEXT_KEY, DEFAULT_INF_TEXT);
920
928
    p[PROFILE_MODEL_INF_NAME_KEY] = subGroup.readEntry(PROFILE_MODEL_INF_NAME_KEY, DEFAULT_INF_NAME);
934
942
    p[PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY] = subGroup.readEntry(PROFILE_MODEL_COLUMN_ENCODER_WAVE_PARAMETERS_KEY, DEFAULT_ENCODER_PARAMETERS);
935
943
    p[PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY] = subGroup.readEntry(PROFILE_MODEL_COLUMN_ENCODER_CUSTOM_PARAMETERS_KEY, DEFAULT_ENCODER_PARAMETERS);
936
944
 
937
 
    cache.append(p);
 
945
    p_cache.append(p);
938
946
 
939
947
  }
940
948
 
941
949
  if (profileCount>0) {
942
 
    if (current_profile_index==-1) current_profile_index = 0;
 
950
    if (p_current_profile_index==-1) p_current_profile_index = 0;
943
951
    emit profilesRemovedOrInserted();
944
952
  }
945
953