diff --git a/src/dialogs/settings/widget.c b/src/dialogs/settings/widget.c index 272f826..20affb4 100644 --- a/src/dialogs/settings/widget.c +++ b/src/dialogs/settings/widget.c @@ -97,7 +97,7 @@ static void finalize(GObject *object) G_OBJECT_CLASS(V3270Settings_parent_class)->finalize(object); } -static void validity(GtkWidget *widget, gboolean state) +static void validity(GtkWidget G_GNUC_UNUSED(*widget), gboolean G_GNUC_UNUSED(state)) { } diff --git a/src/include/v3270.h b/src/include/v3270.h index 4e9bfc1..2fdabe7 100644 --- a/src/include/v3270.h +++ b/src/include/v3270.h @@ -199,6 +199,8 @@ // Clipboard typedef enum _v3270_copy_mode { + + V3270_COPY_DEFAULT, ///< @brief Detect format based on lib3270's smart past toggle. V3270_COPY_FORMATTED, ///< @brief Copy formatted data; keep attributes. V3270_COPY_TEXT, ///< @brief Single text format, ignore attributes. V3270_COPY_TABLE, ///< @brief Copy as table. diff --git a/src/selection/copy.c b/src/selection/copy.c index e5a333c..7e7fe6c 100644 --- a/src/selection/copy.c +++ b/src/selection/copy.c @@ -53,6 +53,10 @@ v3270_clear_selection(terminal); // ... and set the new mode. + if(mode == V3270_COPY_DEFAULT) { + mode = (lib3270_get_toggle(v3270_get_session(widget),LIB3270_TOGGLE_SMART_PASTE) ? V3270_COPY_FORMATTED : V3270_COPY_TEXT); + } + terminal->selection.format = mode; } diff --git a/src/testprogram/toolbar.c b/src/testprogram/toolbar.c index b7ddd02..717320f 100644 --- a/src/testprogram/toolbar.c +++ b/src/testprogram/toolbar.c @@ -162,7 +162,7 @@ static void copy_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) { - v3270_copy_selection(terminal,V3270_COPY_TEXT,FALSE); + v3270_clipboard_set(terminal,V3270_COPY_TEXT,FALSE); } static void color_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) -- libgit2 0.21.2