summaryrefslogtreecommitdiffstats
path: root/src/Patchage.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-03-30 23:31:36 +0000
committerDavid Robillard <d@drobilla.net>2014-03-30 23:31:36 +0000
commit77448bc7507c26b964a9159fa1e4035487ccc326 (patch)
tree2b849fa16e97826d0ee279559d7db4126af1f66c /src/Patchage.cpp
parent2a37c8279d54e41242dca7ffb9c5019d56b01145 (diff)
downloadpatchage-77448bc7507c26b964a9159fa1e4035487ccc326.tar.gz
patchage-77448bc7507c26b964a9159fa1e4035487ccc326.tar.bz2
patchage-77448bc7507c26b964a9159fa1e4035487ccc326.zip
Rewrite configuration system.
Use standard XDG paths for configuration (fix #142). Save settings automatically on exit. git-svn-id: http://svn.drobilla.net/lad/trunk/patchage@5347 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/Patchage.cpp')
-rw-r--r--src/Patchage.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/Patchage.cpp b/src/Patchage.cpp
index e76a8d5..4531cad 100644
--- a/src/Patchage.cpp
+++ b/src/Patchage.cpp
@@ -97,7 +97,6 @@ Patchage::Patchage(int argc, char** argv)
, INIT_WIDGET(_menu_open_session)
, INIT_WIDGET(_menu_save_session)
, INIT_WIDGET(_menu_save_close_session)
- , INIT_WIDGET(_menu_store_positions)
, INIT_WIDGET(_menu_view_arrange)
, INIT_WIDGET(_menu_view_messages)
, INIT_WIDGET(_menu_view_refresh)
@@ -120,8 +119,6 @@ Patchage::Patchage(int argc, char** argv)
, _alsa_driver_autoattach(true)
#endif
{
- _settings_filename = getenv("HOME");
- _settings_filename += "/.patchagerc";
_state_manager = new StateManager();
_canvas = boost::shared_ptr<PatchageCanvas>(new PatchageCanvas(this, 1600*2, 1200*2));
@@ -182,8 +179,6 @@ Patchage::Patchage(int argc, char** argv)
_menu_alsa_disconnect->set_sensitive(false);
#endif
- _menu_store_positions->signal_activate().connect(
- sigc::mem_fun(this, &Patchage::on_store_positions));
_menu_file_quit->signal_activate().connect(
sigc::mem_fun(this, &Patchage::on_quit));
_menu_draw->signal_activate().connect(
@@ -225,7 +220,7 @@ Patchage::Patchage(int argc, char** argv)
_canvas->widget().show();
_main_win->present();
- _state_manager->load(_settings_filename);
+ _state_manager->load();
_main_win->resize(
static_cast<int>(_state_manager->get_window_size().x),
@@ -276,6 +271,9 @@ Patchage::Patchage(int argc, char** argv)
Patchage::~Patchage()
{
+ store_window_location();
+ _state_manager->save();
+
#if defined(PATCHAGE_LIBJACK) || defined(HAVE_JACK_DBUS)
delete _jack_driver;
#endif
@@ -714,13 +712,6 @@ Patchage::on_show_messages()
_messages_win->present();
}
-void
-Patchage::on_store_positions()
-{
- store_window_location();
- _state_manager->save(_settings_filename);
-}
-
bool
Patchage::on_scroll(GdkEventScroll* ev)
{