summaryrefslogtreecommitdiff
path: root/linux/dialogs.cpp
diff options
context:
space:
mode:
authorleo1999-12-15 16:41:45 +0000
committerleo1999-12-15 16:41:45 +0000
commitc5a5dbe1ac181cbee9c7f15197bd8c2b05aff4da (patch)
treeb8ddb603f54b39167fe41657a7866f15278208f0 /linux/dialogs.cpp
parentba95dc72674b7b517a771b79df96fa50c77b590e (diff)
Updated the About dialog
git-svn-id: http://svn.leocad.org/trunk@32 c7d43263-9d01-0410-8a33-9dba5d9f93d6
Diffstat (limited to 'linux/dialogs.cpp')
-rw-r--r--linux/dialogs.cpp38
1 files changed, 29 insertions, 9 deletions
diff --git a/linux/dialogs.cpp b/linux/dialogs.cpp
index 6ff65c2..f3ed4f6 100644
--- a/linux/dialogs.cpp
+++ b/linux/dialogs.cpp
@@ -10,6 +10,7 @@
#include <string.h>
#include <unistd.h>
#include <pwd.h>
+#include <GL/gl.h>
#include "gtktools.h"
#include "system.h"
#include "dialogs.h"
@@ -594,13 +595,15 @@ int aboutdlg_execute(void* param)
GtkWidget *dlg;
GtkWidget *vbox1, *vbox2, *hbox;
GtkWidget *frame, *w;
+ GtkWidget *table;
+ char info[256];
dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
GTK_SIGNAL_FUNC (delete_callback), NULL);
gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
- gtk_widget_set_usize (dlg, 430, 230);
+ gtk_widget_set_usize (dlg, 430, 190);
gtk_window_set_title (GTK_WINDOW (dlg), "About LeoCAD");
gtk_window_set_policy (GTK_WINDOW (dlg), FALSE, FALSE, FALSE);
gtk_widget_realize (dlg);
@@ -612,14 +615,14 @@ int aboutdlg_execute(void* param)
hbox = gtk_hbox_new (FALSE, 0);
gtk_widget_show (hbox);
gtk_box_pack_start (GTK_BOX (vbox1), hbox, TRUE, TRUE, 0);
- gtk_widget_set_usize (hbox, -2, 85);
+ gtk_widget_set_usize (hbox, -2, 60);
w = new_pixmap (dlg, icon32);
gtk_widget_show (w);
gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
gtk_widget_set_usize (w, 32, 32);
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_vbox_new (TRUE, 0);
gtk_widget_show (vbox2);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
@@ -631,16 +634,19 @@ int aboutdlg_execute(void* param)
gtk_widget_show (w);
gtk_box_pack_start (GTK_BOX (vbox2), w, FALSE, FALSE, 5);
- vbox2 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox2);
- gtk_box_pack_end (GTK_BOX (hbox), vbox2, FALSE, FALSE, 15);
+ table = gtk_table_new (1, 1, FALSE);
+ gtk_widget_show (table);
+ gtk_container_add (GTK_CONTAINER (hbox), table);
+ gtk_container_border_width (GTK_CONTAINER (table), 5);
w = gtk_button_new_with_label ("OK");
gtk_widget_show (w);
gtk_signal_connect (GTK_OBJECT (w), "clicked",
GTK_SIGNAL_FUNC (default_callback), GINT_TO_POINTER (LC_OK));
- gtk_box_pack_start (GTK_BOX (vbox2), w, FALSE, FALSE, 0);
+ gtk_table_attach (GTK_TABLE (table), w, 0, 1, 0, 1,
+ (GtkAttachOptions) GTK_EXPAND, (GtkAttachOptions) GTK_EXPAND, 0, 0);
gtk_widget_set_usize (w, 60, 40);
+
gtk_widget_grab_focus (w);
GtkAccelGroup *accel_group = gtk_accel_group_new ();
gtk_window_add_accel_group (GTK_WINDOW (dlg), accel_group);
@@ -650,12 +656,26 @@ int aboutdlg_execute(void* param)
frame = gtk_frame_new ("System Information");
gtk_widget_show (frame);
gtk_box_pack_start (GTK_BOX (vbox1), frame, TRUE, TRUE, 0);
- gtk_widget_set_usize (frame, -2, 90);
+ gtk_widget_set_usize (frame, -2, 100);
gtk_container_border_width (GTK_CONTAINER (frame), 10);
+ vbox2 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox2);
+ gtk_container_add (GTK_CONTAINER (frame), vbox2);
+ gtk_container_border_width (GTK_CONTAINER (vbox2), 5);
+
+ strcpy(info, "OpenGL Version ");
+ strcat(info, (const char*)glGetString(GL_VERSION));
+ strcat(info, "\n");
+ strcat(info, (const char*)glGetString(GL_RENDERER));
+ strcat(info, " - ");
+ strcat(info, (const char*)glGetString(GL_VENDOR));
+
w = gtk_text_new (NULL, NULL);
gtk_widget_show (w);
- gtk_container_add (GTK_CONTAINER (frame), w);
+ gtk_box_pack_start (GTK_BOX (vbox2), w, TRUE, TRUE, 0);
+ gtk_text_insert (GTK_TEXT (w), NULL, NULL, NULL,
+ info, strlen(info));
return dlg_domodal(dlg, LC_OK);
}