projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revised Spanish translation for synfigstudio. Thanks genete.
[synfig.git]
/
synfig-studio
/
tags
/
stable
/
src
/
gtkmm
/
dockmanager.cpp
diff --git
a/synfig-studio/tags/stable/src/gtkmm/dockmanager.cpp
b/synfig-studio/tags/stable/src/gtkmm/dockmanager.cpp
index
661b24b
..
8a5198c
100644
(file)
--- a/
synfig-studio/tags/stable/src/gtkmm/dockmanager.cpp
+++ b/
synfig-studio/tags/stable/src/gtkmm/dockmanager.cpp
@@
-6,7
+6,7
@@
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2007
, 2008
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
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
@@
-38,6
+38,8
@@
#include <synfigapp/main.h>
#include <gdkmm/general.h>
#include <synfigapp/main.h>
#include <gdkmm/general.h>
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
#endif
/* === U S I N G =========================================================== */
@@
-133,7
+135,8
@@
public:
if(key=="contents_size")
{
try {
if(key=="contents_size")
{
try {
-
+ int width, height;
+ Gtk::IconSize::lookup(Gtk::IconSize(4),width,height);
vector<int> data;
String::size_type n=0;
String value_(value);
vector<int> data;
String::size_type n=0;
String value_(value);
@@
-142,7
+145,14
@@
public:
int size;
if(!strscanf(value_,"%d",&size))
break;
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;
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);
n=value_.find(" ");
data.push_back(size);
n=value_.find(" ");
@@
-164,8
+174,14
@@
public:
int x,y;
if(!strscanf(value,"%d %d",&x, &y))
return false;
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;
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;
}
dock_dialog.move(x,y);
return true;
}
@@
-174,6
+190,8
@@
public:
int x,y;
if(!strscanf(value,"%d %d",&x, &y))
return false;
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);
x=x*screen_w/SCALE_FACTOR;
y=y*screen_h/SCALE_FACTOR;
dock_dialog.set_default_size(x,y);