2019-10-03 Fred Gleason <fredg@paravelsystems.com>

* Refactored rdlibrary(1) to use the 'RDDialog' and 'RDWidget'
	base classes.
This commit is contained in:
Fred Gleason 2019-10-03 18:51:32 -04:00
parent 247a3cd857
commit 640440ac64
33 changed files with 511 additions and 975 deletions

View File

@ -19145,3 +19145,6 @@
2019-10-02 Fred Gleason <fredg@paravelsystems.com>
* Refactored rdcatch(1) to use the 'RDDialog' and 'RDWidget'
base classes.
2019-10-03 Fred Gleason <fredg@paravelsystems.com>
* Refactored rdlibrary(1) to use the 'RDDialog' and 'RDWidget'
base classes.

View File

@ -51,7 +51,6 @@ dist_rdlibrary_SOURCES = audio_cart.cpp audio_cart.h\
edit_macro.cpp edit_macro.h\
edit_notes.cpp edit_notes.h\
edit_schedulercodes.cpp edit_schedulercodes.h\
filter.cpp filter.h\
globals.h\
lib_listview.cpp lib_listview.h\
list_reports.cpp list_reports.h\
@ -69,7 +68,6 @@ nodist_rdlibrary_SOURCES = moc_audio_cart.cpp\
moc_edit_macro.cpp\
moc_edit_notes.cpp\
moc_edit_schedulercodes.cpp \
moc_filter.cpp\
moc_lib_listview.cpp\
moc_list_reports.cpp\
moc_macro_cart.cpp\

View File

@ -2,7 +2,7 @@
//
// The audio cart editor for RDLibrary.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -18,31 +18,14 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <qpixmap.h>
#include <unistd.h>
#include <qdialog.h>
#include <qstring.h>
#include <qpushbutton.h>
#include <q3listview.h>
#include <q3listbox.h>
#include <q3textedit.h>
#include <qpainter.h>
#include <qevent.h>
#include <qmessagebox.h>
#include <qcheckbox.h>
#include <q3buttongroup.h>
#include <qapplication.h>
#include <qmessagebox.h>
#include <rdapplication.h>
#include <rdcut.h>
#include <rdcddbrecord.h>
#include <rdwavedata.h>
#include <rd.h>
#include <rdconf.h>
#include <rdimport_audio.h>
#include <rdaudio_exists.h>
#include <rdconf.h>
#include <rdedit_audio.h>
#include <rdescape_string.h>
#include <rdimport_audio.h>
#include "audio_cart.h"
#include "cdripper.h"
@ -54,7 +37,7 @@ bool import_active=false;
AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
bool select_cut,bool profile_rip,QWidget *parent)
: QWidget(parent)
: RDWidget(parent)
{
rdcart_import_metadata=true;
rdcart_controls=controls;
@ -64,25 +47,15 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
rdcart_profile_rip=profile_rip;
rdcart_modification_allowed=rda->user()->editAudio()&&cart->owner().isEmpty();
//setWindowTitle("RDLibrary - "+tr("Edit Cart")+QString().sprintf(" %u",rdcart_cart->number())+" ["+
// rdcart_cart->title()+"]");
//
// Generate Fonts
//
QFont button_font=QFont("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
QFont line_edit_font=QFont("Helvetica",12,QFont::Normal);
line_edit_font.setPixelSize(12);
QColor system_button_text_color = palette().active().buttonText();
//
// Progress Dialog
//
rdcart_progress_dialog=new Q3ProgressDialog(this);
rdcart_progress_dialog=new QProgressDialog(this);
rdcart_progress_dialog->setLabelText(tr("Copying audio..."));
rdcart_progress_dialog->setCancelButton(NULL);
rdcart_progress_dialog->setTotalSteps(10);
rdcart_progress_dialog->setMaximum(10);
rdcart_progress_dialog->setMinimumDuration(1000);
//
@ -90,7 +63,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPushButton *add_cut_button=new QPushButton(this);
add_cut_button->setGeometry(10,0,80,50);
add_cut_button->setFont(button_font);
add_cut_button->setFont(buttonFont());
add_cut_button->setText(tr("Add"));
connect(add_cut_button,SIGNAL(clicked()),this,SLOT(addCutData()));
@ -99,7 +72,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPushButton *delete_cut_button=new QPushButton(this);
delete_cut_button->setGeometry(10,60,80,50);
delete_cut_button->setFont(button_font);
delete_cut_button->setFont(buttonFont());
delete_cut_button->setText(tr("Delete"));
connect(delete_cut_button,SIGNAL(clicked()),this,SLOT(deleteCutData()));
@ -108,7 +81,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPushButton *copy_cut_button=new QPushButton(this);
copy_cut_button->setGeometry(10,120,80,50);
copy_cut_button->setFont(button_font);
copy_cut_button->setFont(buttonFont());
copy_cut_button->setText(tr("Copy"));
connect(copy_cut_button,SIGNAL(clicked()),this,SLOT(copyCutData()));
@ -117,7 +90,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
paste_cut_button=new QPushButton(this);
paste_cut_button->setGeometry(10,180,80,50);
paste_cut_button->setFont(button_font);
paste_cut_button->setFont(buttonFont());
paste_cut_button->setText(tr("Paste"));
connect(paste_cut_button,SIGNAL(clicked()),this,SLOT(pasteCutData()));
@ -188,10 +161,10 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPixmap *pix=new QPixmap(QSize(70,40));
QPainter *p=new QPainter(pix);
QFontMetrics *m=new QFontMetrics(button_font);
QFontMetrics *m=new QFontMetrics(buttonFont());
p->fillRect(0,0,70,40,palette().color(QPalette::Active,QColorGroup::Button));
p->setPen(QColor(system_button_text_color));
p->setFont(button_font);
p->setFont(buttonFont());
p->drawText((70-m->width(tr("Cut Info")))/2,15,tr("Cut Info"));
p->drawLine(10,19,60,19);
p->drawText((70-m->width(tr("Record")))/2,33,tr("Record"));
@ -206,7 +179,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPushButton *ext_editor_cut_button=new QPushButton(this);
ext_editor_cut_button->setGeometry(550,60,80,50);
ext_editor_cut_button->setFont(button_font);
ext_editor_cut_button->setFont(buttonFont());
ext_editor_cut_button->setText(tr("Edit\nAudio"));
connect(ext_editor_cut_button,SIGNAL(clicked()),
this,SLOT(extEditorCutData()));
@ -222,7 +195,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPushButton *edit_cut_button=new QPushButton(this);
edit_cut_button->setGeometry(550,60+yoffset,80,50);
edit_cut_button->setFont(button_font);
edit_cut_button->setFont(buttonFont());
edit_cut_button->setText(tr("Edit\nMarkers"));
connect(edit_cut_button,SIGNAL(clicked()),this,SLOT(editCutData()));
@ -230,10 +203,10 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
// Import Cut Button
//
p=new QPainter(pix);
m=new QFontMetrics(button_font);
m=new QFontMetrics(buttonFont());
p->fillRect(0,0,70,40,palette().color(QPalette::Active,QColorGroup::Button));
p->setPen(QColor(system_button_text_color));
p->setFont(button_font);
p->setFont(buttonFont());
p->drawText((70-m->width(tr("Import")))/2,15,tr("Import"));
p->drawLine(10,19,60,19);
p->drawText((70-m->width(tr("Export")))/2,33,tr("Export"));
@ -248,7 +221,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path,
//
QPushButton *rip_cut_button=new QPushButton(this);
rip_cut_button->setGeometry(550,180+yoffset,80,50);
rip_cut_button->setFont(button_font);
rip_cut_button->setFont(buttonFont());
rip_cut_button->setText(tr("Rip CD"));
connect(rip_cut_button,SIGNAL(clicked()),this,SLOT(ripCutData()));
@ -691,7 +664,7 @@ void AudioCart::doubleClickedData(Q3ListViewItem *,const QPoint &,int)
void AudioCart::copyProgressData(const QVariant &step)
{
rdcart_progress_dialog->setProgress(step.toInt());
rdcart_progress_dialog->setValue(step.toInt());
qApp->processEvents();
}

View File

@ -2,7 +2,7 @@
//
// The audio cart editor for RDLibrary.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -21,32 +21,18 @@
#ifndef AUDIO_CART_H
#define AUDIO_CART_H
#include <vector>
#include <qwidget.h>
#include <qlabel.h>
#include <q3listbox.h>
#include <qcombobox.h>
#include <q3textedit.h>
#include <qpixmap.h>
#include <qcheckbox.h>
#include <qsqldatabase.h>
#include <qlineedit.h>
#include <qcheckbox.h>
#include <qpushbutton.h>
#include <q3progressdialog.h>
#include <qprogressdialog.h>
#include <rdcart.h>
#include <rdlibrary_conf.h>
#include <rdlistview.h>
#include <rdlistviewitem.h>
#include <rdwidget.h>
#include "audio_controls.h"
#include "globals.h"
extern bool import_active;
class AudioCart : public QWidget
class AudioCart : public RDWidget
{
Q_OBJECT
public:
@ -92,7 +78,7 @@ class AudioCart : public QWidget
bool rdcart_select_cut;
AudioControls *rdcart_controls;
QPushButton *paste_cut_button;
Q3ProgressDialog *rdcart_progress_dialog;
QProgressDialog *rdcart_progress_dialog;
bool rdcart_modification_allowed;
bool rdcart_import_metadata;
bool rdcart_profile_rip;
@ -100,5 +86,4 @@ class AudioCart : public QWidget
};
#endif
#endif // AUDIO_CART_H

View File

@ -18,31 +18,12 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <fcntl.h>
#include <unistd.h>
#include <math.h>
#include <linux/cdrom.h>
#include <qpushbutton.h>
#include <q3filedialog.h>
#include <qmessagebox.h>
#include <qcheckbox.h>
#include <qstringlist.h>
#include <QLabel>
#include <QResizeEvent>
#include <QCloseEvent>
#include <rd.h>
#include <rdapplication.h>
#include <rdaudioimport.h>
#include <rdconf.h>
#include <rdcdripper.h>
#include <rdcut.h>
#include <rdconf.h>
#include <rdtempdirectory.h>
#include <rdwavefile.h>
#include "cdripper.h"
#include "globals.h"
@ -55,27 +36,10 @@ bool ripper_running;
CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
bool profile_rip,QWidget *parent)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
rip_profile_rip=profile_rip;
rip_isrc_read=false;
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
//
// Generate Fonts
//
QFont button_font=QFont("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
QFont label_font=QFont("Helvetica",12,QFont::Bold);
label_font.setPixelSize(12);
rip_conf=conf;
rip_cddb_record=rec;
rip_track[0]=-1;
@ -84,6 +48,11 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
setWindowTitle("RDLibrary - "+tr("Rip CD"));
//
// Fix the Window Size
//
setMinimumSize(sizeHint());
//
// Create Temporary Directory
//
@ -135,7 +104,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
// Title Selector
//
rip_title_label=new QLabel(tr("Title:"),this);
rip_title_label->setFont(label_font);
rip_title_label->setFont(labelFont());
rip_title_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_title_box=new QComboBox(this);
rip_title_box->insertItem(tr("[none]"));
@ -144,7 +113,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
// Artist Label
//
rip_artist_label=new QLabel(tr("Artist:"),this);
rip_artist_label->setFont(label_font);
rip_artist_label->setFont(labelFont());
rip_artist_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_artist_edit=new QLineEdit(this);
@ -152,7 +121,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
// Album Edit
//
rip_album_label=new QLabel(tr("Album:"),this);
rip_album_label->setFont(label_font);
rip_album_label->setFont(labelFont());
rip_album_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_album_edit=new QLineEdit(this);
@ -160,7 +129,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
// Other Edit
//
rip_other_label=new QLabel(tr("Other:"),this);
rip_other_label->setFont(label_font);
rip_other_label->setFont(labelFont());
rip_other_label->setAlignment(Qt::AlignRight);
rip_other_edit=new Q3TextEdit(this);
rip_other_edit->setReadOnly(true);
@ -173,7 +142,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
rip_apply_box->setDisabled(true);
rip_apply_label=
new QLabel(rip_apply_box,tr("Apply FreeDB Values to Cart"),this);
rip_apply_label->setFont(label_font);
rip_apply_label->setFont(labelFont());
rip_apply_label->setAlignment(Qt::AlignLeft);
rip_apply_box->setChecked(false);
rip_apply_label->setDisabled(true);
@ -189,7 +158,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
connect(rip_track_list,SIGNAL(selectionChanged()),
this,SLOT(trackSelectionChangedData()));
rip_track_label=new QLabel(rip_track_list,tr("Tracks"),this);
rip_track_label->setFont(label_font);
rip_track_label->setFont(labelFont());
rip_track_list->addColumn(tr("TRACK"));
rip_track_list->setColumnAlignment(0,Qt::AlignHCenter);
rip_track_list->addColumn(tr("LENGTH"));
@ -204,7 +173,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
//
// Progress Bar
//
rip_bar=new Q3ProgressBar(this);
rip_bar=new QProgressBar(this);
//
// Eject Button
@ -230,7 +199,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
// Rip Track Button
//
rip_rip_button=new QPushButton(tr("&Rip\nTrack"),this);
rip_rip_button->setFont(button_font);
rip_rip_button->setFont(buttonFont());
rip_rip_button->setDisabled(true);
connect(rip_rip_button,SIGNAL(clicked()),this,SLOT(ripTrackButtonData()));
@ -240,7 +209,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
rip_normalize_box=new QCheckBox(this);
rip_normalize_box->setChecked(true);
rip_normalize_box_label=new QLabel(rip_normalize_box,tr("Normalize"),this);
rip_normalize_box_label->setFont(label_font);
rip_normalize_box_label->setFont(labelFont());
rip_normalize_box_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
connect(rip_normalize_box,SIGNAL(toggled(bool)),
this,SLOT(normalizeCheckData(bool)));
@ -251,10 +220,10 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
rip_normalize_spin=new QSpinBox(this);
rip_normalize_spin->setRange(-30,0);
rip_normalize_label=new QLabel(rip_normalize_spin,tr("Level:"),this);
rip_normalize_label->setFont(label_font);
rip_normalize_label->setFont(labelFont());
rip_normalize_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_normalize_unit=new QLabel(tr("dBFS"),this);
rip_normalize_unit->setFont(label_font);
rip_normalize_unit->setFont(labelFont());
rip_normalize_unit->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
//
@ -263,7 +232,7 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
rip_autotrim_box=new QCheckBox(this);
rip_autotrim_box->setChecked(true);
rip_autotrim_box_label=new QLabel(rip_autotrim_box,tr("Autotrim"),this);
rip_autotrim_box_label->setFont(label_font);
rip_autotrim_box_label->setFont(labelFont());
rip_autotrim_box_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
connect(rip_autotrim_box,SIGNAL(toggled(bool)),
this,SLOT(autotrimCheckData(bool)));
@ -274,10 +243,10 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
rip_autotrim_spin=new QSpinBox(this);
rip_autotrim_spin->setRange(-99,0);
rip_autotrim_label=new QLabel(rip_autotrim_spin,tr("Level:"),this);
rip_autotrim_label->setFont(label_font);
rip_autotrim_label->setFont(labelFont());
rip_autotrim_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_autotrim_unit=new QLabel(tr("dBFS"),this);
rip_autotrim_unit->setFont(label_font);
rip_autotrim_unit->setFont(labelFont());
rip_autotrim_unit->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
//
@ -285,14 +254,14 @@ CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf,
//
rip_channels_box=new QComboBox(this);
rip_channels_label=new QLabel(rip_channels_box,tr("Channels:"),this);
rip_channels_label->setFont(label_font);
rip_channels_label->setFont(labelFont());
rip_channels_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
// Close Button
//
rip_close_button=new QPushButton("&Close",this);
rip_close_button->setFont(button_font);
rip_close_button->setFont(buttonFont());
connect(rip_close_button,SIGNAL(clicked()),this,SLOT(closeData()));
//
@ -486,8 +455,8 @@ void CdRipper::ripTrackButtonData()
}
disconnect(rip_rip_button,SIGNAL(clicked()),this,SLOT(ripTrackButtonData()));
connect(rip_rip_button,SIGNAL(clicked()),ripper,SLOT(abort()));
rip_bar->setTotalSteps(ripper->totalSteps()+1);
connect(ripper,SIGNAL(progressChanged(int)),rip_bar,SLOT(setProgress(int)));
rip_bar->setMaximum(ripper->totalSteps()+1);
connect(ripper,SIGNAL(progressChanged(int)),rip_bar,SLOT(setValue(int)));
RDAudioImport *conv=NULL;
RDSettings *settings=NULL;
ripper->setDevice(rip_conf->ripperDevice());
@ -558,18 +527,16 @@ void CdRipper::ripTrackButtonData()
delete ripper;
unlink(tmpfile);
rmdir(tmpdir);
rip_bar->setPercentageVisible(false);
rip_bar->reset();
rip_eject_button->setEnabled(true);
rip_play_button->setEnabled(true);
rip_stop_button->setEnabled(true);
rip_rip_button->setText(tr("Rip Track"));
rip_rip_button->setText(tr("Rip\nTrack"));
connect(rip_rip_button,SIGNAL(clicked()),this,SLOT(ripTrackButtonData()));
rip_close_button->setEnabled(true);
rip_cdrom->unlock();
rip_done=true;
rip_bar->setProgress(0);
rip_bar->setPercentageVisible(true);
rip_bar->setValue(0);
}

