Add my copyright to files I've modified.
[synfig.git] / synfig-studio / trunk / src / gtkmm / about.cpp
index 97babba..656a871 100644 (file)
@@ -1,9 +1,12 @@
-/*! ========================================================================
-** Synfig
-** Template File
-** $Id: about.cpp,v 1.2 2005/01/13 21:11:16 darco Exp $
+/* === S Y N F I G ========================================================= */
+/*!    \file about.cpp
+**     \brief writeme
 **
+**     $Id$
+**
+**     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -14,6 +17,7 @@
 **     but WITHOUT ANY WARRANTY; without even the implied warranty of
 **     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 **     General Public License for more details.
+**     \endlegal
 **
 ** === N O T E S ===========================================================
 **
@@ -155,25 +159,25 @@ public:
 /* === M E T H O D S ======================================================= */
 
 About::About():
-       Gtk::Window(Gtk::WINDOW_POPUP),
+       Gtk::Window(getenv("SYNFIG_DISABLE_POPUP_WINDOWS") ? Gtk::WINDOW_TOPLEVEL : Gtk::WINDOW_POPUP),
        can_self_destruct(true)
 {
        int image_w=300,image_h=350;
 
        std::string imagepath;
 #ifdef WIN32
-       imagepath=App::get_base_path()+ETL_DIRECTORY_SEPERATOR+IMAGE_DIR;
+       imagepath=App::get_base_path()+ETL_DIRECTORY_SEPARATOR+IMAGE_DIR;
 #else
        imagepath=IMAGE_DIR;
 #endif
        char* synfig_root=getenv("SYNFIG_ROOT");
        if(synfig_root) {
                imagepath=synfig_root;
-               imagepath+=ETL_DIRECTORY_SEPERATOR;
+               imagepath+=ETL_DIRECTORY_SEPARATOR;
 
                imagepath+="share/pixmaps";
        }
-       imagepath+=ETL_DIRECTORY_SEPERATOR;
+       imagepath+=ETL_DIRECTORY_SEPARATOR;
 
 
        // Create the Logo
@@ -190,6 +194,26 @@ About::About():
        CopyrightLabel->set_padding(0,0);
        CopyrightLabel->set_justify(Gtk::JUSTIFY_CENTER);
        CopyrightLabel->set_line_wrap(false);
+       CopyrightLabel->modify_fg(Gtk::STATE_NORMAL,Gdk::Color("black"));
+
+       /* Scale the text to fit */
+       int width = 0;
+       int height = 0;
+       float size=11;
+       Glib::RefPtr<Pango::Layout> l = CopyrightLabel->get_layout();
+       Pango::FontDescription fd = Pango::FontDescription("Sans, 11");
+       l->set_font_description(fd);
+       l->set_justify(Pango::ALIGN_CENTER);
+       fd.set_size(int(size*Pango::SCALE));
+       l->set_font_description(fd);
+       l->get_pixel_size(width,height);
+       while( width >= image_w-6 ){
+               size-=0.5;
+               fd.set_size((int)(size*Pango::SCALE));
+               l->set_font_description(fd);
+               l->get_pixel_size(width,height);
+       }
+       CopyrightLabel->modify_font(fd);
 
        // Create the Version information label
        Gtk::Label *VersionLabel = manage(new class Gtk::Label("Version"));
@@ -199,6 +223,7 @@ About::About():
        VersionLabel->set_padding(0,0);
        VersionLabel->set_justify(Gtk::JUSTIFY_CENTER);
        VersionLabel->set_line_wrap(false);
+       VersionLabel->modify_fg(Gtk::STATE_NORMAL,Gdk::Color("black"));
 
        // Set the version label to contain the correct information
        string ver;
@@ -216,6 +241,25 @@ About::About():
        #endif
        VersionLabel->set_text(ver);
 
+       /* Scale the text to fit */
+       width = 0;
+       height = 0;
+       size=11;
+       l = VersionLabel->get_layout();
+       fd = Pango::FontDescription("Sans, 11");
+       l->set_font_description(fd);
+       l->set_justify(Pango::ALIGN_CENTER);
+       fd.set_size(int(size*Pango::SCALE));
+       l->set_font_description(fd);
+       l->get_pixel_size(width,height);
+       while( width >= image_w-6 ){
+               size-=0.5;
+               fd.set_size((int)(size*Pango::SCALE));
+               l->set_font_description(fd);
+               l->get_pixel_size(width,height);
+       }
+       VersionLabel->modify_font(fd);
+
        // Create the image that will be used on the close button
        Gtk::Image *image2 = manage(new class Gtk::Image(Gtk::StockID("gtk-close"), Gtk::IconSize(4)));
        image2->set_alignment(0.5,0.5);