diff options
Diffstat (limited to 'ui/qt')
-rw-r--r-- | ui/qt/color_utils.cpp | 15 | ||||
-rw-r--r-- | ui/qt/coloring_rules_dialog.cpp | 23 | ||||
-rw-r--r-- | ui/qt/main_window_slots.cpp | 2 | ||||
-rw-r--r-- | ui/qt/wireshark_application.cpp | 2 |
4 files changed, 18 insertions, 24 deletions
diff --git a/ui/qt/color_utils.cpp b/ui/qt/color_utils.cpp index e6576b0938..204aa59f80 100644 --- a/ui/qt/color_utils.cpp +++ b/ui/qt/color_utils.cpp @@ -54,8 +54,21 @@ ColorUtils::ColorUtils(QObject *parent) : { } +// +// A color_t has RGB values in [0,65535]. +// Qt RGB colors have RGB values in [0,255]. +// +// 65535/255 = 257 = 0x0101, so converting from [0,255] to +// [0,65535] involves just shifting the 8-bit value left 8 bits +// and ORing them together. +// +// Converting from [0,65535] to [0,255] without rounding involves +// just shifting the 16-bit value right 8 bits; I guess you could +// round them by adding 0x80 to the value before shifting. +// QColor ColorUtils::fromColorT (const color_t *color) { if (!color) return QColor(); + // Convert [0,65535] values to [0,255] values return QColor(color->red >> 8, color->green >> 8, color->blue >> 8); } @@ -67,6 +80,8 @@ QColor ColorUtils::fromColorT(color_t color) const color_t ColorUtils::toColorT(const QColor color) { color_t colort; + + // Convert [0,255] values to [0,65535] values colort.red = (color.red() << 8) | color.red(); colort.green = (color.green() << 8) | color.green(); colort.blue = (color.blue() << 8) | color.blue(); diff --git a/ui/qt/coloring_rules_dialog.cpp b/ui/qt/coloring_rules_dialog.cpp index 264cda04d8..5ba48a91a6 100644 --- a/ui/qt/coloring_rules_dialog.cpp +++ b/ui/qt/coloring_rules_dialog.cpp @@ -324,7 +324,7 @@ void ColoringRulesDialog::on_buttonBox_clicked(QAbstractButton *button) QString file_name = QFileDialog::getOpenFileName(this, wsApp->windowTitleString(tr("Import Coloring Rules")), wsApp->lastOpenDir().path()); gchar* err_msg = NULL; - if (!color_filters_import(file_name.toUtf8().constData(), this, &err_msg, initialize_color, color_filter_add_cb)) { + if (!color_filters_import(file_name.toUtf8().constData(), this, &err_msg, color_filter_add_cb)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); g_free(err_msg); } @@ -436,27 +436,6 @@ void ColoringRulesTreeDelegate::ruleNameChanged(const QString name) } -/* - * Initialize a color with R, G, and B values, including any toolkit-dependent - * work that needs to be done. - */ -gboolean -initialize_color(color_t *color, guint16 red, guint16 green, guint16 blue) -{ - QColor qc; - - // color_t uses 16-bit components to match Gtk+. Qt use 8. - qc.setRgb(red>>8, green>>8, blue>>8); - if (!qc.isValid()) - return FALSE; - - // Match what color_filters.c does. - color->red = red; - color->green = green; - color->blue = blue; - return TRUE; -} - // Callback for color_filters_clone. void color_filter_add_cb(color_filter_t *colorf, gpointer user_data) diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index c396236eb2..2cc5755626 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -1398,7 +1398,7 @@ void MainWindow::checkDisplayFilter() void MainWindow::fieldsChanged() { gchar *err_msg = NULL; - if (!color_filters_reload(&err_msg, initialize_color, color_filter_add_cb)) { + if (!color_filters_reload(&err_msg, color_filter_add_cb)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); g_free(err_msg); } diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp index ec648a56fc..2ba9cfdcfd 100644 --- a/ui/qt/wireshark_application.cpp +++ b/ui/qt/wireshark_application.cpp @@ -394,7 +394,7 @@ void WiresharkApplication::setConfigurationProfile(const gchar *profile_name) } /* Reload color filters */ - if (!color_filters_reload(&err_msg, initialize_color, color_filter_add_cb)) { + if (!color_filters_reload(&err_msg, color_filter_add_cb)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); g_free(err_msg); } |