View File

@ -21,31 +21,20 @@
#ifndef CDRIPPER_H
#define CDRIPPER_H
#include <sys/types.h>
#include <unistd.h>
#include <qdialog.h>
#include <qlabel.h>
#include <qprogressbar.h>
#include <qlineedit.h>
#include <q3progressbar.h>
#include <qtimer.h>
#include <qdir.h>
#include <qfile.h>
#include <qspinbox.h>
#include <qcombobox.h>
#include <qcheckbox.h>
#include <q3textedit.h>
#include <QResizeEvent>
#include <QCloseEvent>
#include <rdcut.h>
#include <rdtransportbutton.h>
#include <rdcdplayer.h>
#include <rdcddbrecord.h>
#include <rddialog.h>
#include <rdcddblookup.h>
#include <rdlistview.h>
#include <rdlibrary_conf.h>
#include <rdcdplayer.h>
#include <rdtransportbutton.h>
class CdRipper : public QDialog
class CdRipper : public RDDialog
{
Q_OBJECT
public:
@ -105,7 +94,7 @@ class CdRipper : public QDialog
RDTransportButton *rip_eject_button;
RDTransportButton *rip_play_button;
RDTransportButton *rip_stop_button;
Q3ProgressBar *rip_bar;
QProgressBar *rip_bar;
QLabel *rip_normalize_label;
QCheckBox *rip_normalize_box;
QLabel *rip_normalize_box_label;

View File

@ -2,7 +2,7 @@
//
// Disk Gauge Widget for RDLibrary.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -32,30 +32,23 @@
#include "globals.h"
DiskGauge::DiskGauge(int samp_rate,int chans,QWidget *parent)
: QWidget(parent)
: RDWidget(parent)
{
disk_sample_rate=samp_rate;
disk_channels=chans;
//
// Generate Fonts
//
QFont label_font("Helvetica",12,QFont::Bold);
label_font.setPixelSize(12);
disk_label=new QLabel("Free:",this);
disk_label=new QLabel(tr("Free")+":",this);
disk_label->setGeometry(0,0,50,sizeHint().height());
disk_label->setFont(label_font);
disk_label->setFont(labelFont());
disk_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
disk_label->setDisabled(true);
disk_bar=new Q3ProgressBar(this);
disk_bar->setPercentageVisible(false);
disk_bar=new QProgressBar(this);
disk_bar->setGeometry(55,0,sizeHint().width()-55,sizeHint().height());
disk_bar->setDisabled(true);
disk_space_label=new QLabel(this);
disk_space_label->setFont(label_font);
disk_space_label->setFont(labelFont());
disk_space_label->setAlignment(Qt::AlignCenter);
disk_space_label->setDisabled(true);
@ -92,8 +85,8 @@ void DiskGauge::update()
RDAudioStore::ErrorOk) {
uint64_t free_min=GetMinutes(conv->freeBytes());
uint64_t total_min=GetMinutes(conv->totalBytes());
disk_bar->setTotalSteps(total_min);
disk_bar->setProgress(free_min);
disk_bar->setMaximum(total_min);
disk_bar->setValue(free_min);
disk_space_label->setText(QString().sprintf("%luh %02lum",free_min/60,
free_min-60*(free_min/60)));
disk_label->setEnabled(true);

View File

@ -2,7 +2,7 @@
//
// Disk Gauge Widget for RDLibrary.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -23,14 +23,14 @@
#include <stdint.h>
#include <qwidget.h>
#include <qlabel.h>
#include <qtimer.h>
#include <q3progressbar.h>
#include <qprogressbar.h>
#include <rdwidget.h>
#define DISK_GAUGE_UPDATE_INTERVAL 60000
class DiskGauge : public QWidget
class DiskGauge : public RDWidget
{
Q_OBJECT
public:
@ -47,7 +47,7 @@ class DiskGauge : public QWidget
private:
unsigned GetMinutes(uint64_t bytes);
QLabel *disk_label;
Q3ProgressBar *disk_bar;
QProgressBar *disk_bar;
QLabel *disk_space_label;
double disk_sample_rate;
double disk_channels;

View File

@ -18,45 +18,24 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <fcntl.h>
#include <unistd.h>
#include <math.h>
#include <linux/cdrom.h>
#include <qapplication.h>
#include <qcheckbox.h>
#include <q3filedialog.h>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <rd.h>
#include <rdapplication.h>
#include <rdaudioimport.h>
#include <rdcart.h>
#include <rdcdripper.h>
#include <rdconf.h>
#include <rdcut.h>
#include <rdcut_dialog.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rdgroup.h>
#include <rdlist_groups.h>
#include <rdtempdirectory.h>
#include <rdwavefile.h>
#include "disk_ripper.h"
#include "globals.h"
DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
bool profile_rip,QWidget *parent)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
rip_isrc_read=false;
rip_filter_text=filter;
rip_group_text=group;
@ -64,21 +43,12 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_profile_rip=profile_rip;
rip_aborting=false;
setWindowTitle("RDLibrary - "+tr("Rip Disk"));
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
//
// Generate Fonts
//
QFont button_font=QFont("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
QFont label_font=QFont("Helvetica",12,QFont::Bold);
label_font.setPixelSize(12);
setWindowTitle("RDLibrary - "+tr("Rip Disk"));
setMinimumSize(sizeHint());
//
// Create Dialogs
@ -132,7 +102,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
//
QLabel *label=new QLabel(tr("Artist:"),this);
label->setGeometry(10,10,50,18);
label->setFont(label_font);
label->setFont(labelFont());
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_artist_edit=new QLineEdit(this);
@ -141,7 +111,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
//
label=new QLabel(tr("Album:"),this);
label->setGeometry(10,32,50,18);
label->setFont(label_font);
label->setFont(labelFont());
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_album_edit=new QLineEdit(this);
@ -150,9 +120,9 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
//
label=new QLabel(tr("Other:"),this);
label->setGeometry(10,54,50,16);
label->setFont(label_font);
label->setFont(labelFont());
label->setAlignment(Qt::AlignRight);
rip_other_edit=new Q3TextEdit(this);
rip_other_edit=new QTextEdit(this);
rip_other_edit->setReadOnly(true);
//
@ -163,7 +133,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_apply_box->setDisabled(true);
rip_apply_label=
new QLabel(rip_apply_box,tr("Apply FreeDB Values to Carts"),this);
rip_apply_label->setFont(label_font);
rip_apply_label->setFont(labelFont());
rip_apply_label->setAlignment(Qt::AlignLeft);
rip_apply_box->setChecked(false);
rip_apply_label->setDisabled(true);
@ -183,7 +153,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
this,
SLOT(doubleClickedData(Q3ListViewItem *,const QPoint &,int)));
rip_track_label=new QLabel(rip_track_list,tr("Tracks"),this);
rip_track_label->setFont(label_font);
rip_track_label->setFont(sectionLabelFont());
rip_track_list->addColumn(tr("TRACK"));
rip_track_list->setColumnAlignment(0,Qt::AlignHCenter);
rip_track_list->addColumn(tr("LENGTH"));
@ -200,14 +170,14 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
//
// Progress Bars
//
rip_disk_bar=new Q3ProgressBar(this);
rip_disk_bar=new QProgressBar(this);
rip_diskbar_label=new QLabel(tr("Disk Progress"),this);
rip_diskbar_label->setFont(label_font);
rip_diskbar_label->setFont(labelFont());
rip_diskbar_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
rip_diskbar_label->setDisabled(true);
rip_track_bar=new Q3ProgressBar(this);
rip_track_bar=new QProgressBar(this);
rip_trackbar_label=new QLabel(tr("Track Progress"),this);
rip_trackbar_label->setFont(label_font);
rip_trackbar_label->setFont(labelFont());
rip_trackbar_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
rip_trackbar_label->setDisabled(true);
@ -235,7 +205,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
// Set Cut Button
//
rip_setcut_button=new QPushButton(tr("Set\n&Cart/Cut"),this);
rip_setcut_button->setFont(button_font);
rip_setcut_button->setFont(buttonFont());
rip_setcut_button->setDisabled(true);
connect(rip_setcut_button,SIGNAL(clicked()),this,SLOT(setCutButtonData()));
@ -243,7 +213,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
// Set Multi Tracks Button
//
rip_setall_button=new QPushButton(tr("Add Cart\nPer Track"),this);
rip_setall_button->setFont(button_font);
rip_setall_button->setFont(buttonFont());
rip_setall_button->setDisabled(true);
connect(rip_setall_button,SIGNAL(clicked()),this,SLOT(setMultiButtonData()));
@ -251,7 +221,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
// Set Single Button
//
rip_setsingle_button=new QPushButton(tr("Add Single\nCart"),this);
rip_setsingle_button->setFont(button_font);
rip_setsingle_button->setFont(buttonFont());
rip_setsingle_button->setDisabled(true);
connect(rip_setsingle_button,SIGNAL(clicked()),
this,SLOT(setSingleButtonData()));
@ -260,7 +230,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
// Set Cart Label Button
//
rip_cartlabel_button=new QPushButton(tr("Modify\nCart Label"),this);
rip_cartlabel_button->setFont(button_font);
rip_cartlabel_button->setFont(buttonFont());
rip_cartlabel_button->setDisabled(true);
connect(rip_cartlabel_button,SIGNAL(clicked()),
this,SLOT(modifyCartLabelData()));
@ -269,7 +239,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
// Clear Selection Button
//
rip_clear_button=new QPushButton(tr("Clear\nSelection"),this);
rip_clear_button->setFont(button_font);
rip_clear_button->setFont(buttonFont());
rip_clear_button->setDisabled(true);
connect(rip_clear_button,SIGNAL(clicked()),this,SLOT(clearSelectionData()));
@ -279,7 +249,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_normalize_box=new QCheckBox(this);
rip_normalize_box->setChecked(true);
rip_normalizebox_label=new QLabel(rip_normalize_box,tr("Normalize"),this);
rip_normalizebox_label->setFont(label_font);
rip_normalizebox_label->setFont(labelFont());
rip_normalizebox_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
connect(rip_normalize_box,SIGNAL(toggled(bool)),
this,SLOT(normalizeCheckData(bool)));
@ -290,10 +260,10 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_normalize_spin=new QSpinBox(this);
rip_normalize_spin->setRange(-30,0);
rip_normalize_label=new QLabel(rip_normalize_spin,tr("Level:"),this);
rip_normalize_label->setFont(label_font);
rip_normalize_label->setFont(labelFont());
rip_normalize_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_normalize_unit=new QLabel(tr("dBFS"),this);
rip_normalize_unit->setFont(label_font);
rip_normalize_unit->setFont(labelFont());
rip_normalize_unit->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
//
@ -302,7 +272,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_autotrim_box=new QCheckBox(this);
rip_autotrim_box->setChecked(true);
rip_autotrimbox_label=new QLabel(rip_autotrim_box,tr("Autotrim"),this);
rip_autotrimbox_label->setFont(label_font);
rip_autotrimbox_label->setFont(labelFont());
rip_autotrimbox_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
connect(rip_autotrim_box,SIGNAL(toggled(bool)),
this,SLOT(autotrimCheckData(bool)));
@ -313,10 +283,10 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_autotrim_spin=new QSpinBox(this);
rip_autotrim_spin->setRange(-99,0);
rip_autotrim_label=new QLabel(rip_autotrim_spin,tr("Level:"),this);
rip_autotrim_label->setFont(label_font);
rip_autotrim_label->setFont(labelFont());
rip_autotrim_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rip_autotrim_unit=new QLabel(tr("dBFS"),this);
rip_autotrim_unit->setFont(label_font);
rip_autotrim_unit->setFont(labelFont());
rip_autotrim_unit->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
//
@ -324,14 +294,14 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
//
rip_channels_box=new QComboBox(this);
rip_channels_label=new QLabel(rip_channels_box,tr("Channels:"),this);
rip_channels_label->setFont(label_font);
rip_channels_label->setFont(labelFont());
rip_channels_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
// Rip Disc Button
//
rip_rip_button=new QPushButton(tr("&Rip\nDisc"),this);
rip_rip_button->setFont(button_font);
rip_rip_button->setFont(buttonFont());
connect(rip_rip_button,SIGNAL(clicked()),this,SLOT(ripDiskButtonData()));
rip_rip_button->setDisabled(true);
@ -339,7 +309,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
// Close Button
//
rip_close_button=new QPushButton(tr("&Close"),this);
rip_close_button->setFont(button_font);
rip_close_button->setFont(buttonFont());
connect(rip_close_button,SIGNAL(clicked()),this,SLOT(closeData()));
//
@ -430,7 +400,7 @@ void DiskRipper::ripDiskButtonData()
tracks++;
}
}
rip_disk_bar->setTotalSteps(tracks);
rip_disk_bar->setMaximum(tracks);
//
// Read ISRCs
@ -471,8 +441,7 @@ void DiskRipper::ripDiskButtonData()
rip_channels_box->setDisabled(true);
rip_autotrim_box->setDisabled(true);
rip_autotrim_spin->setDisabled(true);
rip_disk_bar->setProgress(tracks++);
rip_disk_bar->setPercentageVisible(true);
rip_disk_bar->setValue(tracks++);
int start_track=item->text(0).toInt();
int end_track=rip_end_track[item->text(0).toInt()-1];
RipTrack(start_track,end_track,rip_cutnames[item->text(0).toInt()-1],
@ -497,7 +466,6 @@ void DiskRipper::ripDiskButtonData()
rip_channels_box->setEnabled(true);
rip_autotrim_box->setEnabled(true);
rip_autotrim_spin->setEnabled(true);
rip_disk_bar->setPercentageVisible(false);
rip_disk_bar->reset();
rip_diskbar_label->setDisabled(true);
rip_trackbar_label->setDisabled(true);
@ -1052,9 +1020,9 @@ void DiskRipper::RipTrack(int track,int end_track,QString cutname,QString title)
else {
ripper=new RDCdRipper(NULL,this);
}
rip_track_bar->setTotalSteps(ripper->totalSteps()+1);
rip_track_bar->setMaximum(ripper->totalSteps()+1);
connect(ripper,SIGNAL(progressChanged(int)),
rip_track_bar,SLOT(setProgress(int)));
rip_track_bar,SLOT(setValue(int)));
connect(rip_rip_button,SIGNAL(clicked()),ripper,SLOT(abort()));
RDAudioImport *conv=NULL;
RDSettings *settings=NULL;
@ -1123,8 +1091,7 @@ void DiskRipper::RipTrack(int track,int end_track,QString cutname,QString title)
delete ripper;
unlink(tmpfile);
rmdir(tmpdir);
rip_track_bar->setProgress(0);
rip_track_bar->setPercentageVisible(true);
rip_track_bar->setValue(0);
delete cart;
delete cut;

