@@ -35,12 +35,12 @@ InternetCollectionViewContainer::InternetCollectionViewContainer(QWidget *parent
|
||||
ui_(new Ui_InternetCollectionViewContainer) {
|
||||
|
||||
ui_->setupUi(this);
|
||||
view()->SetFilter(filter_widget());
|
||||
ui_->view->SetFilter(ui_->filter_widget);
|
||||
|
||||
QObject::connect(filter_widget(), &CollectionFilterWidget::UpPressed, view(), &InternetCollectionView::UpAndFocus);
|
||||
QObject::connect(filter_widget(), &CollectionFilterWidget::DownPressed, view(), &InternetCollectionView::DownAndFocus);
|
||||
QObject::connect(filter_widget(), &CollectionFilterWidget::ReturnPressed, view(), &InternetCollectionView::FilterReturnPressed);
|
||||
QObject::connect(view(), &InternetCollectionView::FocusOnFilterSignal, filter_widget(), &CollectionFilterWidget::FocusOnFilter);
|
||||
QObject::connect(ui_->filter_widget, &CollectionFilterWidget::UpPressed, ui_->view, &InternetCollectionView::UpAndFocus);
|
||||
QObject::connect(ui_->filter_widget, &CollectionFilterWidget::DownPressed, ui_->view, &InternetCollectionView::DownAndFocus);
|
||||
QObject::connect(ui_->filter_widget, &CollectionFilterWidget::ReturnPressed, ui_->view, &InternetCollectionView::FilterReturnPressed);
|
||||
QObject::connect(ui_->view, &InternetCollectionView::FocusOnFilterSignal, ui_->filter_widget, &CollectionFilterWidget::FocusOnFilter);
|
||||
|
||||
ui_->progressbar->hide();
|
||||
|
||||
@@ -51,8 +51,18 @@ InternetCollectionViewContainer::InternetCollectionViewContainer(QWidget *parent
|
||||
InternetCollectionViewContainer::~InternetCollectionViewContainer() { delete ui_; }
|
||||
|
||||
void InternetCollectionViewContainer::ReloadSettings() const {
|
||||
filter_widget()->ReloadSettings();
|
||||
view()->ReloadSettings();
|
||||
|
||||
ui_->filter_widget->ReloadSettings();
|
||||
ui_->view->ReloadSettings();
|
||||
|
||||
}
|
||||
|
||||
bool InternetCollectionViewContainer::SearchFieldHasFocus() const {
|
||||
return ui_->filter_widget->SearchFieldHasFocus();
|
||||
}
|
||||
|
||||
void InternetCollectionViewContainer::FocusSearchField() {
|
||||
ui_->filter_widget->FocusSearchField();
|
||||
}
|
||||
|
||||
void InternetCollectionViewContainer::contextMenuEvent(QContextMenuEvent *e) { Q_UNUSED(e); }
|
||||
|
||||
@@ -44,6 +44,8 @@ class InternetCollectionViewContainer : public QWidget {
|
||||
~InternetCollectionViewContainer() override;
|
||||
|
||||
void ReloadSettings() const;
|
||||
bool SearchFieldHasFocus() const;
|
||||
void FocusSearchField();
|
||||
|
||||
QStackedWidget *stacked() const { return ui_->stacked; }
|
||||
QWidget *help_page() const { return ui_->help_page; }
|
||||
|
||||
@@ -658,6 +658,12 @@ void InternetSearchView::SearchForThis() {
|
||||
StartSearch(ui_->results->selectionModel()->selectedRows().first().data().toString());
|
||||
}
|
||||
|
||||
bool InternetSearchView::SearchFieldHasFocus() const {
|
||||
|
||||
return ui_->search->hasFocus();
|
||||
|
||||
}
|
||||
|
||||
void InternetSearchView::FocusSearchField() {
|
||||
|
||||
ui_->search->setFocus();
|
||||
|
||||
@@ -85,6 +85,9 @@ class InternetSearchView : public QWidget {
|
||||
|
||||
void Init(Application *app, InternetService *service);
|
||||
|
||||
bool SearchFieldHasFocus() const;
|
||||
void FocusSearchField();
|
||||
|
||||
void LazyLoadAlbumCover(const QModelIndex &proxy_index);
|
||||
|
||||
protected:
|
||||
@@ -121,7 +124,6 @@ class InternetSearchView : public QWidget {
|
||||
|
||||
bool SearchKeyEvent(QKeyEvent *e);
|
||||
bool ResultsContextMenuEvent(QContextMenuEvent *e);
|
||||
void FocusSearchField();
|
||||
|
||||
MimeData *SelectedMimeData();
|
||||
|
||||
|
||||
@@ -48,6 +48,9 @@ class InternetSongsView : public QWidget {
|
||||
|
||||
InternetCollectionView *view() const { return ui_->view; }
|
||||
|
||||
bool SearchFieldHasFocus() const { return ui_->filter_widget->SearchFieldHasFocus(); }
|
||||
void FocusSearchField() { ui_->filter_widget->FocusSearchField(); }
|
||||
|
||||
private slots:
|
||||
void OpenSettingsDialog();
|
||||
void GetSongs();
|
||||
|
||||
@@ -206,6 +206,32 @@ void InternetTabsView::ReloadSettings() {
|
||||
|
||||
}
|
||||
|
||||
bool InternetTabsView::SearchFieldHasFocus() const {
|
||||
|
||||
return ((ui_->tabs->currentWidget() == ui_->artists && ui_->artists_collection->SearchFieldHasFocus()) ||
|
||||
(ui_->tabs->currentWidget() == ui_->albums && ui_->albums_collection->SearchFieldHasFocus()) ||
|
||||
(ui_->tabs->currentWidget() == ui_->songs && ui_->songs_collection->SearchFieldHasFocus()) ||
|
||||
(ui_->tabs->currentWidget() == ui_->search && ui_->search_view->SearchFieldHasFocus()));
|
||||
|
||||
}
|
||||
|
||||
void InternetTabsView::FocusSearchField() {
|
||||
|
||||
if (ui_->tabs->currentWidget() == ui_->artists) {
|
||||
ui_->artists_collection->FocusSearchField();
|
||||
}
|
||||
else if (ui_->tabs->currentWidget() == ui_->albums) {
|
||||
ui_->albums_collection->FocusSearchField();
|
||||
}
|
||||
else if (ui_->tabs->currentWidget() == ui_->songs) {
|
||||
ui_->songs_collection->FocusSearchField();
|
||||
}
|
||||
else if (ui_->tabs->currentWidget() == ui_->search) {
|
||||
ui_->search_view->FocusSearchField();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void InternetTabsView::GetArtists() {
|
||||
|
||||
if (!service_->authenticated() && service_->oauth()) {
|
||||
|
||||
@@ -53,6 +53,9 @@ class InternetTabsView : public QWidget {
|
||||
InternetCollectionView *songs_collection_view() const { return ui_->songs_collection->view(); }
|
||||
InternetSearchView *search_view() const { return ui_->search_view; }
|
||||
|
||||
bool SearchFieldHasFocus() const;
|
||||
void FocusSearchField();
|
||||
|
||||
private slots:
|
||||
void OpenSettingsDialog();
|
||||
void GetArtists();
|
||||
|
||||
Reference in New Issue
Block a user