commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 07/15: grc: user-selectable transparent bg


From: git
Subject: [Commit-gnuradio] [gnuradio] 07/15: grc: user-selectable transparent bg screen shots
Date: Wed, 10 Feb 2016 15:44:47 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 3745fa37053590282be6896a164cf4c126c4b6d7
Author: Sebastian Koslowski <address@hidden>
Date:   Thu Feb 4 16:26:05 2016 +0100

    grc: user-selectable transparent bg screen shots
---
 grc/grc.conf.in          |  1 -
 grc/gui/ActionHandler.py |  8 ++++----
 grc/gui/Constants.py     |  1 -
 grc/gui/FileDialogs.py   | 15 +++++++++++++++
 grc/gui/Preferences.py   |  4 ++++
 5 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/grc/grc.conf.in b/grc/grc.conf.in
index d0dc78d..71c4f63 100644
--- a/grc/grc.conf.in
+++ b/grc/grc.conf.in
@@ -8,4 +8,3 @@ local_blocks_path =
 xterm_executable = @GRC_XTERM_EXE@
 canvas_font_size = 8
 canvas_default_size = 1280, 1024
-screenshots_transparent_bg = False
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py
index df142ff..0f227d0 100644
--- a/grc/gui/ActionHandler.py
+++ b/grc/gui/ActionHandler.py
@@ -34,9 +34,9 @@ from .ParserErrorsDialog import ParserErrorsDialog
 from .MainWindow import MainWindow
 from .PropsDialog import PropsDialog
 from .FileDialogs import (OpenFlowGraphFileDialog, SaveFlowGraphFileDialog,
-                          SaveReportsFileDialog, SaveImageFileDialog,
+                          SaveReportsFileDialog, SaveScreenShotDialog,
                           OpenQSSFileDialog)
-from .Constants import DEFAULT_CANVAS_SIZE, IMAGE_FILE_EXTENSION, GR_PREFIX, 
SCREENSHOTS_TRANSPARENT_BG
+from .Constants import DEFAULT_CANVAS_SIZE, IMAGE_FILE_EXTENSION, GR_PREFIX
 
 gobject.threads_init()
 
@@ -521,9 +521,9 @@ class ActionHandler:
                 self.main_window.tool_bar.refresh_submenus()
                 self.main_window.menu_bar.refresh_submenus()
         elif action == Actions.FLOW_GRAPH_SCREEN_CAPTURE:
-            file_path = 
SaveImageFileDialog(self.get_page().get_file_path()).run()
+            file_path, background_transparent = 
SaveScreenShotDialog(self.get_page().get_file_path()).run()
             if file_path is not None:
-                pixbuf = 
self.get_flow_graph().get_drawing_area().get_screenshot(SCREENSHOTS_TRANSPARENT_BG)
+                pixbuf = 
self.get_flow_graph().get_drawing_area().get_screenshot(background_transparent)
                 pixbuf.save(file_path, IMAGE_FILE_EXTENSION[1:])
         ##################################################
         # Gen/Exec/Stop
diff --git a/grc/gui/Constants.py b/grc/gui/Constants.py
index 830bc96..741c6fd 100644
--- a/grc/gui/Constants.py
+++ b/grc/gui/Constants.py
@@ -29,7 +29,6 @@ from gnuradio import gr
 prefs = gr.prefs()
 GR_PREFIX = gr.prefix()
 EDITOR = prefs.get_string('grc', 'editor', '')
-SCREENSHOTS_TRANSPARENT_BG = prefs.get_bool('grc', 
'screenshots_transparent_bg', False)
 
 # default path for the open/save dialogs
 DEFAULT_FILE_PATH = os.getcwd()
diff --git a/grc/gui/FileDialogs.py b/grc/gui/FileDialogs.py
index 730ac6f..4b5770a 100644
--- a/grc/gui/FileDialogs.py
+++ b/grc/gui/FileDialogs.py
@@ -210,3 +210,18 @@ class SaveFlowGraphFileDialog(FileDialog): type = 
SAVE_FLOW_GRAPH
 class OpenQSSFileDialog(FileDialog): type = OPEN_QSS_THEME
 class SaveReportsFileDialog(FileDialog): type = SAVE_REPORTS
 class SaveImageFileDialog(FileDialog): type = SAVE_IMAGE
+
+
+class SaveScreenShotDialog(SaveImageFileDialog):
+
+    def __init__(self, current_file_path=''):
+        SaveImageFileDialog.__init__(self, current_file_path)
+        self._button = button = gtk.CheckButton('_Background transparent')
+        
self._button.set_active(Preferences.screen_shot_background_transparent())
+        self.set_extra_widget(button)
+
+    def run(self):
+        filename = SaveImageFileDialog.run(self)
+        bg_transparent = self._button.get_active()
+        Preferences.screen_shot_background_transparent(bg_transparent)
+        return filename, bg_transparent
diff --git a/grc/gui/Preferences.py b/grc/gui/Preferences.py
index 3ebee24..ad2206c 100644
--- a/grc/gui/Preferences.py
+++ b/grc/gui/Preferences.py
@@ -150,3 +150,7 @@ def blocks_window_position(pos=None):
 
 def xterm_missing(cmd=None):
     return entry('xterm_missing', cmd, default='INVALID_XTERM_SETTING')
+
+
+def screen_shot_background_transparent(transparent=None):
+    return entry('screen_shot_background_transparent', transparent, 
default=False)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]