Implement about dialog.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4395 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
index a6244cb..d9277e5 100644
--- a/vncviewer/vncviewer.cxx
+++ b/vncviewer/vncviewer.cxx
@@ -44,6 +44,7 @@
 #include <FL/Fl.H>
 #include <FL/Fl_Widget.H>
 #include <FL/fl_ask.H>
+#include <FL/x.H>
 
 #include "i18n.h"
 #include "parameters.h"
@@ -56,7 +57,7 @@
 using namespace rfb;
 using namespace std;
 
-char aboutText[1024];
+static char aboutText[1024];
 
 static bool exitMainloop = false;
 
@@ -65,6 +66,17 @@
   exitMainloop = true;
 }
 
+void about_vncviewer()
+{
+  fl_message_title(_("About TigerVNC Viewer"));
+  fl_message(aboutText);
+}
+
+static void about_callback(Fl_Widget *widget, void *data)
+{
+  about_vncviewer();
+}
+
 static void CleanupSignalHandler(int sig)
 {
   // CleanupSignalHandler allows C++ object cleanup to happen because it calls
@@ -109,6 +121,10 @@
   fl_ok     = _("OK");
   fl_cancel = _("Cancel");
   fl_close  = _("Close");
+
+#ifdef __APPLE__
+  fl_mac_set_about(about_callback, NULL);
+#endif
 }
 
 static void mkvnchomedir()