summaryrefslogtreecommitdiff
path: root/ui/qt
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt')
-rw-r--r--ui/qt/color_utils.cpp15
-rw-r--r--ui/qt/coloring_rules_dialog.cpp23
-rw-r--r--ui/qt/main_window_slots.cpp2
-rw-r--r--ui/qt/wireshark_application.cpp2
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);
}