// edit_dropbox.cpp // // Edit a Rivendell Dropbox Configuration // // (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as // published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public // License along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // #include #include #include #include #include #include #include "globals.h" #include "edit_dropbox.h" EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) : RDDialog(parent) { QString sql; RDSqlQuery *q; // // Fix the Window Size // setMinimumSize(sizeHint()); setMaximumSize(sizeHint()); box_dropbox=new RDDropbox(id); setWindowTitle("RDAdmin - "+tr("Dropbox Configuration")+" ["+ tr("ID")+QString::asprintf(": %d]",id)); // // Dialogs // box_schedcodes_dialog=new RDSchedCodesDialog(this); // // Group Name // box_group_name_box=new QComboBox(this); box_group_name_box->setGeometry(140,10,140,20); box_group_name_model=new RDGroupListModel(false,false,true,this); box_group_name_model->setFont(defaultFont()); box_group_name_model->setPalette(palette()); box_group_name_box->setModel(box_group_name_model); QLabel *label=new QLabel(tr("Default Group:"),this); label->setGeometry(10,10,125,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); // // Path // box_path_edit=new QLineEdit(this); box_path_edit->setGeometry(140,32,sizeHint().width()-210,19); box_path_edit->setMaxLength(255); label=new QLabel(tr("Path Spec:"),this); label->setGeometry(10,32,125,19); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); QPushButton *button= new QPushButton(tr("Select"),this); button->setGeometry(sizeHint().width()-60,30,50,23); button->setFont(subButtonFont()); connect(button,SIGNAL(clicked()),this,SLOT(selectPathData())); // // To Cart // box_to_cart_edit=new QLineEdit(this); box_to_cart_edit->setGeometry(140,54,60,19); box_to_cart_edit->setValidator(new QIntValidator(1,999999,this)); box_to_cart_edit->setMaxLength(6); label=new QLabel(tr("To Cart:"),this); label->setGeometry(10,54,125,19); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); box_select_cart_button= new QPushButton(tr("Select"),this); box_select_cart_button->setGeometry(210,52,50,23); box_select_cart_button->setFont(subButtonFont()); connect(box_select_cart_button,SIGNAL(clicked()), this,SLOT(selectCartData())); // // Delete Cuts // box_delete_cuts_box=new QCheckBox(this); box_delete_cuts_box->setGeometry(280,56,15,15); box_delete_cuts_label=new QLabel(tr("Delete cuts before importing"),this); box_delete_cuts_label->setGeometry(300,54,sizeHint().width()-150,20); box_delete_cuts_label->setFont(labelFont()); box_delete_cuts_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Metadata Format // box_metadata_pattern_edit=new QLineEdit(this); box_metadata_pattern_edit->setGeometry(140,76,sizeHint().width()-170,19); box_metadata_pattern_edit->setMaxLength(64); label=new QLabel(tr("Metadata Pattern:"),this); label->setGeometry(10,76,125,19); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); // // User Defined Field // box_user_defined_edit=new QLineEdit(this); box_user_defined_edit->setGeometry(140,98,sizeHint().width()-170,19); box_user_defined_edit->setMaxLength(255); label=new QLabel(tr("User Defined:"),this); label->setGeometry(10,98,125,19); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); // // Logging // box_log_to_syslog_check=new QCheckBox(this); box_log_to_syslog_check->setGeometry(50,125,15,15); label=new QLabel(tr("Log events in Syslog"),this); label->setGeometry(70,122,250,19); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_log_path_edit=new QLineEdit(this); box_log_path_edit->setGeometry(140,141,sizeHint().width()-210,19); box_log_path_edit->setMaxLength(191); connect(box_log_to_syslog_check,SIGNAL(toggled(bool)), box_log_path_edit,SLOT(setDisabled(bool))); box_log_path_label=new QLabel(tr("Log File:"),this); box_log_path_label->setGeometry(10,142,125,19); box_log_path_label->setFont(labelFont()); box_log_path_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); connect(box_log_to_syslog_check,SIGNAL(toggled(bool)), box_log_path_label,SLOT(setDisabled(bool))); box_log_path_button=new QPushButton(tr("Select"),this); box_log_path_button->setGeometry(sizeHint().width()-60,138,50,23); box_log_path_button->setFont(subButtonFont()); connect(box_log_path_button,SIGNAL(clicked()), this,SLOT(selectLogPathData())); connect(box_log_to_syslog_check,SIGNAL(toggled(bool)), box_log_path_button,SLOT(setDisabled(bool))); // // Scheduler Codes // box_schedcodes_button=new QPushButton(tr("Scheduler Codes"),this); box_schedcodes_button->setGeometry(110,165,200,25); box_schedcodes_button->setFont(buttonFont()); connect(box_schedcodes_button,SIGNAL(clicked()),this,SLOT(schedcodesData())); // // Delete Source // box_delete_source_box=new QCheckBox(this); box_delete_source_box->setGeometry(90,199,15,15); label=new QLabel(tr("Delete source files after import"),this); label->setGeometry(110,197,sizeHint().width()-120,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Update Metadata // box_update_metadata_box = new QCheckBox(this); box_update_metadata_box->setGeometry(90, 221, 15, 15); label = new QLabel(tr("Update library metadata"), this); label->setGeometry(110, 219, sizeHint().width() - 120, 20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); // // Send E-mail Reports // box_send_email_box=new QCheckBox(this); box_send_email_box->setGeometry(90,241,15,15); label=new QLabel(tr("Send e-mail reports"),this); label->setGeometry(110,239,sizeHint().width()-120,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Force To Mono // box_force_to_mono_box=new QCheckBox(this); box_force_to_mono_box->setGeometry(90,263,15,15); label=new QLabel(tr("Force to Monaural"),this); label->setGeometry(110,261,sizeHint().width()-120,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Normalization // box_normalization_box=new QCheckBox(this); box_normalization_box->setGeometry(90,284,15,15); label=new QLabel(tr("Normalize Levels"),this); label->setGeometry(110,282,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_normalization_level_spin=new QSpinBox(this); box_normalization_level_spin->setGeometry(275,283,50,20); box_normalization_level_spin->setRange(-100,-1); box_normalization_level_label=new QLabel(tr("Level:"),this); box_normalization_level_label->setGeometry(210,283,60,20); box_normalization_level_label->setFont(labelFont()); box_normalization_level_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_normalization_level_unit=new QLabel(tr("dBFS"),this); box_normalization_level_unit->setFont(labelFont()); box_normalization_level_unit->setGeometry(330,283,60,20); box_normalization_level_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_normalization_box,SIGNAL(toggled(bool)), this,SLOT(normalizationToggledData(bool))); // // Autotrim // box_autotrim_box=new QCheckBox(this); box_autotrim_box->setGeometry(90,309,15,15); label=new QLabel(tr("Autotrim Cuts"),this); label->setGeometry(110,307,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_autotrim_level_spin=new QSpinBox(this); box_autotrim_level_spin->setGeometry(275,307,50,20); box_autotrim_level_spin->setRange(-100,-1); box_autotrim_level_label=new QLabel(tr("Level:"),this); box_autotrim_level_label->setGeometry(210,307,60,20); box_autotrim_level_label->setFont(labelFont()); box_autotrim_level_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_autotrim_level_unit=new QLabel(tr("dBFS"),this); box_autotrim_level_unit->setFont(labelFont()); box_autotrim_level_unit->setGeometry(330,307,60,20); box_autotrim_level_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_autotrim_box,SIGNAL(toggled(bool)), this,SLOT(autotrimToggledData(bool))); // // Segue // box_segue_box=new QCheckBox(this); box_segue_box->setGeometry(90,335,15,15); label=new QLabel(tr("Insert Segue Markers"),this); label->setGeometry(110,333,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_segue_level_spin=new QSpinBox(this); box_segue_level_spin->setGeometry(285,359,50,20); box_segue_level_spin->setRange(-100,0); box_segue_level_label=new QLabel(tr("Segue Level:"),this); box_segue_level_label->setGeometry(120,360,160,20); box_segue_level_label->setFont(labelFont()); box_segue_level_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_segue_level_unit=new QLabel("dBFS",this); box_segue_level_unit->setFont(labelFont()); box_segue_level_unit->setGeometry(360,360,60,20); box_segue_level_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); box_segue_length_spin=new QSpinBox(this); box_segue_length_spin->setGeometry(285,384,70,20); box_segue_length_spin->setRange(0,180000); box_segue_length_label=new QLabel(tr("Segue Length:"),this); box_segue_length_label->setGeometry(120,384,160,20); box_segue_length_label->setFont(labelFont()); box_segue_length_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_segue_length_unit=new QLabel("msec",this); box_segue_length_unit->setFont(labelFont()); box_segue_length_unit->setGeometry(375,385,60,20); box_segue_length_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_segue_box,SIGNAL(toggled(bool)), this,SLOT(segueToggledData(bool))); // // Use CartChunk ID // box_use_cartchunk_id_box=new QCheckBox(this); box_use_cartchunk_id_box->setGeometry(90,418,15,15); label=new QLabel(tr("Get cart number from CartChunk CutID"),this); label->setGeometry(110,416,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Title from CartChunk ID // box_title_from_cartchunk_id_box=new QCheckBox(this); box_title_from_cartchunk_id_box->setGeometry(90,438,15,15); label=new QLabel(tr("Get cart title from CartChunk CutID"),this); label->setGeometry(110,436,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Fix Broken Formats // box_fix_broken_formats_box=new QCheckBox(this); box_fix_broken_formats_box->setGeometry(90,462,15,15); label=new QLabel(tr("Attempt to work around malformatted input files"),this); label->setGeometry(110,460,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Start Date Offset // box_startoffset_spin=new QSpinBox(this); box_startoffset_spin->setGeometry(215,486,50,20); box_startoffset_spin->setRange(-7,7); label=new QLabel(tr("Offset start date by"),this); label->setGeometry(10,486,200,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); label=new QLabel(tr("days"),this); label->setGeometry(275,488,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // End Date Offset // box_endoffset_spin=new QSpinBox(this); box_endoffset_spin->setGeometry(215,510,50,20); box_endoffset_spin->setRange(-7,7); label=new QLabel(tr("Offset end date by"),this); label->setGeometry(10,510,200,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); label=new QLabel(tr("days"),this); label->setGeometry(275,510,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Create Dates // box_create_dates_box=new QCheckBox(this); box_create_dates_box->setGeometry(90,534,15,15); label=new QLabel(tr("Create Dates when no Dates Exist"),this); label->setGeometry(110,532,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_create_startdate_offset_spin=new QSpinBox(this); box_create_startdate_offset_spin->setGeometry(285,558,50,20); box_create_startdate_offset_spin->setRange(-180,180); box_create_startdate_label= new QLabel(tr("Create start date offset:"),this); box_create_startdate_label->setGeometry(120,558,160,20); box_create_startdate_label->setFont(labelFont()); box_create_startdate_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_create_startdate_unit=new QLabel(tr("days"),this); box_create_startdate_unit->setFont(labelFont()); box_create_startdate_unit->setGeometry(345,558,60,20); box_create_startdate_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); box_create_enddate_offset_spin=new QSpinBox(this); box_create_enddate_offset_spin->setGeometry(285,582,50,20); box_create_enddate_offset_spin->setRange(-180,180); box_create_enddate_label=new QLabel(tr("Create end date offset:"),this); box_create_enddate_label->setGeometry(120,580,160,20); box_create_enddate_label->setFont(labelFont()); box_create_enddate_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_create_enddate_unit= new QLabel(("days"),this); box_create_enddate_unit->setFont(labelFont()); box_create_enddate_unit->setGeometry(345,578,60,20); box_create_enddate_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_create_dates_box,SIGNAL(toggled(bool)), this,SLOT(createDatesToggledData(bool))); // // Reset Button // QPushButton *reset_button=new QPushButton(this); reset_button->setGeometry(10,sizeHint().height()-60,80,50); reset_button->setDefault(true); reset_button->setFont(buttonFont()); reset_button->setText(tr("Reset")); connect(reset_button,SIGNAL(clicked()),this,SLOT(resetData())); // // Ok Button // ok_button=new QPushButton(this); ok_button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50); ok_button->setDefault(true); ok_button->setFont(buttonFont()); ok_button->setText(tr("OK")); connect(ok_button,SIGNAL(clicked()),this,SLOT(okData())); // // Cancel Button // QPushButton *cancel_button=new QPushButton(this); cancel_button-> setGeometry(sizeHint().width()-90,sizeHint().height()-60,80,50); cancel_button->setFont(buttonFont()); cancel_button->setText(tr("Cancel")); connect(cancel_button,SIGNAL(clicked()),this,SLOT(cancelData())); // // Populate Fields // box_group_name_box->setCurrentText(box_dropbox->groupName()); box_path_edit->setText(box_dropbox->path()); if(box_dropbox->toCart()>0) { box_to_cart_edit->setText(QString::asprintf("%06u",box_dropbox->toCart())); } box_delete_cuts_box->setChecked(box_dropbox->deleteCuts()); box_metadata_pattern_edit->setText(box_dropbox->metadataPattern()); box_user_defined_edit->setText(box_dropbox->userDefined()); box_delete_source_box->setChecked(box_dropbox->deleteSource()); box_send_email_box->setChecked(box_dropbox->sendEmail()); box_update_metadata_box->setChecked(box_dropbox->updateMetadata()); box_force_to_mono_box->setChecked(box_dropbox->forceToMono()); box_normalization_box->setChecked(box_dropbox->normalizationLevel()<0); box_normalization_level_spin-> setValue(box_dropbox->normalizationLevel()/100); box_autotrim_box->setChecked(box_dropbox->autotrimLevel()<0); box_autotrim_level_spin->setValue(box_dropbox->autotrimLevel()/100); box_use_cartchunk_id_box->setChecked(box_dropbox->useCartchunkId()); box_title_from_cartchunk_id_box->setChecked(box_dropbox->titleFromCartchunkId()); box_log_path_edit->setText(box_dropbox->logPath()); box_fix_broken_formats_box->setChecked(box_dropbox->fixBrokenFormats()); box_log_to_syslog_check->setChecked(box_dropbox->logToSyslog()); box_log_path_label->setDisabled(box_dropbox->logToSyslog()); box_log_path_edit->setDisabled(box_dropbox->logToSyslog()); box_log_path_button->setDisabled(box_dropbox->logToSyslog()); box_startoffset_spin->setValue(box_dropbox->startdateOffset()); box_endoffset_spin->setValue(box_dropbox->enddateOffset()); box_create_dates_box->setChecked(box_dropbox->createDates()); box_create_startdate_offset_spin->setValue(box_dropbox->createStartdateOffset()); box_create_enddate_offset_spin->setValue(box_dropbox->createEnddateOffset()); normalizationToggledData(box_normalization_box->isChecked()); autotrimToggledData(box_autotrim_box->isChecked()); segueToggledData(box_segue_box->isChecked()); createDatesToggledData(box_create_dates_box->isChecked()); segueToggledData(box_segue_box->isChecked()); box_segue_box->setChecked(box_dropbox->segueLevel()<1); box_segue_level_spin->setValue(box_dropbox->segueLevel()/100); box_segue_length_spin->setValue(box_dropbox->segueLength()); sql=QString("select `SCHED_CODE` from `DROPBOX_SCHED_CODES` ")+ QString::asprintf("where `DROPBOX_ID`=%d",box_dropbox->id()); q=new RDSqlQuery(sql); while(q->next()) { box_schedcodes.push_back(q->value(0).toString()); } delete q; if(duplicate) { box_path=box_dropbox->path(); connect(box_path_edit,SIGNAL(textChanged(QString)),this,SLOT(pathChangedData(QString))); ok_button->setEnabled(false); box_path_edit->setFocus(); } } QSize EditDropbox::sizeHint() const { return QSize(490,666); } QSizePolicy EditDropbox::sizePolicy() const { return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); } void EditDropbox::selectPathData() { QString path=box_path_edit->text(); path=QFileDialog::getExistingDirectory(this,"RDAdmin - "+ tr("Select Directory"),path, QFileDialog::ShowDirsOnly); if(!path.isEmpty()) { box_path_edit->setText(path); } } void EditDropbox::pathChangedData(QString text) { if(box_path!=text) { ok_button->setEnabled(true); } else { ok_button->setEnabled(false); } } void EditDropbox::selectCartData() { int cartnum=box_to_cart_edit->text().toInt(); admin_cart_dialog->exec(&cartnum,RDCart::Audio,QString(),NULL); if(cartnum>0) { box_to_cart_edit->setText(QString::asprintf("%06d",cartnum)); } } void EditDropbox::selectLogPathData() { QString path=box_log_path_edit->text(); path=QFileDialog::getSaveFileName(this,"RDAdmin - "+tr("Select Log File"), path,"Text files (*.txt);;All files (*)"); if(!path.isEmpty()) { box_log_path_edit->setText(path); } } void EditDropbox::schedcodesData() { box_schedcodes_dialog->exec(&box_schedcodes,NULL); } void EditDropbox::normalizationToggledData(bool state) { box_normalization_level_spin->setEnabled(state); box_normalization_level_label->setEnabled(state); box_normalization_level_unit->setEnabled(state); } void EditDropbox::autotrimToggledData(bool state) { box_autotrim_level_spin->setEnabled(state); box_autotrim_level_label->setEnabled(state); box_autotrim_level_unit->setEnabled(state); } void EditDropbox::segueToggledData(bool state) { box_segue_level_spin->setEnabled(state); box_segue_level_label->setEnabled(state); box_segue_level_unit->setEnabled(state); box_segue_length_spin->setEnabled(state); box_segue_length_label->setEnabled(state); box_segue_length_unit->setEnabled(state); if (!state) { box_segue_level_spin->setValue(1); box_segue_length_spin->setValue(0); } } void EditDropbox::createDatesToggledData(bool state) { box_create_startdate_offset_spin->setEnabled(state); box_create_startdate_label->setEnabled(state); box_create_startdate_unit->setEnabled(state); box_create_enddate_offset_spin->setEnabled(state); box_create_enddate_label->setEnabled(state); box_create_enddate_unit->setEnabled(state); if (!state) { box_create_startdate_offset_spin->setValue(0); box_create_enddate_offset_spin->setValue(0); } } void EditDropbox::resetData() { if(QMessageBox::question(this,"RDAdmin - "+tr("Reset Dropbox"), tr("Resetting the dropbox will clear the list of already imported\nfiles, causing any whose files remain to be imported again.")+"\n\n"+tr("Reset the dropbox?"), QMessageBox::Yes,QMessageBox::No)!=QMessageBox::Yes) { return; } QString sql=QString("delete from `DROPBOX_PATHS` where ")+ QString::asprintf("`DROPBOX_ID`=%d",box_dropbox->id()); RDSqlQuery *q=new RDSqlQuery(sql); delete q; QMessageBox::information(this,"RDAdmin - "+tr("Reset Dropbox"), tr("The dropbox has been reset.")); } void EditDropbox::okData() { QString sql; // // Validate End Date Offsets // if(box_create_startdate_offset_spin->value()> box_create_enddate_offset_spin->value()) { QMessageBox::warning(this,tr("Invalid Offsets"), tr("The Create EndDate Offset is less than the Create Start Date Offset!")); return; } box_dropbox->setGroupName(box_group_name_box->currentText()); box_dropbox->setPath(box_path_edit->text()); if(box_to_cart_edit->text().isEmpty()) { box_dropbox->setToCart(0); } else { box_dropbox->setToCart(box_to_cart_edit->text().toUInt()); } box_dropbox->setDeleteCuts(box_delete_cuts_box->isChecked()); box_dropbox->setSendEmail(box_send_email_box->isChecked()); box_dropbox->setMetadataPattern(box_metadata_pattern_edit->text()); box_dropbox->setUserDefined(box_user_defined_edit->text()); box_dropbox->setDeleteSource(box_delete_source_box->isChecked()); box_dropbox->setUpdateMetadata(box_update_metadata_box->isChecked()); box_dropbox->setForceToMono(box_force_to_mono_box->isChecked()); if(box_normalization_box->isChecked()) { box_dropbox-> setNormalizationLevel(box_normalization_level_spin->value()*100); } else { box_dropbox->setNormalizationLevel(0); } if(box_autotrim_box->isChecked()) { box_dropbox-> setAutotrimLevel(box_autotrim_level_spin->value()*100); } else { box_dropbox->setAutotrimLevel(0); } box_dropbox->setUseCartchunkId(box_use_cartchunk_id_box->isChecked()); box_dropbox->setTitleFromCartchunkId(box_title_from_cartchunk_id_box->isChecked()); box_dropbox->setLogToSyslog(box_log_to_syslog_check->isChecked()); box_dropbox->setLogPath(box_log_path_edit->text()); box_dropbox->setFixBrokenFormats(box_fix_broken_formats_box->isChecked()); box_dropbox->setStartdateOffset(box_startoffset_spin->value()); box_dropbox->setEnddateOffset(box_endoffset_spin->value()); box_dropbox->setCreateDates(box_create_dates_box->isChecked()); box_dropbox->setCreateStartdateOffset(box_create_startdate_offset_spin->value()); box_dropbox->setCreateEnddateOffset(box_create_enddate_offset_spin->value()); if(box_segue_box->isChecked()){ box_dropbox->setSegueLevel(box_segue_level_spin->value()*100); box_dropbox->setSegueLength(box_segue_length_spin->value()); } else{ box_dropbox->setSegueLevel(1); box_dropbox->setSegueLength(0); } sql=QString("delete from `DROPBOX_SCHED_CODES` where ")+ QString::asprintf("`DROPBOX_ID`=%d",box_dropbox->id()); RDSqlQuery::apply(sql); for(int i=0;iid())+ "`SCHED_CODE`='"+RDEscapeString(box_schedcodes[i])+"'"; RDSqlQuery::apply(sql); } done(true); } void EditDropbox::cancelData() { done(false); }