From 8a9e10e92b875e2d7307e6ab63ff15468c13ec9b Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 14 Nov 2019 10:43:09 -0300 Subject: [PATCH] Adding "default" copy mode. --- src/dialogs/settings/widget.c | 2 +- src/include/v3270.h | 2 ++ src/selection/copy.c | 4 ++++ src/testprogram/toolbar.c | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) 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