Hi,
what about adding the FreeBSD icon to the project selection
dialog? Several projects support this system.
Joined: patch & little screenshot.

Ok/Comments?
diff --git a/clientgui/ProjectInfoPage.cpp b/clientgui/ProjectInfoPage.cpp
index 4325afe..499b933 100644
--- a/clientgui/ProjectInfoPage.cpp
+++ b/clientgui/ProjectInfoPage.cpp
@@ -42,6 +42,7 @@
 #include "res/windowsicon.xpm"
 #include "res/macosicon.xpm"
 #include "res/linuxicon.xpm"
+#include "res/freebsdicon.xpm"
 #include "res/atiicon.xpm"
 #include "res/nvidiaicon.xpm"
 #include "res/blankicon.xpm"
@@ -59,6 +60,7 @@ class CProjectInfo : public wxObject
         m_bProjectSupportsWindows = false;
         m_bProjectSupportsMac = false;
         m_bProjectSupportsLinux = false;
+        m_bProjectSupportsFreeBSD = false;
         m_bProjectSupportsCUDA = false;
         m_bProjectSupportsCAL = false;
     }
@@ -74,6 +76,7 @@ public:
     bool m_bProjectSupportsWindows;
     bool m_bProjectSupportsMac;
     bool m_bProjectSupportsLinux;
+    bool m_bProjectSupportsFreeBSD;
     bool m_bProjectSupportsCUDA;
     bool m_bProjectSupportsCAL;
 };
@@ -158,6 +161,7 @@ bool CProjectInfoPage::Create( CBOINCBaseWizard* parent )
     m_pProjectDetailsSupportedPlatformWindowsCtrl = NULL;
     m_pProjectDetailsSupportedPlatformMacCtrl = NULL;
     m_pProjectDetailsSupportedPlatformLinuxCtrl = NULL;
+    m_pProjectDetailsSupportedPlatformFreeBSDCtrl = NULL;
     m_pProjectDetailsSupportedPlatformATICtrl = NULL;
     m_pProjectDetailsSupportedPlatformNvidiaCtrl = NULL;
     m_pProjectDetailsSupportedPlatformBlankCtrl = NULL;
