diff options
| author | 2017-04-30 04:04:39 +0200 | |
|---|---|---|
| committer | 2017-04-29 22:04:39 -0400 | |
| commit | 06d4654966ba9909111b1bab36e88f4f15e9cb6d (patch) | |
| tree | 30517eaa10e6b704fe008c2bb2f704f6cec35178 /src/citra_qt/main.cpp | |
| parent | Merge pull request #2671 from wwylele/dot3-rgba (diff) | |
| download | yuzu-06d4654966ba9909111b1bab36e88f4f15e9cb6d.tar.gz yuzu-06d4654966ba9909111b1bab36e88f4f15e9cb6d.tar.xz yuzu-06d4654966ba9909111b1bab36e88f4f15e9cb6d.zip | |
citra-qt: game list search function (#2673)
* citra-qt: game list search function
* Empty search field during game list refresh
* Code improvements
* Code formatting
* Autofocus search field
* JayFoxRox's recommendations
* lioncash's review
Diffstat (limited to 'src/citra_qt/main.cpp')
| -rw-r--r-- | src/citra_qt/main.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index b17ed6968..ea66cc425 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp | |||
| @@ -93,7 +93,7 @@ void GMainWindow::InitializeWidgets() { | |||
| 93 | render_window = new GRenderWindow(this, emu_thread.get()); | 93 | render_window = new GRenderWindow(this, emu_thread.get()); |
| 94 | render_window->hide(); | 94 | render_window->hide(); |
| 95 | 95 | ||
| 96 | game_list = new GameList(); | 96 | game_list = new GameList(this); |
| 97 | ui.horizontalLayout->addWidget(game_list); | 97 | ui.horizontalLayout->addWidget(game_list); |
| 98 | 98 | ||
| 99 | // Create status bar | 99 | // Create status bar |
| @@ -247,6 +247,9 @@ void GMainWindow::RestoreUIState() { | |||
| 247 | ui.action_Display_Dock_Widget_Headers->setChecked(UISettings::values.display_titlebar); | 247 | ui.action_Display_Dock_Widget_Headers->setChecked(UISettings::values.display_titlebar); |
| 248 | OnDisplayTitleBars(ui.action_Display_Dock_Widget_Headers->isChecked()); | 248 | OnDisplayTitleBars(ui.action_Display_Dock_Widget_Headers->isChecked()); |
| 249 | 249 | ||
| 250 | ui.action_Show_Filter_Bar->setChecked(UISettings::values.show_filter_bar); | ||
| 251 | game_list->setFilterVisible(ui.action_Show_Filter_Bar->isChecked()); | ||
| 252 | |||
| 250 | ui.action_Show_Status_Bar->setChecked(UISettings::values.show_status_bar); | 253 | ui.action_Show_Status_Bar->setChecked(UISettings::values.show_status_bar); |
| 251 | statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked()); | 254 | statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked()); |
| 252 | } | 255 | } |
| @@ -283,6 +286,8 @@ void GMainWindow::ConnectMenuEvents() { | |||
| 283 | &GMainWindow::ToggleWindowMode); | 286 | &GMainWindow::ToggleWindowMode); |
| 284 | connect(ui.action_Display_Dock_Widget_Headers, &QAction::triggered, this, | 287 | connect(ui.action_Display_Dock_Widget_Headers, &QAction::triggered, this, |
| 285 | &GMainWindow::OnDisplayTitleBars); | 288 | &GMainWindow::OnDisplayTitleBars); |
| 289 | ui.action_Show_Filter_Bar->setShortcut(tr("CTRL+F")); | ||
| 290 | connect(ui.action_Show_Filter_Bar, &QAction::triggered, this, &GMainWindow::OnToggleFilterBar); | ||
| 286 | connect(ui.action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible); | 291 | connect(ui.action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible); |
| 287 | } | 292 | } |
| 288 | 293 | ||
| @@ -444,6 +449,7 @@ void GMainWindow::ShutdownGame() { | |||
| 444 | ui.action_Stop->setEnabled(false); | 449 | ui.action_Stop->setEnabled(false); |
| 445 | render_window->hide(); | 450 | render_window->hide(); |
| 446 | game_list->show(); | 451 | game_list->show(); |
| 452 | game_list->setFilterFocus(); | ||
| 447 | 453 | ||
| 448 | // Disable status bar updates | 454 | // Disable status bar updates |
| 449 | status_bar_update_timer.stop(); | 455 | status_bar_update_timer.stop(); |
| @@ -617,6 +623,15 @@ void GMainWindow::OnConfigure() { | |||
| 617 | } | 623 | } |
| 618 | } | 624 | } |
| 619 | 625 | ||
| 626 | void GMainWindow::OnToggleFilterBar() { | ||
| 627 | game_list->setFilterVisible(ui.action_Show_Filter_Bar->isChecked()); | ||
| 628 | if (ui.action_Show_Filter_Bar->isChecked()) { | ||
| 629 | game_list->setFilterFocus(); | ||
| 630 | } else { | ||
| 631 | game_list->clearFilter(); | ||
| 632 | } | ||
| 633 | } | ||
| 634 | |||
| 620 | void GMainWindow::OnSwapScreens() { | 635 | void GMainWindow::OnSwapScreens() { |
| 621 | Settings::values.swap_screen = !Settings::values.swap_screen; | 636 | Settings::values.swap_screen = !Settings::values.swap_screen; |
| 622 | Settings::Apply(); | 637 | Settings::Apply(); |
| @@ -671,6 +686,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) { | |||
| 671 | #endif | 686 | #endif |
| 672 | UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked(); | 687 | UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked(); |
| 673 | UISettings::values.display_titlebar = ui.action_Display_Dock_Widget_Headers->isChecked(); | 688 | UISettings::values.display_titlebar = ui.action_Display_Dock_Widget_Headers->isChecked(); |
| 689 | UISettings::values.show_filter_bar = ui.action_Show_Filter_Bar->isChecked(); | ||
| 674 | UISettings::values.show_status_bar = ui.action_Show_Status_Bar->isChecked(); | 690 | UISettings::values.show_status_bar = ui.action_Show_Status_Bar->isChecked(); |
| 675 | UISettings::values.first_start = false; | 691 | UISettings::values.first_start = false; |
| 676 | 692 | ||
| @@ -720,6 +736,11 @@ bool GMainWindow::ConfirmChangeGame() { | |||
| 720 | return answer != QMessageBox::No; | 736 | return answer != QMessageBox::No; |
| 721 | } | 737 | } |
| 722 | 738 | ||
| 739 | void GMainWindow::filterBarSetChecked(bool state) { | ||
| 740 | ui.action_Show_Filter_Bar->setChecked(state); | ||
| 741 | emit(OnToggleFilterBar()); | ||
| 742 | } | ||
| 743 | |||
| 723 | #ifdef main | 744 | #ifdef main |
| 724 | #undef main | 745 | #undef main |
| 725 | #endif | 746 | #endif |