Commit 2d23cf45959b0ed3ec5a9d1c712e624f08819fc7

Authored by perry.werneck@gmail.com
1 parent e073bb4b

Incluindo teste de versao gtk

Showing 2 changed files with 36 additions and 2 deletions   Show diff stats
src/pw3270/dialog.c
@@ -544,6 +544,7 @@ @@ -544,6 +544,7 @@
544 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new()); 544 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
545 gchar * text = g_strdup_printf("%s-logo.png",g_get_application_name()); 545 gchar * text = g_strdup_printf("%s-logo.png",g_get_application_name());
546 gchar * filename = build_data_filename(text,NULL); 546 gchar * filename = build_data_filename(text,NULL);
  547 + gchar * info;
547 548
548 trace("[%s]",filename); 549 trace("[%s]",filename);
549 if(g_file_test(filename,G_FILE_TEST_EXISTS)) 550 if(g_file_test(filename,G_FILE_TEST_EXISTS))
@@ -572,7 +573,9 @@ @@ -572,7 +573,9 @@
572 g_free(text); 573 g_free(text);
573 574
574 gtk_about_dialog_set_copyright(dialog, "Copyright © 2008 Banco do Brasil S.A." ); 575 gtk_about_dialog_set_copyright(dialog, "Copyright © 2008 Banco do Brasil S.A." );
575 - gtk_about_dialog_set_comments(dialog, _( "3270 terminal emulator for GTK+" ) ); 576 +
  577 + info = g_strdup_printf(_( "3270 terminal emulator for GTK %d.%d" ),GTK_MAJOR_VERSION,GTK_MINOR_VERSION);
  578 + gtk_about_dialog_set_comments(dialog, info );
576 579
577 gtk_about_dialog_set_license(dialog, gettext( license ) ); 580 gtk_about_dialog_set_license(dialog, gettext( license ) );
578 gtk_about_dialog_set_wrap_license(dialog,TRUE); 581 gtk_about_dialog_set_wrap_license(dialog,TRUE);
@@ -586,4 +589,6 @@ @@ -586,4 +589,6 @@
586 gtk_widget_show_all(GTK_WIDGET(dialog)); 589 gtk_widget_show_all(GTK_WIDGET(dialog));
587 gtk_dialog_run(GTK_DIALOG(dialog)); 590 gtk_dialog_run(GTK_DIALOG(dialog));
588 gtk_widget_destroy(GTK_WIDGET(dialog)); 591 gtk_widget_destroy(GTK_WIDGET(dialog));
  592 +
  593 + g_free(info);
589 } 594 }
src/pw3270/main.c
@@ -196,7 +196,6 @@ int main(int argc, char *argv[]) @@ -196,7 +196,6 @@ int main(int argc, char *argv[])
196 GOptionContext * options = g_option_context_new (_("- 3270 Emulator for Gtk")); 196 GOptionContext * options = g_option_context_new (_("- 3270 Emulator for Gtk"));
197 GError * error = NULL; 197 GError * error = NULL;
198 198
199 -  
200 g_option_context_add_main_entries(options, app_options, NULL); 199 g_option_context_add_main_entries(options, app_options, NULL);
201 200
202 if(!g_option_context_parse( options, &argc, &argv, &error )) 201 if(!g_option_context_parse( options, &argc, &argv, &error ))
@@ -228,6 +227,36 @@ int main(int argc, char *argv[]) @@ -228,6 +227,36 @@ int main(int argc, char *argv[])
228 } 227 }
229 } 228 }
230 229
  230 + {
  231 + const gchar *msg = gtk_check_version(GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
  232 +
  233 + if(msg)
  234 + {
  235 + // Invalid GTK version, notify user and exit
  236 + int rc;
  237 + GtkWidget * dialog = gtk_message_dialog_new( NULL,
  238 + GTK_DIALOG_DESTROY_WITH_PARENT,
  239 + GTK_MESSAGE_WARNING,
  240 + GTK_BUTTONS_OK_CANCEL,
  241 + _( "This program requires GTK version %d.%d.%d" ),GTK_MAJOR_VERSION,GTK_MINOR_VERSION,GTK_MICRO_VERSION );
  242 +
  243 +
  244 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),"%s",msg);
  245 + gtk_window_set_title(GTK_WINDOW(dialog),_( "GTK Version mismatch" ));
  246 +
  247 +#if GTK_CHECK_VERSION(2,10,0)
  248 + gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE);
  249 +#endif
  250 +
  251 + rc = gtk_dialog_run(GTK_DIALOG (dialog));
  252 + gtk_widget_destroy(dialog);
  253 +
  254 + if(rc != GTK_RESPONSE_OK)
  255 + return EINVAL;
  256 + }
  257 +
  258 + }
  259 +
231 #if defined(WIN32) 260 #if defined(WIN32)
232 g_set_application_name(appname); 261 g_set_application_name(appname);
233 #endif // WIN32 262 #endif // WIN32