2023-05-22 Fred Gleason <fredg@paravelsystems.com>

* Refactored the right-side of the 'Edit Event' dialog in
	rdlogmanager(1) to be fully resizeable.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2023-05-22 16:00:43 -04:00
parent 8fa472e7fb
commit f77f95848e
8 changed files with 297 additions and 224 deletions

View File

@ -24155,3 +24155,6 @@
2023-05-22 Fred Gleason <fredg@paravelsystems.com> 2023-05-22 Fred Gleason <fredg@paravelsystems.com>
* Adjusted layout positions of elements in the 'Edit Event' dialog * Adjusted layout positions of elements in the 'Edit Event' dialog
in rdlogmanager(1). in rdlogmanager(1).
2023-05-22 Fred Gleason <fredg@paravelsystems.com>
* Refactored the right-side of the 'Edit Event' dialog in
rdlogmanager(1) to be fully resizeable.

View File

@ -57,6 +57,7 @@ dist_rdlogmanager_SOURCES = add_clock.cpp add_clock.h\
generate_log.cpp generate_log.h\ generate_log.cpp generate_log.h\
importcartsmodel.cpp importcartsmodel.h\ importcartsmodel.cpp importcartsmodel.h\
importcartsview.cpp importcartsview.h\ importcartsview.cpp importcartsview.h\
importcartswidget.cpp importcartswidget.h\
librarytableview.cpp librarytableview.h\ librarytableview.cpp librarytableview.h\
list_clocks.cpp list_clocks.h\ list_clocks.cpp list_clocks.h\
list_events.cpp list_events.h\ list_events.cpp list_events.h\
@ -89,6 +90,7 @@ nodist_rdlogmanager_SOURCES = moc_add_clock.cpp\
moc_generate_log.cpp\ moc_generate_log.cpp\
moc_importcartsmodel.cpp\ moc_importcartsmodel.cpp\
moc_importcartsview.cpp\ moc_importcartsview.cpp\
moc_importcartswidget.cpp\
moc_librarytableview.cpp\ moc_librarytableview.cpp\
moc_list_clocks.cpp\ moc_list_clocks.cpp\
moc_list_events.cpp\ moc_list_events.cpp\

View File

@ -463,14 +463,13 @@ void EditEvent::resizeEvent(QResizeEvent *e)
event_remarks_edit->setGeometry(10,h/2+150,x_divide-20,h-(h/2+160)); event_remarks_edit->setGeometry(10,h/2+150,x_divide-20,h-(h/2+160));
event_widget->setGeometry(10+x_divide,0, event_widget->setGeometry(10+x_divide,0,
event_widget->sizeHint().width(), event_widget->sizeHint().width(),
event_widget->sizeHint().height()); h-70);
event_save_button->setGeometry(w-610,h-60,80,50); event_save_button->setGeometry(w-610,h-60,80,50);
event_saveas_button->setGeometry(w-520,h-60,80,50); event_saveas_button->setGeometry(w-520,h-60,80,50);
event_services_list_button->setGeometry(w-395,h-60,80,50); event_services_list_button->setGeometry(w-395,h-60,80,50);
event_color_button-> event_color_button->setGeometry(w-305,h-60,80,50);
setGeometry(w-305,h-60,80,50);
event_ok_button->setGeometry(w-180,h-60,80,50); event_ok_button->setGeometry(w-180,h-60,80,50);
event_cancel_button->setGeometry(w-90,h-60,80,50); event_cancel_button->setGeometry(w-90,h-60,80,50);

View File

