/[svn]/qsampler/trunk/src/qsamplerInstrumentListForm.cpp
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerInstrumentListForm.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2068 by capela, Sun Mar 14 16:35:48 2010 UTC revision 3555 by capela, Tue Aug 13 10:19:32 2019 UTC
# Line 1  Line 1 
1  // qsamplerInstrumentListForm.cpp  // qsamplerInstrumentListForm.cpp
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2003-2010, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2003-2019, rncbc aka Rui Nuno Capela. All rights reserved.
5     Copyright (C) 2007, Christian Schoenebeck     Copyright (C) 2007, Christian Schoenebeck
6    
7     This program is free software; you can redistribute it and/or     This program is free software; you can redistribute it and/or
# Line 35  Line 35 
35  #include <QMessageBox>  #include <QMessageBox>
36  #include <QContextMenuEvent>  #include <QContextMenuEvent>
37    
38    #include <QCheckBox>
39    
40    
41  namespace QSampler {  namespace QSampler {
42    
# Line 141  void InstrumentListForm::closeEvent ( QC Line 143  void InstrumentListForm::closeEvent ( QC
143  void InstrumentListForm::refreshInstruments (void)  void InstrumentListForm::refreshInstruments (void)
144  {  {
145          MainForm* pMainForm = MainForm::getInstance();          MainForm* pMainForm = MainForm::getInstance();
146          if (pMainForm == NULL)          if (pMainForm == nullptr)
147                  return;                  return;
148    
149          Options *pOptions = pMainForm->options();          Options *pOptions = pMainForm->options();
150          if (pOptions == NULL)          if (pOptions == nullptr)
151                  return;                  return;
152    
153          // Get/save current map selection...          // Get/save current map selection...
# Line 172  void InstrumentListForm::refreshInstrume Line 174  void InstrumentListForm::refreshInstrume
174  void InstrumentListForm::activateMap ( int iMap )  void InstrumentListForm::activateMap ( int iMap )
175  {  {
176          MainForm* pMainForm = MainForm::getInstance();          MainForm* pMainForm = MainForm::getInstance();
177          if (pMainForm == NULL)          if (pMainForm == nullptr)
178                  return;                  return;
179    
180          Options *pOptions = pMainForm->options();          Options *pOptions = pMainForm->options();
181          if (pOptions == NULL)          if (pOptions == nullptr)
182                  return;                  return;
183    
184          int iMidiMap = iMap - 1;          int iMidiMap = iMap - 1;
# Line 225  void InstrumentListForm::editInstrument Line 227  void InstrumentListForm::editInstrument
227    
228          Instrument *pInstrument          Instrument *pInstrument
229                  = static_cast<Instrument *> (index.internalPointer());                  = static_cast<Instrument *> (index.internalPointer());
230          if (pInstrument == NULL)          if (pInstrument == nullptr)
231                  return;                  return;
232    
233          // Save current key values...          // Save current key values...
# Line 237  void InstrumentListForm::editInstrument Line 239  void InstrumentListForm::editInstrument
239    
240          // Do the edit dance...          // Do the edit dance...
241          InstrumentForm form(this);          InstrumentForm form(this);
242          form.setup(&instrument);          form.setup(pInstrument);
243          if (!form.exec())          if (!form.exec())
244                  return;                  return;
245                    
246          // Commit...          // Commit...
247          instrument.mapInstrument();          pInstrument->mapInstrument();
248    
249          // Check whether we changed instrument key...          // Check whether we changed instrument key...
250          if (instrument.map()  == iMap  &&          if (pInstrument->map()  == iMap  &&
251                  instrument.bank() == iBank &&                  pInstrument->bank() == iBank &&
252                  instrument.prog() == iProg) {                  pInstrument->prog() == iProg) {
253                  // Just update tree item...                  // Just update tree item...
254                  //pItem->update();                  m_pInstrumentListView->updateInstrument(pInstrument);
255          } else {          } else {
256                  // Unmap old instance...                  // Unmap old instance...
257                  Instrument(iMap, iBank, iProg).unmapInstrument();                  instrument.unmapInstrument();
258                  // Correct the position of the instrument in the model                  // Correct the position of the instrument in the model
259                  m_pInstrumentListView->updateInstrument(pInstrument);                  m_pInstrumentListView->resortInstrument(pInstrument);
260          }          }
261    
262          stabilizeForm();          stabilizeForm();
# Line 269  void InstrumentListForm::deleteInstrumen Line 271  void InstrumentListForm::deleteInstrumen
271    
272          Instrument *pInstrument          Instrument *pInstrument
273                  = static_cast<Instrument *> (index.internalPointer());                  = static_cast<Instrument *> (index.internalPointer());
274          if (pInstrument == NULL)          if (pInstrument == nullptr)
275                  return;                  return;
276    
277          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
278          if (pMainForm == NULL)          if (pMainForm == nullptr)
279                  return;                  return;
280    
281          // Prompt user if this is for real...          // Prompt user if this is for real...
282          Options *pOptions = pMainForm->options();          Options *pOptions = pMainForm->options();
283          if (pOptions && pOptions->bConfirmRemove) {          if (pOptions && pOptions->bConfirmRemove) {
284                  if (QMessageBox::warning(this,                  const QString& sTitle = QSAMPLER_TITLE ": " + tr("Warning");
285                          QSAMPLER_TITLE ": " + tr("Warning"),                  const QString& sText = tr(
286                          tr("About to delete instrument map entry:\n\n"                          "About to delete instrument map entry:\n\n"
287                          "%1\n\n"                          "%1\n\n"
288                          "Are you sure?")                          "Are you sure?")
289                          .arg(pInstrument->name()),                          .arg(pInstrument->name());
290                          QMessageBox::Ok | QMessageBox::Cancel)           #if 0
291                          == QMessageBox::Cancel)                   if (QMessageBox::warning(this, sTitle, sText,
292                          return;                           QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Cancel)
293                             return;
294             #else
295                     QMessageBox mbox(this);
296                     mbox.setIcon(QMessageBox::Warning);
297                     mbox.setWindowTitle(sTitle);
298                     mbox.setText(sText);
299                     mbox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
300                     QCheckBox cbox(tr("Don't ask this again"));
301                     cbox.setChecked(false);
302                     cbox.blockSignals(true);
303                     mbox.addButton(&cbox, QMessageBox::ActionRole);
304                     if (mbox.exec() == QMessageBox::Cancel)
305                             return;
306                     if (cbox.isChecked())
307                             pOptions->bConfirmRemove = false;
308             #endif
309          }          }
310    
311          pInstrument->unmapInstrument();          pInstrument->unmapInstrument();
312    
313          // let the instrument vanish from the table model          // Let the instrument vanish from the table model...
314          m_pInstrumentListView->removeInstrument(pInstrument);          m_pInstrumentListView->removeInstrument(pInstrument);
315    
316          stabilizeForm();          stabilizeForm();

Legend:
Removed from v.2068  
changed lines
  Added in v.3555

  ViewVC Help
Powered by ViewVC