2020-02-02 Fred Gleason <fredg@paravelsystems.com>

* Added a 'STATIONS.BROWSER_PATH' field to the database.
	* Incremented the database version to 314.
	* Added a 'Web Browser' control to the 'Edit Host' dialog in
	rdadmin(1).
	* Added a MusicBrainz record lookup button to the full disc ripper
	in rdlibrary(1).
	* Added a MusicBrainz record lookup button to the disc track ripper
	in rdlibrary(1).
This commit is contained in:
Fred Gleason
2020-02-01 17:17:47 -05:00
parent 32a3e34c6e
commit 8dfd341cdf
32 changed files with 352 additions and 80 deletions

View File

@@ -25,6 +25,7 @@
#include <rdconf.h>
#include <rddisclookup_factory.h>
#include <rdtempdirectory.h>
#include <rdtextfile.h>
#include "cdripper.h"
#include "globals.h"
@@ -40,7 +41,6 @@ CdRipper::CdRipper(QString cutname,RDDiscRecord *rec,RDLibraryConf *conf,
: RDDialog(parent)
{
rip_profile_rip=profile_rip;
// rip_isrc_read=false;
rip_conf=conf;
rip_disc_record=rec;
rip_track[0]=-1;
@@ -139,6 +139,17 @@ CdRipper::CdRipper(QString cutname,RDDiscRecord *rec,RDLibraryConf *conf,
rip_apply_box->setVisible(!rip_disc_lookup->sourceName().isNull());
rip_apply_label->setVisible(!rip_disc_lookup->sourceName().isNull());
//
// Web Browser Button
//
rip_browser_button=new QPushButton(this);
rip_browser_button->setPixmap(rip_disc_lookup->sourceLogo());
rip_browser_button->setDisabled(true);
connect(rip_browser_button,SIGNAL(clicked()),this,SLOT(openBrowserData()));
if(rip_disc_lookup->sourceLogo().isNull()) {
rip_browser_button->hide();
}
//
// Track List
//
@@ -284,7 +295,7 @@ CdRipper::~CdRipper()
QSize CdRipper::sizeHint() const
{
return QSize(470,606);
return QSize(730,606);
}
@@ -586,6 +597,7 @@ void CdRipper::lookupDoneData(RDDiscLookup::Result result,const QString &err_msg
rip_apply_box->setChecked(true);
rip_apply_box->setEnabled(true);
rip_apply_label->setEnabled(true);
rip_browser_button->setDisabled(rip_disc_lookup->sourceUrl().isNull());
trackSelectionChangedData();
break;
@@ -620,6 +632,12 @@ void CdRipper::autotrimCheckData(bool state)
}
void CdRipper::openBrowserData()
{
RDWebBrowser(rip_disc_lookup->sourceUrl());
}
void CdRipper::closeData()
{
if(rip_done) {
@@ -643,6 +661,7 @@ void CdRipper::resizeEvent(QResizeEvent *e)
rip_other_edit->setGeometry(65,75,size().width()-125,60);
rip_apply_box->setGeometry(65,140,15,15);
rip_apply_label->setGeometry(85,140,250,20);
rip_browser_button->setGeometry(size().width()-260,139,200,35);
rip_track_list->setGeometry(10,178,size().width()-110,size().height()-290);
rip_track_label->setGeometry(10,162,100,14);
rip_bar->setGeometry(10,size().height()-100,size().width()-112,20);

View File

@@ -21,14 +21,15 @@
#ifndef CDRIPPER_H
#define CDRIPPER_H
#include <qprogressbar.h>
#include <qlineedit.h>
#include <qdir.h>
#include <qspinbox.h>
#include <qcheckbox.h>
#include <q3textedit.h>
#include <qcheckbox.h>
#include <qdir.h>
#include <qlineedit.h>
#include <qpixmap.h>
#include <qprogressbar.h>
#include <qspinbox.h>
#include <rddialog.h>
#include <rdcddblookup.h>
#include <rdcdplayer.h>
@@ -60,6 +61,7 @@ class CdRipper : public RDDialog
void lookupDoneData(RDDiscLookup::Result,const QString &err_msg);
void normalizeCheckData(bool);
void autotrimCheckData(bool);
void openBrowserData();
void closeData();
protected:
@@ -91,6 +93,7 @@ class CdRipper : public RDDialog
Q3TextEdit *rip_other_edit;
QCheckBox *rip_apply_box;
QLabel *rip_apply_label;
QPushButton *rip_browser_button;
RDTransportButton *rip_eject_button;
RDTransportButton *rip_play_button;
RDTransportButton *rip_stop_button;

View File

@@ -29,6 +29,7 @@
#include <rdgroup.h>
#include <rdlist_groups.h>
#include <rdtempdirectory.h>
#include <rdtextfile.h>
#include "disk_ripper.h"
#include "globals.h"
@@ -37,7 +38,6 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
bool profile_rip,QWidget *parent)
: RDDialog(parent)
{
// rip_isrc_read=false;
rip_filter_text=filter;
rip_group_text=group;
rip_schedcode_text=schedcode;
@@ -116,7 +116,7 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_other_edit->setReadOnly(true);
//
// Apply FreeDB Check Box
// Apply Lookup Data Check Box
//
rip_apply_box=new QCheckBox(this);
rip_apply_box->setChecked(true);
@@ -131,6 +131,17 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
rip_apply_box->setVisible(!rip_disc_lookup->sourceName().isNull());
rip_apply_label->setVisible(!rip_disc_lookup->sourceName().isNull());
//
// Web Browser Button
//
rip_browser_button=new QPushButton(this);
rip_browser_button->setPixmap(rip_disc_lookup->sourceLogo());
rip_browser_button->setDisabled(true);
connect(rip_browser_button,SIGNAL(clicked()),this,SLOT(openBrowserData()));
if(rip_disc_lookup->sourceLogo().isNull()) {
rip_browser_button->hide();
}
//
// Track List
//
@@ -470,6 +481,7 @@ void DiskRipper::ejectedData()
rip_apply_box->setChecked(false);
rip_apply_box->setDisabled(true);
rip_apply_label->setDisabled(true);
rip_browser_button->setDisabled(true);
}
@@ -804,6 +816,7 @@ void DiskRipper::lookupDoneData(RDDiscLookup::Result result,
rip_apply_box->setChecked(true);
rip_apply_box->setEnabled(true);
rip_apply_label->setEnabled(true);
rip_browser_button->setDisabled(rip_disc_lookup->sourceUrl().isNull());
break;
case RDDiscLookup::NoMatch:
@@ -878,6 +891,12 @@ void DiskRipper::selectionChangedData()
}
void DiskRipper::openBrowserData()
{
RDWebBrowser(rip_disc_lookup->sourceUrl());
}
void DiskRipper::doubleClickedData(Q3ListViewItem *item,const QPoint &pt,
int col)
{
@@ -904,6 +923,7 @@ void DiskRipper::resizeEvent(QResizeEvent *e)
rip_other_edit->setGeometry(65,53,size().width()-125,60);
rip_apply_box->setGeometry(65,118,15,15);
rip_apply_label->setGeometry(85,118,250,20);
rip_browser_button->setGeometry(size().width()-260,117,200,35);
rip_track_label->setGeometry(100,140,100,14);
rip_track_list->setGeometry(100,156,size().width()-202,size().height()-342);
rip_diskbar_label->setGeometry(10,size().height()-174,size().width()-110,20);

View File

@@ -61,6 +61,7 @@ class DiskRipper : public RDDialog
void normalizeCheckData(bool);
void autotrimCheckData(bool);
void selectionChangedData();
void openBrowserData();
void doubleClickedData(Q3ListViewItem *item,const QPoint &pt,int col);
void closeData();
@@ -88,6 +89,7 @@ class DiskRipper : public RDDialog
QTextEdit *rip_other_edit;
QCheckBox *rip_apply_box;
QLabel *rip_apply_label;
QPushButton *rip_browser_button;
RDTransportButton *rip_eject_button;
RDTransportButton *rip_play_button;
RDTransportButton *rip_stop_button;
@@ -125,7 +127,6 @@ class DiskRipper : public RDDialog
std::vector<RDWaveData *> rip_wave_datas;
bool rip_aborting;
bool rip_profile_rip;
// bool rip_isrc_read;
RDWaveDataDialog *rip_wavedata_dialog;
};