View File

@ -21,34 +21,19 @@
#ifndef DISK_RIPPER_H
#define DISK_RIPPER_H
#include <vector>
#include <sys/types.h>
#include <unistd.h>
#include <qdialog.h>
#include <qdir.h>
#include <q3listview.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <q3progressbar.h>
#include <qtimer.h>
#include <qfile.h>
#include <qspinbox.h>
#include <qcombobox.h>
#include <qcheckbox.h>
#include <q3textedit.h>
#include <qprogressbar.h>
#include <qtextedit.h>
#include <qcheckbox.h>
#include <qdir.h>
#include <rdcdplayer.h>
#include <rdcddbrecord.h>
#include <rdcddblookup.h>
#include <rdlistviewitem.h>
#include <rdnotification.h>
#include <rdcdplayer.h>
#include <rddialog.h>
#include <rdtransportbutton.h>
#include <rdwavedata_dialog.h>
#include <rdlibrary_conf.h>
#include <rd.h>
class DiskRipper : public QDialog
class DiskRipper : public RDDialog
{
Q_OBJECT
public:
@ -100,7 +85,7 @@ class DiskRipper : public QDialog
QPushButton *rip_close_button;
QLineEdit *rip_album_edit;
QLineEdit *rip_artist_edit;
Q3TextEdit *rip_other_edit;
QTextEdit *rip_other_edit;
QCheckBox *rip_apply_box;
QLabel *rip_apply_label;
RDTransportButton *rip_eject_button;
@ -115,9 +100,9 @@ class DiskRipper : public QDialog
QString rip_track;
QString rip_title;
QLabel *rip_diskbar_label;
Q3ProgressBar *rip_disk_bar;
QProgressBar *rip_disk_bar;
QLabel *rip_trackbar_label;
Q3ProgressBar *rip_track_bar;
QProgressBar *rip_track_bar;
QCheckBox *rip_normalize_box;
QSpinBox *rip_normalize_spin;
QLabel *rip_normalize_label;
@ -146,5 +131,4 @@ class DiskRipper : public QDialog
};
#endif
#endif // DISK_RIPPER_H

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Cart
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -18,48 +18,22 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <vector>
#include <qbitmap.h>
#include <unistd.h>
#include <qdialog.h>
#include <qstring.h>
#include <qpushbutton.h>
#include <q3listview.h>
#include <q3listbox.h>
#include <q3textedit.h>
#include <qpainter.h>
#include <qevent.h>
#include <qmessagebox.h>
#include <qcheckbox.h>
#include <q3buttongroup.h>
#include <qtooltip.h>
#include <qvalidator.h>
#include <rddb.h>
#include <rdapplication.h>
#include <rd.h>
#include <rdconf.h>
#include <rdaudio_exists.h>
#include <rdsystem.h>
#include <rdescape_string.h>
#include <rdaudioexport.h>
#include <rdupload.h>
#include "rdlibrary.h"
#include "cdripper.h"
#include "edit_cart.h"
#include "edit_notes.h"
#include "edit_schedulercodes.h"
#include "rdlibrary.h"
#include "record_cut.h"
EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
QWidget *parent,const char *name,Q3ListView *lib_cart_list)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
bool modification_allowed;
rdcart_cart=NULL;
rdcart_profile_rip=profile_rip;
@ -110,27 +84,20 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
}
}
//
// Generate Fonts
//
QFont button_font=QFont("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
QFont line_edit_font=QFont("Helvetica",12,QFont::Normal);
line_edit_font.setPixelSize(12);
if(lib_cart_list_edit==NULL) {
//
// Cart Number
//
rdcart_number_edit=new QLineEdit(this);
rdcart_number_edit->setGeometry(135,11,70,21);
rdcart_number_edit->setFont(line_edit_font);
rdcart_number_edit->setMaxLength(6);
rdcart_number_edit->setReadOnly(true);
QLabel *rdcart_number_label=new QLabel(rdcart_number_edit,tr("Number:"),this);
rdcart_number_label->setGeometry(10,13,120,19);
rdcart_number_label->setFont(button_font);
rdcart_number_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
//
// Cart Number
//
rdcart_number_edit=new QLineEdit(this);
rdcart_number_edit->setGeometry(135,11,70,21);
rdcart_number_edit->setMaxLength(6);
rdcart_number_edit->setReadOnly(true);
QLabel *rdcart_number_label=
new QLabel(rdcart_number_edit,tr("Number:"),this);
rdcart_number_label->setGeometry(10,13,120,21);
rdcart_number_label->setFont(labelFont());
rdcart_number_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
}
//
@ -141,35 +108,34 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
rdcart_group_box->setGeometry(280,11,140,21);
}
else {
rdcart_group_box->setGeometry(135,38,110,19);
rdcart_group_box->setGeometry(135,38,110,21);
}
rdcart_group_box->setFont(line_edit_font);
rdcart_group_edit=new QLineEdit(this);
rdcart_group_edit->setGeometry(280,11,140,21);
rdcart_group_edit->setFont(line_edit_font);
rdcart_group_edit->setReadOnly(true);
QLabel *rdcart_group_label=new QLabel(rdcart_group_box,tr("Group:"),this);
if(lib_cart_list_edit==NULL) {
rdcart_group_label->setGeometry(215,13,60,19);
rdcart_group_label->setGeometry(215,13,60,21);
}
else {
rdcart_group_label->setGeometry(10,38,120,19);
rdcart_group_label->setGeometry(10,38,120,21);
}
rdcart_group_label->setFont(button_font);
rdcart_group_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_group_label->setFont(labelFont());
rdcart_group_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Type
//
rdcart_type_edit=new QLineEdit(this);
rdcart_type_edit->setGeometry(500,11,80,21);
rdcart_type_edit->setFont(line_edit_font);
rdcart_type_edit->setMaxLength(6);
rdcart_type_edit->setReadOnly(true);
QLabel *rdcart_type_label=new QLabel(rdcart_type_edit,tr("Type:"),this);
rdcart_type_label->setGeometry(440,13,55,19);
rdcart_type_label->setFont(button_font);
rdcart_type_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_type_label->setGeometry(440,13,55,21);
rdcart_type_label->setFont(labelFont());
rdcart_type_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
if(lib_cart_list_edit!=NULL) {
rdcart_type_label->hide();
rdcart_type_edit->hide();
@ -180,15 +146,15 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
//
rdcart_average_length_edit=new QLineEdit(this);
rdcart_average_length_edit->setGeometry(135,36,70,21);
rdcart_average_length_edit->setFont(line_edit_font);
rdcart_average_length_edit->setMaxLength(10);
rdcart_average_length_edit->setAlignment(Qt::AlignRight);
rdcart_average_length_edit->setReadOnly(true);
QLabel *rdcart_average_length_label=
new QLabel(rdcart_average_length_edit,tr("Average Length:"),this);
rdcart_average_length_label->setGeometry(10,38,120,19);
rdcart_average_length_label->setFont(button_font);
rdcart_average_length_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_average_length_label->setGeometry(10,38,120,21);
rdcart_average_length_label->setFont(labelFont());
rdcart_average_length_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
if(lib_cart_list_edit!=NULL) {
rdcart_average_length_label->hide();
rdcart_average_length_edit->hide();
@ -198,12 +164,13 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
// Cart Enforce Length
//
rdcart_controls.enforce_length_box=new QCheckBox(this);
rdcart_controls.enforce_length_box->setGeometry(285,38,20,15);
rdcart_controls.enforce_length_box->setGeometry(285,41,20,15);
QLabel *rdcart_enforce_length_label=
new QLabel(rdcart_controls.enforce_length_box,tr("Enforce Length"),this);
rdcart_enforce_length_label->setGeometry(305,38,110,19);
rdcart_enforce_length_label->setFont(button_font);
rdcart_enforce_length_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);
rdcart_enforce_length_label->setGeometry(305,38,110,21);
rdcart_enforce_length_label->setFont(labelFont());
rdcart_enforce_length_label->
setAlignment(Qt::AlignLeft|Qt::AlignVCenter|Qt::TextShowMnemonic);
connect(rdcart_controls.enforce_length_box,SIGNAL(toggled(bool)),
this,SLOT(forcedLengthData(bool)));
if(lib_cart_list_edit!=NULL) {
@ -219,17 +186,16 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
rdcart_controls.forced_length_edit->
setDisplay(RDTimeEdit::Hours|RDTimeEdit::Minutes|RDTimeEdit::Seconds|
RDTimeEdit::Tenths);
rdcart_controls.forced_length_edit->setFont(line_edit_font);
rdcart_forced_length_ledit=new QLineEdit(this);
rdcart_forced_length_ledit->setGeometry(535,36,80,21);
rdcart_forced_length_ledit->setFont(line_edit_font);
rdcart_forced_length_ledit->hide();
rdcart_forced_length_ledit->setReadOnly(true);
rdcart_forced_length_label=
new QLabel(rdcart_controls.forced_length_edit,tr("Forced Length:"),this);
rdcart_forced_length_label->setGeometry(415,38,110,19);
rdcart_forced_length_label->setFont(button_font);
rdcart_forced_length_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_forced_length_label->setGeometry(415,38,110,20);
rdcart_forced_length_label->setFont(labelFont());
rdcart_forced_length_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
if(lib_cart_list_edit!=NULL) {
rdcart_forced_length_label->hide();
rdcart_controls.forced_length_edit->hide();
@ -242,9 +208,10 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
rdcart_preserve_pitch_button->setGeometry(430,38,20,15);
rdcart_preserve_pitch_label=
new QLabel(rdcart_preserve_pitch_button,tr("Preserve Pitch"),this);
rdcart_preserve_pitch_label->setGeometry(450,38,140,19);
rdcart_preserve_pitch_label->setFont(button_font);
rdcart_preserve_pitch_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);
rdcart_preserve_pitch_label->setGeometry(450,38,140,21);
rdcart_preserve_pitch_label->setFont(labelFont());
rdcart_preserve_pitch_label->
setAlignment(Qt::AlignLeft|Qt::AlignVCenter|Qt::TextShowMnemonic);
// ???????????????????????????????
rdcart_preserve_pitch_button->hide();
rdcart_preserve_pitch_label->hide();
@ -254,26 +221,26 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
//
rdcart_controls.title_edit=new QLineEdit(this);
rdcart_controls.title_edit->setGeometry(135,60,480,21);
rdcart_controls.title_edit->setFont(line_edit_font);
rdcart_controls.title_edit->setMaxLength(255);
QLabel *rdcart_title_label=
new QLabel(rdcart_controls.title_edit,tr("&Title:"),this);
rdcart_title_label->setGeometry(10,62,120,19);
rdcart_title_label->setFont(button_font);
rdcart_title_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_title_label->setGeometry(10,62,120,21);
rdcart_title_label->setFont(labelFont());
rdcart_title_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Start Date
//
rdcart_start_date_edit=new QLineEdit(this);
rdcart_start_date_edit->setGeometry(135,84,100,21);
rdcart_start_date_edit->setFont(line_edit_font);
rdcart_start_date_edit->setMaxLength(255);
QLabel *rdcart_start_date_label=
new QLabel(rdcart_start_date_edit,tr("&Start Date:"),this);
rdcart_start_date_label->setGeometry(10,86,120,19);
rdcart_start_date_label->setFont(button_font);
rdcart_start_date_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_start_date_label->setGeometry(10,86,120,21);
rdcart_start_date_label->setFont(labelFont());
rdcart_start_date_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_start_date_edit->hide();
rdcart_start_date_label->hide();
@ -282,13 +249,13 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
//
rdcart_end_date_edit=new QLineEdit(this);
rdcart_end_date_edit->setGeometry(350,84,100,21);
rdcart_end_date_edit->setFont(line_edit_font);
rdcart_end_date_edit->setMaxLength(255);
QLabel *rdcart_end_date_label=
new QLabel(rdcart_end_date_edit,tr("&End Date:"),this);
rdcart_end_date_label->setGeometry(260,86,85,19);
rdcart_end_date_label->setFont(button_font);
rdcart_end_date_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_end_date_label->setGeometry(260,86,85,21);
rdcart_end_date_label->setFont(labelFont());
rdcart_end_date_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_end_date_edit->hide();
rdcart_end_date_label->hide();
@ -297,13 +264,13 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
//
rdcart_controls.artist_edit=new QLineEdit(this);
rdcart_controls.artist_edit->setGeometry(135,84,480,21);
rdcart_controls.artist_edit->setFont(line_edit_font);
rdcart_controls.artist_edit->setMaxLength(255);
QLabel *rdcart_artist_label=
new QLabel(rdcart_controls.artist_edit,tr("&Artist:"),this);
rdcart_artist_label->setGeometry(10,86,120,19);
rdcart_artist_label->setFont(button_font);
rdcart_artist_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_artist_label->setGeometry(10,86,120,21);
rdcart_artist_label->setFont(labelFont());
rdcart_artist_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Origination Year
@ -312,14 +279,14 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
val->setBottom(1);
rdcart_controls.year_edit=new QLineEdit(this);
rdcart_controls.year_edit->setGeometry(135,110,50,21);
rdcart_controls.year_edit->setFont(line_edit_font);
rdcart_controls.year_edit->setValidator(val);
rdcart_controls.year_edit->setMaxLength(255);
QLabel *rdcart_year_label=
new QLabel(rdcart_controls.year_edit,tr("&Year Released:"),this);
rdcart_year_label->setGeometry(10,112,120,19);
rdcart_year_label->setFont(button_font);
rdcart_year_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
rdcart_year_label->setGeometry(10,112,120,21);
rdcart_year_label->setFont(labelFont());
rdcart_year_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Usage Code
@ -333,9 +300,9 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
rdcart_usage_box->insertItem(RDCart::usageText((RDCart::UsageCode)i));
}
QLabel *label=new QLabel(rdcart_usage_box,tr("U&sage:"),this);
label->setGeometry(195,112,70,19);
label->setFont(button_font);
label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
label->setGeometry(195,112,70,21);
label->setFont(labelFont());
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_usage_edit=new QLineEdit(this);
rdcart_usage_edit->setGeometry(270,110,150,21);
rdcart_usage_edit->setReadOnly(true);
@ -346,7 +313,7 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
QPushButton *sched_codes_button=new QPushButton(this);
sched_codes_button->setGeometry(470,106,150,28);
sched_codes_button->setDefault(true);
sched_codes_button->setFont(button_font);
sched_codes_button->setFont(buttonFont());
sched_codes_button->setText(tr("Scheduler Codes"));
connect(sched_codes_button,SIGNAL(clicked()),this,SLOT(schedCodesData()));
@ -355,131 +322,131 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
//
rdcart_controls.song_id_edit=new QLineEdit(this);
rdcart_controls.song_id_edit->setGeometry(135,135,240,21);
rdcart_controls.song_id_edit->setFont(line_edit_font);
rdcart_controls.song_id_edit->setMaxLength(32);
QLabel *rdcart_song_id_label=
new QLabel(rdcart_controls.song_id_edit,tr("Song &ID:"),this);
rdcart_song_id_label->setGeometry(10,135,120,21);
rdcart_song_id_label->setFont(button_font);
rdcart_song_id_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_song_id_label->setFont(labelFont());
rdcart_song_id_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Beats per Minute
//
rdcart_controls.bpm_spin=new QSpinBox(this);
rdcart_controls.bpm_spin->setGeometry(515,135,100,21);
rdcart_controls.bpm_spin->setFont(line_edit_font);
rdcart_controls.bpm_spin->setRange(0,300);
rdcart_controls.bpm_spin->setSpecialValueText(tr("Unknown"));
QLabel *rdcart_bpm_label=
new QLabel(rdcart_controls.bpm_spin,tr("&Beats per Minute:"),this);
rdcart_bpm_label->setGeometry(390,135,120,21);
rdcart_bpm_label->setFont(button_font);
rdcart_bpm_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_bpm_label->setFont(labelFont());
rdcart_bpm_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Album
//
rdcart_controls.album_edit=new QLineEdit(this);
rdcart_controls.album_edit->setGeometry(135,158,480,21);
rdcart_controls.album_edit->setFont(line_edit_font);
rdcart_controls.album_edit->setMaxLength(255);
QLabel *rdcart_album_label=
new QLabel(rdcart_controls.album_edit,tr("Al&bum:"),this);
rdcart_album_label->setGeometry(10,158,120,21);
rdcart_album_label->setFont(button_font);
rdcart_album_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_album_label->setFont(labelFont());
rdcart_album_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Label
//
rdcart_controls.label_edit=new QLineEdit(this);
rdcart_controls.label_edit->setGeometry(135,182,480,21);
rdcart_controls.label_edit->setFont(line_edit_font);
rdcart_controls.label_edit->setMaxLength(64);
QLabel *rdcart_label_label=
new QLabel(rdcart_controls.label_edit,tr("Re&cord Label:"),this);
rdcart_label_label->setGeometry(10,182,120,21);
rdcart_label_label->setFont(button_font);
rdcart_label_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_label_label->setFont(labelFont());
rdcart_label_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Client
//
rdcart_controls.client_edit=new QLineEdit(this);
rdcart_controls.client_edit->setGeometry(135,206,480,21);
rdcart_controls.client_edit->setFont(line_edit_font);
rdcart_controls.client_edit->setMaxLength(64);
QLabel *rdcart_client_label=
new QLabel(rdcart_controls.label_edit,tr("C&lient:"),this);
rdcart_client_label->setGeometry(10,206,120,21);
rdcart_client_label->setFont(button_font);
rdcart_client_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_client_label->setFont(labelFont());
rdcart_client_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Agency
//
rdcart_controls.agency_edit=new QLineEdit(this);
rdcart_controls.agency_edit->setGeometry(135,230,480,21);
rdcart_controls.agency_edit->setFont(line_edit_font);
rdcart_controls.agency_edit->setMaxLength(64);
QLabel *rdcart_agency_label=
new QLabel(rdcart_controls.label_edit,tr("A&gency:"),this);
rdcart_agency_label->setGeometry(10,230,120,21);
rdcart_agency_label->setFont(button_font);
rdcart_agency_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_agency_label->setFont(labelFont());
rdcart_agency_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Publisher
//
rdcart_controls.publisher_edit=new QLineEdit(this);
rdcart_controls.publisher_edit->setGeometry(135,254,480,21);
rdcart_controls.publisher_edit->setFont(line_edit_font);
rdcart_controls.publisher_edit->setMaxLength(64);
QLabel *rdcart_publisher_label=
new QLabel(rdcart_controls.label_edit,tr("&Publisher:"),this);
rdcart_publisher_label->setGeometry(10,254,120,21);
rdcart_publisher_label->setFont(button_font);
rdcart_publisher_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_publisher_label->setFont(labelFont());
rdcart_publisher_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Composer
//
rdcart_controls.composer_edit=new QLineEdit(this);
rdcart_controls.composer_edit->setGeometry(135,278,480,21);
rdcart_controls.composer_edit->setFont(line_edit_font);
rdcart_controls.composer_edit->setMaxLength(64);
QLabel *rdcart_composer_label=
new QLabel(rdcart_controls.label_edit,tr("Compos&er:"),this);
rdcart_composer_label->setGeometry(10,278,120,21);
rdcart_composer_label->setFont(button_font);
rdcart_composer_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_composer_label->setFont(labelFont());
rdcart_composer_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart Conductor
//
rdcart_controls.conductor_edit=new QLineEdit(this);
rdcart_controls.conductor_edit->setGeometry(135,302,480,21);
rdcart_controls.conductor_edit->setFont(line_edit_font);
rdcart_controls.conductor_edit->setMaxLength(255);
QLabel *rdcart_conductor_label=
new QLabel(rdcart_controls.label_edit,tr("Cond&uctor:"),this);
rdcart_conductor_label->setGeometry(10,302,120,21);
rdcart_conductor_label->setFont(button_font);
rdcart_conductor_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_conductor_label->setFont(labelFont());
rdcart_conductor_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Cart User Defined
//
rdcart_controls.user_defined_edit=new QLineEdit(this);
rdcart_controls.user_defined_edit->setGeometry(135,325,480,21);
rdcart_controls.user_defined_edit->setFont(line_edit_font);
rdcart_controls.user_defined_edit->setMaxLength(255);
QLabel *rdcart_user_defined_label=
new QLabel(rdcart_controls.label_edit,tr("&User Defined:"),this);
rdcart_user_defined_label->setGeometry(10,325,120,21);
rdcart_user_defined_label->setFont(button_font);
rdcart_user_defined_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_user_defined_label->setFont(labelFont());
rdcart_user_defined_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Synchronous Scheduling Policy
@ -491,9 +458,10 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
rdcart_syncronous_box->hide();
QLabel *rdcart_syncronous_label=
new QLabel(rdcart_syncronous_box,tr("Execute Asynchronously"),this);
rdcart_syncronous_label->setGeometry(155,351,200,19);
rdcart_syncronous_label->setFont(button_font);
rdcart_syncronous_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);
rdcart_syncronous_label->setGeometry(155,348,200,21);
rdcart_syncronous_label->setFont(labelFont());
rdcart_syncronous_label->
setAlignment(Qt::AlignLeft|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_syncronous_label->hide();
//
@ -508,9 +476,10 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
new QLabel(rdcart_use_event_length_box,
tr("Use RDLogManager Length for PAD Updates"),this);
// tr("Use Event Length for Now && Next Updates"),this);
rdcart_use_event_length_label->setGeometry(350,351,sizeHint().width()-350,19);
rdcart_use_event_length_label->setFont(button_font);
rdcart_use_event_length_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);
rdcart_use_event_length_label->setGeometry(350,348,sizeHint().width()-350,21);
rdcart_use_event_length_label->setFont(labelFont());
rdcart_use_event_length_label->
setAlignment(Qt::AlignLeft|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_use_event_length_label->hide();
//
@ -525,16 +494,17 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
rdcart_cut_sched_edit->hide();
QLabel *rdcart_cut_sched_label=
new QLabel(rdcart_cut_sched_box,tr("Schedule Cuts")+":",this);
rdcart_cut_sched_label->setGeometry(10,348,120,19);
rdcart_cut_sched_label->setFont(button_font);
rdcart_cut_sched_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
rdcart_cut_sched_label->setGeometry(10,348,120,21);
rdcart_cut_sched_label->setFont(labelFont());
rdcart_cut_sched_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter|Qt::TextShowMnemonic);
//
// Notes Button
//
rdcart_notes_button=new QPushButton(this);
rdcart_notes_button->setGeometry(10,sizeHint().height()-60,80,50);
rdcart_notes_button->setFont(button_font);
rdcart_notes_button->setFont(buttonFont());
rdcart_notes_button->setText(tr("&Edit\nNotes"));
connect(rdcart_notes_button,SIGNAL(clicked()),this,SLOT(notesData()));
@ -543,7 +513,7 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
//
QPushButton *script_button=new QPushButton(this);
script_button->setGeometry(450,304,80,50);
script_button->setFont(button_font);
script_button->setFont(buttonFont());
script_button->setText(tr("&Edit\nScript"));
connect(script_button,SIGNAL(clicked()),this,SLOT(scriptData()));
script_button->hide();
@ -597,7 +567,7 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
else
ok_button->setGeometry(sizeHint().width()-180,sizeHint().height()-60-270,80,50);
ok_button->setDefault(true);
ok_button->setFont(button_font);
ok_button->setFont(buttonFont());
ok_button->setText(tr("&OK"));
connect(ok_button,SIGNAL(clicked()),this,SLOT(okData()));
@ -611,7 +581,7 @@ EditCart::EditCart(unsigned number,QString *path,bool new_cart,bool profile_rip,
else
cancel_button->setGeometry(sizeHint().width()-90,sizeHint().height()-60-270,
80,50);
cancel_button->setFont(button_font);
cancel_button->setFont(buttonFont());
cancel_button->setText(tr("&Cancel"));
connect(cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Cart
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -21,28 +21,14 @@
#ifndef EDIT_CART_H
#define EDIT_CART_H
#include <qdialog.h>
#include <qlabel.h>
#include <q3listview.h>
#include <q3listbox.h>
#include <qcombobox.h>
#include <q3textedit.h>
#include <qpixmap.h>
#include <qcheckbox.h>
#include <qlineedit.h>
#include <qcheckbox.h>
#include <q3datetimeedit.h>
#include <rdcart.h>
#include <rdlibrary_conf.h>
#include <rddialog.h>
#include "audio_cart.h"
#include "audio_controls.h"
#include "globals.h"
#include "macro_cart.h"
class EditCart : public QDialog
class EditCart : public RDDialog
{
Q_OBJECT
public:

View File

@ -19,28 +19,19 @@
//
#include <qpushbutton.h>
#include <qlabel.h>
#include "edit_macro.h"
EditMacro::EditMacro(RDMacro *cmd,bool highlight,QWidget *parent)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMaximumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
//
// Generate Fonts
//
QFont button_font("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
setMinimumSize(sizeHint());
setMaximumSize(sizeHint());
//
// Macro
@ -55,7 +46,7 @@ EditMacro::EditMacro(RDMacro *cmd,bool highlight,QWidget *parent)
//
edit_ok_button=new QPushButton(this);
edit_ok_button->setDefault(true);
edit_ok_button->setFont(button_font);
edit_ok_button->setFont(buttonFont());
edit_ok_button->setText(tr("&OK"));
connect(edit_ok_button,SIGNAL(clicked()),this,SLOT(okData()));
@ -63,7 +54,7 @@ EditMacro::EditMacro(RDMacro *cmd,bool highlight,QWidget *parent)
// Cancel Button
//
edit_cancel_button=new QPushButton(this);
edit_cancel_button->setFont(button_font);
edit_cancel_button->setFont(buttonFont());
edit_cancel_button->setText(tr("&Cancel"));
connect(edit_cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Macro
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -21,14 +21,12 @@
#ifndef EDIT_MACRO_H
#define EDIT_MACRO_H
#include <qdialog.h>
#include <qlineedit.h>
#include <qpushbutton.h>
#include <rdcart.h>
#include <rddialog.h>
#include <rdmacro.h>
class EditMacro : public QDialog
class EditMacro : public RDDialog
{
Q_OBJECT
public:

View File

@ -3,7 +3,7 @@
// Edit the scheduler codes of a cart
//
// (C) Copyright Stefan Gabriel <stg@st-gabriel.de>
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -19,22 +19,15 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <qdialog.h>
#include <qstring.h>
#include <qpushbutton.h>
#include <qpainter.h>
#include <qmessagebox.h>
#include <rddb.h>
#include <edit_schedulercodes.h>
#include "edit_schedulercodes.h"
EditSchedulerCodes::EditSchedulerCodes(QString *sched_codes,
QString *remove_codes,QWidget *parent)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
edit_sched_codes=sched_codes;
edit_remove_codes=remove_codes;
@ -42,6 +35,8 @@ EditSchedulerCodes::EditSchedulerCodes(QString *sched_codes,
RDSqlQuery *q;
QString str;
setWindowTitle("RDLibrary - "+tr("Select Scheduler Codes"));
//
// Fix the Window Size
//
@ -56,23 +51,10 @@ EditSchedulerCodes::EditSchedulerCodes(QString *sched_codes,
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
setWindowTitle("RDLibrary - "+tr("Select Scheduler Codes"));
//
// Create Fonts
//
QFont font=QFont("Helvetica",11,QFont::Bold);
font.setPixelSize(11);
QFont listfont=QFont("Helvetica",11);
font.setPixelSize(11);
//
// Services Selector
//
codes_sel=new RDListSelector(this);
codes_sel->setFont(listfont);
codes_sel->setGeometry(10,10,380,200);
codes_sel->sourceSetLabel(tr("Available Codes"));
if(edit_remove_codes==NULL) {
@ -82,7 +64,6 @@ EditSchedulerCodes::EditSchedulerCodes(QString *sched_codes,
codes_sel->destSetLabel(tr("ASSIGN to Carts"));
remove_codes_sel=new RDListSelector(this);
remove_codes_sel->setFont(listfont);
remove_codes_sel->setGeometry(sizeHint().width()+10,10,380,200);
remove_codes_sel->sourceSetLabel(tr("Available Codes"));
remove_codes_sel->destSetLabel(tr("REMOVE from Carts"));
@ -97,7 +78,7 @@ EditSchedulerCodes::EditSchedulerCodes(QString *sched_codes,
else
ok_button->setGeometry(2*sizeHint().width()-180,sizeHint().height()-60,80,50);
ok_button->setDefault(true);
ok_button->setFont(font);
ok_button->setFont(buttonFont());
ok_button->setText(tr("&OK"));
connect(ok_button,SIGNAL(clicked()),this,SLOT(okData()));
@ -111,7 +92,7 @@ EditSchedulerCodes::EditSchedulerCodes(QString *sched_codes,
else
cancel_button->setGeometry(2*sizeHint().width()-90,sizeHint().height()-60,
80,50);
cancel_button->setFont(font);
cancel_button->setFont(buttonFont());
cancel_button->setText(tr("&Cancel"));
connect(cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));

View File

@ -3,7 +3,7 @@
// Edit the scheduler codes of a cart
//
// (C) Copyright Stefan Gabriel <stg@st-gabriel.de>
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -22,13 +22,10 @@
#ifndef EDIT_SCHEDULERCODES_H
#define EDIT_SCHEDULERCODES_H
#include <qdialog.h>
#include <qlabel.h>
#include <qsqldatabase.h>
#include <rddialog.h>
#include <rdlistselector.h>
class EditSchedulerCodes : public QDialog
class EditSchedulerCodes : public RDDialog
{
Q_OBJECT
public:

View File

@ -1,131 +0,0 @@
// filter.cpp
//
// Set Filter widget for RDLibrary.
//
// (C) Copyright 2002-2018 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 <qdialog.h>
#include <qstring.h>
#include <qpushbutton.h>
#include <qradiobutton.h>
#include <qlineedit.h>
#include <q3textedit.h>
#include <qlabel.h>
#include <qpainter.h>
#include <qevent.h>
#include <qmessagebox.h>
#include <q3buttongroup.h>
#include <filter.h>
Filter::Filter(QString *filter,QWidget *parent)
: QDialog(parent)
{
setModal(true);
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMaximumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
//
// Generate Fonts
//
QFont label_font=QFont("Helvetica",12,QFont::Bold);
label_font.setPixelSize(12);
QFont button_font=QFont("Helvetica",14,QFont::Bold);
button_font.setPixelSize(14);
filter_text=filter;
setWindowTitle("RDLibrary - "+tr("Library Filter"));
//
// OK Button
//
QPushButton *ok_button=new QPushButton(this);
ok_button->setGeometry(15,40,100,55);
ok_button->setFont(button_font);
ok_button->setText(tr("&OK"));
ok_button->setDefault(true);
connect(ok_button,SIGNAL(clicked()),this,SLOT(okData()));
//
// Clear Button
//
QPushButton *clear_button=new QPushButton(this);
clear_button->setGeometry(125,40,100,55);
clear_button->setFont(button_font);
clear_button->setText(tr("C&lear"));
connect(clear_button,SIGNAL(clicked()),this,SLOT(clearData()));
//
// Cancel Button
//
QPushButton *cancel_button=new QPushButton(this);
cancel_button->setGeometry(235,40,100,55);
cancel_button->setFont(button_font);
cancel_button->setText(tr("&Cancel"));
connect(cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));
//
// Filter Text
//
filter_text_edit=new QLineEdit(this);
filter_text_edit->setGeometry(65,10,275,19);
filter_text_edit->setMaxLength(16);
filter_text_edit->setFocus();
filter_text_edit->setFont(QFont("Helvetica",14,QFont::Normal));
filter_text_edit->setText(*filter);
QLabel *filter_text_label=new QLabel(filter_text_edit,tr("&Filter:"),this);
filter_text_label->setGeometry(10,12,50,19);
filter_text_label->setFont(label_font);
filter_text_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);
}
QSize Filter::sizeHint() const
{
return QSize(350,100);
}
QSizePolicy Filter::sizePolicy() const
{
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
}
void Filter::okData()
{
*filter_text=filter_text_edit->text();
done(0);
}
void Filter::clearData()
{
filter_text_edit->clear();
}
void Filter::cancelData()
{
done(1);
}

View File

@ -1,50 +0,0 @@
// filter.h
//
// Set Filter Widget for RDLibrary.
//
// (C) Copyright 2002-2018 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 FILTER_H
#define FILTER_H
#include <qdialog.h>
#include <qlineedit.h>
#include <q3textedit.h>
#include <qpixmap.h>
#include <qradiobutton.h>
class Filter : public QDialog
{
Q_OBJECT
public:
Filter(QString *filter,QWidget *parent=0);
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
private slots:
void okData();
void clearData();
void cancelData();
private:
QString *filter_text;
QLineEdit *filter_text_edit;
};
#endif

View File

@ -18,15 +18,10 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <qdialog.h>
#include <qpushbutton.h>
#include <qstringlist.h>
#include <rdapplication.h>
#include <rdcart.h>
#include <rdcart_search_text.h>
#include <rdconf.h>
#include <rddb.h>
#include <rdreport.h>
#include <rdtextfile.h>
@ -36,30 +31,20 @@
ListReports::ListReports(const QString &filter,const QString &type_filter,
const QString &group,const QString &schedcode,
QWidget *parent)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
list_filter=filter;
list_type_filter=type_filter;
list_group=group;
list_schedcode=schedcode;
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMaximumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
setWindowTitle("RDLibrary - "+tr("Select Report"));
//
// Create Fonts
// Fix the Window Size
//
QFont font=QFont("Helvetica",12,QFont::Bold);
font.setPixelSize(12);
setMinimumSize(sizeHint());
setMaximumSize(sizeHint());
//
// Reports List
@ -71,7 +56,7 @@ ListReports::ListReports(const QString &filter,const QString &type_filter,
list_reports_box->insertItem(tr("Cart Data Dump (CSV)"));
list_reports_label=new QLabel(list_reports_box,tr("Type:"),this);
list_reports_label->setGeometry(10,10,35,19);
list_reports_label->setFont(font);
list_reports_label->setFont(labelFont());
list_reports_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
connect(list_reports_box,SIGNAL(activated(int)),
this,SLOT(typeActivatedData(int)));
@ -86,7 +71,7 @@ ListReports::ListReports(const QString &filter,const QString &type_filter,
list_fieldnames_label=
new QLabel(list_fieldnames_check,tr("Prepend Field Names"),this);
list_fieldnames_label->setGeometry(75,32,sizeHint().width()-75,19);
list_fieldnames_label->setFont(font);
list_fieldnames_label->setFont(labelFont());
list_fieldnames_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
list_fieldnames_label->setDisabled(true);
@ -97,7 +82,7 @@ ListReports::ListReports(const QString &filter,const QString &type_filter,
generate_button->
setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50);
generate_button->setDefault(true);
generate_button->setFont(font);
generate_button->setFont(buttonFont());
generate_button->setText(tr("&Generate"));
connect(generate_button,SIGNAL(clicked()),this,SLOT(generateData()));
@ -107,7 +92,7 @@ ListReports::ListReports(const QString &filter,const QString &type_filter,
QPushButton *close_button=new QPushButton(this);
close_button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,
80,50);
close_button->setFont(font);
close_button->setFont(buttonFont());
close_button->setText(tr("&Close"));
connect(close_button,SIGNAL(clicked()),this,SLOT(closeData()));
}

View File

@ -2,7 +2,7 @@
//
// List and Generate RDLibrary Reports
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -21,14 +21,13 @@
#ifndef LIST_REPORTS_H
#define LIST_REPORTS_H
#include <qdialog.h>
#include <qcombobox.h>
#include <qcheckbox.h>
#include <qlabel.h>
#include <rdsvc.h>
#include <rddialog.h>
class ListReports : public QDialog
class ListReports : public RDDialog
{
Q_OBJECT
public:

View File

@ -2,7 +2,7 @@
//
// The macro cart editor for RDLibrary.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -18,23 +18,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <unistd.h>
#include <qbitmap.h>
#include <qdialog.h>
#include <qstring.h>
#include <q3listview.h>
#include <q3listbox.h>
#include <q3textedit.h>
#include <qpainter.h>
#include <qevent.h>
#include <qmessagebox.h>
#include <qcheckbox.h>
#include <q3buttongroup.h>
#include <rd.h>
#include <rdapplication.h>
#include <rdaudio_exists.h>
#include "cdripper.h"
#include "edit_macro.h"
@ -42,9 +26,8 @@
#include "macro_cart.h"
#include "record_cut.h"
MacroCart::MacroCart(RDCart *cart,QWidget *parent)
: QWidget(parent)
: RDWidget(parent)
{
rdcart_length=0;
rdcart_cart=cart;
@ -52,20 +35,12 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
rdcart_cart->title());
rdcart_allow_modification=rda->user()->modifyCarts();
//
// Generate Fonts
//
QFont button_font=QFont("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
QFont line_edit_font=QFont("Helvetica",12,QFont::Normal);
line_edit_font.setPixelSize(12);
//
// Add Macro Button
//
rdcart_add_button=new QPushButton(this);
rdcart_add_button->setGeometry(10,0,80,50);
rdcart_add_button->setFont(button_font);
rdcart_add_button->setFont(buttonFont());
rdcart_add_button->setText(tr("Add"));
rdcart_add_button->setEnabled(false);
connect(rdcart_add_button,SIGNAL(clicked()),this,SLOT(addMacroData()));
@ -75,7 +50,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
//
rdcart_delete_button=new QPushButton(this);
rdcart_delete_button->setGeometry(10,60,80,50);
rdcart_delete_button->setFont(button_font);
rdcart_delete_button->setFont(buttonFont());
rdcart_delete_button->setText(tr("Delete"));
rdcart_delete_button->setEnabled(false);
connect(rdcart_delete_button,SIGNAL(clicked()),this,SLOT(deleteMacroData()));
@ -85,7 +60,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
//
rdcart_copy_button=new QPushButton(this);
rdcart_copy_button->setGeometry(10,120,80,50);
rdcart_copy_button->setFont(button_font);
rdcart_copy_button->setFont(buttonFont());
rdcart_copy_button->setText(tr("Copy"));
rdcart_copy_button->setEnabled(false);
connect(rdcart_copy_button,SIGNAL(clicked()),this,SLOT(copyMacroData()));
@ -95,7 +70,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
//
paste_macro_button=new QPushButton(this);
paste_macro_button->setGeometry(10,180,80,50);
paste_macro_button->setFont(button_font);
paste_macro_button->setFont(buttonFont());
paste_macro_button->setText(tr("Paste"));
paste_macro_button->setDisabled(true);
paste_macro_button->setEnabled(false);
@ -129,7 +104,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
rdcart_macro_list_label=new QLabel(rdcart_macro_list,tr("Macros"),this);
rdcart_macro_list_label->setGeometry(105,345,430,22);
rdcart_macro_list_label->setFont(QFont("Helvetica",16,QFont::Bold));
rdcart_macro_list_label->setFont(progressFont());
RefreshList();
@ -138,7 +113,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
//
rdcart_edit_button=new QPushButton(this);
rdcart_edit_button->setGeometry(550,0,80,50);
rdcart_edit_button->setFont(button_font);
rdcart_edit_button->setFont(buttonFont());
rdcart_edit_button->setText(tr("Edit"));
rdcart_edit_button->setEnabled(false);
connect(rdcart_edit_button,SIGNAL(clicked()),this,SLOT(editMacroData()));
@ -148,7 +123,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
//
rdcart_runline_button=new QPushButton(this);
rdcart_runline_button->setGeometry(550,120,80,50);
rdcart_runline_button->setFont(button_font);
rdcart_runline_button->setFont(buttonFont());
rdcart_runline_button->setText(tr("Run\nLine"));
rdcart_runline_button->setEnabled(false);
connect(rdcart_runline_button,SIGNAL(clicked()),
@ -159,7 +134,7 @@ MacroCart::MacroCart(RDCart *cart,QWidget *parent)
//
rdcart_runcart_button=new QPushButton(this);
rdcart_runcart_button->setGeometry(550,180,80,50);
rdcart_runcart_button->setFont(button_font);
rdcart_runcart_button->setFont(buttonFont());
rdcart_runcart_button->setText(tr("Run\nCart"));
connect(rdcart_runcart_button,SIGNAL(clicked()),
this,SLOT(runCartMacroData()));

View File

@ -2,7 +2,7 @@
//
// The macro cart editor for RDLibrary.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -21,25 +21,15 @@
#ifndef MACRO_CART_H
#define MACRO_CART_H
#include <qwidget.h>
#include <qlabel.h>
#include <q3listview.h>
#include <q3listbox.h>
#include <qcombobox.h>
#include <q3textedit.h>
#include <qpixmap.h>
#include <qcheckbox.h>
#include <qlineedit.h>
#include <qcheckbox.h>
#include <qpushbutton.h>
#include <globals.h>
#include <rdcart.h>
#include <rdlibrary_conf.h>
#include <rdmacro_event.h>
#include <rdwidget.h>
class MacroCart : public QWidget
#include "globals.h"
class MacroCart : public RDWidget
{
Q_OBJECT
public:

View File

@ -2,7 +2,7 @@
//
// The Library Utility for Rivendell.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -18,47 +18,24 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <qapplication.h>
#include <qwindowsstyle.h>
#include <qeventloop.h>
#include <qwidget.h>
#include <qpainter.h>
#include <q3sqlpropertymap.h>
#include <qmessagebox.h>
#include <qlabel.h>
#include <qtextcodec.h>
#include <qtranslator.h>
#include <qlabel.h>
#include <q3listview.h>
#include <q3progressdialog.h>
#include <qtooltip.h>
#include <qstylefactory.h>
#include <qkeysequence.h>
#include <qshortcut.h>
#include <qtranslator.h>
#include <curl/curl.h>
#include <dbversion.h>
#include <rd.h>
#include <rdadd_cart.h>
#include <rdapplication.h>
#include <rdaudio_port.h>
#include <rdcart_search_text.h>
#include <rdconf.h>
#include <rdescape_string.h>
#include <rdmixer.h>
#include <rdprofile.h>
#include <rdtextvalidator.h>
#include "cdripper.h"
#include "disk_ripper.h"
#include "edit_cart.h"
#include "filter.h"
#include "globals.h"
#include "list_reports.h"
#include "rdlibrary.h"
@ -85,8 +62,8 @@ void SigHandler(int signo);
#include "../icons/track_cart.xpm"
#include "../icons/rdlibrary-22x22.xpm"
MainWidget::MainWidget(QWidget *parent)
:QWidget(parent)
MainWidget::MainWidget(RDConfig *c,QWidget *parent)
: RDWidget(c,parent)
{
QString err_msg;
@ -98,25 +75,13 @@ MainWidget::MainWidget(QWidget *parent)
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
setMinimumSize(sizeHint());
//
// Initialize LibCurl
//
curl_global_init(CURL_GLOBAL_ALL);
//
// Generate Fonts
//
QFont default_font("Helvetica",12,QFont::Normal);
default_font.setPixelSize(12);
qApp->setFont(default_font);
QFont button_font=QFont("Helvetica",12,QFont::Bold);
button_font.setPixelSize(12);
QFont filter_font=QFont("Helvetica",16,QFont::Bold);
filter_font.setPixelSize(16);
//
// Create Icons
//
@ -130,13 +95,12 @@ MainWidget::MainWidget(QWidget *parent)
// Progress Dialog
//
lib_progress_dialog=
new Q3ProgressDialog(tr("Please Wait..."),"Cancel",10,this,
"lib_progress_dialog",false,
new QProgressDialog(tr("Please Wait..."),tr("Cancel"),0,10,this,
Qt::WStyle_Customize|Qt::WStyle_NormalBorder);
lib_progress_dialog->setCaption(" ");
QLabel *label=new QLabel(tr("Please Wait..."),lib_progress_dialog);
label->setAlignment(Qt::AlignCenter);
label->setFont(filter_font);
label->setFont(progressFont());
lib_progress_dialog->setLabel(label);
lib_progress_dialog->setCancelButton(NULL);
lib_progress_dialog->setMinimumDuration(2000);
@ -195,9 +159,8 @@ MainWidget::MainWidget(QWidget *parent)
// Filter
//
lib_filter_edit=new QLineEdit(this);
lib_filter_edit->setFont(default_font);
lib_filter_label=new QLabel(lib_filter_edit,tr("Filter:"),this);
lib_filter_label->setFont(button_font);
lib_filter_label->setFont(labelFont());
lib_filter_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
connect(lib_filter_edit,SIGNAL(textChanged(const QString &)),
this,SLOT(filterChangedData(const QString &)));
@ -208,7 +171,7 @@ MainWidget::MainWidget(QWidget *parent)
// Filter Search Button
//
lib_search_button=new QPushButton(tr("&Search"),this);
lib_search_button->setFont(button_font);
lib_search_button->setFont(buttonFont());
connect(lib_search_button,SIGNAL(clicked()),this,SLOT(searchClickedData()));
switch(lib_filter_mode) {
case RDStation::FilterSynchronous:
@ -223,7 +186,7 @@ MainWidget::MainWidget(QWidget *parent)
// Filter Clear Button
//
lib_clear_button=new QPushButton(tr("&Clear"),this);
lib_clear_button->setFont(button_font);
lib_clear_button->setFont(buttonFont());
lib_clear_button->setDisabled(true);
connect(lib_clear_button,SIGNAL(clicked()),this,SLOT(clearClickedData()));
@ -231,9 +194,8 @@ MainWidget::MainWidget(QWidget *parent)
// Group Filter
//
lib_group_box=new QComboBox(this);
lib_group_box->setFont(default_font);
lib_group_label=new QLabel(lib_group_box,tr("Group:"),this);
lib_group_label->setFont(button_font);
lib_group_label->setFont(labelFont());
lib_group_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
connect(lib_group_box,SIGNAL(activated(const QString &)),
this,SLOT(groupActivatedData(const QString &)));
@ -242,9 +204,8 @@ MainWidget::MainWidget(QWidget *parent)
// Scheduler Codes Filter
//
lib_codes_box=new QComboBox(this);
lib_codes_box->setFont(default_font);
lib_codes_label=new QLabel(lib_codes_box,tr("Scheduler Code:"),this);
lib_codes_label->setFont(button_font);
lib_codes_label->setFont(labelFont());
lib_codes_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
connect(lib_codes_box,SIGNAL(activated(const QString &)),
this,SLOT(groupActivatedData(const QString &)));
@ -253,9 +214,8 @@ MainWidget::MainWidget(QWidget *parent)
// Scheduler Codes2 Filter
//
lib_codes2_box=new QComboBox(this);
lib_codes2_box->setFont(default_font);
lib_codes2_label=new QLabel(lib_codes2_box,tr("And Scheduler Code:"),this);
lib_codes2_label->setFont(button_font);
lib_codes2_label->setFont(labelFont());
lib_codes2_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
connect(lib_codes2_box,SIGNAL(activated(const QString &)),
this,SLOT(groupActivatedData(const QString &)));
@ -264,10 +224,9 @@ MainWidget::MainWidget(QWidget *parent)
// Results Counter
//
lib_matches_edit=new QLineEdit(this);
lib_matches_edit->setFont(default_font);
lib_matches_edit->setReadOnly(true);
lib_matches_label=new QLabel(lib_matches_edit,tr("Matching Carts:"),this);
lib_matches_label->setFont(button_font);
lib_matches_label->setFont(labelFont());
//
// Show Allow Cart Drags Checkbox
@ -276,7 +235,7 @@ MainWidget::MainWidget(QWidget *parent)
lib_allowdrag_box->setChecked(false);
lib_allowdrag_label=
new QLabel(lib_allowdrag_box,tr("Allow Cart Dragging"),this);
lib_allowdrag_label->setFont(button_font);
lib_allowdrag_label->setFont(labelFont());
lib_allowdrag_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
connect(lib_allowdrag_box,SIGNAL(stateChanged(int)),
this,SLOT(dragsChangedData(int)));
@ -291,7 +250,7 @@ MainWidget::MainWidget(QWidget *parent)
lib_showaudio_box=new QCheckBox(this);
lib_showaudio_box->setChecked(true);
lib_showaudio_label=new QLabel(lib_showaudio_box,tr("Show Audio Carts"),this);
lib_showaudio_label->setFont(button_font);
lib_showaudio_label->setFont(labelFont());
lib_showaudio_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
connect(lib_showaudio_box,SIGNAL(stateChanged(int)),
this,SLOT(audioChangedData(int)));
@ -302,7 +261,7 @@ MainWidget::MainWidget(QWidget *parent)
lib_showmacro_box=new QCheckBox(this);
lib_showmacro_box->setChecked(true);
lib_showmacro_label=new QLabel(lib_showmacro_box,tr("Show Macro Carts"),this);
lib_showmacro_label->setFont(button_font);
lib_showmacro_label->setFont(labelFont());
lib_showmacro_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
connect(lib_showmacro_box,SIGNAL(stateChanged(int)),
this,SLOT(macroChangedData(int)));
@ -314,7 +273,7 @@ MainWidget::MainWidget(QWidget *parent)
lib_shownotes_box->setChecked(true);
lib_shownotes_label=
new QLabel(lib_shownotes_box,tr("Show Note Bubbles"),this);
lib_shownotes_label->setFont(button_font);
lib_shownotes_label->setFont(labelFont());
lib_shownotes_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
//
@ -325,7 +284,7 @@ MainWidget::MainWidget(QWidget *parent)
new QLabel(lib_showmatches_box,tr("Show Only First ")+
QString().sprintf("%d",RD_LIMITED_CART_SEARCH_QUANTITY)+
tr(" Matches"),this);
lib_showmatches_label->setFont(button_font);
lib_showmatches_label->setFont(labelFont());
lib_showmatches_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
connect(lib_showmatches_box,SIGNAL(stateChanged(int)),
this,SLOT(searchLimitChangedData(int)));
@ -334,7 +293,6 @@ MainWidget::MainWidget(QWidget *parent)
// Cart List
//
lib_cart_list=new LibListView(this);
lib_cart_list->setFont(default_font);
lib_cart_list->setAllColumnsShowFocus(true);
lib_cart_list->setItemMargin(5);
lib_cart_list->setSelectionMode(Q3ListView::Extended);
@ -425,7 +383,7 @@ MainWidget::MainWidget(QWidget *parent)
// Add Button
//
lib_add_button=new QPushButton(this);
lib_add_button->setFont(button_font);
lib_add_button->setFont(buttonFont());
lib_add_button->setText(tr("&Add"));
connect(lib_add_button,SIGNAL(clicked()),this,SLOT(addData()));
@ -433,7 +391,7 @@ MainWidget::MainWidget(QWidget *parent)
// Edit Button
//
lib_edit_button=new QPushButton(this);
lib_edit_button->setFont(button_font);
lib_edit_button->setFont(buttonFont());
lib_edit_button->setText(tr("&Edit"));
lib_edit_button->setEnabled(false);
connect(lib_edit_button,SIGNAL(clicked()),this,SLOT(editData()));
@ -442,7 +400,7 @@ MainWidget::MainWidget(QWidget *parent)
// Delete Button
//
lib_delete_button=new QPushButton(this);
lib_delete_button->setFont(button_font);
lib_delete_button->setFont(buttonFont());
lib_delete_button->setText(tr("&Delete"));
lib_delete_button->setEnabled(false);
connect(lib_delete_button,SIGNAL(clicked()),this,SLOT(deleteData()));
@ -451,7 +409,7 @@ MainWidget::MainWidget(QWidget *parent)
// Run Macro Button
//
lib_macro_button=new QPushButton(this);
lib_macro_button->setFont(button_font);
lib_macro_button->setFont(buttonFont());
lib_macro_button->setText(tr("Run\n&Macro"));
lib_macro_button->setEnabled(false);
lib_macro_button->setVisible(false);
@ -467,7 +425,7 @@ MainWidget::MainWidget(QWidget *parent)
// Rip Button
//
lib_rip_button=new QPushButton(this);
lib_rip_button->setFont(button_font);
lib_rip_button->setFont(buttonFont());
lib_rip_button->setText(tr("&Rip\nCD"));
connect(lib_rip_button,SIGNAL(clicked()),this,SLOT(ripData()));
@ -475,7 +433,7 @@ MainWidget::MainWidget(QWidget *parent)
// Reports Button
//
lib_reports_button=new QPushButton(this);
lib_reports_button->setFont(button_font);
lib_reports_button->setFont(buttonFont());
lib_reports_button->setText(tr("Re&ports"));
connect(lib_reports_button,SIGNAL(clicked()),this,SLOT(reportsData()));
@ -483,7 +441,7 @@ MainWidget::MainWidget(QWidget *parent)
// Close Button
//
lib_close_button=new QPushButton(this);
lib_close_button->setFont(button_font);
lib_close_button->setFont(buttonFont());
lib_close_button->setText(tr("&Close"));
connect(lib_close_button,SIGNAL(clicked()),this,SLOT(quitMainWidget()));
@ -679,7 +637,7 @@ void MainWidget::addData()
LockUser();
RDAddCart *add_cart=new RDAddCart(&lib_default_group,&cart_type,&cart_title,
"RDLibrary",rda->user()->name(),
rda->user()->name(),"RDLibrary",
rda->system(),this);
if((cart_num=add_cart->exec())<0) {
delete add_cart;
@ -1321,8 +1279,8 @@ void MainWidget::RefreshList()
int step=0;
int count=0;
int matches=0;
lib_progress_dialog->setTotalSteps(q->size()/RDLIBRARY_STEP_SIZE);
lib_progress_dialog->setProgress(0);
lib_progress_dialog->setMaximum(q->size()/RDLIBRARY_STEP_SIZE);
lib_progress_dialog->setValue(0);
while(q->next()) {
end_datetime=q->value(14).toDateTime();
@ -1410,7 +1368,7 @@ void MainWidget::RefreshList()
count++;
if(count>RDLIBRARY_STEP_SIZE) {
lib_progress_dialog->setProgress(++step);
lib_progress_dialog->setValue(++step);
count=0;
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
}
@ -1790,7 +1748,9 @@ int main(int argc,char *argv[])
//
// Start Event Loop
//
MainWidget *w=new MainWidget();
RDConfig *config=new RDConfig();
config->load();
MainWidget *w=new MainWidget(config);
a.setMainWidget(w);
w->show();
return a.exec();

View File

@ -2,7 +2,7 @@
//
// Library Utility for Rivendell.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -21,28 +21,13 @@
#ifndef RDLIBRARY_H
#define RDLIBRARY_H
#include <qdialog.h>
#include <qsize.h>
#include <qsizepolicy.h>
#include <qsqldatabase.h>
#include <rdlistview.h>
#include <qprogressdialog.h>
#include <rdsimpleplayer.h>
#include <qpushbutton.h>
#include <qcombobox.h>
#include <qlabel.h>
#include <qcheckbox.h>
#include <qpixmap.h>
#include <q3progressdialog.h>
#include <qtimer.h>
#include <rdstation.h>
#include <rdcart.h>
#include <rduser.h>
#include <rdripc.h>
#include <rdlibrary_conf.h>
#include <rdlistviewitem.h>
#include <rdconfig.h>
#include <rdwidget.h>
#include "disk_gauge.h"
#include "lib_listview.h"
@ -61,7 +46,7 @@
#define RDLIBRARY_USAGE "[--profile-ripping]\n\n--profile-ripping\n Print profiling information to stdout when performing rips from\n optical media.\n\n"
class MainWidget : public QWidget
class MainWidget : public RDWidget
{
Q_OBJECT
public:
@ -70,7 +55,7 @@ class MainWidget : public QWidget
Publisher=13,Client=14,Agency=15,UserDefined=16,
Cuts=17,LastCutPlayed=18,EnforceLength=19,PreservePitch=20,
LengthDeviation=21,OwnedBy=22};
MainWidget(QWidget *parent=0);
MainWidget(RDConfig *c,QWidget *parent=0);
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
@ -161,7 +146,7 @@ class MainWidget : public QWidget
QString lib_import_path;
QPixmap *lib_rivendell_map;
RDStation::FilterMode lib_filter_mode;
Q3ProgressDialog *lib_progress_dialog;
QProgressDialog *lib_progress_dialog;
bool profile_ripping;
bool lib_edit_pending;
bool lib_user_changed;

View File

@ -441,7 +441,7 @@ vytahování</translation>
</message>
<message>
<source>Rip Track</source>
<translation>Vytáhnout stopu</translation>
<translation type="obsolete">Vytáhnout stopu</translation>
</message>
<message>
<source>Title:</source>
@ -463,6 +463,18 @@ vytahování</translation>
<source>Rip CD</source>
<translation type="unfinished">Vytáhnout z CD</translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -1030,23 +1042,23 @@ poznámky</translation>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation>Filtr knihovny</translation>
<translation type="obsolete">Filtr knihovny</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
<translation type="obsolete">&amp;OK</translation>
</message>
<message>
<source>C&amp;lear</source>
<translation>&amp;Vyprázdnit</translation>
<translation type="obsolete">&amp;Vyprázdnit</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>Z&amp;rušit</translation>
<translation type="obsolete">Z&amp;rušit</translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation>&amp;Filtr:</translation>
<translation type="obsolete">&amp;Filtr:</translation>
</message>
</context>
<context>
@ -1495,6 +1507,10 @@ Přesto smazat?</translation>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -441,7 +441,7 @@ abbrechen</translation>
</message>
<message>
<source>Rip Track</source>
<translation>Titel rippen</translation>
<translation type="obsolete">Titel rippen</translation>
</message>
<message>
<source>Title:</source>
@ -463,6 +463,18 @@ abbrechen</translation>
<source>Rip CD</source>
<translation type="unfinished">CD rippen</translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -1018,23 +1030,23 @@ Notes</source>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation>Bibliotheksfilter</translation>
<translation type="obsolete">Bibliotheksfilter</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
<translation type="obsolete">&amp;OK</translation>
</message>
<message>
<source>C&amp;lear</source>
<translation>&amp;Löschen</translation>
<translation type="obsolete">&amp;Löschen</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>&amp;Abbrechen</translation>
<translation type="obsolete">&amp;Abbrechen</translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation>&amp;Filter:</translation>
<translation type="obsolete">&amp;Filter:</translation>
</message>
</context>
<context>
@ -1472,6 +1484,10 @@ verwendet. Trotzdem löschen?</translation>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -441,7 +441,7 @@ Lectura</translation>
</message>
<message>
<source>Rip Track</source>
<translation>Leyendo pista</translation>
<translation type="obsolete">Leyendo pista</translation>
</message>
<message>
<source>Title:</source>
@ -463,6 +463,18 @@ Lectura</translation>
<source>Rip CD</source>
<translation type="unfinished">Leer CD</translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -1019,23 +1031,23 @@ Notas</translation>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation>Filtro de la biblioteca</translation>
<translation type="obsolete">Filtro de la biblioteca</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>Acepta&amp;r</translation>
<translation type="obsolete">Acepta&amp;r</translation>
</message>
<message>
<source>C&amp;lear</source>
<translation>&amp;Limpiar</translation>
<translation type="obsolete">&amp;Limpiar</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>&amp;Cancelar</translation>
<translation type="obsolete">&amp;Cancelar</translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation>&amp;Filtro:</translation>
<translation type="obsolete">&amp;Filtro:</translation>
</message>
</context>
<context>
@ -1481,6 +1493,10 @@ Do you still want to delete it?</source>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -335,10 +335,6 @@ Do you still want to proceed?</source>
Rip</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rip Track</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title:</source>
<translation type="unfinished"></translation>
@ -359,6 +355,18 @@ Rip</source>
<source>Rip CD</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -836,29 +844,6 @@ Notes</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>C&amp;lear</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ListReports</name>
<message>
@ -1185,6 +1170,10 @@ Do you still want to delete it?</source>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -433,10 +433,6 @@ Sjå over innstillingane for ripping, og prøv ein gong til.</translation>
Rip</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rip Track</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title:</source>
<translation type="unfinished"></translation>
@ -457,6 +453,18 @@ Rip</source>
<source>Rip CD</source>
<translation type="unfinished">Ripp CD</translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -1014,23 +1022,23 @@ Notes</source>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation>Bibliotekfilter</translation>
<translation type="obsolete">Bibliotekfilter</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
<translation type="obsolete">&amp;OK</translation>
</message>
<message>
<source>C&amp;lear</source>
<translation>&amp;Tøm</translation>
<translation type="obsolete">&amp;Tøm</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>&amp;Avbryt</translation>
<translation type="obsolete">&amp;Avbryt</translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation>&amp;Filter:</translation>
<translation type="obsolete">&amp;Filter:</translation>
</message>
</context>
<context>
@ -1468,6 +1476,10 @@ Vil du sletta ho likevel?</translation>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -433,10 +433,6 @@ Sjå over innstillingane for ripping, og prøv ein gong til.</translation>
Rip</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rip Track</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title:</source>
<translation type="unfinished"></translation>
@ -457,6 +453,18 @@ Rip</source>
<source>Rip CD</source>
<translation type="unfinished">Ripp CD</translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -1014,23 +1022,23 @@ Notes</source>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation>Bibliotekfilter</translation>
<translation type="obsolete">Bibliotekfilter</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
<translation type="obsolete">&amp;OK</translation>
</message>
<message>
<source>C&amp;lear</source>
<translation>&amp;Tøm</translation>
<translation type="obsolete">&amp;Tøm</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>&amp;Avbryt</translation>
<translation type="obsolete">&amp;Avbryt</translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation>&amp;Filter:</translation>
<translation type="obsolete">&amp;Filter:</translation>
</message>
</context>
<context>
@ -1468,6 +1476,10 @@ Vil du sletta ho likevel?</translation>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -434,10 +434,6 @@ Rip</source>
<source>RDLibrary - Ripper Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rip Track</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title:</source>
<translation type="unfinished"></translation>
@ -458,6 +454,18 @@ Rip</source>
<source>Rip CD</source>
<translation type="unfinished">Extrair CD</translation>
</message>
<message>
<source>Rip
Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskGauge</name>
<message>
<source>Free</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiskRipper</name>
@ -1016,23 +1024,23 @@ limite do sistema! Você ainda quer salvar?</translation>
<name>Filter</name>
<message>
<source>Library Filter</source>
<translation>Filtro </translation>
<translation type="obsolete">Filtro </translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
<translation type="obsolete">&amp;OK</translation>
</message>
<message>
<source>C&amp;lear</source>
<translation>&amp;Limpar</translation>
<translation type="obsolete">&amp;Limpar</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>&amp;Cancelar</translation>
<translation type="obsolete">&amp;Cancelar</translation>
</message>
<message>
<source>&amp;Filter:</source>
<translation>&amp;Filtrar:</translation>
<translation type="obsolete">&amp;Filtrar:</translation>
</message>
</context>
<context>
@ -1470,6 +1478,10 @@ Você ainda quer deletá-lo?</translation>
<source>Matching Carts:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecordCut</name>

View File

@ -18,16 +18,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <stdlib.h>
#include <math.h>
#include <qnamespace.h>
#include <qpushbutton.h>
#include <qtimer.h>
#include <qmessagebox.h>
#include <qfile.h>
#include <rd.h>
#include <rdapplication.h>
#include <rdconf.h>
#include <rdmixer.h>
#include <rdrehash.h>
@ -36,39 +28,13 @@
#include "record_cut.h"
RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
: QDialog(parent)
: RDDialog(parent)
{
setModal(true);
bool valid;
bool is_track=cart->owner().isEmpty();
bool allow_modification=rda->user()->modifyCarts()&&is_track;
bool allow_editing=rda->user()->editAudio()&&is_track;
rec_use_weighting=use_weight;
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMaximumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
//
// Generate Fonts
//
QFont font=QFont("Helvetica",12,QFont::Bold);
font.setPixelSize(12);
QFont small_font=QFont("Helvetica",10,QFont::Bold);
small_font.setPixelSize(10);
QFont large_font=QFont("Helvetica",18,QFont::Bold);
large_font.setPixelSize(18);
QFont timer_font=QFont("Helvetica",20,QFont::Bold);
timer_font.setPixelSize(20);
QFont day_font=QFont("helvetica",10,QFont::Normal);
day_font.setPixelSize(10);
setWindowTitle("RDLibrary - "+tr("Cut Info / Record"));
rec_cut=new RDCut(cut);
is_playing=false;
is_ready=false;
@ -76,6 +42,14 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
is_closing=false;
rec_timer_value=0;
setWindowTitle("RDLibrary - "+tr("Cut Info / Record"));
//
// Fix the Window Size
//
setMinimumSize(sizeHint());
setMaximumSize(sizeHint());
//
// Load Audio Assignments
//
@ -132,7 +106,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_description_edit->setMaxLength(64);
cut_description_label=
new QLabel(cut_description_edit,tr("&Description")+":",this);
cut_description_label->setFont(font);
cut_description_label->setFont(labelFont());
cut_description_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -141,7 +115,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_outcue_edit=new QLineEdit(this);
cut_outcue_edit->setMaxLength(64);
cut_outcue_label=new QLabel(cut_outcue_edit,tr("&Outcue")+":",this);
cut_outcue_label->setFont(font);
cut_outcue_label->setFont(labelFont());
cut_outcue_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -150,7 +124,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_isci_edit=new QLineEdit(this);
cut_isci_edit->setMaxLength(32);
cut_isci_label=new QLabel(cut_isci_edit,tr("&ISCI Code")+":",this);
cut_isci_label->setFont(font);
cut_isci_label->setFont(labelFont());
cut_isci_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -159,7 +133,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_isrc_edit=new QLineEdit(this);
cut_isrc_edit->setMaxLength(64);
cut_isrc_label=new QLabel(cut_isrc_edit,tr("ISRC")+":",this);
cut_isrc_label->setFont(font);
cut_isrc_label->setFont(labelFont());
cut_isrc_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -168,7 +142,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_source_edit=new QLineEdit(this);
cut_source_edit->setReadOnly(true);
cut_source_label=new QLabel(cut_source_edit,tr("Source")+":",this);
cut_source_label->setFont(font);
cut_source_label->setFont(labelFont());
cut_source_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -177,7 +151,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_ingest_edit=new QLineEdit(this);
cut_ingest_edit->setReadOnly(true);
cut_ingest_label=new QLabel(cut_ingest_edit,tr("Ingest")+":",this);
cut_ingest_label->setFont(font);
cut_ingest_label->setFont(labelFont());
cut_ingest_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -187,7 +161,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_playdate_edit->setReadOnly(true);
cut_playdate_edit->setMaxLength(64);
cut_playdate_label=new QLabel(cut_playdate_edit,tr("Last Played")+":",this);
cut_playdate_label->setFont(font);
cut_playdate_label->setFont(labelFont());
cut_playdate_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -199,7 +173,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_playcounter_edit->setMaxLength(64);
cut_playcounter_label=
new QLabel(cut_playcounter_edit,tr("# of Plays")+":",this);
cut_playcounter_label->setFont(font);
cut_playcounter_label->setFont(labelFont());
cut_playcounter_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
@ -208,7 +182,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
rec_evergreen_box=new QCheckBox(this);
rec_evergreen_label=new
QLabel(rec_evergreen_box,tr("Cut is EVERGREEN")+":",this);
rec_evergreen_label->setFont(font);
rec_evergreen_label->setFont(labelFont());
rec_evergreen_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
connect(rec_evergreen_box,SIGNAL(toggled(bool)),
this,SLOT(evergreenToggledData(bool)));
@ -219,14 +193,14 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_weight_box=new QSpinBox(this);
cut_weight_box->setRange(0,100);
cut_weight_label=new QLabel(cut_weight_box,tr("Weight")+":",this);
cut_weight_label->setFont(font);
cut_weight_label->setFont(labelFont());
cut_weight_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
//
// Cut Air Date Times
//
cut_killdatetime_groupbox=new QGroupBox(tr("Air Date/Time"),this);
cut_killdatetime_groupbox->setFont(font);
cut_killdatetime_groupbox->setFont(labelFont());
cut_killdatetime_group=new QButtonGroup(this);
connect(cut_killdatetime_group,SIGNAL(buttonClicked(int)),
this,SLOT(airDateButtonData(int)));
@ -238,19 +212,19 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_startdatetime_edit=new QDateTimeEdit(this);
cut_startdatetime_edit->setDisplayFormat("MM/dd/yyyy - hh:mm:ss");
cut_startdatetime_label=new QLabel(cut_startdatetime_edit,tr("&Start"),this);
cut_startdatetime_label->setFont(small_font);
cut_startdatetime_label->setFont(subLabelFont());
cut_startdatetime_label->setAlignment(Qt::AlignRight);
cut_enddatetime_edit=new QDateTimeEdit(this);
cut_enddatetime_edit->setDisplayFormat("MM/dd/yyyy - hh:mm:ss");
cut_enddatetime_label=new QLabel(cut_enddatetime_edit,tr("End"),this);
cut_enddatetime_label->setFont(small_font);
cut_enddatetime_label->setFont(subLabelFont());
cut_enddatetime_label->setAlignment(Qt::AlignRight);
//
// Cut Daypart
//
cut_daypart_groupbox=new QGroupBox(tr("Daypart"),this);
cut_daypart_groupbox->setFont(font);
cut_daypart_groupbox->setFont(labelFont());
cut_daypart_group=new QButtonGroup(this);
connect(cut_daypart_group,SIGNAL(buttonClicked(int)),
this,SLOT(daypartButtonData(int)));
@ -262,61 +236,61 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
cut_starttime_edit=new QTimeEdit(this);
cut_starttime_edit->setDisplayFormat("hh:mm:ss");
cut_starttime_label=new QLabel(cut_starttime_edit,tr("&Start Time"),this);
cut_starttime_label->setFont(small_font);
cut_starttime_label->setFont(subLabelFont());
cut_starttime_label->setAlignment(Qt::AlignRight);
cut_endtime_edit=new QTimeEdit(this);
cut_endtime_edit->setDisplayFormat("hh:mm:ss");
cut_endtime_label=new QLabel(cut_endtime_edit,tr("End Time"),this);
cut_endtime_label->setFont(small_font);
cut_endtime_label->setFont(subLabelFont());
cut_endtime_label->setAlignment(Qt::AlignRight);
//
// Days of the Week
//
rec_dayofweek_groupbox=new QGroupBox(tr("Day of the Week"),this);
rec_dayofweek_groupbox->setFont(font);
rec_dayofweek_groupbox->setFont(labelFont());
rec_weekpart_button[0]=new QCheckBox(this);
rec_weekpart_label[0]=new QLabel(rec_weekpart_button[0],tr("Monday"),this);
rec_weekpart_label[0]->setFont(day_font);
rec_weekpart_label[0]->setFont(subLabelFont());
rec_weekpart_label[0]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_weekpart_button[1]=new QCheckBox(this);
rec_weekpart_label[1]=new QLabel(rec_weekpart_button[1],tr("Tuesday"),this);
rec_weekpart_label[1]->setFont(day_font);
rec_weekpart_label[1]->setFont(subLabelFont());
rec_weekpart_label[1]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_weekpart_button[2]=new QCheckBox(this);
rec_weekpart_label[2]=new QLabel(rec_weekpart_button[2],tr("Wednesday"),this);
rec_weekpart_label[2]->setFont(day_font);
rec_weekpart_label[2]->setFont(subLabelFont());
rec_weekpart_label[2]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_weekpart_button[3]=new QCheckBox(this);
rec_weekpart_label[3]=new QLabel(rec_weekpart_button[3],tr("Thursday"),this);
rec_weekpart_label[3]->setFont(day_font);
rec_weekpart_label[3]->setFont(subLabelFont());
rec_weekpart_label[3]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_weekpart_button[4]=new QCheckBox(this);
rec_weekpart_label[4]=new QLabel(rec_weekpart_button[4],tr("Friday"),this);
rec_weekpart_label[4]->setFont(day_font);
rec_weekpart_label[4]->setFont(subLabelFont());
rec_weekpart_label[4]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_weekpart_button[5]=new QCheckBox(this);
rec_weekpart_label[5]=new QLabel(rec_weekpart_button[5],tr("Saturday"),this);
rec_weekpart_label[5]->setFont(day_font);
rec_weekpart_label[5]->setFont(subLabelFont());
rec_weekpart_label[5]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_weekpart_button[6]=new QCheckBox(this);
rec_weekpart_label[6]=new QLabel(rec_weekpart_button[6],tr("Sunday"),this);
rec_weekpart_label[6]->setFont(day_font);
rec_weekpart_label[6]->setFont(subLabelFont());
rec_weekpart_label[6]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
rec_set_button=new QPushButton(tr("Set All"),this);
rec_set_button->setFont(small_font);
rec_set_button->setFont(subButtonFont());
connect(rec_set_button,SIGNAL(clicked()),this,SLOT(setAllData()));
rec_clear_button=new QPushButton(tr("Clear All"),this);
rec_clear_button->setFont(small_font);
rec_clear_button->setFont(subButtonFont());
connect(rec_clear_button,SIGNAL(clicked()),this,SLOT(clearAllData()));
//
@ -334,7 +308,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
//
rec_aes_alarm_label=new QLabel(this);
rec_aes_alarm_label->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
rec_aes_alarm_label->setFont(large_font);
rec_aes_alarm_label->setFont(progressFont());
rec_aes_alarm_label->setPalette(QColor(Qt::red));
rec_aes_alarm_label->setText(tr("AES ALARM"));
rec_aes_alarm_label->hide();
@ -345,7 +319,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
rec_timer=new QTimer(this);
connect(rec_timer,SIGNAL(timeout()),this,SLOT(recTimerData()));
rec_timer_label=new QLabel(this);
rec_timer_label->setFont(timer_font);
rec_timer_label->setFont(bigButtonFont());
rec_timer_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
rec_timer_label->setText(RDGetTimeLength(rec_length,true));
@ -356,7 +330,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
rec_channels_edit=new QLineEdit(this);
rec_channels_box_label=new QLabel(rec_channels_box,tr("Channels"),this);
rec_channels_box_label->setAlignment(Qt::AlignHCenter);
rec_channels_box_label->setFont(font);
rec_channels_box_label->setFont(labelFont());
connect(rec_channels_box,SIGNAL(activated(int)),
this,SLOT(channelsData(int)));
@ -389,7 +363,7 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
rec_mode_box=new QComboBox(this);
rec_mode_box_label=new QLabel(rec_mode_box,tr("Record Mode"),this);
rec_mode_box_label->setAlignment(Qt::AlignHCenter);
rec_mode_box_label->setFont(font);
rec_mode_box_label->setFont(labelFont());
//
// AutoTrim Mode
@ -397,14 +371,14 @@ RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,QWidget *parent)
rec_trim_box=new QComboBox(this);
rec_trim_box_label=new QLabel(rec_trim_box,tr("AutoTrim"),this);
rec_trim_box_label->setAlignment(Qt::AlignHCenter);
rec_trim_box_label->setFont(font);
rec_trim_box_label->setFont(labelFont());
//
// Close Button
//
close_button=new QPushButton(this);
close_button->setDefault(true);
close_button->setFont(font);
close_button->setFont(buttonFont());
close_button->setText(tr("&Close"));
connect(close_button,SIGNAL(clicked()),this,SLOT(closeData()));

View File

@ -2,7 +2,7 @@
//
// Record a Rivendell cut.
//
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2019 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
@ -27,25 +27,19 @@
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qdatetimeedit.h>
#include <qdialog.h>
#include <qgroupbox.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qtimer.h>
#include <qradiobutton.h>
#include <qspinbox.h>
#include <rdtransportbutton.h>
#include <rddialog.h>
#include <rdstereometer.h>
#include <rdwavefile.h>
#include <rdcae.h>
#include <rdcart.h>
#include <rdcut.h>
#include <rdtimeedit.h>
#include <rdwavefile.h>
#include "globals.h"
class RecordCut : public QDialog
class RecordCut : public RDDialog
{
Q_OBJECT
public: