diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/LashDriver.cpp | 174 | ||||
-rw-r--r-- | src/LashDriver.h | 23 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/Patchage.cpp | 57 | ||||
-rw-r--r-- | src/Patchage.h | 2 | ||||
-rw-r--r-- | src/patchage.glade | 112 |
6 files changed, 183 insertions, 187 deletions
diff --git a/src/LashDriver.cpp b/src/LashDriver.cpp index a5110a1..d5ad43e 100644 --- a/src/LashDriver.cpp +++ b/src/LashDriver.cpp @@ -28,7 +28,6 @@ using std::string; LashDriver::LashDriver(Patchage* app, int argc, char** argv) : _app(app), - _client(NULL), _args(NULL) { _args = lash_extract_args(&argc, &argv); @@ -46,21 +45,26 @@ void LashDriver::attach(bool launch_daemon) { // Already connected - if (_client) + if (_server_interface && _server_interface->enabled()) return; int lash_flags = LASH_Server_Interface | LASH_Config_File; if (!launch_daemon) lash_flags |= LASH_No_Start_Server; - _client = lash_init(_args, PACKAGE_NAME, lash_flags, LASH_PROTOCOL(2, 0)); - if (!_client) { - _app->status_message("[LASH] Unable to attach to server"); - } else { - //lash_event_t* event = lash_event_new_with_type(LASH_Client_Name); - //lash_event_set_string(event, "Patchage"); - //lash_send_event(_client, event); + + _server_interface = Raul::LashServerInterface::create( + _args, PACKAGE_NAME, lash_flags); + + if (_server_interface) { + /*_server_interface->signal_save_file.connect(sigc::mem_fun(this, LashDriver::on_save_file)); + _server_interface->signal_restore_file.connect(sigc::mem_fun(this, LashDriver::on_restore_file)); + _server_interface->signal_quit.connect(sigc::mem_fun(this, LashDriver::on_quit));*/ + _server_interface->signal_project_add.connect(sigc::mem_fun(this, &LashDriver::on_project_add)); + signal_attached.emit(); _app->status_message("[LASH] Attached"); + } else { + _app->status_message("[LASH] Unable to attach to server"); } } @@ -68,106 +72,41 @@ LashDriver::attach(bool launch_daemon) void LashDriver::detach() { - _client = NULL; + _server_interface.reset(); _app->status_message("[LASH] Detached"); signal_detached.emit(); } void -LashDriver::process_events() +LashDriver::on_project_add(const SharedPtr<Raul::LashProject> project) { - lash_event_t* ev = NULL; - lash_config_t* conf = NULL; + _project_name = project->name(); +} - // Process events - while ((ev = lash_get_event(_client)) != NULL) { - handle_event(ev); - lash_event_destroy(ev); - } - // Process configs - while ((conf = lash_get_config(_client)) != NULL) { - handle_config(conf); - lash_config_destroy(conf); - } +void +LashDriver::on_save_file(const string& directory) +{ + cout << "[LashDriver] LASH Save File - " << directory << endl; + _app->store_window_location(); + _app->state_manager()->save(directory + "/locations"); } void -LashDriver::handle_event(lash_event_t* ev) +LashDriver::on_restore_file(const string& directory) { - LASH_Event_Type type = lash_event_get_type(ev); - const char* c_str = lash_event_get_string(ev); - string str = (c_str == NULL) ? "" : c_str; - - //cout << "[LashDriver] LASH Event. Type = " << (unsigned int)type << ", string = " << str << "**********" << endl; - - switch (type) { - case LASH_Project_Add: - cerr << "LASH project add\n"; - break; - case LASH_Project_Remove: - cerr << "LASH remove\n"; - break; - case LASH_Project_Dir: - cerr << "LASH project dir\n"; - break; - case LASH_Project_Name: - cerr << "LASH project name\n"; - break; - case LASH_Client_Add: - cerr << "LASH client add\n"; - break; - case LASH_Client_Name: - cerr << "LASH client name\n"; - break; - case LASH_Jack_Client_Name: - cerr << "LASH jack client name\n"; - break; - case LASH_Alsa_Client_ID: - cerr << "LASH alsa client id\n"; - break; - case LASH_Percentage: - cerr << "LASH percentage\n"; - break; - case LASH_Save: - cerr << "LASH save\n"; - break; - case LASH_Restore_Data_Set: - cerr << "LASH restore data set\n"; - break; - case LASH_Server_Lost: - cerr << "LASH server lost\n"; - break; - case LASH_Client_Remove: - cerr << "LASH client remove\n"; - break; - case LASH_Save_File: - cout << "[LashDriver] LASH Save File - " << str << endl; - _app->store_window_location(); - _app->state_manager()->save(str.append("/locations")); - lash_send_event(_client, lash_event_new_with_type(LASH_Save_File)); - break; - - case LASH_Restore_File: - cout << "[LashDriver] LASH Restore File - " << str << endl; - _app->state_manager()->load(str.append("/locations")); - _app->update_state(); - lash_send_event(_client, lash_event_new_with_type(LASH_Restore_File)); - break; - - case LASH_Save_Data_Set: - cout << "[LashDriver] LASH Save Data Set - " << endl; - lash_send_event(_client, lash_event_new_with_type(LASH_Save_Data_Set)); - break; - - case LASH_Quit: - cout << "[LashDriver] Quit" << endl; - _client = NULL; - _app->quit(); - break; - } + cout << "[LashDriver] LASH Restore File - " << directory << endl; + _app->state_manager()->load(directory + "/locations"); + _app->update_state(); +} + + +void +LashDriver::on_quit() +{ + cout << "[LashDriver] Quit" << endl; } @@ -184,6 +123,51 @@ LashDriver::handle_config(lash_config_t* conf) val = lash_config_get_value(conf); val_size = lash_config_get_value_size(conf); } + + +void +LashDriver::restore_project(const std::string& directory) +{ + _project_name = ""; + _server_interface->restore_project(directory); +} + + +void +LashDriver::set_project_directory(const std::string& directory) +{ + SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name); + + if (project) + project->set_directory(directory); + else + cerr << "[LashDriver] No LASH project to set directory!" << endl; +} + + +void +LashDriver::save_project() +{ + SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name); + + if (project) + project->save(); + else + cerr << "[LashDriver] No LASH project to save!" << endl; +} + + +void +LashDriver::close_project() +{ + cerr << "CLOSE PROJECT\n"; + SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name); + + if (project) + project->close(); + else + cerr << "[LashDriver] No LASH project to close!" << endl; +} diff --git a/src/LashDriver.h b/src/LashDriver.h index cac5bfd..dde644a 100644 --- a/src/LashDriver.h +++ b/src/LashDriver.h @@ -19,6 +19,7 @@ #define LASHDRIVER_H #include <lash/lash.h> +#include <raul/LashServerInterface.h> #include "Driver.h" class Patchage; @@ -32,7 +33,7 @@ public: void attach(bool launch_daemon); void detach(); - bool is_attached() const { return lash_enabled(_client); } + bool is_attached() const { return _server_interface->enabled(); } bool connect(boost::shared_ptr<PatchagePort>, boost::shared_ptr<PatchagePort>) { return false; } @@ -42,12 +43,24 @@ public: void refresh() {} - void process_events(); + void process_events() { _server_interface->process_events(); } + + void restore_project(const std::string& directory); + void set_project_directory(const std::string& directory); + void save_project(); + void close_project(); private: - Patchage* _app; - lash_client_t* _client; - lash_args_t* _args; + Patchage* _app; + std::string _project_name; + + lash_args_t* _args; + SharedPtr<Raul::LashServerInterface> _server_interface; + + void on_project_add(const SharedPtr<Raul::LashProject> project); + void on_save_file(const std::string& directory); + void on_restore_file(const std::string& directory); + void on_quit(); void handle_event(lash_event_t* conf); void handle_config(lash_config_t* conf); diff --git a/src/Makefile.am b/src/Makefile.am index 97973d4..d5f1ab1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,5 @@ AM_CXXFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" @LIBGLADEMM_CFLAGS@ @GNOMECANVASMM_CFLAGS@ @JACK_CFLAGS@ @ALSA_CFLAGS@ @LASH_CFLAGS@ @FLOWCANVAS_CFLAGS@ @RAUL_CFLAGS@ -patchage_LDADD = @LIBGLADEMM_LIBS@ @GNOMECANVASMM_LIBS@ @JACK_LIBS@ @ALSA_LIBS@ @LASH_LIBS@ @FLOWCANVAS_LIBS@ @RAUL_CFLAGS@ +patchage_LDADD = @LIBGLADEMM_LIBS@ @GNOMECANVASMM_LIBS@ @JACK_LIBS@ @ALSA_LIBS@ @LASH_LIBS@ @FLOWCANVAS_LIBS@ @RAUL_LIBS@ EXTRA_DIST = patchage.gladep diff --git a/src/Patchage.cpp b/src/Patchage.cpp index 4e48bb0..84d9024 100644 --- a/src/Patchage.cpp +++ b/src/Patchage.cpp @@ -129,14 +129,13 @@ Patchage::Patchage(int argc, char** argv) xml->get_widget_derived("jack_settings_win", _jack_settings_dialog); xml->get_widget("about_win", _about_window); xml->get_widget("jack_settings_menuitem", _menu_jack_settings); - xml->get_widget("launch_jack_menuitem", _menu_jack_launch); xml->get_widget("connect_to_jack_menuitem", _menu_jack_connect); xml->get_widget("disconnect_from_jack_menuitem", _menu_jack_disconnect); #ifdef HAVE_LASH xml->get_widget("open_session_menuitem", _menu_open_session); xml->get_widget("save_session_menuitem", _menu_save_session); xml->get_widget("save_session_as_menuitem", _menu_save_session_as); - xml->get_widget("launch_lash_menuitem", _menu_lash_launch); + xml->get_widget("close_session_menuitem", _menu_close_session); xml->get_widget("connect_to_lash_menuitem", _menu_lash_connect); xml->get_widget("disconnect_from_lash_menuitem", _menu_lash_disconnect); #endif @@ -201,11 +200,8 @@ Patchage::Patchage(int argc, char** argv) _menu_jack_settings->signal_activate().connect( sigc::hide_return(sigc::mem_fun(_jack_settings_dialog, &JackSettingsDialog::run))); - _menu_jack_launch->signal_activate().connect(sigc::bind( - sigc::mem_fun(_jack_driver, &JackDriver::attach), true)); - _menu_jack_connect->signal_activate().connect(sigc::bind( - sigc::mem_fun(_jack_driver, &JackDriver::attach), false)); + sigc::mem_fun(_jack_driver, &JackDriver::attach), true)); _menu_jack_disconnect->signal_activate().connect(sigc::mem_fun(_jack_driver, &JackDriver::detach)); @@ -213,7 +209,7 @@ Patchage::Patchage(int argc, char** argv) _menu_open_session->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_open_session)); _menu_save_session->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_save_session)); _menu_save_session_as->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_save_session_as)); - _menu_lash_launch->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_lash_launch)); + _menu_close_session->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_close_session)); _menu_lash_connect->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_lash_connect)); _menu_lash_disconnect->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_lash_disconnect)); #endif @@ -474,15 +470,11 @@ Patchage::connect_widgets() { #ifdef HAVE_LASH _lash_driver->signal_attached.connect(sigc::bind( - sigc::mem_fun(_menu_lash_launch, &Gtk::MenuItem::set_sensitive), false)); - _lash_driver->signal_attached.connect(sigc::bind( sigc::mem_fun(_menu_lash_connect, &Gtk::MenuItem::set_sensitive), false)); _lash_driver->signal_attached.connect(sigc::bind( sigc::mem_fun(_menu_lash_disconnect, &Gtk::MenuItem::set_sensitive), true)); _lash_driver->signal_detached.connect(sigc::bind( - sigc::mem_fun(_menu_lash_launch, &Gtk::MenuItem::set_sensitive), true)); - _lash_driver->signal_detached.connect(sigc::bind( sigc::mem_fun(_menu_lash_connect, &Gtk::MenuItem::set_sensitive), true)); _lash_driver->signal_detached.connect(sigc::bind( sigc::mem_fun(_menu_lash_disconnect, &Gtk::MenuItem::set_sensitive), false)); @@ -495,8 +487,6 @@ Patchage::connect_widgets() sigc::mem_fun(_jack_connect_toggle, &Gtk::ToggleButton::set_active), true)); _jack_driver->signal_attached.connect(sigc::bind( - sigc::mem_fun(_menu_jack_launch, &Gtk::MenuItem::set_sensitive), false)); - _jack_driver->signal_attached.connect(sigc::bind( sigc::mem_fun(_menu_jack_connect, &Gtk::MenuItem::set_sensitive), false)); _jack_driver->signal_attached.connect(sigc::bind( sigc::mem_fun(_menu_jack_disconnect, &Gtk::MenuItem::set_sensitive), true)); @@ -504,8 +494,6 @@ Patchage::connect_widgets() _jack_driver->signal_detached.connect(sigc::bind( sigc::mem_fun(_jack_connect_toggle, &Gtk::ToggleButton::set_active), false)); _jack_driver->signal_detached.connect(sigc::bind( - sigc::mem_fun(_menu_jack_launch, &Gtk::MenuItem::set_sensitive), true)); - _jack_driver->signal_detached.connect(sigc::bind( sigc::mem_fun(_menu_jack_connect, &Gtk::MenuItem::set_sensitive), true)); _jack_driver->signal_detached.connect(sigc::bind( sigc::mem_fun(_menu_jack_disconnect, &Gtk::MenuItem::set_sensitive), false)); @@ -528,29 +516,61 @@ Patchage::connect_widgets() void Patchage::menu_open_session() { + Gtk::FileChooserDialog dialog(*_main_window, "Open LASH Session", + Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER); + + dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + dialog.add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_OK); + + const int result = dialog.run(); + + if (result == Gtk::RESPONSE_OK) { + _lash_driver->restore_project(dialog.get_filename()); + } } + void Patchage::menu_save_session() { + if (_lash_driver) + _lash_driver->save_project(); } + void Patchage::menu_save_session_as() { + if (!_lash_driver) + return; + + Gtk::FileChooserDialog dialog(*_main_window, "Save LASH Session", + Gtk::FILE_CHOOSER_ACTION_SAVE); + + dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + dialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_OK); + + const int result = dialog.run(); + + if (result == Gtk::RESPONSE_OK) { + _lash_driver->set_project_directory(dialog.get_filename()); + _lash_driver->save_project(); + } } + void -Patchage::menu_lash_launch() +Patchage::menu_close_session() { - _lash_driver->attach(true); + cerr << "CLOSE SESSION\n"; + _lash_driver->close_project(); } void Patchage::menu_lash_connect() { - _lash_driver->attach(false); + _lash_driver->attach(true); } @@ -610,7 +630,6 @@ Patchage::on_pane_position_changed() if (_pane_closed && new_position < max_pane_position()) { // Auto open _user_pane_position = new_position; - cerr << "FOO\n"; _messages_expander->set_expanded(true); _pane_closed = false; _menu_view_messages->set_active(true); diff --git a/src/Patchage.h b/src/Patchage.h index 2c2c070..b240556 100644 --- a/src/Patchage.h +++ b/src/Patchage.h @@ -98,12 +98,14 @@ protected: Gtk::MenuItem* _menu_open_session; Gtk::MenuItem* _menu_save_session; Gtk::MenuItem* _menu_save_session_as; + Gtk::MenuItem* _menu_close_session; Gtk::MenuItem* _menu_lash_launch; Gtk::MenuItem* _menu_lash_connect; Gtk::MenuItem* _menu_lash_disconnect; void menu_open_session(); void menu_save_session(); void menu_save_session_as(); + void menu_close_session(); void menu_lash_launch(); void menu_lash_connect(); void menu_lash_disconnect(); diff --git a/src/patchage.glade b/src/patchage.glade index 4e60be5..399d8fe 100644 --- a/src/patchage.glade +++ b/src/patchage.glade @@ -46,13 +46,13 @@ <child> <widget class="GtkImageMenuItem" id="open_session_menuitem"> <property name="visible">True</property> - <property name="label" translatable="yes">_Open Session</property> + <property name="label" translatable="yes">_Open Project</property> <property name="use_underline">True</property> <signal name="activate" handler="on_open_session_menuitem_activate" last_modification_time="Sun, 01 Oct 2006 07:00:37 GMT"/> <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image701"> + <widget class="GtkImage" id="image759"> <property name="visible">True</property> <property name="stock">gtk-open</property> <property name="icon_size">1</property> @@ -68,13 +68,13 @@ <child> <widget class="GtkImageMenuItem" id="save_session_menuitem"> <property name="visible">True</property> - <property name="label" translatable="yes">_Save Session</property> + <property name="label" translatable="yes">_Save Project</property> <property name="use_underline">True</property> <signal name="activate" handler="on_save_session_menuitem_activate" last_modification_time="Sun, 01 Oct 2006 07:01:40 GMT"/> <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image702"> + <widget class="GtkImage" id="image760"> <property name="visible">True</property> <property name="stock">gtk-save</property> <property name="icon_size">1</property> @@ -90,13 +90,13 @@ <child> <widget class="GtkImageMenuItem" id="save_session_as_menuitem"> <property name="visible">True</property> - <property name="label" translatable="yes">Save Session _As...</property> + <property name="label" translatable="yes">Save Project _As...</property> <property name="use_underline">True</property> <signal name="activate" handler="on_save_session_as_menuitem_activate" last_modification_time="Sun, 01 Oct 2006 07:01:40 GMT"/> <accelerator key="S" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image703"> + <widget class="GtkImage" id="image761"> <property name="visible">True</property> <property name="stock">gtk-save-as</property> <property name="icon_size">1</property> @@ -110,6 +110,27 @@ </child> <child> + <widget class="GtkImageMenuItem" id="close_session_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Close Project</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_close_session_menuitem_activate" last_modification_time="Fri, 06 Apr 2007 01:57:05 GMT"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image762"> + <property name="visible">True</property> + <property name="stock">gtk-close</property> + <property name="icon_size">1</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + </child> + + <child> <widget class="GtkSeparatorMenuItem" id="separator5"> <property name="visible">True</property> </widget> @@ -124,7 +145,7 @@ <signal name="activate" handler="on_save_settings1_activate" last_modification_time="Mon, 13 Sep 2004 02:42:14 GMT"/> <child internal-child="image"> - <widget class="GtkImage" id="image704"> + <widget class="GtkImage" id="image763"> <property name="visible">True</property> <property name="stock">gtk-save</property> <property name="icon_size">1</property> @@ -174,7 +195,7 @@ <accelerator key="P" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image705"> + <widget class="GtkImage" id="image764"> <property name="visible">True</property> <property name="stock">gtk-preferences</property> <property name="icon_size">1</property> @@ -194,37 +215,15 @@ </child> <child> - <widget class="GtkImageMenuItem" id="launch_jack_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Connect to JACK (Launch)</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_launch_jack_menuitem_activate" last_modification_time="Wed, 05 Apr 2006 04:52:35 GMT"/> - <accelerator key="J" modifiers="GDK_CONTROL_MASK | GDK_MOD1_MASK" signal="activate"/> - - <child internal-child="image"> - <widget class="GtkImage" id="image706"> - <property name="visible">True</property> - <property name="stock">gtk-execute</property> - <property name="icon_size">1</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - </child> - - <child> <widget class="GtkImageMenuItem" id="connect_to_jack_menuitem"> <property name="visible">True</property> - <property name="label" translatable="yes">Connect to _JACK (Don't Launch)</property> + <property name="label" translatable="yes">Connect to _JACK</property> <property name="use_underline">True</property> <signal name="activate" handler="on_connect_to_jack_menuitem_activate" last_modification_time="Wed, 05 Apr 2006 04:27:40 GMT"/> - <accelerator key="J" modifiers="GDK_MOD1_MASK" signal="activate"/> + <accelerator key="J" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image707"> + <widget class="GtkImage" id="image765"> <property name="visible">True</property> <property name="stock">gtk-connect</property> <property name="icon_size">1</property> @@ -244,10 +243,10 @@ <property name="label" translatable="yes">Disconnect from JACK</property> <property name="use_underline">True</property> <signal name="activate" handler="on_disconnect_from_jack1_activate" last_modification_time="Sun, 21 May 2006 23:48:26 GMT"/> - <accelerator key="J" modifiers="GDK_SHIFT_MASK | GDK_MOD1_MASK" signal="activate"/> + <accelerator key="J" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image708"> + <widget class="GtkImage" id="image766"> <property name="visible">True</property> <property name="stock">gtk-disconnect</property> <property name="icon_size">1</property> @@ -272,10 +271,10 @@ <property name="label" translatable="yes">Connect to _ALSA</property> <property name="use_underline">True</property> <signal name="activate" handler="on_connect_to_alsa_menuitem_activate" last_modification_time="Mon, 22 May 2006 00:10:31 GMT"/> - <accelerator key="A" modifiers="GDK_MOD1_MASK" signal="activate"/> + <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image709"> + <widget class="GtkImage" id="image767"> <property name="visible">True</property> <property name="stock">gtk-connect</property> <property name="icon_size">1</property> @@ -295,10 +294,10 @@ <property name="label" translatable="yes">Disconnect from ALSA</property> <property name="use_underline">True</property> <signal name="activate" handler="on_disconnect_from_alsa_menuitem_activate" last_modification_time="Mon, 22 May 2006 00:10:31 GMT"/> - <accelerator key="A" modifiers="GDK_SHIFT_MASK | GDK_MOD1_MASK" signal="activate"/> + <accelerator key="A" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image710"> + <widget class="GtkImage" id="image768"> <property name="visible">True</property> <property name="stock">gtk-disconnect</property> <property name="icon_size">1</property> @@ -318,37 +317,15 @@ </child> <child> - <widget class="GtkImageMenuItem" id="launch_lash_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Connect to LASH (Launch)</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_launch_lash1_activate" last_modification_time="Mon, 22 May 2006 01:14:33 GMT"/> - <accelerator key="L" modifiers="GDK_CONTROL_MASK | GDK_MOD1_MASK" signal="activate"/> - - <child internal-child="image"> - <widget class="GtkImage" id="image711"> - <property name="visible">True</property> - <property name="stock">gtk-execute</property> - <property name="icon_size">1</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - </child> - - <child> <widget class="GtkImageMenuItem" id="connect_to_lash_menuitem"> <property name="visible">True</property> - <property name="label" translatable="yes">Connect to _LASH (Don't Launch)</property> + <property name="label" translatable="yes">Connect to _LASH</property> <property name="use_underline">True</property> <signal name="activate" handler="on_connect_to_lash1_activate" last_modification_time="Mon, 22 May 2006 01:14:33 GMT"/> - <accelerator key="L" modifiers="GDK_MOD1_MASK" signal="activate"/> + <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image712"> + <widget class="GtkImage" id="image769"> <property name="visible">True</property> <property name="stock">gtk-connect</property> <property name="icon_size">1</property> @@ -368,10 +345,10 @@ <property name="label" translatable="yes">Disconnect from LASH</property> <property name="use_underline">True</property> <signal name="activate" handler="on_disconnect_from_lash1_activate" last_modification_time="Mon, 22 May 2006 01:14:33 GMT"/> - <accelerator key="L" modifiers="GDK_SHIFT_MASK | GDK_MOD1_MASK" signal="activate"/> + <accelerator key="L" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image713"> + <widget class="GtkImage" id="image770"> <property name="visible">True</property> <property name="stock">gtk-disconnect</property> <property name="icon_size">1</property> @@ -404,6 +381,7 @@ <property name="use_underline">True</property> <property name="active">True</property> <signal name="activate" handler="on_view_jack_toolbar_menuitem_activate" last_modification_time="Thu, 15 Feb 2007 19:41:28 GMT"/> + <accelerator key="T" modifiers="GDK_CONTROL_MASK" signal="activate"/> </widget> </child> @@ -428,7 +406,7 @@ <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image714"> + <widget class="GtkImage" id="image771"> <property name="visible">True</property> <property name="stock">gtk-refresh</property> <property name="icon_size">1</property> |