_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()
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;
+
+ switch (keyEvent->key()) {
+ case Qt::Key_Space:
+ _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_S:
+ _player_form->stop();
+ break;
+ case Qt::Key_F:
+ _fullscreen(!isFullScreen());
+ 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_Control:
+ _player_form->toggleToolsWidget();
+ break;
+ default:
+ return QObject::eventFilter(obj, event);
+ }
+
+ return true;
+}
_pls_sort_form->hide();
connect(ui->libraryButton, SIGNAL(clicked()), this, SLOT(_library()));
- connect(ui->viewButton, SIGNAL(clicked()), this, SLOT(_toggle_view()));
+ connect(ui->viewButton, SIGNAL(clicked()), this, SLOT(toggleView()));
connect(ui->playlistView, SIGNAL(clicked(QModelIndex)), this, SLOT(_process_click(QModelIndex)));
connect(ui->playpauseButton, SIGNAL(clicked()), _player, SLOT(toggle()));
connect(ui->nextButton, SIGNAL(clicked()), _player, SLOT(next()));
connect(ui->prevButton, SIGNAL(clicked()), _player, SLOT(prev()));
connect(_player, SIGNAL(trackChanged(Track)), this, SLOT(_track_changed(Track)));
connect(_player, SIGNAL(tick(int,int)), this, SLOT(_tick(int,int)));
- connect(ui->randomButton, SIGNAL(clicked()), this, SLOT(_toggle_random()));
- connect(ui->repeatButton, SIGNAL(clicked()), this, SLOT(_toggle_repeat()));
+ connect(ui->randomButton, SIGNAL(clicked()), this, SLOT(toggleRandom()));
+ connect(ui->repeatButton, SIGNAL(clicked()), this, SLOT(toggleRepeat()));
connect(ui->seekSlider, SIGNAL(sliderMoved(int)), _player, SLOT(seek(int)));
connect(ui->playlistView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(_sort_playlist()));
connect(__clear_playlist, SIGNAL(triggered()), this, SIGNAL(clearPlaylist()));
connect(_player, SIGNAL(trackDone(Track)), _lib, SLOT(updateTrackCount(Track)));
connect(_tag_resolver, SIGNAL(decoded(Track)), this, SLOT(_track_decoded(Track)));
connect(ui->dirButton, SIGNAL(clicked()), this, SLOT(_dirview()));
- connect(ui->moreButton, SIGNAL(clicked()), this, SLOT(_tools_widget_toggle()));
+ connect(ui->moreButton, SIGNAL(clicked()), this, SLOT(toggleToolsWidget()));
connect(_tools_widget, SIGNAL(search(QString)), this, SLOT(search(QString)));
connect(_tools_widget, SIGNAL(nextSearch()), this, SLOT(nextItem()));
connect(_tools_widget, SIGNAL(prevSearch()), this, SLOT(prevItem()));
}
}
-void PlayerForm::_toggle_view() {
+void PlayerForm::toggleView() {
int index = ui->stackedWidget->currentIndex();
index = (!index % 2);
if (index) {
}
}
-void PlayerForm::_toggle_random() {
+void PlayerForm::toggleRandom() {
_player->toggleRandom();
if (_player->random()) {
ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_on.png"));
}
}
-void PlayerForm::_toggle_repeat() {
+void PlayerForm::toggleRepeat() {
_player->toggleRepeat();
if (_player->repeat() == REPEAT_ALL) {
ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_all.png"));
_pls_sort_form->portraitMode();
}
-void PlayerForm::_tools_widget_toggle() {
+void PlayerForm::toggleToolsWidget() {
if (_tools_widget->isVisible()) {
ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/more.png"));
_tools_widget->hide();
ui->playlistView->setColumnWidth(0, 50);
_track_renderer->setActiveRow(_current_playlist.tracks().indexOf(_player->current()));
}
+
+void PlayerForm::toggle() {
+ _player->toggle();
+}