**
** \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
#include "dialogsettings.h"
#include <synfigapp/main.h>
+#include <gdkmm/general.h>
#include "general.h"
{
if(key=="pos")
{
- if(!window->is_visible())return false;
+ // if(!window->is_visible())return false;
int x,y; window->get_position(x,y);
value=strprintf("%d %d",x,y);
return true;
}
if(key=="size")
{
- if(!window->is_visible())return false;
+ // if(!window->is_visible())return false;
int x,y; window->get_size(x,y);
value=strprintf("%d %d",x,y);
return true;
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;
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;
}
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;
}