@ -29,8 +29,6 @@ EventWidget::EventWidget(QWidget *parent)
: RDWidget(parent) : RDWidget(parent)
{ {
event_event=NULL; event_event=NULL;
event_preimport_model=NULL;
event_postimport_model=NULL;
// ******************************* // *******************************
// Pre-Position Log Section // Pre-Position Log Section
@ -165,31 +163,12 @@ EventWidget::EventWidget(QWidget *parent)
// ******************************* // *******************************
event_stack_group=new QGroupBox(tr("CART STACK"),this); event_stack_group=new QGroupBox(tr("CART STACK"),this);
event_stack_group->setFont(labelFont()); event_stack_group->setFont(labelFont());
//
// Pre-Import Carts Section
//
event_preimport_carts_label=new QLabel(tr("PRE-IMPORT CARTS"),this);
event_preimport_carts_label->setFont(labelFont());
// // *******************************
// Pre-Import Carts List // Pre-Import Events Section
// // *******************************
event_preimport_length_edit=new QLineEdit(this); event_preimport_widget=
event_preimport_length_edit->setReadOnly(true); new ImportCartsWidget(ImportCartsModel::PreImport,this);
event_preimport_length_label=new QLabel(tr("Len:"),this);
event_preimport_length_label->setFont(labelFont());
event_preimport_length_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
event_preimport_view=new ImportCartsView(this);
event_preimport_view->setDragEnabled(true);
event_preimport_up_button=new RDTransportButton(RDTransportButton::Up,this);
connect(event_preimport_up_button,SIGNAL(clicked()),
this,SLOT(preimportUpData()));
event_preimport_down_button=
new RDTransportButton(RDTransportButton::Down,this);
connect(event_preimport_down_button,SIGNAL(clicked()),
this,SLOT(preimportDownData()));
// //
// Imports // Imports
@ -314,33 +293,11 @@ EventWidget::EventWidget(QWidget *parent)
event_nestevent_box=new QComboBox(this); event_nestevent_box=new QComboBox(this);
event_nestevent_box->insertItem(0,tr("[none]")); event_nestevent_box->insertItem(0,tr("[none]"));
// // *******************************
// Post-Import Carts Section // Post-Import Carts Section
// // *******************************
event_postimport_carts_label=new QLabel(tr("POST-IMPORT CARTS"),this); event_postimport_widget=new ImportCartsWidget(ImportCartsModel::PostImport,
event_postimport_carts_label->setFont(labelFont()); this);
//
// Post-Import Carts List
//
event_postimport_length_edit=new QLineEdit(this);
event_postimport_length_edit->setReadOnly(true);
event_postimport_length_label=new QLabel(tr("Len:"),this);
event_postimport_length_label->setFont(labelFont());
event_postimport_length_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
event_postimport_view=new ImportCartsView(this);
event_postimport_view->setDragEnabled(true);
event_postimport_up_button=
new RDTransportButton(RDTransportButton::Up,this);
connect(event_postimport_up_button,SIGNAL(clicked()),
this,SLOT(postimportUpData()));
event_postimport_down_button=
new RDTransportButton(RDTransportButton::Down,this);
connect(event_postimport_down_button,SIGNAL(clicked()),
this,SLOT(postimportDownData()));
} }
@ -402,8 +359,8 @@ QString EventWidget::properties() const
void EventWidget::rename(const QString &str) void EventWidget::rename(const QString &str)
{ {
event_preimport_model->setEventName(str); event_preimport_widget->setEventName(str);
event_postimport_model->setEventName(str); event_postimport_widget->setEventName(str);
} }
@ -465,44 +422,10 @@ void EventWidget::load(RDEvent *evt)
delete q; delete q;
// //
// Pre-Import Carts // Import Events
// //
if(event_preimport_model!=NULL) { event_preimport_widget->load(event_event);
delete event_preimport_model; event_postimport_widget->load(event_event);
}
event_preimport_model=
new ImportCartsModel(evt->name(),ImportCartsModel::PreImport,true,this);
event_preimport_model->setFont(font());
event_preimport_model->setPalette(palette());
event_preimport_view->setModel(event_preimport_model);
connect(event_preimport_model,SIGNAL(modelReset()),
event_preimport_view,SLOT(resizeColumnsToContents()));
connect(event_preimport_view,SIGNAL(cartDropped(int,RDLogLine *)),
event_preimport_model,SLOT(processCartDrop(int,RDLogLine *)));
connect(event_preimport_model,SIGNAL(totalLengthChanged(int)),
this,SLOT(preimportLengthChangedData(int)));
event_preimport_view->resizeColumnsToContents();
preimportLengthChangedData(event_preimport_model->totalLength());
//
// Post-Import Carts
//
if(event_postimport_model!=NULL) {
delete event_postimport_model;
}
event_postimport_model=
new ImportCartsModel(evt->name(),ImportCartsModel::PostImport,false,this);
event_postimport_model->setFont(font());
event_postimport_model->setPalette(palette());
event_postimport_view->setModel(event_postimport_model);
connect(event_postimport_model,SIGNAL(modelReset()),
event_postimport_view,SLOT(resizeColumnsToContents()));
connect(event_postimport_view,SIGNAL(cartDropped(int,RDLogLine *)),
event_postimport_model,SLOT(processCartDrop(int,RDLogLine *)));
connect(event_postimport_model,SIGNAL(totalLengthChanged(int)),
this,SLOT(postimportLengthChangedData(int)));
event_postimport_view->resizeColumnsToContents();
postimportLengthChangedData(event_postimport_model->totalLength());
pos=event_event->preposition(); pos=event_event->preposition();
if(pos<0) { if(pos<0) {
@ -710,9 +633,10 @@ void EventWidget::save(RDEvent *evt) const
event_event->setHaveCode2(""); event_event->setHaveCode2("");
} }
event_preimport_model-> event_preimport_widget->
save((RDLogLine::TransType)event_firsttrans_box->currentIndex()); save(event_event,
event_postimport_model->save(); (RDLogLine::TransType)event_firsttrans_box->currentIndex());
event_postimport_widget->save(event_event);
} }
@ -861,70 +785,6 @@ void EventWidget::importClickedData(int id)
} }
void EventWidget::preimportLengthChangedData(int msecs)
{
event_preimport_length_edit->setText(RDGetTimeLength(msecs,true,false));
}
void EventWidget::preimportUpData()
{
QModelIndexList rows=event_preimport_view->selectionModel()->selectedRows();
if(rows.size()!=1) {
return;
}
if(event_preimport_model->moveUp(rows.first())) {
event_preimport_view->selectRow(rows.first().row()-1);
}
}
void EventWidget::preimportDownData()
{
QModelIndexList rows=event_preimport_view->selectionModel()->selectedRows();
if(rows.size()!=1) {
return;
}
if(event_preimport_model->moveDown(rows.first())) {
event_preimport_view->selectRow(rows.first().row()+1);
}
}
void EventWidget::postimportUpData()
{
QModelIndexList rows=event_postimport_view->selectionModel()->selectedRows();
if(rows.size()!=1) {
return;
}
if(event_postimport_model->moveUp(rows.first())) {
event_postimport_view->selectRow(rows.first().row()-1);
}
}
void EventWidget::postimportDownData()
{
QModelIndexList rows=event_postimport_view->selectionModel()->selectedRows();
if(rows.size()!=1) {
return;
}
if(event_postimport_model->moveDown(rows.first())) {
event_postimport_view->selectRow(rows.first().row()+1);
}
}
void EventWidget::postimportLengthChangedData(int msecs)
{
event_postimport_length_edit->setText(RDGetTimeLength(msecs,true,false));
}
void EventWidget::artistData() void EventWidget::artistData()
{ {
event_artist_sep_spinbox->setValue(-1); event_artist_sep_spinbox->setValue(-1);
@ -1024,98 +884,96 @@ void EventWidget::resizeEvent(QResizeEvent *e)
// Cart Stack Section // Cart Stack Section
// //
event_stack_group-> event_stack_group->
setGeometry(0,235,sizeHint().width()-15,408); setGeometry(0,235,sizeHint().width()-15,size().height()-235);
// //
// Pre-Import Carts Section // Pre-Import Carts Section
// //
event_preimport_carts_label->setGeometry(5,255,200,16); int events_h=(size().height()-235-106)/2;
event_preimport_length_edit->setGeometry(sizeHint().width()-150,253,80,20);
event_preimport_length_label->setGeometry(sizeHint().width()-340,255,185,16); event_preimport_widget->
event_preimport_view->setGeometry(5,272, setGeometry(0,250,event_preimport_widget->sizeHint().width(),events_h);
sizeHint().width()-75,115);
event_preimport_up_button->setGeometry(sizeHint().width()-60,277,40,40);
event_preimport_down_button->setGeometry(sizeHint().width()-60,342,40,40);
// //
// Imports Section // Imports Section
// //
event_imports_label->setGeometry(5,392,200,16); int import_y=250+events_h-15;
event_source_none_radio->setGeometry(70,392,15,15);
event_source_traffic_radio->setGeometry(150,392,15,15); event_imports_label->setGeometry(5,import_y+3,200,16);
event_source_music_radio->setGeometry(270,392,15,15); event_source_none_radio->setGeometry(70,import_y+3,15,15);
event_source_scheduler_radio->setGeometry(390,392,15,15); event_source_traffic_radio->setGeometry(150,import_y+3,15,15);
event_source_group_none_label->setGeometry(90,392,150,15); event_source_music_radio->setGeometry(270,import_y+3,15,15);
event_source_group_traffic_label->setGeometry(170,392,150,15); event_source_scheduler_radio->setGeometry(390,import_y+3,15,15);
event_source_group_music_label->setGeometry(290,392,150,15); event_source_group_none_label->setGeometry(90,import_y+3,150,15);
event_source_group_scheduler_label->setGeometry(410,392,150,15); event_source_group_traffic_label->setGeometry(170,import_y+3,150,15);
event_source_group_music_label->setGeometry(290,import_y+3,150,15);
event_source_group_scheduler_label->setGeometry(410,import_y+3,150,15);
// //
// Scheduler Group // Scheduler Group
// //
event_sched_group_box->setGeometry(500,389,100,20); event_sched_group_box->setGeometry(500,import_y,100,20);
// //
// Artist Separation // Artist Separation
// //
event_artist_sep_label->setGeometry(400,412,100,20); event_artist_sep_label->setGeometry(400,import_y+23,100,20);
event_artist_sep_spinbox->setGeometry(505,413,53,20); event_artist_sep_spinbox->setGeometry(505,import_y+24,53,20);
event_artist_none_button->setGeometry(565,413,40,20); event_artist_none_button->setGeometry(565,import_y+24,40,20);
// //
// Title Separation // Title Separation
// //
event_title_sep_label->setGeometry(400,434,100,20); event_title_sep_label->setGeometry(400,import_y+45,100,20);
event_title_sep_spinbox->setGeometry(505,434,53,20); event_title_sep_spinbox->setGeometry(505,import_y+45,53,20);
event_title_none_button->setGeometry(565,434,40,20); event_title_none_button->setGeometry(565,import_y+45,40,20);
// //
// Must Have Code // Must Have Code
// //
event_have_code_label->setGeometry(400,457,100,20); event_have_code_label->setGeometry(400,import_y+68,100,20);
event_have_code_box->setGeometry(505,457,100,20); event_have_code_box->setGeometry(505,import_y+68,100,20);
// //
// And Code // And Code
// //
event_have_code2_label->setGeometry(400,478,100,20); event_have_code2_label->setGeometry(400,import_y+89,100,20);
event_have_code2_box->setGeometry(505,478,100,20); event_have_code2_box->setGeometry(505,import_y+89,100,20);
// Start Slop // Start Slop
// //
event_startslop_label->setGeometry(20,413,140,22); event_startslop_label->setGeometry(20,import_y+24,140,22);
event_startslop_edit->setGeometry(156,413,60,22); event_startslop_edit->setGeometry(156,import_y+24,60,22);
event_startslop_unit->setGeometry(220,413,sizeHint().width()-450,22); event_startslop_unit->setGeometry(220,import_y+24,sizeHint().width()-450,22);
// //
// End Slop // End Slop
// //
event_endslop_label->setGeometry(20,434,140,22); event_endslop_label->setGeometry(20,import_y+45,140,22);
event_endslop_edit->setGeometry(156,434,60,22); event_endslop_edit->setGeometry(156,import_y+45,60,22);
event_endslop_unit->setGeometry(220,434,sizeHint().width()-460,22); event_endslop_unit->setGeometry(220,import_y+45,sizeHint().width()-460,22);
// //
// Nested Event // Nested Event
// //
event_nestevent_label->setGeometry(25,459,190,20); event_nestevent_label->setGeometry(25,import_y+70,190,20);
event_nestevent_box->setGeometry(20,478,365,20); event_nestevent_box->setGeometry(20,import_y+89,365,20);
// //
// Post-Import Carts Section // Post-Import Carts Section
// //
event_postimport_carts_label->setGeometry(5,510,200,16); event_postimport_widget->
event_postimport_length_edit->setGeometry(sizeHint().width()-150,506,80,20); setGeometry(0,import_y+106+20,event_postimport_widget->sizeHint().width(),
event_postimport_length_label->setGeometry(sizeHint().width()-340,508,185,16); events_h);
event_postimport_view->setGeometry(5,525,sizeHint().width()-75,125-10);
event_postimport_up_button->setGeometry(sizeHint().width()-60,532,40,40);
event_postimport_down_button->setGeometry(sizeHint().width()-60,592,40,40);
} }
void EventWidget::paintEvent(QPaintEvent *e) void EventWidget::paintEvent(QPaintEvent *e)
{ {
int y=85+size().height()/2;
QPainter *p=new QPainter(this); QPainter *p=new QPainter(this);
p->setPen(Qt::black); p->setPen(Qt::black);
p->drawLine(408,408,408,493); p->drawLine(396,y,396,y+84);
p->end(); p->end();
} }

View File

@ -41,6 +41,7 @@
#include "importcartsmodel.h" #include "importcartsmodel.h"
#include "importcartsview.h" #include "importcartsview.h"
#include "importcartswidget.h"
#include "librarytableview.h" #include "librarytableview.h"
// //
@ -69,12 +70,6 @@ class EventWidget : public RDWidget
void autofillToggledData(bool); void autofillToggledData(bool);
void autofillWarnToggledData(bool); void autofillWarnToggledData(bool);
void importClickedData(int); void importClickedData(int);
void preimportLengthChangedData(int msecs);
void preimportUpData();
void preimportDownData();
void postimportUpData();
void postimportDownData();
void postimportLengthChangedData(int msecs);
void artistData(); void artistData();
void titleData(); void titleData();
@ -122,13 +117,8 @@ class EventWidget : public RDWidget
QLabel *event_timescale_label; QLabel *event_timescale_label;
QCheckBox *event_timescale_box; QCheckBox *event_timescale_box;
QGroupBox *event_stack_group; QGroupBox *event_stack_group;
QLabel *event_preimport_carts_label; ImportCartsWidget *event_preimport_widget;
ImportCartsView *event_preimport_view; ImportCartsWidget *event_postimport_widget;
ImportCartsModel *event_preimport_model;
QLabel *event_preimport_length_label;
QLineEdit *event_preimport_length_edit;
RDTransportButton *event_preimport_up_button;
RDTransportButton *event_preimport_down_button;
QRadioButton *event_source_none_radio; QRadioButton *event_source_none_radio;
QRadioButton *event_source_traffic_radio; QRadioButton *event_source_traffic_radio;
QRadioButton *event_source_music_radio; QRadioButton *event_source_music_radio;
@ -154,13 +144,6 @@ class EventWidget : public RDWidget
QLabel *event_defaulttrans_unit; QLabel *event_defaulttrans_unit;
QLabel *event_nestevent_label; QLabel *event_nestevent_label;
QComboBox *event_nestevent_box; QComboBox *event_nestevent_box;
QLabel *event_postimport_carts_label;
ImportCartsView *event_postimport_view;
ImportCartsModel *event_postimport_model;
QLabel *event_postimport_length_label;
QLineEdit *event_postimport_length_edit;
RDTransportButton *event_postimport_up_button;
RDTransportButton *event_postimport_down_button;
}; };

