summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Dwy <yoplitein+git@gmail.com>2015-02-02 05:32:08 -0800
committerPeter Meerwald <pmeerw@pmeerw.net>2015-02-26 22:55:46 +0100
commit762cca55198b2376ab32ac3a8c0e9801c0c9e4f0 (patch)
treed14454c4f88c0b507b9a38d36487bc942ecbb472
parentdd0ccda382fa34cc624c2f85a11f9579d921531b (diff)
mainwindow: Remember device visibility selections
stores the type of devices that are shown for Playback, Recording, Output Devices, Input Devices, resp.
-rw-r--r--src/mainwindow.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc
index 1b15dfb..b45ab59 100644
--- a/src/mainwindow.cc
+++ b/src/mainwindow.cc
@@ -125,6 +125,38 @@ MainWindow::MainWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>
get_default_size(default_width, default_height);
if (width >= default_width && height >= default_height)
resize(width, height);
+
+ int sinkInputTypeSelection = g_key_file_get_integer(config, "window", "sinkInputType", &err);
+ if (err == NULL)
+ sinkInputTypeComboBox->set_active(sinkInputTypeSelection);
+ else {
+ g_error_free(err);
+ err = NULL;
+ }
+
+ int sourceOutputTypeSelection = g_key_file_get_integer(config, "window", "sourceOutputType", &err);
+ if (err == NULL)
+ sourceOutputTypeComboBox->set_active(sourceOutputTypeSelection);
+ else {
+ g_error_free(err);
+ err = NULL;
+ }
+
+ int sinkTypeSelection = g_key_file_get_integer(config, "window", "sinkType", &err);
+ if (err == NULL)
+ sinkTypeComboBox->set_active(sinkTypeSelection);
+ else {
+ g_error_free(err);
+ err = NULL;
+ }
+
+ int sourceTypeSelection = g_key_file_get_integer(config, "window", "sourceType", &err);
+ if (err == NULL)
+ sourceTypeComboBox->set_active(sourceTypeSelection);
+ else {
+ g_error_free(err);
+ err = NULL;
+ }
} else {
g_debug(_("Error reading config file %s: %s"), m_config_filename, err->message);
g_error_free(err);
@@ -202,6 +234,10 @@ MainWindow::~MainWindow() {
get_size(width, height);
g_key_file_set_integer(config, "window", "width", width);
g_key_file_set_integer(config, "window", "height", height);
+ g_key_file_set_integer(config, "window", "sinkInputType", sinkInputTypeComboBox->get_active_row_number());
+ g_key_file_set_integer(config, "window", "sourceOutputType", sourceOutputTypeComboBox->get_active_row_number());
+ g_key_file_set_integer(config, "window", "sinkType", sinkTypeComboBox->get_active_row_number());
+ g_key_file_set_integer(config, "window", "sourceType", sourceTypeComboBox->get_active_row_number());
gsize filelen;
GError *err = NULL;