[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 01/05: qtgui: make sure QSS style is applie
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 01/05: qtgui: make sure QSS style is applied to Qt gui even when no plotter is attached |
Date: |
Mon, 17 Oct 2016 15:22:27 +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 d61943cd71caded7db122b1f8c9d168bf7fd3481
Author: Tim O'Shea <address@hidden>
Date: Fri Oct 14 10:24:51 2016 -0400
qtgui: make sure QSS style is applied to Qt gui even when no plotter is
attached
---
gr-qtgui/include/gnuradio/qtgui/utils.h | 3 +++
gr-qtgui/lib/const_sink_c_impl.cc | 6 +-----
gr-qtgui/lib/edit_box_msg_impl.cc | 6 +-----
gr-qtgui/lib/freq_sink_c_impl.cc | 6 +-----
gr-qtgui/lib/freq_sink_f_impl.cc | 6 +-----
gr-qtgui/lib/histogram_sink_f_impl.cc | 6 +-----
gr-qtgui/lib/qtgui_util.cc | 12 ++++++++++++
gr-qtgui/lib/sink_c_impl.cc | 6 +-----
gr-qtgui/lib/sink_f_impl.cc | 6 +-----
gr-qtgui/lib/time_raster_sink_b_impl.cc | 6 +-----
gr-qtgui/lib/time_raster_sink_f_impl.cc | 6 +-----
gr-qtgui/lib/time_sink_c_impl.cc | 6 +-----
gr-qtgui/lib/time_sink_f_impl.cc | 6 +-----
gr-qtgui/lib/vector_sink_f_impl.cc | 6 +-----
gr-qtgui/lib/waterfall_sink_c_impl.cc | 6 +-----
gr-qtgui/lib/waterfall_sink_f_impl.cc | 6 +-----
gr-qtgui/python/qtgui/CMakeLists.txt | 1 +
gr-qtgui/python/qtgui/__init__.py | 1 +
gr-qtgui/python/qtgui/range.py | 3 ++-
grc/core/generator/flow_graph.tmpl | 2 ++
20 files changed, 35 insertions(+), 71 deletions(-)
diff --git a/gr-qtgui/include/gnuradio/qtgui/utils.h
b/gr-qtgui/include/gnuradio/qtgui/utils.h
index 2c51b24..438c965 100644
--- a/gr-qtgui/include/gnuradio/qtgui/utils.h
+++ b/gr-qtgui/include/gnuradio/qtgui/utils.h
@@ -28,6 +28,7 @@
#include <qwt_plot_picker.h>
#include <qwt_picker_machine.h>
#include <QString>
+#include <QCoreApplication>
/*!
* From QSS file name, extracts the file contents and returns a
@@ -66,4 +67,6 @@ public:
const QEvent *e);
};
+void check_set_qss(QApplication *app);
+
#endif /* INCLUDED_QTGUI_UTILS_H */
diff --git a/gr-qtgui/lib/const_sink_c_impl.cc
b/gr-qtgui/lib/const_sink_c_impl.cc
index eaaf5f5..63777d7 100644
--- a/gr-qtgui/lib/const_sink_c_impl.cc
+++ b/gr-qtgui/lib/const_sink_c_impl.cc
@@ -136,11 +136,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new ConstellationDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/edit_box_msg_impl.cc
b/gr-qtgui/lib/edit_box_msg_impl.cc
index e0c5f64..084e2d4 100644
--- a/gr-qtgui/lib/edit_box_msg_impl.cc
+++ b/gr-qtgui/lib/edit_box_msg_impl.cc
@@ -73,11 +73,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
d_is_pair = is_pair;
d_is_static = is_static;
diff --git a/gr-qtgui/lib/freq_sink_c_impl.cc b/gr-qtgui/lib/freq_sink_c_impl.cc
index 517786d..ffa4e30 100644
--- a/gr-qtgui/lib/freq_sink_c_impl.cc
+++ b/gr-qtgui/lib/freq_sink_c_impl.cc
@@ -162,11 +162,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new FreqDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/freq_sink_f_impl.cc b/gr-qtgui/lib/freq_sink_f_impl.cc
index 90624e7..3fe2572 100644
--- a/gr-qtgui/lib/freq_sink_f_impl.cc
+++ b/gr-qtgui/lib/freq_sink_f_impl.cc
@@ -161,11 +161,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new FreqDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/histogram_sink_f_impl.cc
b/gr-qtgui/lib/histogram_sink_f_impl.cc
index 4a1267c..cd48de8 100644
--- a/gr-qtgui/lib/histogram_sink_f_impl.cc
+++ b/gr-qtgui/lib/histogram_sink_f_impl.cc
@@ -123,11 +123,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new HistogramDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/qtgui_util.cc b/gr-qtgui/lib/qtgui_util.cc
index 07cf3cc..0a0c826 100644
--- a/gr-qtgui/lib/qtgui_util.cc
+++ b/gr-qtgui/lib/qtgui_util.cc
@@ -21,8 +21,11 @@
*/
#include <gnuradio/qtgui/utils.h>
+#include <gnuradio/prefs.h>
#include <QDebug>
#include <QFile>
+#include <QCoreApplication>
+#include <qapplication.h>
QString
get_qt_style_sheet(QString filename)
@@ -101,3 +104,12 @@ QwtDblClickPlotPicker::stateMachine(int n) const
{
return new QwtPickerDblClickPointMachine;
}
+
+void check_set_qss(QApplication *app){
+ std::string qssfile =
gr::prefs::singleton()->get_string("qtgui","qss","");
+ if(qssfile.size() > 0) {
+ QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
+ app->setStyleSheet(sstext);
+ }
+}
+
diff --git a/gr-qtgui/lib/sink_c_impl.cc b/gr-qtgui/lib/sink_c_impl.cc
index c1ee694..ba34eaa 100644
--- a/gr-qtgui/lib/sink_c_impl.cc
+++ b/gr-qtgui/lib/sink_c_impl.cc
@@ -138,11 +138,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
if(d_center_freq < 0) {
throw std::runtime_error("sink_c_impl: Received bad center
frequency.\n");
diff --git a/gr-qtgui/lib/sink_f_impl.cc b/gr-qtgui/lib/sink_f_impl.cc
index d9bc526..17a4f78 100644
--- a/gr-qtgui/lib/sink_f_impl.cc
+++ b/gr-qtgui/lib/sink_f_impl.cc
@@ -138,11 +138,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
uint64_t maxBufferSize = 32768;
d_main_gui = new SpectrumGUIClass(maxBufferSize, d_fftsize,
diff --git a/gr-qtgui/lib/time_raster_sink_b_impl.cc
b/gr-qtgui/lib/time_raster_sink_b_impl.cc
index c0990a9..cc13faf 100644
--- a/gr-qtgui/lib/time_raster_sink_b_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_b_impl.cc
@@ -138,11 +138,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
// Create time raster plot; as a bit input, we expect to see 1's
// and 0's from each stream, so we set the maximum intensity
diff --git a/gr-qtgui/lib/time_raster_sink_f_impl.cc
b/gr-qtgui/lib/time_raster_sink_f_impl.cc
index 2fb3e7d..873bd68 100644
--- a/gr-qtgui/lib/time_raster_sink_f_impl.cc
+++ b/gr-qtgui/lib/time_raster_sink_f_impl.cc
@@ -136,11 +136,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
// Create time raster plot; as a bit input, we expect to see 1's
// and 0's from each stream, so we set the maximum intensity
diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc
index 209f033..d7514ae 100644
--- a/gr-qtgui/lib/time_sink_c_impl.cc
+++ b/gr-qtgui/lib/time_sink_c_impl.cc
@@ -137,11 +137,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 2;
d_main_gui = new TimeDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc
index 50a86d7..b3b1c59 100644
--- a/gr-qtgui/lib/time_sink_f_impl.cc
+++ b/gr-qtgui/lib/time_sink_f_impl.cc
@@ -134,11 +134,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new TimeDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/vector_sink_f_impl.cc
b/gr-qtgui/lib/vector_sink_f_impl.cc
index ba139b9..6197da4 100644
--- a/gr-qtgui/lib/vector_sink_f_impl.cc
+++ b/gr-qtgui/lib/vector_sink_f_impl.cc
@@ -147,11 +147,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
d_main_gui = new VectorDisplayForm(d_nconnections, d_parent);
d_main_gui->setVecSize(d_vlen);
diff --git a/gr-qtgui/lib/waterfall_sink_c_impl.cc
b/gr-qtgui/lib/waterfall_sink_c_impl.cc
index 7395aaf..fbc655a 100644
--- a/gr-qtgui/lib/waterfall_sink_c_impl.cc
+++ b/gr-qtgui/lib/waterfall_sink_c_impl.cc
@@ -162,11 +162,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new WaterfallDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/lib/waterfall_sink_f_impl.cc
b/gr-qtgui/lib/waterfall_sink_f_impl.cc
index b6f50de..fdb8fde 100644
--- a/gr-qtgui/lib/waterfall_sink_f_impl.cc
+++ b/gr-qtgui/lib/waterfall_sink_f_impl.cc
@@ -162,11 +162,7 @@ namespace gr {
}
// If a style sheet is set in the prefs file, enable it here.
- std::string qssfile = prefs::singleton()->get_string("qtgui","qss","");
- if(qssfile.size() > 0) {
- QString sstext = get_qt_style_sheet(QString(qssfile.c_str()));
- d_qApplication->setStyleSheet(sstext);
- }
+ check_set_qss(d_qApplication);
int numplots = (d_nconnections > 0) ? d_nconnections : 1;
d_main_gui = new WaterfallDisplayForm(numplots, d_parent);
diff --git a/gr-qtgui/python/qtgui/CMakeLists.txt
b/gr-qtgui/python/qtgui/CMakeLists.txt
index 4fa4d0f..1c20033 100644
--- a/gr-qtgui/python/qtgui/CMakeLists.txt
+++ b/gr-qtgui/python/qtgui/CMakeLists.txt
@@ -23,6 +23,7 @@ include(GrPython)
GR_PYTHON_INSTALL(
FILES __init__.py
range.py
+ util.py
DESTINATION ${GR_PYTHON_DIR}/gnuradio/qtgui
COMPONENT "qtgui_python"
)
diff --git a/gr-qtgui/python/qtgui/__init__.py
b/gr-qtgui/python/qtgui/__init__.py
index 224bde0..8b60dc6 100644
--- a/gr-qtgui/python/qtgui/__init__.py
+++ b/gr-qtgui/python/qtgui/__init__.py
@@ -35,3 +35,4 @@ except ImportError:
from qtgui_swig import *
from range import Range, RangeWidget
+import util
diff --git a/gr-qtgui/python/qtgui/range.py b/gr-qtgui/python/qtgui/range.py
index 3eafc90..ca42bf7 100755
--- a/gr-qtgui/python/qtgui/range.py
+++ b/gr-qtgui/python/qtgui/range.py
@@ -22,7 +22,7 @@
#
from PyQt4 import Qt, QtCore, QtGui
-
+import util
class Range(object):
def __init__(self, minv, maxv, step, default, min_length):
@@ -33,6 +33,7 @@ class Range(object):
self.min_length = min_length
self.find_precision()
self.find_nsteps()
+ util.check_set_qss()
def find_precision(self):
# Get the decimal part of the step
diff --git a/grc/core/generator/flow_graph.tmpl
b/grc/core/generator/flow_graph.tmpl
index 07c4169..1ef251c 100644
--- a/grc/core/generator/flow_graph.tmpl
+++ b/grc/core/generator/flow_graph.tmpl
@@ -91,6 +91,7 @@ class $(class_name)(grc_wxgui.top_block_gui):
self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY))
#end if
#elif $generate_options == 'qt_gui'
+from gnuradio import qtgui
class $(class_name)(gr.top_block, Qt.QWidget):
@@ -99,6 +100,7 @@ class $(class_name)(gr.top_block, Qt.QWidget):
gr.top_block.__init__(self, "$title")
Qt.QWidget.__init__(self)
self.setWindowTitle("$title")
+ qtgui.util.check_set_qss()
try:
self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
except: