gladish: persist the toolbar visibility setting across invocations
This commit is contained in:
parent
c800b2c5fb
commit
1f2972377e
46
gui/main.c
46
gui/main.c
|
@ -33,6 +33,7 @@
|
||||||
#include "graph_view.h"
|
#include "graph_view.h"
|
||||||
#include "../common/catdup.h"
|
#include "../common/catdup.h"
|
||||||
#include "../proxies/studio_proxy.h"
|
#include "../proxies/studio_proxy.h"
|
||||||
|
#include "../proxies/conf_proxy.h"
|
||||||
#include "create_room_dialog.h"
|
#include "create_room_dialog.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "about.h"
|
#include "about.h"
|
||||||
|
@ -44,6 +45,8 @@
|
||||||
GtkWidget * g_main_win;
|
GtkWidget * g_main_win;
|
||||||
GtkWidget * g_toolbar;
|
GtkWidget * g_toolbar;
|
||||||
|
|
||||||
|
#define LADISH_CONF_KEY_GLADISH_TOOLBAR_VISIBILITY "/org/ladish/gladish/toolbar_visibility"
|
||||||
|
|
||||||
void
|
void
|
||||||
set_main_window_title(
|
set_main_window_title(
|
||||||
graph_view_handle view)
|
graph_view_handle view)
|
||||||
|
@ -85,12 +88,46 @@ void menu_request_toggle_toolbar(bool visible)
|
||||||
{
|
{
|
||||||
gtk_widget_hide(g_toolbar);
|
gtk_widget_hide(g_toolbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
conf_set_bool(LADISH_CONF_KEY_GLADISH_TOOLBAR_VISIBILITY, visible);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_dbus_toggle_toobar(void * context, const char * key, const char * value)
|
||||||
|
{
|
||||||
|
bool toolbar_visible;
|
||||||
|
|
||||||
|
if (value == NULL)
|
||||||
|
{
|
||||||
|
toolbar_visible = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
toolbar_visible = conf_string2bool(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (toolbar_visible)
|
||||||
|
{
|
||||||
|
gtk_widget_show(g_toolbar);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_widget_hide(g_toolbar);
|
||||||
|
}
|
||||||
|
|
||||||
|
menu_set_toolbar_visibility(toolbar_visible);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
gtk_init(&argc, &argv);
|
gtk_init(&argc, &argv);
|
||||||
|
|
||||||
|
dbus_init();
|
||||||
|
|
||||||
|
if (!conf_proxy_init())
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (!canvas_init())
|
if (!canvas_init())
|
||||||
{
|
{
|
||||||
log_error("Canvas initialization failed.");
|
log_error("Canvas initialization failed.");
|
||||||
|
@ -122,7 +159,10 @@ int main(int argc, char** argv)
|
||||||
menu_init();
|
menu_init();
|
||||||
buffer_size_clear();
|
buffer_size_clear();
|
||||||
|
|
||||||
dbus_init();
|
if (!conf_register(LADISH_CONF_KEY_GLADISH_TOOLBAR_VISIBILITY, on_dbus_toggle_toobar, NULL))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (!init_jack())
|
if (!init_jack())
|
||||||
{
|
{
|
||||||
|
@ -154,9 +194,11 @@ int main(int argc, char** argv)
|
||||||
studio_proxy_uninit();
|
studio_proxy_uninit();
|
||||||
control_proxy_uninit();
|
control_proxy_uninit();
|
||||||
uninit_jack();
|
uninit_jack();
|
||||||
dbus_uninit();
|
|
||||||
create_room_dialog_uninit();
|
create_room_dialog_uninit();
|
||||||
uninit_gtk_builder();
|
uninit_gtk_builder();
|
||||||
|
|
||||||
|
conf_proxy_uninit();
|
||||||
|
dbus_uninit();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -217,6 +217,11 @@ bool menu_set_jack_latency(uint32_t buffer_size, bool force)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void menu_set_toolbar_visibility(bool visible)
|
||||||
|
{
|
||||||
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(g_menu_item_view_toolbar), visible);
|
||||||
|
}
|
||||||
|
|
||||||
void menu_view_activated(bool room)
|
void menu_view_activated(bool room)
|
||||||
{
|
{
|
||||||
gtk_widget_set_sensitive(g_menu_item_destroy_room, room);
|
gtk_widget_set_sensitive(g_menu_item_destroy_room, room);
|
||||||
|
|
|
@ -33,6 +33,7 @@ void menu_init(void);
|
||||||
void menu_studio_state_changed(unsigned int studio_state);
|
void menu_studio_state_changed(unsigned int studio_state);
|
||||||
void menu_set_jack_latency_items_sensivity(bool sensitive);
|
void menu_set_jack_latency_items_sensivity(bool sensitive);
|
||||||
bool menu_set_jack_latency(uint32_t buffer_size, bool force);
|
bool menu_set_jack_latency(uint32_t buffer_size, bool force);
|
||||||
|
void menu_set_toolbar_visibility(bool visible);
|
||||||
void menu_view_activated(bool room);
|
void menu_view_activated(bool room);
|
||||||
void fill_view_popup_menu(GtkMenu * menu, graph_view_handle view);
|
void fill_view_popup_menu(GtkMenu * menu, graph_view_handle view);
|
||||||
|
|
||||||
|
|
1
wscript
1
wscript
|
@ -458,6 +458,7 @@ def build(bld):
|
||||||
'control_proxy.c',
|
'control_proxy.c',
|
||||||
'app_supervisor_proxy.c',
|
'app_supervisor_proxy.c',
|
||||||
"room_proxy.c",
|
"room_proxy.c",
|
||||||
|
"conf_proxy.c",
|
||||||
]:
|
]:
|
||||||
gladish.source.append(os.path.join("proxies", source))
|
gladish.source.append(os.path.join("proxies", source))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue