summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2016-10-24 17:07:14 -0700
committerJohnathan Corgan <johnathan@corganlabs.com>2016-10-24 17:07:14 -0700
commitbe6aaf488da426d864a9d1d04b22627a12ff0c4e (patch)
treee72c3fa76c03725d45af9551ba2ff564e642288d
parentb890cc4a5c51d46753068fb91ab68f3ecfa726db (diff)
parenta411404005f3c24c8df51b68946e2cfd69e38d63 (diff)
Merge branch 'master' into next
-rw-r--r--gr-filter/lib/pfb_arb_resampler_ccc_impl.cc1
-rw-r--r--gr-filter/lib/pfb_arb_resampler_ccf_impl.cc1
-rw-r--r--gr-filter/lib/pfb_arb_resampler_fff_impl.cc1
-rw-r--r--grc/gui/ActionHandler.py8
-rw-r--r--grc/gui/Block.py15
-rw-r--r--grc/gui/Constants.py2
-rw-r--r--grc/gui/FlowGraph.py2
-rw-r--r--grc/gui/PropsDialog.py5
-rw-r--r--grc/gui/Utils.py7
9 files changed, 24 insertions, 18 deletions
diff --git a/gr-filter/lib/pfb_arb_resampler_ccc_impl.cc b/gr-filter/lib/pfb_arb_resampler_ccc_impl.cc
index db1680085b..3437524386 100644
--- a/gr-filter/lib/pfb_arb_resampler_ccc_impl.cc
+++ b/gr-filter/lib/pfb_arb_resampler_ccc_impl.cc
@@ -53,7 +53,6 @@ namespace gr {
d_resamp = new kernel::pfb_arb_resampler_ccc(rate, taps, filter_size);
set_history(d_resamp->taps_per_filter());
set_relative_rate(rate);
- enable_update_rate(true);
}
pfb_arb_resampler_ccc_impl::~pfb_arb_resampler_ccc_impl()
diff --git a/gr-filter/lib/pfb_arb_resampler_ccf_impl.cc b/gr-filter/lib/pfb_arb_resampler_ccf_impl.cc
index aa6cb775ae..246b3d99cf 100644
--- a/gr-filter/lib/pfb_arb_resampler_ccf_impl.cc
+++ b/gr-filter/lib/pfb_arb_resampler_ccf_impl.cc
@@ -53,7 +53,6 @@ namespace gr {
d_resamp = new kernel::pfb_arb_resampler_ccf(rate, taps, filter_size);
set_history(d_resamp->taps_per_filter());
set_relative_rate(rate);
- enable_update_rate(true);
}
pfb_arb_resampler_ccf_impl::~pfb_arb_resampler_ccf_impl()
diff --git a/gr-filter/lib/pfb_arb_resampler_fff_impl.cc b/gr-filter/lib/pfb_arb_resampler_fff_impl.cc
index 8602a2f0fa..1d994cce7e 100644
--- a/gr-filter/lib/pfb_arb_resampler_fff_impl.cc
+++ b/gr-filter/lib/pfb_arb_resampler_fff_impl.cc
@@ -52,7 +52,6 @@ namespace gr {
d_resamp = new kernel::pfb_arb_resampler_fff(rate, taps, filter_size);
set_history(d_resamp->taps_per_filter());
set_relative_rate(rate);
- enable_update_rate(true);
}
pfb_arb_resampler_fff_impl::~pfb_arb_resampler_fff_impl()
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py
index f18fcea3e1..ec5ac7c574 100644
--- a/grc/gui/ActionHandler.py
+++ b/grc/gui/ActionHandler.py
@@ -23,7 +23,7 @@ import gtk
import os
import subprocess
-from . import Dialogs, Preferences, Actions, Executor, Constants
+from . import Dialogs, Preferences, Actions, Executor, Constants, Utils
from .FileDialogs import (OpenFlowGraphFileDialog, SaveFlowGraphFileDialog,
SaveConsoleFileDialog, SaveScreenShotDialog,
OpenQSSFileDialog)
@@ -688,8 +688,10 @@ class ActionHandler:
Actions.FLOW_GRAPH_SAVE.set_sensitive(not page.get_saved())
main.update()
try: #set the size of the flow graph area (if changed)
- new_size = (flow_graph.get_option('window_size') or
- self.platform.config.default_canvas_size)
+ new_size = Utils.scale(
+ flow_graph.get_option('window_size') or
+ self.platform.config.default_canvas_size
+ )
if flow_graph.get_size() != tuple(new_size):
flow_graph.set_size(*new_size)
except: pass
diff --git a/grc/gui/Block.py b/grc/gui/Block.py
index 55c8805fae..b90ea485ee 100644
--- a/grc/gui/Block.py
+++ b/grc/gui/Block.py
@@ -95,9 +95,8 @@ class Block(Element, _Block):
"""
proximity = Constants.BORDER_PROXIMITY_SENSITIVITY
try: #should evaluate to tuple
- coor = eval(self.get_param('_coordinate').get_value())
- x, y = map(int, coor)
- fgW,fgH = self.get_parent().get_size()
+ x, y = Utils.scale(eval(self.get_param('_coordinate').get_value()))
+ fgW, fgH = self.get_parent().get_size()
if x <= 0:
x = 0
elif x >= fgW - proximity:
@@ -124,7 +123,7 @@ class Block(Element, _Block):
Utils.align_to_grid(coor[0] + offset_x) - offset_x,
Utils.align_to_grid(coor[1] + offset_y) - offset_y
)
- self.get_param('_coordinate').set_value(str(coor))
+ self.get_param('_coordinate').set_value(str(Utils.scale(coor, reverse=True)))
def bound_move_delta(self, delta_coor):
"""
@@ -141,11 +140,11 @@ class Block(Element, _Block):
try:
fgW, fgH = self.get_parent().get_size()
- x, y = map(int, eval(self.get_param("_coordinate").get_value()))
+ x, y = Utils.scale(eval(self.get_param('_coordinate').get_value()))
if self.is_horizontal():
- sW, sH = self.W, self.H
+ sW, sH = self.W, self.H
else:
- sW, sH = self.H, self.W
+ sW, sH = self.H, self.W
if x + dX < 0:
dX = -x
@@ -154,7 +153,7 @@ class Block(Element, _Block):
if y + dY < 0:
dY = -y
elif dY + y + sH >= fgH:
- dY = fgH - y - sH
+ dY = fgH - y - sH
except:
pass
diff --git a/grc/gui/Constants.py b/grc/gui/Constants.py
index 6a7b54dffa..7dc6d6e15b 100644
--- a/grc/gui/Constants.py
+++ b/grc/gui/Constants.py
@@ -96,6 +96,8 @@ SCROLL_DISTANCE = 15
# How close the mouse click can be to a line and register a connection select.
LINE_SELECT_SENSITIVITY = 5
+DPI_SCALING = gtk.gdk.screen_get_default().get_resolution() / 96.0
+
def update_font_size(font_size):
global PORT_SEPARATION, BLOCK_FONT, PORT_FONT, PARAM_FONT, FONT_SIZE
diff --git a/grc/gui/FlowGraph.py b/grc/gui/FlowGraph.py
index f98aec41d5..5bcf018120 100644
--- a/grc/gui/FlowGraph.py
+++ b/grc/gui/FlowGraph.py
@@ -407,7 +407,7 @@ class FlowGraph(Element, _Flowgraph):
Draw the pixmap to the drawable window of this flow graph.
"""
- W,H = self.get_size()
+ W, H = self.get_size()
hide_disabled_blocks = Actions.TOGGLE_HIDE_DISABLED_BLOCKS.get_active()
hide_variables = Actions.TOGGLE_HIDE_VARIABLES.get_active()
diff --git a/grc/gui/PropsDialog.py b/grc/gui/PropsDialog.py
index 7c66a77a54..907eff7c68 100644
--- a/grc/gui/PropsDialog.py
+++ b/grc/gui/PropsDialog.py
@@ -23,7 +23,7 @@ import gtk
import Actions
from Dialogs import SimpleTextDisplay
-from Constants import MIN_DIALOG_WIDTH, MIN_DIALOG_HEIGHT, FONT_SIZE
+from Constants import MIN_DIALOG_WIDTH, MIN_DIALOG_HEIGHT, FONT_SIZE, DPI_SCALING
import Utils
import pango
@@ -72,7 +72,8 @@ class PropsDialog(gtk.Dialog):
gtk.STOCK_APPLY, gtk.RESPONSE_APPLY)
)
self.set_response_sensitive(gtk.RESPONSE_APPLY, False)
- self.set_size_request(MIN_DIALOG_WIDTH, MIN_DIALOG_HEIGHT)
+ self.set_size_request(MIN_DIALOG_WIDTH +DPI_SCALING,
+ MIN_DIALOG_HEIGHT * DPI_SCALING)
self._block = block
vpaned = gtk.VPaned()
diff --git a/grc/gui/Utils.py b/grc/gui/Utils.py
index 51b9b19e9f..7d15d47142 100644
--- a/grc/gui/Utils.py
+++ b/grc/gui/Utils.py
@@ -24,7 +24,7 @@ import gobject
from Cheetah.Template import Template
-from Constants import POSSIBLE_ROTATIONS, CANVAS_GRID_SIZE
+from Constants import POSSIBLE_ROTATIONS, CANVAS_GRID_SIZE, DPI_SCALING
def rotate_pixmap(gc, src_pixmap, dst_pixmap, angle=gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE):
@@ -131,3 +131,8 @@ def align_to_grid(coor, mode=round):
except TypeError:
x = coor
return align(coor)
+
+
+def scale(coor, reverse=False):
+ factor = DPI_SCALING if not reverse else 1 / DPI_SCALING
+ return tuple(int(x * factor) for x in coor)