Qt: Add (empty) status bar
This commit is contained in:
parent
441f8b5a4b
commit
1b28b26682
|
@ -146,6 +146,7 @@ void Config::ReadValues() {
|
||||||
|
|
||||||
UISettings::values.single_window_mode = qt_config->value("singleWindowMode", true).toBool();
|
UISettings::values.single_window_mode = qt_config->value("singleWindowMode", true).toBool();
|
||||||
UISettings::values.display_titlebar = qt_config->value("displayTitleBars", true).toBool();
|
UISettings::values.display_titlebar = qt_config->value("displayTitleBars", true).toBool();
|
||||||
|
UISettings::values.show_status_bar = qt_config->value("showStatusBar", true).toBool();
|
||||||
UISettings::values.confirm_before_closing = qt_config->value("confirmClose", true).toBool();
|
UISettings::values.confirm_before_closing = qt_config->value("confirmClose", true).toBool();
|
||||||
UISettings::values.first_start = qt_config->value("firstStart", true).toBool();
|
UISettings::values.first_start = qt_config->value("firstStart", true).toBool();
|
||||||
|
|
||||||
|
@ -252,6 +253,7 @@ void Config::SaveValues() {
|
||||||
|
|
||||||
qt_config->setValue("singleWindowMode", UISettings::values.single_window_mode);
|
qt_config->setValue("singleWindowMode", UISettings::values.single_window_mode);
|
||||||
qt_config->setValue("displayTitleBars", UISettings::values.display_titlebar);
|
qt_config->setValue("displayTitleBars", UISettings::values.display_titlebar);
|
||||||
|
qt_config->setValue("showStatusBar", UISettings::values.show_status_bar);
|
||||||
qt_config->setValue("confirmClose", UISettings::values.confirm_before_closing);
|
qt_config->setValue("confirmClose", UISettings::values.confirm_before_closing);
|
||||||
qt_config->setValue("firstStart", UISettings::values.first_start);
|
qt_config->setValue("firstStart", UISettings::values.first_start);
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ GameList::GameList(QWidget* parent) : QWidget{parent} {
|
||||||
// with signals/slots. In this case, QList falls under the umbrells of custom types.
|
// with signals/slots. In this case, QList falls under the umbrells of custom types.
|
||||||
qRegisterMetaType<QList<QStandardItem*>>("QList<QStandardItem*>");
|
qRegisterMetaType<QList<QStandardItem*>>("QList<QStandardItem*>");
|
||||||
|
|
||||||
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
layout->addWidget(tree_view);
|
layout->addWidget(tree_view);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,17 @@ void GMainWindow::InitializeWidgets() {
|
||||||
|
|
||||||
game_list = new GameList();
|
game_list = new GameList();
|
||||||
ui.horizontalLayout->addWidget(game_list);
|
ui.horizontalLayout->addWidget(game_list);
|
||||||
|
|
||||||
|
// Create status bar
|
||||||
|
emu_speed_label = new QLabel();
|
||||||
|
game_fps_label = new QLabel();
|
||||||
|
emu_frametime_label = new QLabel();
|
||||||
|
|
||||||
|
for (auto& label : {emu_speed_label, game_fps_label, emu_frametime_label}) {
|
||||||
|
label->setVisible(false);
|
||||||
|
statusBar()->addPermanentWidget(label);
|
||||||
|
}
|
||||||
|
statusBar()->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::InitializeDebugWidgets() {
|
void GMainWindow::InitializeDebugWidgets() {
|
||||||
|
@ -229,6 +240,9 @@ void GMainWindow::RestoreUIState() {
|
||||||
|
|
||||||
ui.action_Display_Dock_Widget_Headers->setChecked(UISettings::values.display_titlebar);
|
ui.action_Display_Dock_Widget_Headers->setChecked(UISettings::values.display_titlebar);
|
||||||
OnDisplayTitleBars(ui.action_Display_Dock_Widget_Headers->isChecked());
|
OnDisplayTitleBars(ui.action_Display_Dock_Widget_Headers->isChecked());
|
||||||
|
|
||||||
|
ui.action_Show_Status_Bar->setChecked(UISettings::values.show_status_bar);
|
||||||
|
statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::ConnectWidgetEvents() {
|
void GMainWindow::ConnectWidgetEvents() {
|
||||||
|
@ -261,6 +275,7 @@ void GMainWindow::ConnectMenuEvents() {
|
||||||
&GMainWindow::ToggleWindowMode);
|
&GMainWindow::ToggleWindowMode);
|
||||||
connect(ui.action_Display_Dock_Widget_Headers, &QAction::triggered, this,
|
connect(ui.action_Display_Dock_Widget_Headers, &QAction::triggered, this,
|
||||||
&GMainWindow::OnDisplayTitleBars);
|
&GMainWindow::OnDisplayTitleBars);
|
||||||
|
connect(ui.action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::OnDisplayTitleBars(bool show) {
|
void GMainWindow::OnDisplayTitleBars(bool show) {
|
||||||
|
@ -624,6 +639,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) {
|
||||||
#endif
|
#endif
|
||||||
UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked();
|
UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked();
|
||||||
UISettings::values.display_titlebar = ui.action_Display_Dock_Widget_Headers->isChecked();
|
UISettings::values.display_titlebar = ui.action_Display_Dock_Widget_Headers->isChecked();
|
||||||
|
UISettings::values.show_status_bar = ui.action_Show_Status_Bar->isChecked();
|
||||||
UISettings::values.first_start = false;
|
UISettings::values.first_start = false;
|
||||||
|
|
||||||
game_list->SaveInterfaceLayout();
|
game_list->SaveInterfaceLayout();
|
||||||
|
|
|
@ -132,12 +132,18 @@ private:
|
||||||
GRenderWindow* render_window;
|
GRenderWindow* render_window;
|
||||||
GameList* game_list;
|
GameList* game_list;
|
||||||
|
|
||||||
|
// Status bar elements
|
||||||
|
QLabel* emu_speed_label = nullptr;
|
||||||
|
QLabel* game_fps_label = nullptr;
|
||||||
|
QLabel* emu_frametime_label = nullptr;
|
||||||
|
|
||||||
std::unique_ptr<Config> config;
|
std::unique_ptr<Config> config;
|
||||||
|
|
||||||
// Whether emulation is currently running in Citra.
|
// Whether emulation is currently running in Citra.
|
||||||
bool emulation_running = false;
|
bool emulation_running = false;
|
||||||
std::unique_ptr<EmuThread> emu_thread;
|
std::unique_ptr<EmuThread> emu_thread;
|
||||||
|
|
||||||
|
// Debugger panes
|
||||||
ProfilerWidget* profilerWidget;
|
ProfilerWidget* profilerWidget;
|
||||||
MicroProfileDialog* microProfileDialog;
|
MicroProfileDialog* microProfileDialog;
|
||||||
DisassemblerWidget* disasmWidget;
|
DisassemblerWidget* disasmWidget;
|
||||||
|
|
|
@ -88,6 +88,7 @@
|
||||||
</widget>
|
</widget>
|
||||||
<addaction name="action_Single_Window_Mode"/>
|
<addaction name="action_Single_Window_Mode"/>
|
||||||
<addaction name="action_Display_Dock_Widget_Headers"/>
|
<addaction name="action_Display_Dock_Widget_Headers"/>
|
||||||
|
<addaction name="action_Show_Status_Bar"/>
|
||||||
<addaction name="menu_View_Debugging"/>
|
<addaction name="menu_View_Debugging"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menu_Help">
|
<widget class="QMenu" name="menu_Help">
|
||||||
|
@ -101,7 +102,6 @@
|
||||||
<addaction name="menu_View"/>
|
<addaction name="menu_View"/>
|
||||||
<addaction name="menu_Help"/>
|
<addaction name="menu_Help"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusbar"/>
|
|
||||||
<action name="action_Load_File">
|
<action name="action_Load_File">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Load File...</string>
|
<string>Load File...</string>
|
||||||
|
@ -167,6 +167,14 @@
|
||||||
<string>Display Dock Widget Headers</string>
|
<string>Display Dock Widget Headers</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="action_Show_Status_Bar">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Show Status Bar</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
<action name="action_Select_Game_List_Root">
|
<action name="action_Select_Game_List_Root">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Select Game Directory...</string>
|
<string>Select Game Directory...</string>
|
||||||
|
|
|
@ -27,6 +27,7 @@ struct Values {
|
||||||
|
|
||||||
bool single_window_mode;
|
bool single_window_mode;
|
||||||
bool display_titlebar;
|
bool display_titlebar;
|
||||||
|
bool show_status_bar;
|
||||||
|
|
||||||
bool confirm_before_closing;
|
bool confirm_before_closing;
|
||||||
bool first_start;
|
bool first_start;
|
||||||
|
|
Reference in New Issue