View File

@ -0,0 +1,159 @@
// importcartswidget.cpp
//
// Widget for listing import events in rdlogmanager(1)
//
// (C) Copyright 2002-2023 Fred Gleason <fredg@paravelsystems.com>
//
// 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 <rdconf.h>
#include "importcartswidget.h"
ImportCartsWidget::ImportCartsWidget(ImportCartsModel::ImportType type,
QWidget *parent)
: RDWidget(parent)
{
d_import_type=type;
d_model=NULL;
if(d_import_type==ImportCartsModel::PreImport) {
d_title_label=new QLabel(tr("PRE-IMPORT EVENTS"),this);
}
if(d_import_type==ImportCartsModel::PostImport) {
d_title_label=new QLabel(tr("POST-IMPORT EVENTS"),this);
}
d_title_label->setFont(labelFont());
d_length_edit=new QLineEdit(this);
d_length_edit->setReadOnly(true);
d_length_label=new QLabel(tr("Len")+":",this);
d_length_label->setFont(labelFont());
d_length_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
d_view=new ImportCartsView(this);
d_view->setDragEnabled(true);
d_up_button=new RDTransportButton(RDTransportButton::Up,this);
connect(d_up_button,SIGNAL(clicked()),this,SLOT(upData()));
d_down_button=
new RDTransportButton(RDTransportButton::Down,this);
connect(d_down_button,SIGNAL(clicked()),this,SLOT(downData()));
}
ImportCartsWidget::~ImportCartsWidget()
{
if(d_model!=NULL) {
delete d_model;
}
}
QSize ImportCartsWidget::sizeHint() const
{
return QSize(624,160);
}
QSizePolicy ImportCartsWidget::sizePolicy() const
{
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::MinimumExpanding);
}
ImportCartsModel::ImportType ImportCartsWidget::importType() const
{
return d_import_type;
}
void ImportCartsWidget::setEventName(const QString &str)
{
d_model->setEventName(str);
}
void ImportCartsWidget::load(RDEvent *evt)
{
if(d_model!=NULL) {
delete d_model;
}
d_model=new ImportCartsModel(evt->name(),d_import_type,true,this);
d_model->setFont(font());
d_model->setPalette(palette());
d_view->setModel(d_model);
connect(d_model,SIGNAL(modelReset()),d_view,SLOT(resizeColumnsToContents()));
connect(d_view,SIGNAL(cartDropped(int,RDLogLine *)),
d_model,SLOT(processCartDrop(int,RDLogLine *)));
connect(d_model,SIGNAL(totalLengthChanged(int)),
this,SLOT(lengthChangedData(int)));
d_view->resizeColumnsToContents();
lengthChangedData(d_model->totalLength());
}
void ImportCartsWidget::save(RDEvent *evt,
RDLogLine::TransType first_trans) const
{
d_model->save(first_trans);
}
void ImportCartsWidget::lengthChangedData(int msecs)
{
d_length_edit->setText(RDGetTimeLength(msecs,true,false));
}
void ImportCartsWidget::upData()
{
QModelIndexList rows=d_view->selectionModel()->selectedRows();
if(rows.size()!=1) {
return;
}
if(d_model->moveUp(rows.first())) {
d_view->selectRow(rows.first().row()-1);
}
}
void ImportCartsWidget::downData()
{
QModelIndexList rows=d_view->selectionModel()->selectedRows();
if(rows.size()!=1) {
return;
}
if(d_model->moveDown(rows.first())) {
d_view->selectRow(rows.first().row()+1);
}
}
void ImportCartsWidget::resizeEvent(QResizeEvent *e)
{
int w=size().width();
int h=size().height();
d_title_label->setGeometry(5,2,200,16);
d_length_edit->setGeometry(w-150,0,80,20);
d_length_label->setGeometry(w-340,2,185,16);
// d_view->setGeometry(5,20,w-75,115);
d_view->setGeometry(5,20,w-75,h-45);
d_up_button->setGeometry(w-60,24,40,40);
d_down_button->setGeometry(w-60,85,40,40);
}

