diff --git a/rdadmin/edit_dropbox.cpp b/rdadmin/edit_dropbox.cpp index 8f7643a4..6fb5bc95 100644 --- a/rdadmin/edit_dropbox.cpp +++ b/rdadmin/edit_dropbox.cpp @@ -42,7 +42,7 @@ #include "globals.h" #include "edit_dropbox.h" -EditDropbox::EditDropbox(int id,QWidget *parent) +EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) : QDialog(parent) { setModal(true); @@ -403,7 +403,7 @@ EditDropbox::EditDropbox(int id,QWidget *parent) // // Ok Button // - QPushButton *ok_button=new QPushButton(this); + ok_button=new QPushButton(this); ok_button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50); ok_button->setDefault(true); ok_button->setFont(font); @@ -472,6 +472,13 @@ EditDropbox::EditDropbox(int id,QWidget *parent) 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(); + } } @@ -497,6 +504,17 @@ void EditDropbox::selectPathData() } +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(); diff --git a/rdadmin/edit_dropbox.h b/rdadmin/edit_dropbox.h index 1a45a13b..c0b4a568 100644 --- a/rdadmin/edit_dropbox.h +++ b/rdadmin/edit_dropbox.h @@ -42,12 +42,13 @@ class EditDropbox : public QDialog { Q_OBJECT public: - EditDropbox(int id,QWidget *parent=0); + EditDropbox(int id,bool duplicate=false,QWidget *parent=0); QSize sizeHint() const; QSizePolicy sizePolicy() const; private slots: void selectPathData(); + void pathChangedData(QString text); void selectCartData(); void selectLogPathData(); void schedcodesData(); @@ -63,6 +64,7 @@ class EditDropbox : public QDialog RDDropbox *box_dropbox; QComboBox *box_group_name_box; QLineEdit *box_path_edit; + QString box_path; QLineEdit *box_to_cart_edit; QPushButton *box_schedcodes_button; QCheckBox *box_delete_cuts_box; @@ -85,6 +87,7 @@ class EditDropbox : public QDialog QCheckBox *box_title_from_cartchunk_id_box; QCheckBox *box_fix_broken_formats_box; QPushButton *box_select_cart_button; + QPushButton *ok_button; QSpinBox *box_startoffset_spin; QSpinBox *box_endoffset_spin; QCheckBox *box_create_dates_box; diff --git a/rdadmin/list_dropboxes.cpp b/rdadmin/list_dropboxes.cpp index 872e290c..15b1a99c 100644 --- a/rdadmin/list_dropboxes.cpp +++ b/rdadmin/list_dropboxes.cpp @@ -161,7 +161,7 @@ void ListDropboxes::addData() RDDropbox *box=new RDDropbox(-1,list_stationname); int id=box->id(); delete box; - EditDropbox *edit_dropbox=new EditDropbox(id,this); + EditDropbox *edit_dropbox=new EditDropbox(id,false,this); if(edit_dropbox->exec()) { RDNotification *notify=new RDNotification(RDNotification::DropboxType, RDNotification::AddAction, @@ -191,7 +191,7 @@ void ListDropboxes::editData() if(item==NULL) { return; } - EditDropbox *edit_dropbox=new EditDropbox(item->id(),this); + EditDropbox *edit_dropbox=new EditDropbox(item->id(),false,this); if(edit_dropbox->exec()) { RDNotification *notify=new RDNotification(RDNotification::DropboxType, RDNotification::ModifyAction, @@ -215,7 +215,7 @@ void ListDropboxes::duplicateData() int new_box_id=src_box->duplicate(); delete src_box; - EditDropbox *edit_dropbox=new EditDropbox(new_box_id,this); + EditDropbox *edit_dropbox=new EditDropbox(new_box_id,true,this); if(edit_dropbox->exec()) { RDNotification *notify=new RDNotification(RDNotification::DropboxType, RDNotification::AddAction,