Spanish translation and Use button in filemanager
[someplayer] / src / mainwindow.cpp
index 681dd02..ff1f368 100644 (file)
@@ -27,8 +27,6 @@
 #include <QTranslator>
 #include <QKeyEvent>
 
-#include "player/player.h"
-
 #include "library.h"
 #include "timerdialog.h"
 #include "equalizerdialog.h"
@@ -68,9 +66,11 @@ MainWindow::MainWindow(QWidget *parent) :
        connect(_library_form, SIGNAL(refreshPlayer()), this, SLOT(player()));
        connect(ui->actionManageLibrary, SIGNAL(triggered()), this, SLOT(_manage_library()));
        connect(ui->actionSavePlaylist, SIGNAL(triggered()), this, SLOT(_save_playlist()));
+       connect(ui->actionImport, SIGNAL(triggered()), this, SLOT(_import_playlits()));
        connect(_player_form, SIGNAL(clearPlaylist()), this, SLOT(_clear_current_playlist()));
        connect(ui->actionSetTimer, SIGNAL(triggered()), this, SLOT(_set_timer()));
        connect(ui->actionEqualizer, SIGNAL(triggered()), this, SLOT(_equalizer()));
+       connect(ui->actionOnlineHelp, SIGNAL(triggered()), _about_form, SLOT(onlineHelp()));
        connect(_library, SIGNAL(done()), _library_form, SLOT(refresh()));
        connect(_player_form, SIGNAL(refreshLibrary()), _library_form, SLOT(refresh()));
        connect(_manage_library_form, SIGNAL(refreshLibrary()), _library_form, SLOT(refresh()));
@@ -84,6 +84,7 @@ MainWindow::MainWindow(QWidget *parent) :
        connect(_directory_form, SIGNAL(addAndPlay(Track)), _player_form, SLOT(play(Track)));
        connect(_player_form, SIGNAL(dirView()), _directory_form, SLOT(show()));
        connect(_directory_form, SIGNAL(addTracks(QList<Track>)), this, SLOT(_add_tracks(QList<Track>)));
+       connect(_directory_form, SIGNAL(clearCurrent()), this, SLOT(_clear_current()));
        connect(_settings_form, SIGNAL(iconsChanged()), _player_form, SLOT(updateIcons()));
        connect(_settings_form, SIGNAL(iconsChanged()), _library_form, SLOT(updateIcons()));
        connect(_settings_form, SIGNAL(iconsChanged()), _manage_library_form, SLOT(updateIcons()));
@@ -133,6 +134,13 @@ MainWindow::MainWindow(QWidget *parent) :
        _hw_zoom_policy_changed();
        config.setValue("fmtx/enabled", "no");
        setWindowTitle("SomePlayer");
+
+       QList<QWidget *> widgets = ui->centralWidget->findChildren<QWidget *>();
+       foreach (QWidget *widget, widgets) {
+               if (widget->objectName() != "searchLine") {
+                       widget->installEventFilter(this);
+               }
+       }
 }
 
 MainWindow::~MainWindow()
@@ -215,6 +223,7 @@ void MainWindow::_save_playlist() {
 }
 
 void MainWindow::_clear_current_playlist() {
+       CONFIRM_ACTION(this, tr("Clear playlist?"))
        Playlist playlist = _library->getCurrentPlaylist();
        playlist.clear();
        _library->saveCurrentPlaylist(playlist);
@@ -417,3 +426,67 @@ void MainWindow::_fmtx_settings_changed() {
                system("fmtx_client -p 0 2>&1 >/dev/null");
        }
 }
+
+bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
+       if (event->type() != QEvent::KeyPress) {
+               return QObject::eventFilter(obj, event);
+       }
+       QKeyEvent *keyEvent = (QKeyEvent *) event;
+       int mod = keyEvent->modifiers();
+
+       switch (keyEvent->key()) {
+       case Qt::Key_Space:
+               if ((mod & Qt::ControlModifier) == 0) {
+                       _player_form->toggle();
+               }
+               break;
+       case Qt::Key_Enter:
+               // TODO
+               break;
+       case Qt::Key_Right:
+               _player_form->next();
+               break;
+       case Qt::Key_Left:
+               _player_form->prev();
+               break;
+       case Qt::Key_T:
+               _player_form->stop();
+               break;
+       case Qt::Key_R:
+               _player_form->toggleRandom();
+               break;
+       case Qt::Key_V:
+               _player_form->toggleView();
+               break;
+       case Qt::Key_M:
+               _directory_form->show();
+               break;
+       case Qt::Key_L:
+               _library_form->show();
+               break;
+       case Qt::Key_E:
+               _player_form->toggleRepeat();
+               break;
+       case Qt::Key_S:
+               _player_form->toggleToolsWidget();
+               break;
+       case Qt::Key_H:
+               _about_form->onlineHelp();
+               break;
+       default:
+               return QObject::eventFilter(obj, event);
+       }
+
+       return true;
+}
+
+
+void MainWindow::_import_playlits() {
+       QString directory = QFileDialog::getExistingDirectory (this, tr("Select directory"), "", QFileDialog::ShowDirsOnly );
+       _library->scanAndImportPlaylists(directory);
+}
+
+void MainWindow::_clear_current() {
+       Playlist pl;
+       _library->saveCurrentPlaylist(pl);
+}