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 "../common/catdup.h"
|
||||
#include "../proxies/studio_proxy.h"
|
||||
#include "../proxies/conf_proxy.h"
|
||||
#include "create_room_dialog.h"
|
||||
#include "menu.h"
|
||||
#include "about.h"
|
||||
|
@ -44,6 +45,8 @@
|
|||
GtkWidget * g_main_win;
|
||||
GtkWidget * g_toolbar;
|
||||
|
||||
#define LADISH_CONF_KEY_GLADISH_TOOLBAR_VISIBILITY "/org/ladish/gladish/toolbar_visibility"
|
||||
|
||||
void
|
||||
set_main_window_title(
|
||||
graph_view_handle view)
|
||||
|
@ -85,12 +88,46 @@ void menu_request_toggle_toolbar(bool visible)
|
|||
{
|
||||
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)
|
||||
{
|
||||
gtk_init(&argc, &argv);
|
||||
|
||||
dbus_init();
|
||||
|
||||
if (!conf_proxy_init())
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!canvas_init())
|
||||
{
|
||||
log_error("Canvas initialization failed.");
|
||||
|
@ -122,7 +159,10 @@ int main(int argc, char** argv)
|
|||
menu_init();
|
||||
buffer_size_clear();
|
||||
|
||||
dbus_init();
|
||||
if (!conf_register(LADISH_CONF_KEY_GLADISH_TOOLBAR_VISIBILITY, on_dbus_toggle_toobar, NULL))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!init_jack())
|
||||
{
|
||||
|
@ -154,9 +194,11 @@ int main(int argc, char** argv)
|
|||
studio_proxy_uninit();
|
||||
control_proxy_uninit();
|
||||
uninit_jack();
|
||||
dbus_uninit();
|
||||
create_room_dialog_uninit();
|
||||
uninit_gtk_builder();
|
||||
|
||||
conf_proxy_uninit();
|
||||
dbus_uninit();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -217,6 +217,11 @@ bool menu_set_jack_latency(uint32_t buffer_size, bool force)
|
|||
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)
|
||||
{
|
||||
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_set_jack_latency_items_sensivity(bool sensitive);
|
||||
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 fill_view_popup_menu(GtkMenu * menu, graph_view_handle view);
|
||||
|
||||
|
|
Loading…
Reference in New Issue