[nemiver/remote-load-on-connect] Initial support for 'load' upon remote connection
- From: Dodji Seketeli <dodji src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nemiver/remote-load-on-connect] Initial support for 'load' upon remote connection
- Date: Thu, 24 Nov 2011 16:31:32 +0000 (UTC)
commit 50fb2325341ce6e5964f0432e6a17a5f0fa10f87
Author: Dodji Seketeli <dodji seketeli org>
Date: Thu Nov 24 16:51:28 2011 +0100
Initial support for 'load' upon remote connection
* src/dbgengine/nmv-i-debugger.h (attach_to_remote_target): Add a
flag to load the inferior upon connection.
* src/dbgengine/nmv-gdb-engine.h (attach_to_remote_target):
Likewise.
* src/dbgengine/nmv-gdb-engine.cc (attach_to_remote_target):
Issue a "monitor reset" and a "load" command after connection if
the flag is set.
* src/persp/dbgperspective/ui/remotetargetdialog.ui: Add a check
box to choose to issue the "load" command upon connection.
* src/persp/dbgperspective/nmv-remote-target-dialog.h
(get_load_inferior_after_connect)
(set_load_inferior_after_connect): New methods.
* src/persp/dbgperspective/nmv-remote-target-dialog.cc
(RemoteTargetDialog::Priv::{get_load_inferior_after_connect,
set_load_inferior_after_connect}): New methods.
(RemoteTargetDialog::{get_load_inferior_after_connect,
set_load_inferior_after_connect}): Likewise.
* src/persp/dbgperspective/nmv-dbg-perspective.h
(connect_to_remote_target, reconnect_to_remote_target): Add a flag
to load the inferior upon connection.
* src/persp/dbgperspective/nmv-dbg-perspective.cc
(record_and_save_session): Save the flag to load inferior upon
connection into the session.
(execute_session): Load that flag from the session and use it to
reconnect.
(connect_to_remote_target): Use the new flag, possibly set by the
check box in the dialog.
(reconnect_to_remote_target): Likewise.
(pre_fill_remote_target_dialog): Handle the new flag.
* main.c: Add a new --load-inferior-after-connect command line
switch.
(process_gui_options): Pass the result of that new command line
switch to the debugging perspective.
src/dbgengine/nmv-gdb-engine.cc | 16 ++-
src/dbgengine/nmv-gdb-engine.h | 6 +-
src/dbgengine/nmv-i-debugger.h | 6 +-
src/main.cc | 17 ++-
src/persp/dbgperspective/nmv-dbg-perspective.cc | 52 +++++--
src/persp/dbgperspective/nmv-dbg-perspective.h | 6 +-
.../dbgperspective/nmv-remote-target-dialog.cc | 38 +++++-
.../dbgperspective/nmv-remote-target-dialog.h | 3 +
src/persp/dbgperspective/ui/remotetargetdialog.ui | 146 +++++++++++++------
9 files changed, 220 insertions(+), 70 deletions(-)
---
diff --git a/src/dbgengine/nmv-gdb-engine.cc b/src/dbgengine/nmv-gdb-engine.cc
index b9b7436..3606a01 100644
--- a/src/dbgengine/nmv-gdb-engine.cc
+++ b/src/dbgengine/nmv-gdb-engine.cc
@@ -3113,17 +3113,29 @@ GDBEngine::attach_to_target (unsigned int a_pid,
bool
GDBEngine::attach_to_remote_target (const UString &a_host,
- unsigned a_port)
+ unsigned a_port,
+ bool a_load_inferior_on_connect)
{
+ LOG_FUNCTION_SCOPE_NORMAL_DD;
queue_command (Command ("-target-select remote " + a_host +
":" + UString::from_int (a_port)));
+ if (a_load_inferior_on_connect) {
+ queue_command (Command ("monitor reset halt"));
+ queue_command (Command ("load"));
+ }
return true;
}
bool
-GDBEngine::attach_to_remote_target (const UString &a_serial_line)
+GDBEngine::attach_to_remote_target (const UString &a_serial_line,
+ bool a_load_inferior_on_connect)
{
+ LOG_FUNCTION_SCOPE_NORMAL_DD;
queue_command (Command ("-target-select remote " + a_serial_line));
+ if (a_load_inferior_on_connect) {
+ queue_command (Command ("monitor reset halt"));
+ queue_command (Command ("load"));
+ }
return true;
}
diff --git a/src/dbgengine/nmv-gdb-engine.h b/src/dbgengine/nmv-gdb-engine.h
index 11b1668..4478e96 100644
--- a/src/dbgengine/nmv-gdb-engine.h
+++ b/src/dbgengine/nmv-gdb-engine.h
@@ -294,9 +294,11 @@ public:
bool attach_to_target (unsigned int a_pid,
const UString &a_tty_path);
- bool attach_to_remote_target (const UString &a_host, unsigned a_port);
+ bool attach_to_remote_target (const UString &a_host, unsigned a_port,
+ bool a_load_inferior_on_connect);
- bool attach_to_remote_target (const UString &a_serial_line);
+ bool attach_to_remote_target (const UString &a_serial_line,
+ bool a_load_inferior_on_connect);
void detach_from_target (const UString &a_cookie);
diff --git a/src/dbgengine/nmv-i-debugger.h b/src/dbgengine/nmv-i-debugger.h
index 6fb5fff..c72509b 100644
--- a/src/dbgengine/nmv-i-debugger.h
+++ b/src/dbgengine/nmv-i-debugger.h
@@ -1140,9 +1140,11 @@ public:
const UString &a_tty_path="") = 0;
virtual bool attach_to_remote_target (const UString &a_host,
- unsigned a_port) = 0;
+ unsigned a_port,
+ bool a_load_inferior_on_connect) = 0;
- virtual bool attach_to_remote_target (const UString &a_serial_line) = 0;
+ virtual bool attach_to_remote_target (const UString &a_serial_line,
+ bool a_load_inferior_on_connect) = 0;
virtual void detach_from_target (const UString &a_cookie="") = 0;
diff --git a/src/main.cc b/src/main.cc
index 7f2bdf8..486e438 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -63,6 +63,7 @@ static bool gv_show_version = false;
static bool gv_use_launch_terminal = false;
static gchar *gv_remote = 0;
static gchar *gv_solib_prefix = 0;
+static bool gv_load_inferior_after_connect = false;
static gchar *gv_gdb_binary_filepath = 0;
static GOptionEntry entries[] =
@@ -161,6 +162,16 @@ static GOptionEntry entries[] =
"</path/to/prefix>"
},
{
+ "load-inferior-after-connect",
+ 0,
+ 0,
+ G_OPTION_ARG_NONE,
+ &gv_load_inferior_after_connect,
+ _("Whether to issue a \"load\" command after connecting to the "
+ "remote target. Use in conjunction with --remote"),
+ 0
+ },
+ {
"gdb-binary",
0,
0,
@@ -591,13 +602,15 @@ process_gui_options (int& a_argc, char** a_argv)
// "host:port", so let's try to connect to that.
debug_persp->connect_to_remote_target (host, port,
prog_path,
- solib_prefix);
+ solib_prefix,
+ gv_load_inferior_after_connect);
} else {
// We think gv_remote contains a serial line address.
// Let's try to connect via the serial line then.
debug_persp->connect_to_remote_target (gv_remote,
prog_path,
- solib_prefix);
+ solib_prefix,
+ gv_load_inferior_after_connect);
}
} else if (!prog_path.empty ()) {
// The user wants to debug a local program
diff --git a/src/persp/dbgperspective/nmv-dbg-perspective.cc b/src/persp/dbgperspective/nmv-dbg-perspective.cc
index 7f00a2d..48e964e 100644
--- a/src/persp/dbgperspective/nmv-dbg-perspective.cc
+++ b/src/persp/dbgperspective/nmv-dbg-perspective.cc
@@ -125,6 +125,7 @@ const char *PROGRAM_ARGS = "programarguments";
const char *PROGRAM_CWD = "programcwd";
const char *LAST_RUN_TIME = "lastruntime";
const char *REMOTE_TARGET = "remotetarget";
+const char *LOAD_INFERIOR_AFTER_CONNECT = "loadinferiorafterconnect";
const char *SOLIB_PREFIX = "solibprefix";
const char *DBG_PERSPECTIVE_MOUSE_MOTION_DOMAIN =
@@ -585,15 +586,18 @@ public:
void connect_to_remote_target (const UString &a_server_address,
unsigned a_server_port,
const UString &a_prog_path,
- const UString &a_solib_prefix);
+ const UString &a_solib_prefix,
+ bool a_load_inferior_on_connect);
void connect_to_remote_target (const UString &a_serial_line,
const UString &a_prog_path,
- const UString &a_solib_prefix);
+ const UString &a_solib_prefix,
+ bool a_load_inferior_on_connect);
void reconnect_to_remote_target (const UString &a_remote_target,
const UString &a_prog_path,
- const UString &a_solib_prefix);
+ const UString &a_solib_prefix,
+ bool a_load_inferior_on_connect);
void pre_fill_remote_target_dialog (RemoteTargetDialog &a_dialog);
@@ -853,6 +857,7 @@ struct DBGPerspective::Priv {
vector<UString> prog_args;
UString prog_cwd;
UString remote_target;
+ bool load_inferior_after_connect;
UString solib_prefix;
map<UString, UString> env_variables;
list<UString> session_search_paths;
@@ -962,6 +967,7 @@ struct DBGPerspective::Priv {
reused_session (false),
debugger_has_just_run (false),
debugger_engine_alive (false),
+ load_inferior_after_connect (false),
menubar_merge_id (0),
toolbar_merge_id (0),
contextual_menu_merge_id(0),
@@ -4976,6 +4982,10 @@ DBGPerspective::record_and_save_session (ISessMgr::Session &a_session)
a_session.properties ()[PROGRAM_CWD] = m_priv->prog_cwd;
a_session.properties ()[REMOTE_TARGET] = m_priv->remote_target;
a_session.properties ()[SOLIB_PREFIX] = m_priv->solib_prefix;
+ a_session.properties ()[LOAD_INFERIOR_AFTER_CONNECT] =
+ (m_priv->load_inferior_after_connect)
+ ? "true"
+ : "false";
GTimeVal timeval;
g_get_current_time (&timeval);
@@ -5743,8 +5753,14 @@ DBGPerspective::execute_session (ISessMgr::Session &a_session)
if ((it = a_session.properties ().find (SOLIB_PREFIX)) != nil)
solib_prefix = it->second;
+ bool load_inferior_after_connect =
+ (a_session.properties ()[LOAD_INFERIOR_AFTER_CONNECT] == "true")
+ ? true:
+ false;
+
if (!remote_target.empty ())
- reconnect_to_remote_target (remote_target, prog_name, solib_prefix);
+ reconnect_to_remote_target (remote_target, prog_name, solib_prefix,
+ load_inferior_after_connect);
else
execute_program (prog_name,
args,
@@ -6103,11 +6119,13 @@ DBGPerspective::connect_to_remote_target ()
== RemoteTargetDialog::TCP_CONNECTION_TYPE) {
connect_to_remote_target (dialog.get_server_address (),
dialog.get_server_port (),
- path, solib_prefix);
+ path, solib_prefix,
+ dialog.get_load_inferior_after_connect ());
} else if (dialog.get_connection_type ()
== RemoteTargetDialog::SERIAL_CONNECTION_TYPE) {
connect_to_remote_target (dialog.get_serial_port_name (),
- path, solib_prefix);
+ path, solib_prefix,
+ dialog.get_load_inferior_after_connect ());
}
}
@@ -6115,7 +6133,8 @@ void
DBGPerspective::connect_to_remote_target (const UString &a_server_address,
unsigned a_server_port,
const UString &a_prog_path,
- const UString &a_solib_prefix)
+ const UString &a_solib_prefix,
+ bool a_load_inferior_on_connect)
{
LOG_FUNCTION_SCOPE_NORMAL_DD
THROW_IF_FAIL (debugger ());
@@ -6139,7 +6158,8 @@ DBGPerspective::connect_to_remote_target (const UString &a_server_address,
LOG_DD ("solib prefix path: '" << a_solib_prefix << "'");
debugger ()->set_solib_prefix_path (a_solib_prefix);
debugger ()->attach_to_remote_target (a_server_address,
- a_server_port);
+ a_server_port,
+ a_load_inferior_on_connect);
std::ostringstream remote_target;
remote_target << a_server_address << ":" << a_server_port;
m_priv->remote_target = remote_target.str ();
@@ -6150,7 +6170,8 @@ DBGPerspective::connect_to_remote_target (const UString &a_server_address,
void
DBGPerspective::connect_to_remote_target (const UString &a_serial_line,
const UString &a_prog_path,
- const UString &a_solib_prefix)
+ const UString &a_solib_prefix,
+ bool a_load_inferior_on_connect)
{
LOG_FUNCTION_SCOPE_NORMAL_DD
THROW_IF_FAIL (debugger ());
@@ -6173,7 +6194,8 @@ DBGPerspective::connect_to_remote_target (const UString &a_serial_line,
}
LOG_DD ("solib prefix path: '" << a_solib_prefix << "'");
debugger ()->set_solib_prefix_path (a_solib_prefix);
- debugger ()->attach_to_remote_target (a_serial_line);
+ debugger ()->attach_to_remote_target (a_serial_line,
+ a_load_inferior_on_connect);
std::ostringstream remote_target;
remote_target << a_serial_line;
@@ -6185,7 +6207,8 @@ DBGPerspective::connect_to_remote_target (const UString &a_serial_line,
void
DBGPerspective::reconnect_to_remote_target (const UString &a_remote_target,
const UString &a_prog_path,
- const UString &a_solib_prefix)
+ const UString &a_solib_prefix,
+ bool a_load_inferior_on_connect)
{
if (a_remote_target.empty ())
return;
@@ -6196,12 +6219,14 @@ DBGPerspective::reconnect_to_remote_target (const UString &a_remote_target,
// Try to connect via IP
connect_to_remote_target (host, port,
a_prog_path,
- a_solib_prefix);
+ a_solib_prefix,
+ a_load_inferior_on_connect);
else
// Try to connect via the serial line
connect_to_remote_target (a_remote_target,
a_prog_path,
- a_solib_prefix);
+ a_solib_prefix,
+ a_load_inferior_on_connect);
}
bool
@@ -6240,6 +6265,7 @@ DBGPerspective::pre_fill_remote_target_dialog (RemoteTargetDialog &a_dialog)
} else {
a_dialog.set_serial_port_name (m_priv->remote_target);
}
+ a_dialog.set_load_inferior_after_connect (m_priv->load_inferior_after_connect);
}
void
diff --git a/src/persp/dbgperspective/nmv-dbg-perspective.h b/src/persp/dbgperspective/nmv-dbg-perspective.h
index ddb00ff..831600f 100644
--- a/src/persp/dbgperspective/nmv-dbg-perspective.h
+++ b/src/persp/dbgperspective/nmv-dbg-perspective.h
@@ -121,11 +121,13 @@ public:
virtual void connect_to_remote_target (const UString &a_server_address,
unsigned a_server_port,
const UString &a_prog_path,
- const UString &a_solib_prefix) = 0;
+ const UString &a_solib_prefix,
+ bool load_inferior_after_connect) = 0;
virtual void connect_to_remote_target (const UString &a_serial_line,
const UString &a_prog_path,
- const UString &a_solib_prefix) = 0;
+ const UString &a_solib_prefix,
+ bool load_inferior_after_connect) = 0;
virtual void load_core_file () = 0;
diff --git a/src/persp/dbgperspective/nmv-remote-target-dialog.cc b/src/persp/dbgperspective/nmv-remote-target-dialog.cc
index 22cdc0b..b61dc03 100644
--- a/src/persp/dbgperspective/nmv-remote-target-dialog.cc
+++ b/src/persp/dbgperspective/nmv-remote-target-dialog.cc
@@ -43,13 +43,16 @@ struct RemoteTargetDialog::Priv {
mutable UString server_address;
mutable UString serial_port_name;
enum RemoteTargetDialog::ConnectionType connection_type;
+ mutable bool load_inferior_after_connect;
Priv ();
Priv (Gtk::Dialog &a_dialog,
const Glib::RefPtr<Gtk::Builder> &a_gtkbuilder) :
dialog (a_dialog),
- gtkbuilder (a_gtkbuilder)
+ gtkbuilder (a_gtkbuilder),
+ connection_type (RemoteTargetDialog::TCP_CONNECTION_TYPE),
+ load_inferior_after_connect (false)
{
init_members ();
init_from_gtkbuilder ();
@@ -326,6 +329,25 @@ struct RemoteTargetDialog::Priv {
chooser->select_filename (a_name);
}
+ bool
+ get_load_inferior_after_connect () const
+ {
+ Gtk::CheckButton *cb =
+ get_widget_from_gtkbuilder<Gtk::CheckButton>
+ (gtkbuilder, "loadafterconnectcheckbutton");
+ load_inferior_after_connect = cb->get_active ();
+ return load_inferior_after_connect;
+ }
+
+ void
+ set_load_inferior_after_connect (bool a_flag)
+ {
+ Gtk::CheckButton *cb =
+ get_widget_from_gtkbuilder<Gtk::CheckButton>
+ (gtkbuilder, "loadafterconnectcheckbutton");
+ cb->set_active (a_flag);
+ }
+
};//end RemoteTargetDialog::Priv
RemoteTargetDialog::RemoteTargetDialog (const UString &a_root_path) :
@@ -438,4 +460,18 @@ RemoteTargetDialog::set_serial_port_name (const UString &a_serial)
return m_priv->set_serial_port_name (a_serial);
}
+bool
+RemoteTargetDialog::get_load_inferior_after_connect () const
+{
+ THROW_IF_FAIL (m_priv);
+ return m_priv->get_load_inferior_after_connect ();
+}
+
+void
+RemoteTargetDialog::set_load_inferior_after_connect (bool a_flag)
+{
+ THROW_IF_FAIL (m_priv);
+ return m_priv->set_load_inferior_after_connect (a_flag);
+}
+
NEMIVER_END_NAMESPACE (nemiver)
diff --git a/src/persp/dbgperspective/nmv-remote-target-dialog.h b/src/persp/dbgperspective/nmv-remote-target-dialog.h
index 32042c6..afbe34c 100644
--- a/src/persp/dbgperspective/nmv-remote-target-dialog.h
+++ b/src/persp/dbgperspective/nmv-remote-target-dialog.h
@@ -62,6 +62,9 @@ public:
const UString& get_serial_port_name () const;
void set_serial_port_name (const UString &a_serial);
+
+ bool get_load_inferior_after_connect () const;
+ void set_load_inferior_after_connect (bool);
};//end RemoteTargetDialog
NEMIVER_END_NAMESPACE (nemiver)
diff --git a/src/persp/dbgperspective/ui/remotetargetdialog.ui b/src/persp/dbgperspective/ui/remotetargetdialog.ui
index 466faac..176762b 100644
--- a/src/persp/dbgperspective/ui/remotetargetdialog.ui
+++ b/src/persp/dbgperspective/ui/remotetargetdialog.ui
@@ -1,9 +1,9 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 2.6 -->
- <!-- interface-naming-policy toplevel-contextual -->
<object class="GtkDialog" id="remotetargetdialog">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="title" translatable="yes">Connect to Remote Target</property>
<property name="resizable">False</property>
<property name="modal">True</property>
@@ -11,19 +11,66 @@
<property name="default_height">300</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox1">
+ <object class="GtkBox" id="dialog-vbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="cancelbutton">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="okbutton">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Executable to Load</b></property>
<property name="use_markup">True</property>
@@ -38,22 +85,26 @@
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<child>
<object class="GtkFileChooserButton" id="execfilechooserbutton">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="title" translatable="yes">Choose a File</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="solibprefixlabesolibprefixlabel">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Shared Libraries Location</b></property>
<property name="use_markup">True</property>
@@ -68,10 +119,12 @@
<child>
<object class="GtkAlignment" id="alignmentfoo">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<child>
<object class="GtkFileChooserButton" id="solibprefixchooserbutton">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="action">select-folder</property>
<property name="title" translatable="yes">Choose a Directory</property>
</object>
@@ -79,12 +132,14 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Remote Debugging Server</b></property>
<property name="use_markup">True</property>
@@ -98,17 +153,19 @@
<child>
<object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<child>
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkRadioButton" id="tcpradiobutton">
<property name="label" translatable="yes">TCP/IP Connection</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
@@ -121,10 +178,12 @@
<child>
<object class="GtkAlignment" id="tcpconnectioncontainer">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<child>
<object class="GtkTable" id="table2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_columns">4</property>
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
@@ -143,6 +202,7 @@
<child>
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Port :</property>
</object>
@@ -156,6 +216,7 @@
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Address :</property>
</object>
@@ -179,6 +240,8 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
@@ -188,6 +251,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">tcpradiobutton</property>
@@ -201,68 +265,58 @@
<child>
<object class="GtkAlignment" id="serialconnectioncontainer">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<child>
<object class="GtkFileChooserButton" id="serialchooserbutton">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton" id="loadafterconnectcheckbutton">
+ <property name="label" translatable="yes">Load inferior after connection</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.50999999046325684</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
</object>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
- <child>
- <object class="GtkButton" id="cancelbutton">
- <property name="label">gtk-cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="okbutton">
- <property name="label">gtk-ok</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
<property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]