View File

@ -0,0 +1,67 @@
// importcartswidget.h
//
// Widget for listing import events in rdlogmanager(1)
//
// (C) Copyright 2002-2023 Fred Gleason <fredg@paravelsystems.com>
//
// 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.
//
#ifndef IMPORTCARTSWIDGET_H
#define IMPORTCARTSWIDGET_H
#include <QLineEdit>
#include <rdevent.h>
#include <rdtransportbutton.h>
#include <rdwidget.h>
#include "importcartsmodel.h"
#include "importcartsview.h"
class ImportCartsWidget : public RDWidget
{
Q_OBJECT
public:
ImportCartsWidget(ImportCartsModel::ImportType type,QWidget *parent=0);
~ImportCartsWidget();
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
ImportCartsModel::ImportType importType() const;
void setEventName(const QString &str);
void load(RDEvent *evt);
void save(RDEvent *evt,RDLogLine::TransType first_trans=RDLogLine::NoTrans)
const;
private slots:
void lengthChangedData(int msecs);
void upData();
void downData();
protected:
void resizeEvent(QResizeEvent *e);
private:
ImportCartsModel::ImportType d_import_type;
QLabel *d_title_label;
QLabel *d_length_label;
QLineEdit *d_length_edit;
ImportCartsView *d_view;
ImportCartsModel *d_model;
RDTransportButton *d_up_button;
RDTransportButton *d_down_button;
};
#endif // IMPORTCARTSWIDGET_H

View File

@ -42,6 +42,7 @@ SOURCES += edit_track.cpp
SOURCES += generate_log.cpp SOURCES += generate_log.cpp
SOURCES += importcartsmodel.cpp SOURCES += importcartsmodel.cpp
SOURCES += importcartsview.cpp SOURCES += importcartsview.cpp
SOURCES += importcartswidget.cpp
SOURCES += librarytableview.cpp SOURCES += librarytableview.cpp
SOURCES += list_clocks.cpp SOURCES += list_clocks.cpp
SOURCES += list_events.cpp SOURCES += list_events.cpp
@ -72,6 +73,7 @@ HEADERS += generate_log.h
HEADERS += globals.h HEADERS += globals.h
HEADERS += importcartsmodel.h HEADERS += importcartsmodel.h
HEADERS += importcartsview.h HEADERS += importcartsview.h
HEADERS += importcartswidget.h
HEADERS += librarytableview.h HEADERS += librarytableview.h
HEADERS += list_clocks.h HEADERS += list_clocks.h
HEADERS += list_events.h HEADERS += list_events.h