Working on 1796971: Make dialog_save_as() return a bool saying whether it saved anyth...
[synfig.git] / synfig-studio / trunk / src / gtkmm / dockmanager.cpp
index 72c84d4..b8a656d 100644 (file)
@@ -2,7 +2,7 @@
 /*!    \file dockmanager.cpp
 **     \brief Template File
 **
-**     $Id: dockmanager.cpp,v 1.2 2005/01/12 07:03:42 darco Exp $
+**     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
@@ -53,13 +53,13 @@ using namespace studio;
 class studio::DockSettings : public synfigapp::Settings
 {
        DockManager* dock_manager;
-       
+
 public:
        DockSettings(DockManager* dock_manager):dock_manager(dock_manager)
        {
                synfigapp::Main::settings().add_domain(this,"dock");
        }
-       
+
        virtual ~DockSettings()
        {
                synfigapp::Main::settings().remove_domain("dock");
@@ -69,16 +69,16 @@ public:
        {
                int screen_w(Gdk::screen_width());
                int screen_h(Gdk::screen_height());
-               
+
                if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")try
                {
                        synfig::String key(key_.begin()+7,key_.end());
-                       int separator=key.find_first_of('.');
+                       synfig::String::size_type separator=key.find_first_of('.');
                        int id(atoi(synfig::String(key.begin(),key.begin()+separator).c_str()));
                        key=synfig::String(key.begin()+separator+1,key.end());
-                       
+
                        DockDialog& dock_dialog(dock_manager->find_dock_dialog(id));
-                       
+
                        if(key=="contents_size")
                        {
                                dock_dialog.rebuild_sizes();
@@ -123,20 +123,20 @@ public:
                if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")
                {
                        synfig::String key(key_.begin()+7,key_.end());
-                       int separator=key.find_first_of('.');
+                       synfig::String::size_type separator=key.find_first_of('.');
                        int id(atoi(synfig::String(key.begin(),key.begin()+separator).c_str()));
                        key=synfig::String(key.begin()+separator+1,key.end());
-                       
+
                        DockDialog& dock_dialog(dock_manager->find_dock_dialog(id));
 
                        if(key=="contents_size")
                        {
                                try {
-                                       
+
                                vector<int> data;
-                               int n=0;
+                               String::size_type n=0;
                                String value_(value);
-                               while(value_.size() && (signed)value_.size()>n && n>=0){
+                               while(value_.size() && value_.size()>n){
                                        value_=String(value_.begin()+n,value_.end());
                                        int size;
                                        if(!strscanf(value_,"%d",&size))
@@ -145,9 +145,9 @@ public:
                                        data.push_back(size);
 
                                        n=value_.find(" ");
-                                       if((unsigned)n!=String::npos)
-                                               n++;
-                                               
+                                       if(n==String::npos)
+                                               break;
+                                       n++;
                                }
                                dock_dialog.set_dock_book_sizes(data);
                                }
@@ -195,7 +195,7 @@ public:
                }
                return synfigapp::Settings::set_value(key_,value);
        }
-       
+
        virtual KeyList get_key_list()const
        {
                synfigapp::Settings::KeyList ret(synfigapp::Settings::get_key_list());
@@ -230,7 +230,7 @@ DockManager::~DockManager()
        {
                Dockable* dockable(dockable_list_.back());
                synfig::info("DockManager::~DockManager(): Deleting dockable \"%s\"",dockable->get_name().c_str());
-               dockable_list_.pop_back();              
+               dockable_list_.pop_back();
                delete dockable;
        }
 }
@@ -267,7 +267,7 @@ DockManager::find_dockable(const synfig::String& x)
        for(iter=dockable_list_.begin();iter!=dockable_list_.end();++iter)
                if((*iter)->get_name()==x)
                        return **iter;
-       
+
        throw std::runtime_error("DockManager::find_dockable(): not found");
 }
 
@@ -304,6 +304,6 @@ DockManager::find_dock_dialog(int id)const
        for(iter=dock_dialog_list_.begin();iter!=dock_dialog_list_.end();++iter)
                if((*iter)->get_id()==id)
                        return **iter;
-       
+
        throw std::runtime_error("DockManager::find_dock_dialog(int id)const: not found");
 }