X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdialogsettings.cpp;h=e325dd9810529b5a49ed00880d7889af24b1b5ce;hb=b6c331ec41a1788c39606b9c398a25f801bacb4a;hp=c11ef4ef767bca04b21264ffa32869b74e21ad4e;hpb=8ef042c40521681cea99944097c4f90a5ac6cf74;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dialogsettings.cpp b/synfig-studio/trunk/src/gtkmm/dialogsettings.cpp index c11ef4e..e325dd9 100644 --- a/synfig-studio/trunk/src/gtkmm/dialogsettings.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialogsettings.cpp @@ -31,6 +31,7 @@ #include "dialogsettings.h" #include +#include #include "general.h" @@ -116,6 +117,9 @@ DialogSettings::get_value(const synfig::String& key, synfig::String& value)const bool DialogSettings::set_value(const synfig::String& key,const synfig::String& value) { + int screen_w(Gdk::screen_width()); + int screen_h(Gdk::screen_height()); + if(value.empty()) return false; @@ -124,6 +128,10 @@ DialogSettings::set_value(const synfig::String& key,const synfig::String& value) int x,y; if(!strscanf(value,"%d %d",&x, &y)) return false; + + if (x > screen_w) x = screen_w - 150; if (x < 0) x = 0; + if (y > screen_h) y = screen_h - 150; if (y < 0) y = 0; + window->move(x,y); return true; } @@ -132,6 +140,10 @@ DialogSettings::set_value(const synfig::String& key,const synfig::String& value) int x,y; if(!strscanf(value,"%d %d",&x, &y)) return false; + + if (x > screen_w) x = 150; if (x < 0) x = 0; + if (y > screen_h) y = 150; if (y < 0) y = 0; + window->set_default_size(x,y); return true; }