diff options
author | Tim O'Shea <tim.oshea753@gmail.com> | 2016-10-14 10:24:51 -0400 |
---|---|---|
committer | Tim O'Shea <tim.oshea753@gmail.com> | 2016-10-14 10:24:51 -0400 |
commit | d61943cd71caded7db122b1f8c9d168bf7fd3481 (patch) | |
tree | d8b1fe5d40739d44a7bb3a6117a66bc614e464b4 | |
parent | ce354379fee28872ea103eafa9164e6fc1ea54a1 (diff) |
qtgui: make sure QSS style is applied to Qt gui even when no plotter is attached
-rw-r--r-- | gr-qtgui/include/gnuradio/qtgui/utils.h | 3 | ||||
-rw-r--r-- | gr-qtgui/lib/const_sink_c_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/edit_box_msg_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/freq_sink_c_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/freq_sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/histogram_sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/qtgui_util.cc | 12 | ||||
-rw-r--r-- | gr-qtgui/lib/sink_c_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/time_raster_sink_b_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/time_raster_sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/time_sink_c_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/time_sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/vector_sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/waterfall_sink_c_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/lib/waterfall_sink_f_impl.cc | 6 | ||||
-rw-r--r-- | gr-qtgui/python/qtgui/CMakeLists.txt | 1 | ||||
-rw-r--r-- | gr-qtgui/python/qtgui/__init__.py | 1 | ||||
-rwxr-xr-x | gr-qtgui/python/qtgui/range.py | 3 | ||||
-rw-r--r-- | 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 2c51b24820..438c965ed5 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 eaaf5f570a..63777d7827 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 e0c5f64b3d..084e2d4f34 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 517786d58d..ffa4e3017c 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 90624e78eb..3fe2572eb0 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 4a1267c129..cd48de8666 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 07cf3cc9a3..0a0c826bbe 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 c1ee694213..ba34eaaa32 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 d9bc526dbf..17a4f78db4 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 c0990a9890..cc13faf49a 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 2fb3e7db68..873bd68555 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 209f03340f..d7514aebaa 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 50a86d7dff..b3b1c5909d 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 ba139b97f4..6197da4949 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 7395aaf2a9..fbc655afba 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 b6f50de31d..fdb8fde686 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 4fa4d0f484..1c20033db2 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 224bde071e..8b60dc6dbe 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 3eafc9002e..ca42bf71f7 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 07c4169525..1ef251c46b 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: |