Commit 7fbca4eb54f183dfd6c243a18802161fed13bcca

Authored by Perry Werneck
1 parent 3f33967d
Exists in master and in 1 other branch develop

Starting the clipboard settings widget.

src/dialogs/settings/clipboard.c 0 → 100644
@@ -0,0 +1,92 @@ @@ -0,0 +1,92 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como - e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + /**
  31 + * @brief Implements the cut & paste settings widget.
  32 + *
  33 + */
  34 +
  35 + #include <internals.h>
  36 + #include <v3270/settings.h>
  37 + #include <lib3270/log.h>
  38 +
  39 +/*--[ Globals ]--------------------------------------------------------------------------------------*/
  40 +
  41 + typedef struct _V3270ClipboardSettings {
  42 +
  43 + V3270Settings parent;
  44 +
  45 +
  46 + } V3270ClipboardSettings;
  47 +
  48 + typedef struct _V3270ClipboardSettingsClass {
  49 +
  50 + V3270SettingsClass parent_class;
  51 +
  52 +
  53 + } V3270ClipboardSettingsClass;
  54 +
  55 + static void load(GtkWidget *w, GtkWidget *terminal);
  56 + static void apply(GtkWidget *w, GtkWidget *terminal);
  57 +
  58 + G_DEFINE_TYPE(V3270ClipboardSettings, V3270ClipboardSettings, GTK_TYPE_V3270_SETTINGS);
  59 +
  60 +/*--[ Implement ]------------------------------------------------------------------------------------*/
  61 +
  62 +static void V3270ClipboardSettings_class_init(V3270ClipboardSettingsClass *klass) {
  63 +
  64 + V3270SettingsClass * widget = GTK_V3270_SETTINGS_CLASS(klass);
  65 +
  66 + widget->apply = apply;
  67 + widget->load = load;
  68 +
  69 +}
  70 +
  71 +static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) {
  72 +
  73 +}
  74 +
  75 +GtkWidget * v3270_clipboard_settings_new() {
  76 +
  77 + V3270Settings * settings = GTK_V3270_SETTINGS(g_object_new(V3270ClipboardSettings_get_type(), NULL));
  78 +
  79 + settings->title = _("Cut & Paste settings");
  80 + settings->label = _("Clipboard");
  81 +
  82 + return GTK_WIDGET(settings);
  83 +}
  84 +
  85 +static void apply(GtkWidget *w, GtkWidget *terminal) {
  86 +
  87 +}
  88 +
  89 +static void load(GtkWidget *w, GtkWidget *terminal) {
  90 +
  91 +}
  92 +
src/include/v3270/settings.h
@@ -143,6 +143,9 @@ @@ -143,6 +143,9 @@
143 /// @brief Create color settings widget. 143 /// @brief Create color settings widget.
144 LIB3270_EXPORT GtkWidget * v3270_color_settings_new(); 144 LIB3270_EXPORT GtkWidget * v3270_color_settings_new();
145 145
  146 + /// @brief Create cut & paste settings widget.
  147 + LIB3270_EXPORT GtkWidget * v3270_clipboard_settings_new();
  148 +
146 G_END_DECLS 149 G_END_DECLS
147 150
148 #endif // V3270SETTINGS_H_INCLUDED 151 #endif // V3270SETTINGS_H_INCLUDED
src/testprogram/toolbar.c
@@ -65,13 +65,22 @@ @@ -65,13 +65,22 @@
65 65
66 static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) 66 static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal)
67 { 67 {
  68 + size_t ix;
68 GtkWidget * dialog = v3270_settings_dialog_new(); 69 GtkWidget * dialog = v3270_settings_dialog_new();
69 70
70 gtk_window_set_title(GTK_WINDOW(dialog),"Session properties"); 71 gtk_window_set_title(GTK_WINDOW(dialog),"Session properties");
71 - gtk_container_add(GTK_CONTAINER(dialog), v3270_host_settings_new());  
72 - gtk_container_add(GTK_CONTAINER(dialog), v3270_color_settings_new());  
73 - gtk_container_add(GTK_CONTAINER(dialog), v3270_font_settings_new());  
74 - gtk_container_add(GTK_CONTAINER(dialog), v3270_accelerator_settings_new()); 72 +
  73 + GtkWidget * widgets[] = {
  74 + v3270_host_settings_new(),
  75 + v3270_color_settings_new(),
  76 + v3270_font_settings_new(),
  77 + v3270_accelerator_settings_new(),
  78 + v3270_clipboard_settings_new()
  79 + };
  80 +
  81 + for(ix = 0; ix < G_N_ELEMENTS(widgets); ix++) {
  82 + gtk_container_add(GTK_CONTAINER(dialog), widgets[ix]);
  83 + }
75 84
76 gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(terminal))); 85 gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(terminal)));
77 86
@@ -102,6 +102,9 @@ @@ -102,6 +102,9 @@
102 <Unit filename="src/dialogs/settings/accelerator.c"> 102 <Unit filename="src/dialogs/settings/accelerator.c">
103 <Option compilerVar="CC" /> 103 <Option compilerVar="CC" />
104 </Unit> 104 </Unit>
  105 + <Unit filename="src/dialogs/settings/clipboard.c">
  106 + <Option compilerVar="CC" />
  107 + </Unit>
105 <Unit filename="src/dialogs/settings/colors.c"> 108 <Unit filename="src/dialogs/settings/colors.c">
106 <Option compilerVar="CC" /> 109 <Option compilerVar="CC" />
107 </Unit> 110 </Unit>