From 58b264e122231e2b3a2de572c885b65576c7b3ca Mon Sep 17 00:00:00 2001 From: asiviero Date: Fri, 27 Dec 2013 03:38:43 -0200 Subject: [PATCH] Started building interface for Cd ripping as mentioned in clementine-player/Clementine#3490 --- src/CMakeLists.txt | 3 ++ src/ui/mainwindow.cpp | 9 ++++ src/ui/mainwindow.h | 4 ++ src/ui/mainwindow.ui | 9 ++-- src/ui/ripcd.cpp | 11 +++++ src/ui/ripcd.h | 27 +++++++++++ src/ui/ripcd.ui | 102 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 162 insertions(+), 3 deletions(-) create mode 100644 src/ui/ripcd.cpp create mode 100644 src/ui/ripcd.h create mode 100644 src/ui/ripcd.ui diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9de264d4f..76b5d1e4e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -350,6 +350,7 @@ set(SOURCES ui/organiseerrordialog.cpp ui/playbacksettingspage.cpp ui/qtsystemtrayicon.cpp + ui/ripcd.cpp ui/screensaver.cpp ui/settingsdialog.cpp ui/settingspage.cpp @@ -627,6 +628,7 @@ set(HEADERS ui/organiseerrordialog.h ui/playbacksettingspage.h ui/qtsystemtrayicon.h + ui/ripcd.h ui/settingsdialog.h ui/settingspage.h ui/standarditemiconloader.h @@ -748,6 +750,7 @@ set(UI ui/organisedialog.ui ui/organiseerrordialog.ui ui/playbacksettingspage.ui + ui/ripcd.ui ui/settingsdialog.ui ui/trackselectiondialog.ui diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 1aa3bc0a9..392a75788 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -85,6 +85,7 @@ #include "ui/organisedialog.h" #include "ui/organiseerrordialog.h" #include "ui/qtsystemtrayicon.h" +#include "ui/ripcd.h" #include "ui/settingsdialog.h" #include "ui/systemtrayicon.h" #include "ui/trackselectiondialog.h" @@ -343,6 +344,7 @@ MainWindow::MainWindow(Application* app, connect(ui_->action_shuffle, SIGNAL(triggered()), app_->playlist_manager(), SLOT(ShuffleCurrent())); connect(ui_->action_open_media, SIGNAL(triggered()), SLOT(AddFile())); connect(ui_->action_open_cd, SIGNAL(triggered()), SLOT(AddCDTracks())); + connect(ui_->action_rip_audio_cd, SIGNAL(triggered()), SLOT(OpenRipCD())); connect(ui_->action_add_file, SIGNAL(triggered()), SLOT(AddFile())); connect(ui_->action_add_folder, SIGNAL(triggered()), SLOT(AddFolder())); connect(ui_->action_add_stream, SIGNAL(triggered()), SLOT(AddStream())); @@ -1660,6 +1662,13 @@ void MainWindow::AddStreamAccepted() { AddToPlaylist(data); } +void MainWindow::OpenRipCD() { + if (!rip_cd_) { + rip_cd_.reset(new RipCD); + } + rip_cd_->show(); +} + void MainWindow::AddCDTracks() { MimeData* data = new MimeData; // We are putting empty data, but we specify cdda mimetype to indicate that diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 9d25ab01e..054679645 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -67,6 +67,7 @@ class InternetItem; class InternetModel; class InternetViewContainer; class Remote; +class RipCD; class Song; class SongInfoBase; class SongInfoView; @@ -80,6 +81,7 @@ class WiimotedevShortcuts; class Windows7ThumbBar; class Ui_MainWindow; + class QSortFilterProxyModel; class MainWindow : public QMainWindow, public PlatformInterface { @@ -211,6 +213,7 @@ class MainWindow : public QMainWindow, public PlatformInterface { void AddFolder(); void AddStream(); void AddStreamAccepted(); + void OpenRipCD(); void AddCDTracks(); void AddPodcast(); @@ -287,6 +290,7 @@ class MainWindow : public QMainWindow, public PlatformInterface { GlobalSearchView* global_search_view_; LibraryViewContainer* library_view_; FileView* file_view_; + boost::scoped_ptr rip_cd_; PlaylistListContainer* playlist_list_; InternetViewContainer* internet_view_; DeviceView* device_view_; diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index 58bafed95..34856cb02 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -424,6 +424,7 @@ + @@ -474,9 +475,6 @@ - @@ -875,6 +873,11 @@ Ctrl+Shift+T + + + Rip audio CD... + + diff --git a/src/ui/ripcd.cpp b/src/ui/ripcd.cpp new file mode 100644 index 000000000..6dd37b1a6 --- /dev/null +++ b/src/ui/ripcd.cpp @@ -0,0 +1,11 @@ +#include "ripcd.h" +#include "config.h" +#include "ui_ripcd.h" + + +RipCD::RipCD(QWidget* parent) + : QDialog(parent) +{ + ui_.setupUi(this); + setWindowTitle(tr("Rip CD")); +} diff --git a/src/ui/ripcd.h b/src/ui/ripcd.h new file mode 100644 index 000000000..9d376f137 --- /dev/null +++ b/src/ui/ripcd.h @@ -0,0 +1,27 @@ +/******************************************************************************** +** Form generated from reading UI file 'ripcd.ui' +** +** Created: Fri Dec 27 02:11:12 2013 +** by: Qt User Interface Compiler version 4.8.1 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef RIPCD_H +#define RIPCD_H + +#include + +#include "ui_ripcd.h" + +class RipCD : public QDialog +{ + Q_OBJECT +public: + + RipCD(QWidget* parent = 0); + private: + Ui::RipCD ui_; +}; + +#endif // RIPCD_H diff --git a/src/ui/ripcd.ui b/src/ui/ripcd.ui new file mode 100644 index 000000000..052016a5d --- /dev/null +++ b/src/ui/ripcd.ui @@ -0,0 +1,102 @@ + + + RipCD + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 10 + 10 + 381 + 221 + + + + + 0 + + + 0 + + + + + + + + + + 10 + 240 + 98 + 27 + + + + PushButton + + + + + + + buttonBox + accepted() + RipCD + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + RipCD + reject() + + + 316 + 260 + + + 286 + 274 + + + + +