{
synfigapp::Main::settings().remove_domain("dock");
}
-#define SCALE_FACTOR (1280)
virtual bool get_value(const synfig::String& key_, synfig::String& value)const
{
- int screen_w(Gdk::screen_width());
- int screen_h(Gdk::screen_height());
if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")try
{
vector<int>::const_iterator end(dock_dialog.get_dock_book_sizes().end());
value.clear();
for(;iter!=end;++iter)
- value+=strprintf("%d ",(*iter)*SCALE_FACTOR/screen_h);
+ value+=strprintf("%d ",*iter);
return true;
}
if(key=="pos")
{
int x,y; dock_dialog.get_position(x,y);
- value=strprintf("%d %d",x*SCALE_FACTOR/screen_w,y*SCALE_FACTOR/screen_h);
+ value=strprintf("%d %d",x,y);
return true;
}
if(key=="size")
{
int x,y; dock_dialog.get_size(x,y);
- value=strprintf("%d %d",x*SCALE_FACTOR/screen_w,y*SCALE_FACTOR/screen_h);
+ value=strprintf("%d %d",x,y);
return true;
}
if(key=="contents")
virtual bool set_value(const synfig::String& key_,const synfig::String& value)
{
- int screen_w(Gdk::screen_width());
- int screen_h(Gdk::screen_height());
if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")
{
int size;
if(!strscanf(value_,"%d",&size))
break;
- if (size > SCALE_FACTOR) size = SCALE_FACTOR - 150;
- if (size < 0) size = 0;
- size=size*screen_h/SCALE_FACTOR;
-
- // prevent errors like this, by allowing space for at least the dockable's icon:
- // ** CRITICAL **: clearlooks_style_draw_box_gap: assertion `height >= -1' failed
- if (size < height + 9) size = height + 9;
data.push_back(size);
int x,y;
if(!strscanf(value,"%d %d",&x, &y))
return false;
- if (x > SCALE_FACTOR) x = SCALE_FACTOR - 150; if (x < 0) x = 0;
- if (y > SCALE_FACTOR) y = SCALE_FACTOR - 150; if (y < 0) y = 0;
- x=x*screen_w/SCALE_FACTOR;
- y=y*screen_h/SCALE_FACTOR;
- if(getenv("SYNFIG_WINDOW_POSITION_X_OFFSET"))
- x += atoi(getenv("SYNFIG_WINDOW_POSITION_X_OFFSET"));
- if(getenv("SYNFIG_WINDOW_POSITION_Y_OFFSET"))
- y += atoi(getenv("SYNFIG_WINDOW_POSITION_Y_OFFSET"));
dock_dialog.move(x,y);
return true;
}
int x,y;
if(!strscanf(value,"%d %d",&x, &y))
return false;
- if (x > SCALE_FACTOR) x = 150; if (x < 0) x = 0;
- if (y > SCALE_FACTOR) y = 150; if (y < 0) y = 0;
- x=x*screen_w/SCALE_FACTOR;
- y=y*screen_h/SCALE_FACTOR;
dock_dialog.set_default_size(x,y);
dock_dialog.resize(x,y);
return true;