Remove ancient trunk folder from svn repository
[synfig.git] / synfig-studio / trunk / src / gtkmm / splash.cpp
diff --git a/synfig-studio/trunk/src/gtkmm/splash.cpp b/synfig-studio/trunk/src/gtkmm/splash.cpp
deleted file mode 100644 (file)
index fe87f01..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!    \file splash.cpp
-**     \brief writeme
-**
-**     $Id$
-**
-**     \legal
-**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**     Copyright (c) 2007 Chris Moore
-**     Copyright (c) 2008 Paul Wise
-**
-**     This package is free software; you can redistribute it and/or
-**     modify it under the terms of the GNU General Public License as
-**     published by the Free Software Foundation; either version 2 of
-**     the License, or (at your option) any later version.
-**
-**     This package is distributed in the hope that it will be useful,
-**     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 ===========================================================
-**
-** ========================================================================= */
-
-/* === H E A D E R S ======================================================= */
-
-#ifdef USING_PCH
-#      include "pch.h"
-#else
-#ifdef HAVE_CONFIG_H
-#      include <config.h>
-#endif
-
-#include <iostream>
-#include <string>
-
-#include <ETL/stringf>
-
-#include <gtkmm/image.h>
-#include <gtkmm/label.h>
-#include <gtkmm/frame.h>
-#include <gtkmm/fixed.h>
-
-#include <synfig/general.h>
-
-#include "splash.h"
-#include "app.h"
-
-#include "general.h"
-
-#endif
-
-using namespace std;
-using namespace etl;
-using namespace studio;
-
-/* === M A C R O S ========================================================= */
-
-#ifndef VERSION
-#define VERSION        "unknown"
-#define PACKAGE        "synfigstudio"
-#endif
-
-#ifdef WIN32
-#      ifdef IMAGE_DIR
-#              undef IMAGE_DIR
-#              define IMAGE_DIR "share\\pixmaps"
-#      endif
-#endif
-
-#ifndef IMAGE_DIR
-#      define IMAGE_DIR "/usr/local/share/pixmaps"
-#endif
-
-#ifndef IMAGE_EXT
-#      define IMAGE_EXT        "png"
-#endif
-
-/* === G L O B A L S ======================================================= */
-
-/* === P R O C E D U R E S ================================================= */
-
-class studio::SplashProgress : public synfig::ProgressCallback
-{
-       Splash &splash;
-
-public:
-
-       SplashProgress(Splash &splash):splash(splash) { }
-
-       virtual bool task(const std::string &task)
-       {
-               if(splash.tasklabel)
-               {
-                       splash.tasklabel->set_label(task);
-                       splash.tasklabel->show();
-               }
-               else
-               {
-                       cerr<<task<<endl;
-               }
-
-               while(studio::App::events_pending())studio::App::iteration(false);
-               return true;
-       }
-
-       virtual bool error(const std::string &task)
-       {
-               if(splash.tasklabel)
-               {
-                       splash.tasklabel->set_label(_("ERROR:")+task);
-                       splash.tasklabel->show();
-               }
-               else
-               {
-                       cerr<<task<<endl;
-               }
-
-               while(studio::App::events_pending())studio::App::iteration(false);
-               return true;
-       }
-
-       virtual bool warning(const std::string &task)
-       {
-               if(splash.tasklabel)
-               {
-                       splash.tasklabel->set_label(_("WARNING:")+task);
-                       splash.tasklabel->show();
-               }
-               else
-               {
-                       cerr<<task<<endl;
-               }
-
-               while(studio::App::events_pending())studio::App::iteration(false);
-               return true;
-       }
-
-       virtual bool amount_complete(int current, int total)
-       {
-               if(splash.progressbar)
-               {
-                       splash.progressbar->set_fraction((float)current/(float)total);
-                       splash.progressbar->show();
-               }
-               else
-                       cerr<<current<<'/'<<total<<endl;
-
-               while(studio::App::events_pending())studio::App::iteration(false);
-               return true;
-       }
-}; // END of class SplashProgress
-
-/* === M E T H O D S ======================================================= */
-
-Splash::Splash():
-       Gtk::Window(getenv("SYNFIG_DISABLE_POPUP_WINDOWS") ? Gtk::WINDOW_TOPLEVEL : Gtk::WINDOW_POPUP)
-{
-       std::string imagepath;
-#ifdef WIN32
-       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_SEPARATOR;
-               imagepath+="share";
-               imagepath+=ETL_DIRECTORY_SEPARATOR;
-               imagepath+="pixmaps";
-               imagepath+=ETL_DIRECTORY_SEPARATOR;
-               imagepath+="synfigstudio";
-       }
-       imagepath+=ETL_DIRECTORY_SEPARATOR;
-
-       // Create the splash image
-       Gtk::Image* splash_image = manage(new class Gtk::Image());
-       splash_image->set(imagepath+"splash_screen."IMAGE_EXT);
-       splash_image->set_alignment(0.5,0.5);
-       splash_image->set_padding(0,0);
-
-       // Get the image size
-       int image_w = 350; int image_h = 0;
-       Glib::RefPtr<Gdk::Pixbuf> pixbuf = splash_image->get_pixbuf();
-       if( pixbuf ){
-               image_w = pixbuf->get_width();
-               image_h = pixbuf->get_height();
-       }
-
-       // Create the progress bar
-       progressbar = manage(new class Gtk::ProgressBar());
-       progressbar->set_size_request(image_w,24);
-
-       // Create the current task label
-       tasklabel = manage(new class Gtk::Label());
-       tasklabel->set_size_request(image_w,24);
-       tasklabel->set_use_underline(false);
-
-       // Create the Gtk::Fixed container and put all of the widgets into it
-       Gtk::Fixed* fixed = manage(new class Gtk::Fixed());
-       if( pixbuf ) fixed->put(*splash_image, 0, 0);
-       fixed->put(*progressbar, 0, image_h+24);
-       fixed->put(*tasklabel, 0, image_h);
-
-       // Create shadow around the outside of the window
-       Gtk::Frame* frame = manage(new class Gtk::Frame());
-       frame->set_shadow_type(Gtk::SHADOW_OUT);
-       frame->add(*fixed);
-
-       // Set up the parameters for this pop-up window
-       set_title("Synfig Studio "VERSION);
-       set_modal(false);
-       property_window_position().set_value(Gtk::WIN_POS_CENTER);
-       set_resizable(false);
-       set_type_hint(Gdk::WINDOW_TYPE_HINT_SPLASHSCREEN);
-       set_auto_startup_notification(false);
-       try {
-               set_icon_from_file(imagepath+"synfig_icon."+IMAGE_EXT);
-       } catch(...) {
-               synfig::warning("Unable to open "+imagepath+"synfig_icon."+IMAGE_EXT);
-       }
-       add(*frame);
-
-       // show everything off
-       if( pixbuf ) splash_image->show();
-       fixed->show();
-       frame->show();
-
-       // Once the splash is shown, we want startup stuff to continue as normal
-       signal_map().connect(sigc::mem_fun(*this, &Splash::enable_startup_notification));
-
-       cb=new SplashProgress(*this);
-}
-
-Splash::~Splash()
-{
-       delete cb;
-}
-
-synfig::ProgressCallback *
-Splash::get_callback()
-{
-       return cb;
-}
-
-void
-Splash::enable_startup_notification(){
-       set_auto_startup_notification(true);
-}