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 544 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
545 545 gchar * text = g_strdup_printf("%s-logo.png",g_get_application_name());
546 546 gchar * filename = build_data_filename(text,NULL);
  547 + gchar * info;
547 548  
548 549 trace("[%s]",filename);
549 550 if(g_file_test(filename,G_FILE_TEST_EXISTS))
... ... @@ -572,7 +573,9 @@
572 573 g_free(text);
573 574  
574 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 580 gtk_about_dialog_set_license(dialog, gettext( license ) );
578 581 gtk_about_dialog_set_wrap_license(dialog,TRUE);
... ... @@ -586,4 +589,6 @@
586 589 gtk_widget_show_all(GTK_WIDGET(dialog));
587 590 gtk_dialog_run(GTK_DIALOG(dialog));
588 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 196 GOptionContext * options = g_option_context_new (_("- 3270 Emulator for Gtk"));
197 197 GError * error = NULL;
198 198  
199   -
200 199 g_option_context_add_main_entries(options, app_options, NULL);
201 200  
202 201 if(!g_option_context_parse( options, &argc, &argv, &error ))
... ... @@ -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 260 #if defined(WIN32)
232 261 g_set_application_name(appname);
233 262 #endif // WIN32
... ...