diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-08-18 01:01:12 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-08-18 01:01:12 +0000 |
commit | 72f6cf7ca0d0baaef7fb0171e0d14cce50d1ef04 (patch) | |
tree | bda398675084093336e092e4a081820c0e98f700 /src/paman.cc | |
parent | 878fea16a2d7a319e59a0d7b4d470b0e3b1e42fb (diff) |
add support for statwindow
git-svn-id: file:///home/lennart/svn/public/paman/trunk@15 cdefa82f-4ce1-0310-97f5-ab6066f37c3c
Diffstat (limited to 'src/paman.cc')
-rw-r--r-- | src/paman.cc | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/paman.cc b/src/paman.cc index 4b9b364..f08be5d 100644 --- a/src/paman.cc +++ b/src/paman.cc @@ -39,6 +39,8 @@ static void context_state_callback(struct pa_context *c, void *userdata) { mainWindow->showSuccess("Ready"); g_assert(!serverInfoManager); serverInfoManager = new ServerInfoManager(*c); + mainWindow->statButton->set_sensitive(true); + mainWindow->disconnectButton->set_sensitive(true); return; case PA_CONTEXT_TERMINATED: @@ -52,21 +54,27 @@ static void context_state_callback(struct pa_context *c, void *userdata) { } - if (context) { - pa_context_unref(context); - context = NULL; - } + killConnection(); +} +void createConnection() { if (serverInfoManager) { delete serverInfoManager; serverInfoManager = NULL; } - mainWindow->connectButton->set_sensitive(true); - mainWindow->clearAllData(); + if (context) { + pa_context_unref(context); + context = NULL; + } + + context = pa_context_new(mainloop_api, "Polypaudio Manager"); + g_assert(context); + pa_context_set_state_callback(context, context_state_callback, NULL); + pa_context_connect(context, NULL); } -void create_connection() { +void killConnection() { if (serverInfoManager) { delete serverInfoManager; serverInfoManager = NULL; @@ -77,10 +85,10 @@ void create_connection() { context = NULL; } - context = pa_context_new(mainloop_api, "Polypaudio Manager"); - g_assert(context); - pa_context_set_state_callback(context, context_state_callback, NULL); - pa_context_connect(context, NULL); + mainWindow->connectButton->set_sensitive(true); + mainWindow->disconnectButton->set_sensitive(false); + mainWindow->statButton->set_sensitive(false); + mainWindow->clearAllData(); } int main(int argc, char *argv[]) { @@ -98,7 +106,7 @@ int main(int argc, char *argv[]) { mainloop_api = pa_glib_mainloop_get_api(m); g_assert(mainloop_api); - create_connection(); + createConnection(); Gtk::Main::run(*mainWindow); |