mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2025-01-09 11:30:51 +00:00
reorganized about dialog and updated logo. fixed
broken links
This commit is contained in:
parent
b6d70499bf
commit
adeab050ef
2 changed files with 80 additions and 74 deletions
BIN
install/bitmaps/logo.png
Normal file
BIN
install/bitmaps/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
|
@ -2497,6 +2497,8 @@ void DoThickenDlg(){
|
|||
// =============================================================================
|
||||
// About dialog (no program is complete without one)
|
||||
|
||||
static const int ABT_WIDGET_PADDING = 8;
|
||||
|
||||
void about_button_changelog( GtkWidget *widget, gpointer data ){
|
||||
Str log;
|
||||
log = g_strAppPath;
|
||||
|
@ -2512,11 +2514,15 @@ void about_button_credits( GtkWidget *widget, gpointer data ){
|
|||
}
|
||||
|
||||
void DoAbout(){
|
||||
GtkWidget *dlg, *vbox, *vbox2, *hbox, *frame, *table, *label, *pixmap, *button, *sc_extensions, *text_extensions;
|
||||
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_resizable( GTK_WINDOW( dlg ), FALSE );
|
||||
gtk_signal_connect( GTK_OBJECT( dlg ), "delete_event",
|
||||
GTK_SIGNAL_FUNC( dialog_delete_callback ), NULL );
|
||||
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 ), "ret", &ret );
|
||||
|
||||
vbox = gtk_vbox_new( FALSE, 10 );
|
||||
gtk_widget_show( vbox );
|
||||
gtk_container_add( GTK_CONTAINER( dlg ), vbox );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( vbox ), 5 );
|
||||
// layout top logo and everything else vertically without border padding
|
||||
GtkWidget *outer_vbox = gtk_vbox_new( FALSE, 0 );
|
||||
gtk_widget_show( outer_vbox );
|
||||
gtk_container_add( GTK_CONTAINER( dlg ), outer_vbox );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( outer_vbox ), 0 );
|
||||
|
||||
hbox = gtk_hbox_new( FALSE, 5 );
|
||||
gtk_widget_show( hbox );
|
||||
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, TRUE, 0 );
|
||||
// radiant logo
|
||||
CString s = g_strBitmapsPath;
|
||||
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 );
|
||||
gtk_widget_show( vbox2 );
|
||||
gtk_box_pack_start( GTK_BOX( hbox ), vbox2, TRUE, FALSE, 0 );
|
||||
// all other widgets layout
|
||||
main_vbox = gtk_vbox_new( FALSE, ABT_WIDGET_PADDING );
|
||||
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 );
|
||||
gtk_widget_show( frame );
|
||||
gtk_box_pack_start( GTK_BOX( vbox2 ), frame, FALSE, FALSE, 0 );
|
||||
gtk_frame_set_shadow_type( GTK_FRAME( frame ), GTK_SHADOW_IN );
|
||||
// informative text
|
||||
GtkWidget *info_hbox = gtk_hbox_new( FALSE, 0 );
|
||||
gtk_widget_show( info_hbox );
|
||||
gtk_box_pack_start( GTK_BOX( main_vbox ), info_hbox, FALSE, FALSE, 0 );
|
||||
|
||||
pixmap = new_pixmap( g_pParentWnd->m_pWidget, "logo.bmp" );
|
||||
gtk_widget_show( pixmap );
|
||||
gtk_container_add( GTK_CONTAINER( frame ), pixmap );
|
||||
|
||||
label = gtk_label_new( "GtkRadiant " RADIANT_VERSION "\n"
|
||||
__DATE__ "\n\n"
|
||||
label = gtk_label_new( "GtkRadiant " RADIANT_VERSION " - " __DATE__ "\n"
|
||||
RADIANT_ABOUTMSG "\n\n"
|
||||
"By qeradiant.com\n\n"
|
||||
"This product contains software technology\n"
|
||||
"from id Software, Inc. ('id Technology').\n"
|
||||
"id Technology 2000 id Software,Inc.\n\n"
|
||||
"GtkRadiant is unsupported, however\n"
|
||||
"you may report your problems at\n"
|
||||
"http://zerowing.idsoftware.com/bugzilla"
|
||||
);
|
||||
"By http://icculus.org/gtkradiant/\n\n"
|
||||
"This product contains software technology from id Software, Inc.\n"
|
||||
"('id Technology'). id Technology 2000 id Software, Inc.\n\n"
|
||||
"GtkRadiant is unsupported, however you may report your\n"
|
||||
"problems at https://github.com/TTimo/GtkRadiant/issues" );
|
||||
|
||||
gtk_widget_show( label );
|
||||
gtk_box_pack_start( GTK_BOX( hbox ), label, FALSE, FALSE, 0 );
|
||||
gtk_misc_set_alignment( GTK_MISC( label ), 1, 0.5 );
|
||||
gtk_box_pack_start( GTK_BOX( info_hbox ), label, FALSE, FALSE, 0 );
|
||||
gtk_label_set_justify( GTK_LABEL( label ), GTK_JUSTIFY_LEFT );
|
||||
|
||||
vbox2 = gtk_vbox_new( FALSE, 5 );
|
||||
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 );
|
||||
|
||||
// OpenGL properties
|
||||
frame = gtk_frame_new( _( "OpenGL Properties" ) );
|
||||
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 );
|
||||
gtk_widget_show( table );
|
||||
gtk_container_add( GTK_CONTAINER( frame ), table );
|
||||
gtk_table_set_row_spacings( GTK_TABLE( table ), 5 );
|
||||
gtk_table_set_col_spacings( GTK_TABLE( table ), 5 );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( table ), 5 );
|
||||
gtk_table_set_row_spacings( GTK_TABLE( table ), 4 );
|
||||
gtk_table_set_col_spacings( GTK_TABLE( table ), 4 );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( table ), 4 );
|
||||
|
||||
label = gtk_label_new( _( "Vendor:" ) );
|
||||
gtk_widget_show( label );
|
||||
|
@ -2638,28 +2620,52 @@ void DoAbout(){
|
|||
(GtkAttachOptions) ( 0 ), 0, 0 );
|
||||
gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
|
||||
|
||||
// OpenGL extensions
|
||||
frame = gtk_frame_new( _( "OpenGL Extensions" ) );
|
||||
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 );
|
||||
gtk_widget_show( hbox );
|
||||
gtk_container_add( GTK_CONTAINER( frame ), hbox );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( hbox ), 5 );
|
||||
gl_ext_hbox = gtk_hbox_new( FALSE, ABT_WIDGET_PADDING );
|
||||
gtk_widget_show( gl_ext_hbox );
|
||||
gtk_container_add( GTK_CONTAINER( frame ), gl_ext_hbox );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( gl_ext_hbox ), 4 );
|
||||
|
||||
sc_extensions = gtk_scrolled_window_new( NULL, NULL );
|
||||
gtk_box_pack_start( GTK_BOX( hbox ), sc_extensions, TRUE, TRUE, 0 );
|
||||
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( sc_extensions ), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS );
|
||||
gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( sc_extensions ), GTK_SHADOW_IN );
|
||||
gtk_widget_show( sc_extensions );
|
||||
gl_ext_sc = gtk_scrolled_window_new( NULL, NULL );
|
||||
gtk_box_pack_start( GTK_BOX( gl_ext_hbox ), gl_ext_sc, TRUE, TRUE, 0 );
|
||||
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( gl_ext_sc ), GTK_SHADOW_IN );
|
||||
gtk_widget_show( gl_ext_sc );
|
||||
|
||||
text_extensions = gtk_text_view_new();
|
||||
gtk_text_view_set_editable( GTK_TEXT_VIEW( text_extensions ), FALSE );
|
||||
gtk_container_add( GTK_CONTAINER( sc_extensions ), text_extensions );
|
||||
GtkTextBuffer* buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( text_extensions ) );
|
||||
gl_ext_text = gtk_text_view_new();
|
||||
gtk_text_view_set_editable( GTK_TEXT_VIEW( gl_ext_text ), FALSE );
|
||||
gtk_container_add( GTK_CONTAINER( gl_ext_sc ), gl_ext_text );
|
||||
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_view_set_wrap_mode( GTK_TEXT_VIEW( text_extensions ), GTK_WRAP_WORD );;
|
||||
gtk_widget_show( text_extensions );
|
||||
gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( gl_ext_text ), GTK_WRAP_WORD );;
|
||||
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_widget_show( dlg );
|
||||
|
|
Loading…
Reference in a new issue