X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fabout.cpp;h=e978dc171684959fce2635f16cf3aaae948c2afd;hb=10bc4dc98c164330589595f67f120f10f4bf0dad;hp=539395fe1a55051472fd9141c4460ad4cf9efd22;hpb=837b63e9fb829d66d43f4f169861f8979f76820d;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/about.cpp b/synfig-studio/trunk/src/gtkmm/about.cpp index 539395f..e978dc1 100644 --- a/synfig-studio/trunk/src/gtkmm/about.cpp +++ b/synfig-studio/trunk/src/gtkmm/about.cpp @@ -6,6 +6,7 @@ ** ** \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 @@ -47,6 +48,8 @@ #include "about.h" #include "app.h" +#include "general.h" + #endif using namespace std; @@ -158,25 +161,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 @@ -193,15 +196,36 @@ 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 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")); + Gtk::Label *VersionLabel = manage(new class Gtk::Label(_("Version"))); VersionLabel->set_size_request(image_w,80); VersionLabel->set_flags(Gtk::CAN_FOCUS); VersionLabel->set_alignment(0.5,0.5); 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; @@ -219,6 +243,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); @@ -228,7 +271,7 @@ About::About(): CloseButton = manage(new class Gtk::Button()); CloseButton->set_size_request(24,24); CloseButton->set_flags(Gtk::CAN_FOCUS); - _tooltips.set_tip(*CloseButton, "Close", ""); + _tooltips.set_tip(*CloseButton, _("Close"), ""); CloseButton->set_relief(Gtk::RELIEF_NONE); CloseButton->add(*image2);