@@ -300,6 +304,9 @@ void CProjectInfoPage::CreateControls()
     m_pProjectDetailsSupportedPlatformLinuxCtrl = new wxStaticBitmap( itemWizardPage23, wxID_STATIC, GetBitmapResource(wxT("linuxicon.xpm")), wxDefaultPosition, wxSize(16,16), 0 );
     itemBoxSizer26->Add(m_pProjectDetailsSupportedPlatformLinuxCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
 
+    m_pProjectDetailsSupportedPlatformFreeBSDCtrl = new wxStaticBitmap( itemWizardPage23, wxID_STATIC, GetBitmapResource(wxT("freebsdicon.xpm")), wxDefaultPosition, wxSize(16,16), 0 );
+    itemBoxSizer26->Add(m_pProjectDetailsSupportedPlatformFreeBSDCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
+
     m_pProjectDetailsSupportedPlatformATICtrl = new wxStaticBitmap( itemWizardPage23, wxID_STATIC, GetBitmapResource(wxT("atiicon.xpm")), wxDefaultPosition, wxSize(16,16), 0 );
     itemBoxSizer26->Add(m_pProjectDetailsSupportedPlatformATICtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
 
@@ -389,6 +396,11 @@ wxBitmap CProjectInfoPage::GetBitmapResource( const wxString& name )
         wxBitmap bitmap(Linux_xpm);
         return bitmap;
     }
+    else if (name == wxT("freebsdicon.xpm"))
+    {
+        wxBitmap bitmap(FreeBSD_xpm);
+        return bitmap;
+    }
     else if (name == wxT("atiicon.xpm"))
     {
         wxBitmap bitmap(atiicon_xpm);
@@ -486,11 +498,13 @@ void CProjectInfoPage::OnProjectSelected( wxCommandEvent& WXUNUSED(event) ) {
         m_pProjectDetailsSupportedPlatformWindowsCtrl->Hide();
         m_pProjectDetailsSupportedPlatformMacCtrl->Hide();
         m_pProjectDetailsSupportedPlatformLinuxCtrl->Hide();
+        m_pProjectDetailsSupportedPlatformFreeBSDCtrl->Hide();
         m_pProjectDetailsSupportedPlatformATICtrl->Hide();
         m_pProjectDetailsSupportedPlatformNvidiaCtrl->Hide();
         if (pProjectInfo->m_bProjectSupportsWindows) m_pProjectDetailsSupportedPlatformWindowsCtrl->Show();
         if (pProjectInfo->m_bProjectSupportsMac) m_pProjectDetailsSupportedPlatformMacCtrl->Show();
         if (pProjectInfo->m_bProjectSupportsLinux) m_pProjectDetailsSupportedPlatformLinuxCtrl->Show();
+        if (pProjectInfo->m_bProjectSupportsFreeBSD) m_pProjectDetailsSupportedPlatformFreeBSDCtrl->Show();
         if (pProjectInfo->m_bProjectSupportsCAL) m_pProjectDetailsSupportedPlatformATICtrl->Show();
         if (pProjectInfo->m_bProjectSupportsCUDA) m_pProjectDetailsSupportedPlatformNvidiaCtrl->Show();
 
@@ -556,6 +570,7 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) {
     wxASSERT(m_pProjectDetailsSupportedPlatformWindowsCtrl);
     wxASSERT(m_pProjectDetailsSupportedPlatformMacCtrl);
     wxASSERT(m_pProjectDetailsSupportedPlatformLinuxCtrl);
+    wxASSERT(m_pProjectDetailsSupportedPlatformFreeBSDCtrl);
     wxASSERT(m_pProjectDetailsSupportedPlatformATICtrl);
     wxASSERT(m_pProjectDetailsSupportedPlatformNvidiaCtrl);
     wxASSERT(m_pProjectURLStaticCtrl);
@@ -676,6 +691,10 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) {
                     if (strProjectPlatform.Find(_T("linux")) != wxNOT_FOUND) {
                         pProjectInfo->m_bProjectSupportsLinux = true;
                     }
+
+                    if (strProjectPlatform.Find(_T("freebsd")) != wxNOT_FOUND) {
+                        pProjectInfo->m_bProjectSupportsFreeBSD = true;
+                    }
                     
                     if (strProjectPlatform.Find(_T("[cuda")) != wxNOT_FOUND) {
                         pProjectInfo->m_bProjectSupportsCUDA = true;
@@ -701,10 +720,11 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) {
 
             wxLogTrace(
                 wxT("Function Status"),
-                wxT("CProjectInfoPage::OnPageChanged - Windows: '%d', Mac: '%d', Linux: '%d', Nvidia: '%d', ATI: '%d', Platform: '%d'"),
+                wxT("CProjectInfoPage::OnPageChanged - Windows: '%d', Mac: '%d', Linux: '%d', FreeBSD: '%d', Nvidia: '%d', ATI: '%d', Platform: '%d'"),
                 pProjectInfo->m_bProjectSupportsWindows,
                 pProjectInfo->m_bProjectSupportsMac,
                 pProjectInfo->m_bProjectSupportsLinux,
+                pProjectInfo->m_bProjectSupportsFreeBSD,
                 pProjectInfo->m_bProjectSupportsCUDA,
                 pProjectInfo->m_bProjectSupportsCAL,
                 pProjectInfo->m_bSupportedPlatformFound
diff --git a/clientgui/ProjectInfoPage.h b/clientgui/ProjectInfoPage.h
index 99fec67..14e78b1 100644
--- a/clientgui/ProjectInfoPage.h
+++ b/clientgui/ProjectInfoPage.h
@@ -126,6 +126,7 @@ public:
     wxStaticBitmap* m_pProjectDetailsSupportedPlatformWindowsCtrl;
     wxStaticBitmap* m_pProjectDetailsSupportedPlatformMacCtrl;
     wxStaticBitmap* m_pProjectDetailsSupportedPlatformLinuxCtrl;
+    wxStaticBitmap* m_pProjectDetailsSupportedPlatformFreeBSDCtrl;
     wxStaticBitmap* m_pProjectDetailsSupportedPlatformATICtrl;
     wxStaticBitmap* m_pProjectDetailsSupportedPlatformNvidiaCtrl;
     wxStaticBitmap* m_pProjectDetailsSupportedPlatformBlankCtrl;
diff --git a/clientgui/res/freebsdicon.xpm b/clientgui/res/freebsdicon.xpm
index e69de29..5e2fc4e 100644
--- a/clientgui/res/freebsdicon.xpm
+++ b/clientgui/res/freebsdicon.xpm
@@ -0,0 +1,154 @@
+/* XPM */
+static const char *FreeBSD_xpm[] = {
+"14 14 137 2",
+"  	c None",
+". 	c #99120F",
+"+ 	c #EBA49E",
+"@ 	c #B4755C",
+"# 	c #B2B3B2",
+"$ 	c #F1F1F1",
+"% 	c #F4F4F5",
+"& 	c #F2EAEA",
+"* 	c #F2EBEA",
+"= 	c #C0C3C2",
+"- 	c #AD8674",
+"; 	c #EFBAB4",
+"> 	c #9E1411",
+", 	c #8E0403",
+"' 	c #D63128",
+") 	c #FFF0ED",
+"! 	c #FFFFFF",
+"~ 	c #FEFDF8",
+"{ 	c #FEFBF9",
+"] 	c #FDF9FA",
+"^ 	c #D58686",
+"/ 	c #EAB0A4",
+"( 	c #FFF4F2",
+"_ 	c #DE6059",
+": 	c #900908",
+"< 	c #952C2C",
+"[ 	c #DDABAA",
+"} 	c #FDF3F0",
+"| 	c #FCE9DC",
+"1 	c #FCE9DE",
+"2 	c #FCEBDA",
+"3 	c #F0D4D2",
+"4 	c #FACDC0",
+"5 	c #F86D62",
+"6 	c #AB0903",
+"7 	c #A1494A",
+"8 	c #7A7475",
+"9 	c #FFECE5",
+"0 	c #FFFAF7",
+"a 	c #FDDFD8",
+"b 	c #FCB49F",
+"c 	c #F79C7D",
+"d 	c #E38581",
+"e 	c #DA8E8F",
+"f 	c #D06762",
+"g 	c #C10A03",
+"h 	c #B54D4B",
+"i 	c #80797A",
+"j 	c #DCCACB",
+"k 	c #F7C7B3",
+"l 	c #FEEDD9",
+"m 	c #F66541",
+"n 	c #F71C0B",
+"o 	c #E20601",
+"p 	c #C40303",
+"q 	c #AD0303",
+"r 	c #991212",
+"s 	c #852222",
+"t 	c #804645",
+"u 	c #C1AEA6",
+"v 	c #D9968E",
+"w 	c #F39B62",
+"x 	c #F57B39",
+"y 	c #E80200",
+"z 	c #EA0000",
+"A 	c #D00000",
+"B 	c #BB0000",
+"C 	c #A50000",
+"D 	c #8F0000",
+"E 	c #810101",
+"F 	c #680F10",
+"G 	c #BC806E",
+"H 	c #C66F66",
+"I 	c #E42700",
+"J 	c #EB3001",
+"K 	c #DF0800",
+"L 	c #DC0000",
+"M 	c #BD0000",
+"N 	c #AB0000",
+"O 	c #9E0000",
+"P 	c #AD0000",
+"Q 	c #940000",
+"R 	c #740000",
+"S 	c #D89378",
+"T 	c #C48B8A",
+"U 	c #CA0E00",
+"V 	c #E22401",
+"W 	c #DB1701",
+"X 	c #CD0000",
+"Y 	c #A80000",
+"Z 	c #A30000",
+"` 	c #BC0000",
+" .	c #B20000",
+"..	c #750000",
+"+.	c #9F1808",
+"@.	c #F7EBB8",
+"#.	c #B9B9B9",
+"$.	c #A80C02",
+"%.	c #D61802",
+"&.	c #DD2302",
+"*.	c #CE1301",
+"=.	c #920000",
+"-.	c #B70000",
+";.	c #B00000",
+">.	c #860001",
+",.	c #E5824E",
+"'.	c #C1C2B0",
+").	c #B46866",
+"!.	c #C40A00",
+"~.	c #D01701",
+"{.	c #D52402",
+"].	c #BE2102",
+"^.	c #BC1101",
+"/.	c #B60F00",
+"(.	c #CC2603",
+"_.	c #D8450F",
+":.	c #E08F7C",
+"<.	c #7A6F6F",
+"[.	c #B22724",
+"}.	c #C20600",
+"|.	c #CC1701",
+"1.	c #CA2302",
+"2.	c #DC2F02",
+"3.	c #E63B02",
+"4.	c #EE4200",
+"5.	c #F58C5C",
+"6.	c #88736D",
+"7.	c #6B6B6A",
+"8.	c #B2302B",
+"9.	c #C8160E",
+"0.	c #D01E0B",
+"a.	c #E62F0A",
+"b.	c #E7480E",
+"c.	c #DF8E3B",
+"d.	c #74665F",
+"e.	c #622623",
+"f.	c #6B3626",
+"                            ",
+"  . + @ # $ % & * = - ; >   ",
+"  , ' ) ! ~ { ] ^ / ( _ :   ",
+"  < [ } } | 1 2 3 4 5 6 7   ",
+"  8 9 0 a b c d e f g h i   ",
+"  j k l m n o p q r s t u   ",
+"  v w x y z A B C D E F G   ",
+"  H I J K L M N O P Q R S   ",
+"  T U V W X Y Z `  ...+.@.  ",
+"  #.$.%.&.*.=.-.;.C >.,.'.  ",
+"    ).!.~.{.].^./.(._.:.    ",
+"    <.[.}.|.1.2.3.4.5.6.    ",
+"      7.8.9.0.a.b.c.d.      ",
+"            e.f.            "};

<<attachment: shot.png>>

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to