reorganized about dialog and updated logo. fixed

broken links
This commit is contained in:
Clinton Freeman 2012-04-01 16:54:44 -04:00
parent b6d70499bf
commit adeab050ef
2 changed files with 80 additions and 74 deletions

BIN
install/bitmaps/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -2497,6 +2497,8 @@ void DoThickenDlg(){
// ============================================================================= // =============================================================================
// About dialog (no program is complete without one) // About dialog (no program is complete without one)
static const int ABT_WIDGET_PADDING = 8;
void about_button_changelog( GtkWidget *widget, gpointer data ){ void about_button_changelog( GtkWidget *widget, gpointer data ){
Str log; Str log;
log = g_strAppPath; log = g_strAppPath;
@ -2512,11 +2514,15 @@ void about_button_credits( GtkWidget *widget, gpointer data ){
} }
void DoAbout(){ void DoAbout(){
GtkWidget *dlg, *vbox, *vbox2, *hbox, *frame, *table, *label, *pixmap, *button, *sc_extensions, *text_extensions;
int loop = 1, ret = IDCANCEL; int loop = 1, ret = IDCANCEL;
dlg = gtk_window_new( GTK_WINDOW_TOPLEVEL ); GtkWidget *main_vbox, *button_hbox, *gl_ext_hbox, *gl_ext_sc, *gl_ext_text;
GtkWidget *frame, *button, *table, *label, *image;
// dialog
GtkWidget *dlg = gtk_window_new( GTK_WINDOW_TOPLEVEL );
gtk_window_set_title( GTK_WINDOW( dlg ), _( "About GtkRadiant" ) ); gtk_window_set_title( GTK_WINDOW( dlg ), _( "About GtkRadiant" ) );
gtk_window_set_resizable( GTK_WINDOW( dlg ), FALSE );
gtk_signal_connect( GTK_OBJECT( dlg ), "delete_event", gtk_signal_connect( GTK_OBJECT( dlg ), "delete_event",
GTK_SIGNAL_FUNC( dialog_delete_callback ), NULL ); GTK_SIGNAL_FUNC( dialog_delete_callback ), NULL );
gtk_signal_connect( GTK_OBJECT( dlg ), "destroy", gtk_signal_connect( GTK_OBJECT( dlg ), "destroy",
@ -2524,77 +2530,53 @@ void DoAbout(){
g_object_set_data( G_OBJECT( dlg ), "loop", &loop ); g_object_set_data( G_OBJECT( dlg ), "loop", &loop );
g_object_set_data( G_OBJECT( dlg ), "ret", &ret ); g_object_set_data( G_OBJECT( dlg ), "ret", &ret );
vbox = gtk_vbox_new( FALSE, 10 ); // layout top logo and everything else vertically without border padding
gtk_widget_show( vbox ); GtkWidget *outer_vbox = gtk_vbox_new( FALSE, 0 );
gtk_container_add( GTK_CONTAINER( dlg ), vbox ); gtk_widget_show( outer_vbox );
gtk_container_set_border_width( GTK_CONTAINER( vbox ), 5 ); gtk_container_add( GTK_CONTAINER( dlg ), outer_vbox );
gtk_container_set_border_width( GTK_CONTAINER( outer_vbox ), 0 );
hbox = gtk_hbox_new( FALSE, 5 ); // radiant logo
gtk_widget_show( hbox ); CString s = g_strBitmapsPath;
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, TRUE, 0 ); s += "logo.png";
image = gtk_image_new_from_file( s.GetBuffer() );
gtk_widget_show( image );
gtk_box_pack_start( GTK_BOX( outer_vbox ), image, FALSE, FALSE, 0 );
vbox2 = gtk_vbox_new( FALSE, 5 ); // all other widgets layout
gtk_widget_show( vbox2 ); main_vbox = gtk_vbox_new( FALSE, ABT_WIDGET_PADDING );
gtk_box_pack_start( GTK_BOX( hbox ), vbox2, TRUE, FALSE, 0 ); gtk_widget_show( main_vbox );
gtk_box_pack_start( GTK_BOX( outer_vbox ), main_vbox, FALSE, FALSE, 0 );
gtk_container_set_border_width( GTK_CONTAINER( main_vbox ), ABT_WIDGET_PADDING );
frame = gtk_frame_new( NULL ); // informative text
gtk_widget_show( frame ); GtkWidget *info_hbox = gtk_hbox_new( FALSE, 0 );
gtk_box_pack_start( GTK_BOX( vbox2 ), frame, FALSE, FALSE, 0 ); gtk_widget_show( info_hbox );
gtk_frame_set_shadow_type( GTK_FRAME( frame ), GTK_SHADOW_IN ); gtk_box_pack_start( GTK_BOX( main_vbox ), info_hbox, FALSE, FALSE, 0 );
pixmap = new_pixmap( g_pParentWnd->m_pWidget, "logo.bmp" ); label = gtk_label_new( "GtkRadiant " RADIANT_VERSION " - " __DATE__ "\n"
gtk_widget_show( pixmap );
gtk_container_add( GTK_CONTAINER( frame ), pixmap );
label = gtk_label_new( "GtkRadiant " RADIANT_VERSION "\n"
__DATE__ "\n\n"
RADIANT_ABOUTMSG "\n\n" RADIANT_ABOUTMSG "\n\n"
"By qeradiant.com\n\n" "By http://icculus.org/gtkradiant/\n\n"
"This product contains software technology\n" "This product contains software technology from id Software, Inc.\n"
"from id Software, Inc. ('id Technology').\n" "('id Technology'). id Technology 2000 id Software, Inc.\n\n"
"id Technology 2000 id Software,Inc.\n\n" "GtkRadiant is unsupported, however you may report your\n"
"GtkRadiant is unsupported, however\n" "problems at https://github.com/TTimo/GtkRadiant/issues" );
"you may report your problems at\n"
"http://zerowing.idsoftware.com/bugzilla"
);
gtk_widget_show( label ); gtk_widget_show( label );
gtk_box_pack_start( GTK_BOX( hbox ), label, FALSE, FALSE, 0 ); gtk_box_pack_start( GTK_BOX( info_hbox ), label, FALSE, FALSE, 0 );
gtk_misc_set_alignment( GTK_MISC( label ), 1, 0.5 );
gtk_label_set_justify( GTK_LABEL( label ), GTK_JUSTIFY_LEFT ); gtk_label_set_justify( GTK_LABEL( label ), GTK_JUSTIFY_LEFT );
vbox2 = gtk_vbox_new( FALSE, 5 ); // OpenGL properties
gtk_widget_show( vbox2 );
gtk_box_pack_start( GTK_BOX( hbox ), vbox2, FALSE, TRUE, 0 );
button = gtk_button_new_with_label( _( "OK" ) );
gtk_widget_show( button );
gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
gtk_signal_connect( GTK_OBJECT( button ), "clicked",
GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
button = gtk_button_new_with_label( _( "Credits" ) );
gtk_widget_show( button );
gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
gtk_signal_connect( GTK_OBJECT( button ), "clicked",
GTK_SIGNAL_FUNC( about_button_credits ), NULL );
button = gtk_button_new_with_label( _( "Changelog" ) );
gtk_widget_show( button );
gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
gtk_signal_connect( GTK_OBJECT( button ), "clicked",
GTK_SIGNAL_FUNC( about_button_changelog ), NULL );
frame = gtk_frame_new( _( "OpenGL Properties" ) ); frame = gtk_frame_new( _( "OpenGL Properties" ) );
gtk_widget_show( frame ); gtk_widget_show( frame );
gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, FALSE, 0 ); gtk_box_pack_start( GTK_BOX( main_vbox ), frame, FALSE, FALSE, 0 );
table = gtk_table_new( 3, 2, FALSE ); table = gtk_table_new( 3, 2, FALSE );
gtk_widget_show( table ); gtk_widget_show( table );
gtk_container_add( GTK_CONTAINER( frame ), table ); gtk_container_add( GTK_CONTAINER( frame ), table );
gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_row_spacings( GTK_TABLE( table ), 4 );
gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 4 );
gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 4 );
label = gtk_label_new( _( "Vendor:" ) ); label = gtk_label_new( _( "Vendor:" ) );
gtk_widget_show( label ); gtk_widget_show( label );
@ -2638,28 +2620,52 @@ void DoAbout(){
(GtkAttachOptions) ( 0 ), 0, 0 ); (GtkAttachOptions) ( 0 ), 0, 0 );
gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
// OpenGL extensions
frame = gtk_frame_new( _( "OpenGL Extensions" ) ); frame = gtk_frame_new( _( "OpenGL Extensions" ) );
gtk_widget_show( frame ); gtk_widget_show( frame );
gtk_box_pack_start( GTK_BOX( vbox ), frame, TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( main_vbox ), frame, TRUE, TRUE, 0 );
hbox = gtk_hbox_new( FALSE, 5 ); gl_ext_hbox = gtk_hbox_new( FALSE, ABT_WIDGET_PADDING );
gtk_widget_show( hbox ); gtk_widget_show( gl_ext_hbox );
gtk_container_add( GTK_CONTAINER( frame ), hbox ); gtk_container_add( GTK_CONTAINER( frame ), gl_ext_hbox );
gtk_container_set_border_width( GTK_CONTAINER( hbox ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( gl_ext_hbox ), 4 );
sc_extensions = gtk_scrolled_window_new( NULL, NULL ); gl_ext_sc = gtk_scrolled_window_new( NULL, NULL );
gtk_box_pack_start( GTK_BOX( hbox ), sc_extensions, TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( gl_ext_hbox ), gl_ext_sc, TRUE, TRUE, 0 );
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( sc_extensions ), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( gl_ext_sc ), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS );
gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( sc_extensions ), GTK_SHADOW_IN ); gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( gl_ext_sc ), GTK_SHADOW_IN );
gtk_widget_show( sc_extensions ); gtk_widget_show( gl_ext_sc );
text_extensions = gtk_text_view_new(); gl_ext_text = gtk_text_view_new();
gtk_text_view_set_editable( GTK_TEXT_VIEW( text_extensions ), FALSE ); gtk_text_view_set_editable( GTK_TEXT_VIEW( gl_ext_text ), FALSE );
gtk_container_add( GTK_CONTAINER( sc_extensions ), text_extensions ); gtk_container_add( GTK_CONTAINER( gl_ext_sc ), gl_ext_text );
GtkTextBuffer* buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( text_extensions ) ); GtkTextBuffer* buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( gl_ext_text ) );
gtk_text_buffer_set_text( buffer, (char *)qglGetString( GL_EXTENSIONS ), -1 ); gtk_text_buffer_set_text( buffer, (char *)qglGetString( GL_EXTENSIONS ), -1 );
gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( text_extensions ), GTK_WRAP_WORD );; gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( gl_ext_text ), GTK_WRAP_WORD );;
gtk_widget_show( text_extensions ); gtk_widget_show( gl_ext_text );
// buttons
button_hbox = gtk_hbox_new( FALSE, 4 );
gtk_widget_show( button_hbox );
gtk_box_pack_start( GTK_BOX( main_vbox ), button_hbox, FALSE, TRUE, 0 );
button = gtk_button_new_with_label( _( "OK" ) );
gtk_widget_show( button );
gtk_box_pack_end( GTK_BOX( button_hbox ), button, FALSE, FALSE, 0 );
gtk_signal_connect( GTK_OBJECT( button ), "clicked",
GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
button = gtk_button_new_with_label( _( "Credits" ) );
gtk_widget_show( button );
gtk_box_pack_end( GTK_BOX( button_hbox ), button, FALSE, FALSE, 0 );
gtk_signal_connect( GTK_OBJECT( button ), "clicked",
GTK_SIGNAL_FUNC( about_button_credits ), NULL );
button = gtk_button_new_with_label( _( "Changelog" ) );
gtk_widget_show( button );
gtk_box_pack_end( GTK_BOX( button_hbox ), button, FALSE, FALSE, 0 );
gtk_signal_connect( GTK_OBJECT( button ), "clicked",
GTK_SIGNAL_FUNC( about_button_changelog ), NULL );
gtk_grab_add( dlg ); gtk_grab_add( dlg );
gtk_widget_show( dlg ); gtk_widget_show( dlg );