mirror of https://github.com/snes9xgit/snes9x.git
GTK: Remove mostly unused status bar.
Don't bypass compositor in UI-fullscreen mode.
This commit is contained in:
parent
54ba8798b5
commit
0deed414b9
|
@ -100,7 +100,6 @@ int Snes9xConfig::load_defaults ()
|
||||||
mute_sound_turbo = false;
|
mute_sound_turbo = false;
|
||||||
fullscreen = false;
|
fullscreen = false;
|
||||||
ui_visible = true;
|
ui_visible = true;
|
||||||
statusbar_visible = false;
|
|
||||||
default_esc_behavior = 1;
|
default_esc_behavior = 1;
|
||||||
prevent_screensaver = false;
|
prevent_screensaver = false;
|
||||||
sound_driver = 0;
|
sound_driver = 0;
|
||||||
|
@ -311,7 +310,6 @@ int Snes9xConfig::save_config_file ()
|
||||||
cf.SetInt (z"ShaderParametersHeight", shader_parameters_height);
|
cf.SetInt (z"ShaderParametersHeight", shader_parameters_height);
|
||||||
cf.SetInt (z"CurrentDisplayTab", current_display_tab);
|
cf.SetInt (z"CurrentDisplayTab", current_display_tab);
|
||||||
outbool (cf, z"UIVisible", ui_visible);
|
outbool (cf, z"UIVisible", ui_visible);
|
||||||
outbool (cf, z"StatusBarVisible", statusbar_visible);
|
|
||||||
if (default_esc_behavior != ESC_TOGGLE_MENUBAR)
|
if (default_esc_behavior != ESC_TOGGLE_MENUBAR)
|
||||||
outbool (cf, z"Fullscreen", 0);
|
outbool (cf, z"Fullscreen", 0);
|
||||||
else
|
else
|
||||||
|
@ -542,7 +540,6 @@ int Snes9xConfig::load_config_file ()
|
||||||
inint (z"ShaderParametersHeight", shader_parameters_height);
|
inint (z"ShaderParametersHeight", shader_parameters_height);
|
||||||
inint (z"CurrentDisplayTab", current_display_tab);
|
inint (z"CurrentDisplayTab", current_display_tab);
|
||||||
inbool (z"UIVisible", ui_visible);
|
inbool (z"UIVisible", ui_visible);
|
||||||
inbool (z"StatusBarVisible", statusbar_visible);
|
|
||||||
inbool (z"Fullscreen", fullscreen);
|
inbool (z"Fullscreen", fullscreen);
|
||||||
|
|
||||||
#undef z
|
#undef z
|
||||||
|
|
|
@ -63,7 +63,6 @@ class Snes9xConfig
|
||||||
bool change_display_resolution;
|
bool change_display_resolution;
|
||||||
bool fullscreen;
|
bool fullscreen;
|
||||||
bool ui_visible;
|
bool ui_visible;
|
||||||
bool statusbar_visible;
|
|
||||||
int default_esc_behavior;
|
int default_esc_behavior;
|
||||||
bool prevent_screensaver;
|
bool prevent_screensaver;
|
||||||
int xrr_index;
|
int xrr_index;
|
||||||
|
|
|
@ -269,8 +269,6 @@ S9xNetplaySyncSpeed ()
|
||||||
int
|
int
|
||||||
S9xNetplayPush ()
|
S9xNetplayPush ()
|
||||||
{
|
{
|
||||||
static int statusbar_state = false;
|
|
||||||
|
|
||||||
if (gui_config->netplay_activated &&
|
if (gui_config->netplay_activated &&
|
||||||
(!Settings.NetPlay || !NetPlay.Connected))
|
(!Settings.NetPlay || !NetPlay.Connected))
|
||||||
S9xNetplayDisconnect ();
|
S9xNetplayDisconnect ();
|
||||||
|
@ -285,23 +283,11 @@ S9xNetplayPush ()
|
||||||
S9xSoundStop ();
|
S9xSoundStop ();
|
||||||
NetPlay.Paused = true;
|
NetPlay.Paused = true;
|
||||||
|
|
||||||
if (statusbar_state == false)
|
|
||||||
{
|
|
||||||
top_level->update_statusbar ();
|
|
||||||
statusbar_state = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
NetPlay.Paused = false;
|
NetPlay.Paused = false;
|
||||||
|
|
||||||
if (statusbar_state)
|
|
||||||
{
|
|
||||||
top_level->update_statusbar ();
|
|
||||||
statusbar_state = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
S9xSoundStart ();
|
S9xSoundStart ();
|
||||||
|
|
||||||
/* Save the joypad input */
|
/* Save the joypad input */
|
||||||
|
|
|
@ -254,7 +254,6 @@ void S9xNoROMLoaded ()
|
||||||
gui_config->rom_loaded = false;
|
gui_config->rom_loaded = false;
|
||||||
S9xDisplayRefresh (-1, -1);
|
S9xDisplayRefresh (-1, -1);
|
||||||
top_level->configure_widgets ();
|
top_level->configure_widgets ();
|
||||||
top_level->update_statusbar ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean S9xPauseFunc (gpointer data)
|
static gboolean S9xPauseFunc (gpointer data)
|
||||||
|
@ -287,7 +286,6 @@ static gboolean S9xPauseFunc (gpointer data)
|
||||||
S9xIdleFunc,
|
S9xIdleFunc,
|
||||||
NULL,
|
NULL,
|
||||||
NULL);
|
NULL);
|
||||||
top_level->update_statusbar ();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,7 +308,6 @@ gboolean S9xIdleFunc (gpointer data)
|
||||||
|
|
||||||
/* Move to a timer-based function to use less CPU */
|
/* Move to a timer-based function to use less CPU */
|
||||||
g_timeout_add (100, S9xPauseFunc, NULL);
|
g_timeout_add (100, S9xPauseFunc, NULL);
|
||||||
top_level->update_statusbar ();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
\*****************************************************************************/
|
\*****************************************************************************/
|
||||||
|
|
||||||
#include "gtk_2_3_compat.h"
|
#include "gtk_2_3_compat.h"
|
||||||
|
#include "gtk_config.h"
|
||||||
#ifdef GDK_WINDOWING_X11
|
#ifdef GDK_WINDOWING_X11
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -103,14 +104,6 @@ event_toggle_interface (GtkWidget *widget, gpointer data)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
event_show_statusbar (GtkWidget *widget, gpointer data)
|
|
||||||
{
|
|
||||||
((Snes9xWindow *) data)->toggle_statusbar ();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
event_sync_clients (GtkWidget *widget, gpointer data)
|
event_sync_clients (GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
|
@ -601,7 +594,6 @@ Snes9xWindow::Snes9xWindow (Snes9xConfig *config) :
|
||||||
{ "rom_info", G_CALLBACK (event_rom_info) },
|
{ "rom_info", G_CALLBACK (event_rom_info) },
|
||||||
{ "sync_clients", G_CALLBACK (event_sync_clients) },
|
{ "sync_clients", G_CALLBACK (event_sync_clients) },
|
||||||
{ "toggle_interface", G_CALLBACK (event_toggle_interface) },
|
{ "toggle_interface", G_CALLBACK (event_toggle_interface) },
|
||||||
{ "show_statusbar", G_CALLBACK (event_show_statusbar) },
|
|
||||||
{ "exact_1x", G_CALLBACK (event_exact_pixels_1x) },
|
{ "exact_1x", G_CALLBACK (event_exact_pixels_1x) },
|
||||||
{ "exact_2x", G_CALLBACK (event_exact_pixels_2x) },
|
{ "exact_2x", G_CALLBACK (event_exact_pixels_2x) },
|
||||||
{ "exact_3x", G_CALLBACK (event_exact_pixels_3x) },
|
{ "exact_3x", G_CALLBACK (event_exact_pixels_3x) },
|
||||||
|
@ -658,10 +650,6 @@ Snes9xWindow::Snes9xWindow (Snes9xConfig *config) :
|
||||||
gdk_window_set_back_pixmap (gtk_widget_get_window (GTK_WIDGET (drawing_area)), NULL, false);
|
gdk_window_set_back_pixmap (gtk_widget_get_window (GTK_WIDGET (drawing_area)), NULL, false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
gtk_check_menu_item_set_active (
|
|
||||||
GTK_CHECK_MENU_ITEM (get_widget ("show_statusbar_item")),
|
|
||||||
config->statusbar_visible ? 1 : 0);
|
|
||||||
|
|
||||||
#ifndef USE_OPENGL
|
#ifndef USE_OPENGL
|
||||||
gtk_widget_hide (get_widget ("shader_parameters_separator"));
|
gtk_widget_hide (get_widget ("shader_parameters_separator"));
|
||||||
gtk_widget_hide (get_widget ("shader_parameters_item"));
|
gtk_widget_hide (get_widget ("shader_parameters_item"));
|
||||||
|
@ -1322,81 +1310,6 @@ Snes9xWindow::set_menu_item_selected (const char *name)
|
||||||
gtk_check_menu_item_set_active (item, 1);
|
gtk_check_menu_item_set_active (item, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
statusbar_timeout (gpointer data)
|
|
||||||
{
|
|
||||||
gtk_statusbar_pop (GTK_STATUSBAR (data),
|
|
||||||
gtk_statusbar_get_context_id (GTK_STATUSBAR (data),
|
|
||||||
"info"));
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
Snes9xWindow::show_status_message (const char *message)
|
|
||||||
{
|
|
||||||
GtkStatusbar *statusbar = GTK_STATUSBAR (get_widget ("statusbar"));
|
|
||||||
|
|
||||||
gtk_statusbar_pop (statusbar, gtk_statusbar_get_context_id (statusbar, "info"));
|
|
||||||
gtk_statusbar_push (statusbar, gtk_statusbar_get_context_id (statusbar, "info"), message);
|
|
||||||
|
|
||||||
g_timeout_add (2000, statusbar_timeout, statusbar);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
Snes9xWindow::update_statusbar ()
|
|
||||||
{
|
|
||||||
GtkStatusbar *bar = GTK_STATUSBAR (get_widget ("statusbar"));
|
|
||||||
char status_string[256];
|
|
||||||
char title_string[1024];
|
|
||||||
|
|
||||||
if (!config->rom_loaded)
|
|
||||||
{
|
|
||||||
snprintf (title_string, 1024, "Snes9x");
|
|
||||||
status_string[0] = '\0';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (config->netplay_activated)
|
|
||||||
{
|
|
||||||
if (config->netplay_server_up)
|
|
||||||
{
|
|
||||||
snprintf (status_string,
|
|
||||||
256,
|
|
||||||
_("%sHosting NetPlay - %s"),
|
|
||||||
is_paused () || NetPlay.Paused ? _("Paused - ") : "",
|
|
||||||
S9xBasenameNoExt (Memory.ROMFilename));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
snprintf (status_string,
|
|
||||||
256,
|
|
||||||
_("%s%s on NetPlay %s:%d - Player %d"),
|
|
||||||
is_paused () || NetPlay.Paused ? _("Paused - ") : "",
|
|
||||||
S9xBasenameNoExt (Memory.ROMFilename),
|
|
||||||
NetPlay.ServerHostName,
|
|
||||||
NetPlay.Port,
|
|
||||||
NetPlay.Player);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
snprintf (status_string,
|
|
||||||
256,
|
|
||||||
"%s%s",
|
|
||||||
is_paused () ? _("Paused - ") : "",
|
|
||||||
S9xBasenameNoExt (Memory.ROMFilename));
|
|
||||||
}
|
|
||||||
|
|
||||||
snprintf (title_string, 1024, "%s", S9xBasenameNoExt (Memory.ROMFilename));
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_window_set_title (GTK_WINDOW (window), title_string);
|
|
||||||
gtk_statusbar_pop (bar, gtk_statusbar_get_context_id (bar, "none"));
|
|
||||||
gtk_statusbar_push (bar, gtk_statusbar_get_context_id (bar, "none"), status_string);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Snes9xWindow::show_rom_info ()
|
Snes9xWindow::show_rom_info ()
|
||||||
{
|
{
|
||||||
|
@ -1488,34 +1401,29 @@ Snes9xWindow::configure_widgets ()
|
||||||
if (!config->fullscreen)
|
if (!config->fullscreen)
|
||||||
{
|
{
|
||||||
gtk_widget_show (get_widget ("menubar"));
|
gtk_widget_show (get_widget ("menubar"));
|
||||||
|
|
||||||
gtk_widget_set_visible (get_widget ("statusbar"),
|
|
||||||
config->statusbar_visible);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gtk_widget_hide (get_widget ("menubar"));
|
gtk_widget_hide (get_widget ("menubar"));
|
||||||
gtk_widget_hide (get_widget ("statusbar"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_widget_hide (get_widget ("hide_ui"));
|
gtk_widget_hide (get_widget ("hide_ui"));
|
||||||
|
gtk_widget_hide (get_widget ("hide_ui_separator"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enable_widget ("fullscreen_item", true);
|
enable_widget ("fullscreen_item", true);
|
||||||
|
|
||||||
gtk_widget_show (get_widget ("hide_ui"));
|
gtk_widget_show (get_widget ("hide_ui"));
|
||||||
|
gtk_widget_show (get_widget ("hide_ui_separator"));
|
||||||
|
|
||||||
if (config->ui_visible)
|
if (config->ui_visible)
|
||||||
{
|
{
|
||||||
gtk_widget_show (get_widget ("menubar"));
|
gtk_widget_show (get_widget ("menubar"));
|
||||||
gtk_widget_set_visible (get_widget ("statusbar"),
|
|
||||||
config->statusbar_visible);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gtk_widget_hide (get_widget ("menubar"));
|
gtk_widget_hide (get_widget ("menubar"));
|
||||||
gtk_widget_hide (get_widget ("statusbar"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1726,7 +1634,8 @@ Snes9xWindow::enter_fullscreen_mode ()
|
||||||
gdk_display_sync (gdk_display_get_default ());
|
gdk_display_sync (gdk_display_get_default ());
|
||||||
gtk_window_present (GTK_WINDOW (window));
|
gtk_window_present (GTK_WINDOW (window));
|
||||||
#ifdef GDK_WINDOWING_X11
|
#ifdef GDK_WINDOWING_X11
|
||||||
if (GDK_IS_X11_WINDOW (gtk_widget_get_window (GTK_WIDGET (window))))
|
if (GDK_IS_X11_WINDOW (gtk_widget_get_window (GTK_WIDGET (window))) &&
|
||||||
|
config->default_esc_behavior != ESC_TOGGLE_MENUBAR)
|
||||||
{
|
{
|
||||||
set_bypass_compositor (gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (window))),
|
set_bypass_compositor (gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (window))),
|
||||||
gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (window))),
|
gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (window))),
|
||||||
|
@ -1801,33 +1710,6 @@ Snes9xWindow::leave_fullscreen_mode ()
|
||||||
configure_widgets ();
|
configure_widgets ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
Snes9xWindow::toggle_statusbar ()
|
|
||||||
{
|
|
||||||
GtkWidget *item;
|
|
||||||
GtkAllocation allocation;
|
|
||||||
int width = 0;
|
|
||||||
int height = 0;
|
|
||||||
|
|
||||||
item = get_widget ("menubar");
|
|
||||||
gtk_widget_get_allocation (item, &allocation);
|
|
||||||
height += gtk_widget_get_visible (item) ? allocation.height : 0;
|
|
||||||
|
|
||||||
item = get_widget ("drawingarea");
|
|
||||||
gtk_widget_get_allocation (item, &allocation);
|
|
||||||
height += allocation.height;
|
|
||||||
width = allocation.width;
|
|
||||||
|
|
||||||
config->statusbar_visible = !config->statusbar_visible;
|
|
||||||
configure_widgets ();
|
|
||||||
|
|
||||||
item = get_widget ("statusbar");
|
|
||||||
gtk_widget_get_allocation (item, &allocation);
|
|
||||||
height += gtk_widget_get_visible (item) ? allocation.height : 0;
|
|
||||||
|
|
||||||
resize (width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Snes9xWindow::resize_viewport (int width, int height)
|
Snes9xWindow::resize_viewport (int width, int height)
|
||||||
{
|
{
|
||||||
|
@ -1839,10 +1721,6 @@ Snes9xWindow::resize_viewport (int width, int height)
|
||||||
gtk_widget_get_allocation (item, &allocation);
|
gtk_widget_get_allocation (item, &allocation);
|
||||||
y_padding += gtk_widget_get_visible (item) ? allocation.height : 0;
|
y_padding += gtk_widget_get_visible (item) ? allocation.height : 0;
|
||||||
|
|
||||||
item = get_widget ("statusbar");
|
|
||||||
gtk_widget_get_allocation (item, &allocation);
|
|
||||||
y_padding += gtk_widget_get_visible (item) ? allocation.height : 0;
|
|
||||||
|
|
||||||
resize (width, height + y_padding);
|
resize (width, height + y_padding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1989,7 +1867,6 @@ Snes9xWindow::propagate_pause_state ()
|
||||||
}
|
}
|
||||||
|
|
||||||
configure_widgets ();
|
configure_widgets ();
|
||||||
update_statusbar ();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,9 +53,6 @@ class Snes9xWindow : public GtkBuilderWindow
|
||||||
|
|
||||||
/* GTK-base-related functions */
|
/* GTK-base-related functions */
|
||||||
void show ();
|
void show ();
|
||||||
void show_status_message (const char *message);
|
|
||||||
void update_statusbar ();
|
|
||||||
void toggle_statusbar ();
|
|
||||||
void set_menu_item_selected (const char *name);
|
void set_menu_item_selected (const char *name);
|
||||||
void set_mouseable_area (int x, int y, int width, int height);
|
void set_mouseable_area (int x, int y, int width, int height);
|
||||||
void set_menu_item_accel_to_binding (const char *name,
|
void set_menu_item_accel_to_binding (const char *name,
|
||||||
|
|
|
@ -1669,15 +1669,6 @@
|
||||||
<signal name="activate" handler="toggle_interface" swapped="no"/>
|
<signal name="activate" handler="toggle_interface" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<object class="GtkCheckMenuItem" id="show_statusbar_item">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes">_Status Bar</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<signal name="activate" handler="show_statusbar" swapped="no"/>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkSeparatorMenuItem" id="hide_ui_separator">
|
<object class="GtkSeparatorMenuItem" id="hide_ui_separator">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -1977,17 +1968,6 @@
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<object class="GtkStatusbar" id="statusbar">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">2</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|
Loading…
Reference in New Issue