From 3d6c125da7b98e4907e683e6fb6bb4bc73feee57 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 26 Oct 2018 16:09:27 -0300 Subject: [PATCH] - Ajustes para facilitar a criação de novos templates de pallete. - Incluindo tema de cores "selenized" (https://github.com/jan-warchol/selenized) --- conf/colors.conf | 62 ++++++++++++++++++++++++++++++++++++-------------------------- locale/pt_BR.po | 39 ++++++++++++++++----------------------- locale/pw3270.pot | 37 ++----------------------------------- src/pw3270/colors.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 4 files changed, 121 insertions(+), 90 deletions(-) diff --git a/conf/colors.conf b/conf/colors.conf index e4ea70b..bc8c8e8 100644 --- a/conf/colors.conf +++ b/conf/colors.conf @@ -1,22 +1,22 @@ # -# Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a +# Software pw3270; desenvolvido com base nos códigos fontes do WC3270 e X3270 +# (Paul Mattes Paul.Mattes@usa.net); de emulação de terminal 3270 para acesso a # aplicativos mainframe. Registro no INPI sob o nome G3270. # # Copyright (C) <2008> # # Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela +# os termos da GPL v.2 - Licença Pública Geral GNU; conforme publicado pela # Free Software Foundation. # -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER +# Este programa é distribuído na expectativa de ser útil; mas SEM QUALQUER # GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO # A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para # obter mais detalhes. # # Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este -# programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin -# St, Fifth Floor, Boston, MA 02110-1301 USA +# programa; se não; escreva para a Free Software Foundation; Inc.; 51 Franklin +# St; Fifth Floor; Boston; MA 02110-1301 USA # # # Contatos: @@ -28,20 +28,20 @@ [default] label=PW3270 default -base=#000000,#7890F0,#FF0000,#FF00FF,#00FF00,#00FFFF,#FFFF00,#FFFFFF,#000000,#000080,#FFA200,#800080,#008000,#008080,#A0A000,#C0C0C0 -field=#00FF00,#FF0000,#00FFFF,#FFFFFF -selection=#404040,#ffffff -OIA=#000000,#00FF00,#7890F0,#FFFFFF,#FF0000 +base=#000000;#7890F0;#FF0000;#FF00FF;#00FF00;#00FFFF;#FFFF00;#FFFFFF;#000000;#000080;#FFA200;#800080;#008000;#008080;#A0A000;#C0C0C0 +field=#00FF00;#FF0000;#00FFFF;#FFFFFF +selection=#404040;#ffffff +OIA=#000000;#00FF00;#7890F0;#FFFFFF;#FF0000 cross-hair=#00FF00 [X3270] label=X3270 -base=black,deepSkyBlue,red,pink,green,turquoise,yellow,white,black,blue3,orange,purple,paleGreen,paleTurquoise2,grey,white -field=green,red,deepSkyBlue,white -selection=dimGrey,black -OIA=black,turquoise,turquoise,white,red +base=black;deepSkyBlue;red;pink;green;turquoise;yellow;white;black;blue3;orange;purple;paleGreen;paleTurquoise2;grey;white +field=green;red;deepSkyBlue;white +selection=dimGrey;black +OIA=black;turquoise;turquoise;white;red cross-hair=white @@ -49,9 +49,9 @@ cross-hair=white label=Reverse label[pt_BR]=Invertido -base=white,blue,firebrick,pink,green4,cadetBlue,goldenrod,black,white,blue3,orange,purple,paleGreen,darkTurquoise,grey,black -selection=dimGrey,black -OIA=white,blue,blue,black,black +base=white;blue;firebrick;pink;green4;cadetBlue;goldenrod;black;white;blue3;orange;purple;paleGreen;darkTurquoise;grey;black +selection=dimGrey;black +OIA=white;blue;blue;black;black cross-hair=black @@ -59,17 +59,17 @@ cross-hair=black label=Bright label[pt_BR]=Cores fortes -base=black,blue,red,magenta,green,turquoise,yellow,white,black,blue3,orange,purple,paleGreen,cyan,grey,white -selection=dimGrey,black -OIA=black,blue,blue,white,red +base=black;blue;red;magenta;green;turquoise;yellow;white;black;blue3;orange;purple;paleGreen;cyan;grey;white +selection=dimGrey;black +OIA=black;blue;blue;white;red cross-hair=white [CPE] label=CPE -base=black,LightBlue1,PaleVioletRed1,pink,green,turquoise,yellow,white,black,LightBlue3,orange,MediumPurple1,paleGreen,paleTurquoise2,grey80,white -selection=dimGrey,black -OIA=black,turquoise,turquoise,white,red +base=black;LightBlue1;PaleVioletRed1;pink;green;turquoise;yellow;white;black;LightBlue3;orange;MediumPurple1;paleGreen;paleTurquoise2;grey80;white +selection=dimGrey;black +OIA=black;turquoise;turquoise;white;red cross-hair=white @@ -77,17 +77,27 @@ cross-hair=white label=Green label[pt_BR]=Verde -base=black,green +base=black;green [WB] label=White on Black label[pt_BR]=Branco com fundo preto -base=black,white +base=black;white [BW] label=Black on White label[pt_BR]=Preto com fundo branco +base=white;black -base=white,black +[selenized] + +# https://github.com/jan-warchol/selenized +label=Selenized color palette by Jan Warchoł + +base=rgb(24,24,24);rgb(79,156,254);rgb(237,74,70);rgb(235,110,183);rgb(131,199,70);rgb(86,216,201);rgb(239,197,65);rgb(222,222,222);rgb(59,59,59);rgb(54,142,171);rgb(250,145,83);rgb(165,128,226);rgb(112,180,51);rgb(65,199,185);rgb(219,179,45);rgb(119,119,119) +field=rgb(131,199,70);rgb(237,74,70);rgb(65,199,185);rgb(250,145,83) +selection=rgb(37,37,37);rgb(222,222,222) +OIA=rgb(24,24,24);rgb(222,222,222);rgb(79,156,254);rgb(131,199,70);rgb(239,197,65) +cross-hair=rgb(222,222,222) diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 00765d2..c6a0964 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-22 14:37-0300\n" +"POT-Creation-Date: 2018-10-22 16:40-0300\n" "PO-Revision-Date: 2018-10-22 14:38-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Português <>\n" @@ -419,10 +419,6 @@ msgstr "Não foi possível conectar a %s" msgid "Can't connect to %s:%s" msgstr "Não foi possível conectar a %s:%s" -#: main.c:70 -msgid "Can't connect to DBUS server" -msgstr "Não foi possível conectar ao servidor DBUS" - #: selection.c:466 #, c-format msgid "Can't convert line %d from %s to %s" @@ -437,10 +433,6 @@ msgstr "Recortar não permitido em seleção retangular" msgid "Can't determine value for environment variable \"%s\" " msgstr "Não consigo determinar o valor da variável de ambiente \"%s\" " -#: main.c:115 -msgid "Can't get DBUS object name" -msgstr "Não foi possível obter o nome do objeto DBUS" - #: ft.c:413 msgid "Can't get file size" msgstr "Não foi possível obter o tamanho do arquivo" @@ -675,10 +667,6 @@ msgstr "Configurar host" msgid "Connect on startup" msgstr "Conectar ao iniciar" -#: gobject.c:205 -msgid "Connecting to host" -msgstr "Conectando ao servidor" - #: connect.c:215 connect.c:311 connect.c:320 connect.c:382 connect.c:397 #: connect.c:413 connect.c:427 connect.c:447 connect.c:461 connect.c:477 #: connect.c:573 @@ -1954,11 +1942,6 @@ msgstr "Iniciar transferência de arquivo" msgid "Starting" msgstr "Iniciando" -#: gobject.c:193 -#, c-format -msgid "State %04d can't accept requests" -msgstr "Não é possível receber requisições no estado %04d" - #: security.c:237 msgid "Subject issuer mismatch" msgstr "Divergência na identidade do emissor" @@ -2471,11 +2454,6 @@ msgstr "Valor de cor inválido ou inesperado: \"%s\"" msgid "Unexpected or unknown security status" msgstr "Estado de segurança inesperado ou desconhecido." -#: gobject.c:208 -#, c-format -msgid "Unexpected state %04d" -msgstr "Estado inesperado %04d" - #: actions.c:391 #, c-format msgid "Unexpected target \"%s\"" @@ -2880,6 +2858,12 @@ msgstr "translator-credits" #~ "32768. Valores maiores trazem maior performance, porem, nem todos os " #~ "hosts podem suportá-los." +#~ msgid "Can't connect to DBUS server" +#~ msgstr "Não foi possível conectar ao servidor DBUS" + +#~ msgid "Can't get DBUS object name" +#~ msgstr "Não foi possível obter o nome do objeto DBUS" + #~ msgid "Can't start download." #~ msgstr "Não foi possível iniciar o download." @@ -2916,6 +2900,9 @@ msgstr "translator-credits" #~ msgid "Complete" #~ msgstr "Completo" +#~ msgid "Connecting to host" +#~ msgstr "Conectando ao servidor" + #~ msgid "Copiar tudo" #~ msgstr "Copiar tudo" @@ -3244,6 +3231,9 @@ msgstr "translator-credits" #~ msgid "Start upload." #~ msgstr "Iniciar envio." +#~ msgid "State %04d can't accept requests" +#~ msgstr "Não é possível receber requisições no estado %04d" + #~ msgid "Status" #~ msgstr "Situação" @@ -3278,6 +3268,9 @@ msgstr "translator-credits" #~ msgid "Unexpected element <%s>" #~ msgstr "Elemento <%s> inesperado" +#~ msgid "Unexpected state %04d" +#~ msgstr "Estado inesperado %04d" + #~ msgid "" #~ "Unknown host:\n" #~ "%s" diff --git a/locale/pw3270.pot b/locale/pw3270.pot index a3ace2f..079eb07 100644 --- a/locale/pw3270.pot +++ b/locale/pw3270.pot @@ -9,7 +9,7 @@ msgstr "" "#-#-#-#-# lib3270.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-22 14:37-0300\n" +"POT-Creation-Date: 2018-10-22 16:50-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,7 +20,7 @@ msgstr "" "#-#-#-#-# pw3270.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-22 14:37-0300\n" +"POT-Creation-Date: 2018-10-22 16:50-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,17 +39,6 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -"#-#-#-#-# dbus3270.pot (PACKAGE VERSION) #-#-#-#-#\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-22 14:37-0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" #: window.c:329 #, c-format @@ -435,10 +424,6 @@ msgstr "" msgid "Can't connect to %s:%s" msgstr "" -#: main.c:70 -msgid "Can't connect to DBUS server" -msgstr "" - #: selection.c:466 #, c-format msgid "Can't convert line %d from %s to %s" @@ -453,10 +438,6 @@ msgstr "" msgid "Can't determine value for environment variable \"%s\" " msgstr "" -#: main.c:115 -msgid "Can't get DBUS object name" -msgstr "" - #: ft.c:413 msgid "Can't get file size" msgstr "" @@ -679,10 +660,6 @@ msgstr "" msgid "Connect on startup" msgstr "" -#: gobject.c:205 -msgid "Connecting to host" -msgstr "" - #: connect.c:215 connect.c:311 connect.c:320 connect.c:382 connect.c:397 #: connect.c:413 connect.c:427 connect.c:447 connect.c:461 connect.c:477 #: connect.c:573 @@ -1913,11 +1890,6 @@ msgstr "" msgid "Starting" msgstr "" -#: gobject.c:193 -#, c-format -msgid "State %04d can't accept requests" -msgstr "" - #: security.c:237 msgid "Subject issuer mismatch" msgstr "" @@ -2372,11 +2344,6 @@ msgstr "" msgid "Unexpected or unknown security status" msgstr "" -#: gobject.c:208 -#, c-format -msgid "Unexpected state %04d" -msgstr "" - #: actions.c:391 #, c-format msgid "Unexpected target \"%s\"" diff --git a/src/pw3270/colors.c b/src/pw3270/colors.c index 6dd1e6d..4c3f5a4 100644 --- a/src/pw3270/colors.c +++ b/src/pw3270/colors.c @@ -29,6 +29,10 @@ #include #include "globals.h" + #include + + #define V3270_COLOR_BASE V3270_COLOR_GRAY+1 + //#if defined(DEBUG) && GTK_CHECK_VERSION(3,4,0) // #define USE_GTK_COLOR_CHOOSER 1 @@ -36,10 +40,65 @@ /*--[ Implement ]------------------------------------------------------------------------------------*/ -static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) +static void store_color_scheme(GtkWidget *widget) { - #define V3270_COLOR_BASE V3270_COLOR_GRAY+1 + int f; + + GString *text = g_string_new(""); + // Base colors + // base=#000000,#7890F0,#FF0000,#FF00FF,#00FF00,#00FFFF,#FFFF00,#FFFFFF,#000000,#000080,#FFA200,#800080,#008000,#008080,#A0A000,#C0C0C0 + for(f=0;fstr); + g_string_truncate(text,0); + + // Field colors. + // field=#00FF00,#FF0000,#00FFFF,#FFFFFF + for(f=0;f<4;f++) + { + if(f) + g_string_append_c(text,';'); + g_string_append_printf(text,"%s",gdk_rgba_to_string(v3270_get_color(widget,V3270_COLOR_FIELD+f))); + } + set_string_to_config("color-scheme","field","%s",text->str); + g_string_truncate(text,0); + + // Selection colors + // selection=#404040,#ffffff + for(f=0;f<2;f++) + { + if(f) + g_string_append_c(text,';'); + g_string_append_printf(text,"%s",gdk_rgba_to_string(v3270_get_color(widget,V3270_COLOR_SELECTED_BG+f))); + } + set_string_to_config("color-scheme","selection","%s",text->str); + g_string_truncate(text,0); + + // OIA colors + // OIA=#000000,#00FF00,#7890F0,#FFFFFF,#FF0000 + for(f=0;f<5;f++) + { + if(f) + g_string_append_c(text,';'); + g_string_append_printf(text,"%s",gdk_rgba_to_string(v3270_get_color(widget,V3270_COLOR_OIA_BACKGROUND+f))); + } + set_string_to_config("color-scheme","OIA","%s",text->str); + g_string_truncate(text,0); + + // Cross-hair + g_string_append_printf(text,"%s",gdk_rgba_to_string(v3270_get_color(widget,V3270_COLOR_CROSS_HAIR))); + + set_string_to_config("color-scheme","cross-hair","%s",text->str); + g_string_free(text,TRUE); +} + +static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) +{ const gchar * val; int f; @@ -48,7 +107,7 @@ static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) if(val) { // Process base colors - gchar **str = g_strsplit(val,",",V3270_COLOR_BASE); + gchar **str = g_strsplit(val,";",V3270_COLOR_BASE); switch(g_strv_length(str)) { @@ -102,7 +161,7 @@ static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) val = g_key_file_get_string(conf,group,"field",NULL); if(val) { - gchar **str = g_strsplit(val,",",5); + gchar **str = g_strsplit(val,";",5); for(f=0;f< MIN(g_strv_length(str),4); f++) gdk_rgba_parse(clr+V3270_COLOR_FIELD+f,str[f]); @@ -116,7 +175,7 @@ static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) val = g_key_file_get_string(conf,group,"selection",NULL); if(val) { - gchar **str = g_strsplit(val,",",3); + gchar **str = g_strsplit(val,";",3); for(f=0;f< MIN(g_strv_length(str),2); f++) gdk_rgba_parse(clr+V3270_COLOR_SELECTED_BG+f,str[f]); @@ -135,7 +194,7 @@ static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) val = g_key_file_get_string(conf,group,"OIA",NULL); if(val) { - gchar **str = g_strsplit(val,",",6); + gchar **str = g_strsplit(val,";",6); // 0 = V3270_COLOR_OIA_BACKGROUND, // 1 = V3270_COLOR_OIA_FOREGROUND, @@ -590,6 +649,8 @@ static void load_color_scheme(GKeyFile *conf, const gchar *group, GdkRGBA *clr) } set_string_to_config("terminal","colors","%s",str->str); g_string_free(str,TRUE); + + store_color_scheme(widget); } else { -- libgit2 0.21.2