summaryrefslogtreecommitdiff
path: root/ui/qt
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2014-09-23 13:35:10 -0700
committerGerald Combs <gerald@wireshark.org>2014-09-23 22:32:53 +0000
commit31e86998fbaaa4e82e0c502249671025c587ef50 (patch)
tree632b25070763766d51bbc2d291b3022f8ec47352 /ui/qt
parent3a85a5eb96aff95b1711961708b863a556d461f1 (diff)
downloadwireshark-31e86998fbaaa4e82e0c502249671025c587ef50.tar.gz
Qt: Add zoom and column resize actions.
Plumb signals and slots for changing the text size in the main window. Remove the bold font code from WiresharkApplication. It was only used in ByteViewText. Adjust the icons a bit. Bug: When we change the font preferences the packet list stops drawing cached strings. I haven't been able to track down the cause. Change-Id: I609d740c9f26265628fa4b7de1b75b0e56651387 Reviewed-on: https://code.wireshark.org/review/4269 Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt')
-rw-r--r--ui/qt/byte_view_tab.cpp9
-rw-r--r--ui/qt/byte_view_tab.h3
-rw-r--r--ui/qt/byte_view_text.cpp12
-rw-r--r--ui/qt/byte_view_text.h5
-rw-r--r--ui/qt/main_window.cpp34
-rw-r--r--ui/qt/main_window.h7
-rw-r--r--ui/qt/main_window.ui48
-rw-r--r--ui/qt/main_window_slots.cpp37
-rw-r--r--ui/qt/packet_list.cpp9
-rw-r--r--ui/qt/packet_list.h1
-rw-r--r--ui/qt/packet_list_model.cpp16
-rw-r--r--ui/qt/packet_list_model.h4
-rw-r--r--ui/qt/packet_list_record.h1
-rw-r--r--ui/qt/proto_tree.cpp16
-rw-r--r--ui/qt/proto_tree.h2
-rw-r--r--ui/qt/wireshark_application.cpp36
-rw-r--r--ui/qt/wireshark_application.h7
17 files changed, 193 insertions, 54 deletions
diff --git a/ui/qt/byte_view_tab.cpp b/ui/qt/byte_view_tab.cpp
index 541b89b80e..04b3008b13 100644
--- a/ui/qt/byte_view_tab.cpp
+++ b/ui/qt/byte_view_tab.cpp
@@ -35,6 +35,8 @@ void ByteViewTab::addTab(const char *name, tvbuff_t *tvb, proto_tree *tree, QTre
ByteViewText *byte_view_text = new ByteViewText(this, tvb, tree, protoTree, encoding);
byte_view_text->setAccessibleName(name);
+ byte_view_text->setMonospaceFont(mono_font_);
+ connect(this, SIGNAL(monospaceFontChanged(QFont)), byte_view_text, SLOT(setMonospaceFont(QFont)));
QTabWidget::addTab(byte_view_text, name);
}
@@ -181,6 +183,13 @@ void ByteViewTab::setCaptureFile(capture_file *cf)
cap_file_ = cf;
}
+void ByteViewTab::setMonospaceFont(const QFont &mono_font)
+{
+ mono_font_ = mono_font;
+ emit monospaceFontChanged(mono_font_);
+ update();
+}
+
/*
* Editor modelines
*
diff --git a/ui/qt/byte_view_tab.h b/ui/qt/byte_view_tab.h
index b71ecd37bb..89c2008d3c 100644
--- a/ui/qt/byte_view_tab.h
+++ b/ui/qt/byte_view_tab.h
@@ -44,16 +44,19 @@ public:
private:
void setTabsVisible();
capture_file *cap_file_;
+ QFont mono_font_;
protected:
void tabInserted(int index);
void tabRemoved(int index);
signals:
+ void monospaceFontChanged(const QFont &mono_font);
public slots:
void protoTreeItemChanged(QTreeWidgetItem *current);
void setCaptureFile(capture_file *cf);
+ void setMonospaceFont(const QFont &mono_font);
};
#endif // BYTE_VIEW_TAB_H
diff --git a/ui/qt/byte_view_text.cpp b/ui/qt/byte_view_text.cpp
index 559dee1bbf..7920b55d52 100644
--- a/ui/qt/byte_view_text.cpp
+++ b/ui/qt/byte_view_text.cpp
@@ -122,6 +122,14 @@ void ByteViewText::renderBytes()
setUpdatesEnabled(true);
}
+void ByteViewText::setMonospaceFont(const QFont &mono_font)
+{
+ mono_normal_font_ = mono_font;
+ mono_bold_font_ = QFont(mono_font);
+ mono_bold_font_.setBold(true);
+ renderBytes();
+}
+
// Private
#define BYTE_VIEW_SEP 8 /* insert a space every BYTE_VIEW_SEP bytes */
@@ -285,7 +293,7 @@ void ByteViewText::setState(ByteViewText::highlight_state state)
QPalette pal = wsApp->palette();
moveCursor(QTextCursor::End);
- setCurrentFont(wsApp->monospaceFont());
+ setCurrentFont(mono_normal_font_);
setTextColor(pal.text().color());
setTextBackgroundColor(pal.base().color());
@@ -295,7 +303,7 @@ void ByteViewText::setState(ByteViewText::highlight_state state)
break;
case StateField:
if (bold_highlight_) {
- setCurrentFont(wsApp->monospaceFont(true));
+ setCurrentFont(mono_bold_font_);
} else {
setTextColor(pal.base().color());
setTextBackgroundColor(pal.text().color());
diff --git a/ui/qt/byte_view_text.h b/ui/qt/byte_view_text.h
index 65b8be6e93..f4f9ef378b 100644
--- a/ui/qt/byte_view_text.h
+++ b/ui/qt/byte_view_text.h
@@ -54,6 +54,9 @@ public:
void setFieldAppendixHighlight(int start, int end);
void renderBytes();
+public slots:
+ void setMonospaceFont(const QFont &mono_font);
+
private:
typedef enum {
StateNormal,
@@ -72,6 +75,8 @@ private:
tvbuff_t *tvb_;
proto_tree *proto_tree_;
QTreeWidget *tree_widget_;
+ QFont mono_normal_font_;
+ QFont mono_bold_font_;
gboolean bold_highlight_;
diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp
index a589914cea..ce51981129 100644
--- a/ui/qt/main_window.cpp
+++ b/ui/qt/main_window.cpp
@@ -113,8 +113,10 @@ MainWindow::MainWindow(QWidget *parent) :
//Otherwise unexpected problems may occur
setFeaturesEnabled(false);
connect(wsApp, SIGNAL(appInitialized()), this, SLOT(setFeaturesEnabled()));
+ connect(wsApp, SIGNAL(appInitialized()), this, SLOT(zoomText()));
connect(wsApp, SIGNAL(preferencesChanged()), this, SLOT(layoutPanes()));
+ connect(wsApp, SIGNAL(preferencesChanged()), this, SLOT(zoomText()));
connect(wsApp, SIGNAL(recentFilesRead()), this, SLOT(loadWindowGeometry()));
@@ -170,9 +172,13 @@ MainWindow::MainWindow(QWidget *parent) :
main_ui_->actionViewColorizePacketList->setChecked(recent.packet_list_colorize);
// main_ui_->actionViewAutoScroll->setIcon(StockIcon("x-stay-last"));
-// main_ui_->actionViewZoomIn->setIcon(StockIcon("zoom-in"));
-// main_ui_->actionViewZoomOut->setIcon(StockIcon("zoom-out"));
-// main_ui_->actionViewZoomOriginal->setIcon(StockIcon("zoom-original"));
+ QList<QKeySequence> zi_seq = main_ui_->actionViewZoomIn->shortcuts();
+ zi_seq << QKeySequence(Qt::CTRL + Qt::Key_Equal);
+ main_ui_->actionViewZoomIn->setIcon(StockIcon("zoom-in"));
+ main_ui_->actionViewZoomIn->setShortcuts(zi_seq);
+ main_ui_->actionViewZoomOut->setIcon(StockIcon("zoom-out"));
+ main_ui_->actionViewNormalSize->setIcon(StockIcon("zoom-original"));
+ main_ui_->actionViewResizeColumns->setIcon(StockIcon("x-resize-columns"));
// In Qt4 multiple toolbars and "pretty" are mutually exculsive on OS X. If
// unifiedTitleAndToolBarOnMac is enabled everything ends up in the same row.
@@ -286,6 +292,13 @@ MainWindow::MainWindow(QWidget *parent) :
connect(this, SIGNAL(setCaptureFile(capture_file*)),
byte_view_tab_, SLOT(setCaptureFile(capture_file*)));
+ connect(this, SIGNAL(monospaceFontChanged(QFont)),
+ packet_list_, SLOT(setMonospaceFont(QFont)));
+ connect(this, SIGNAL(monospaceFontChanged(QFont)),
+ proto_tree_, SLOT(setMonospaceFont(QFont)));
+ connect(this, SIGNAL(monospaceFontChanged(QFont)),
+ byte_view_tab_, SLOT(setMonospaceFont(QFont)));
+
connect(main_ui_->actionGoNextPacket, SIGNAL(triggered()),
packet_list_, SLOT(goNextPacket()));
connect(main_ui_->actionGoPreviousPacket, SIGNAL(triggered()),
@@ -1537,12 +1550,6 @@ void MainWindow::setForCapturedPackets(bool have_captured_packets)
main_ui_->actionEditFindPacket->setEnabled(have_captured_packets);
main_ui_->actionEditFindNext->setEnabled(have_captured_packets);
main_ui_->actionEditFindPrevious->setEnabled(have_captured_packets);
-// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/ZoomIn",
-// have_captured_packets);
-// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/ZoomOut",
-// have_captured_packets);
-// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/NormalSize",
-// have_captured_packets);
main_ui_->actionGoGoToPacket->setEnabled(have_captured_packets);
main_ui_->actionGoPreviousPacket->setEnabled(have_captured_packets);
@@ -1550,6 +1557,11 @@ void MainWindow::setForCapturedPackets(bool have_captured_packets)
main_ui_->actionGoFirstPacket->setEnabled(have_captured_packets);
main_ui_->actionGoLastPacket->setEnabled(have_captured_packets);
+ main_ui_->actionViewZoomIn->setEnabled(have_captured_packets);
+ main_ui_->actionViewZoomOut->setEnabled(have_captured_packets);
+ main_ui_->actionViewNormalSize->setEnabled(have_captured_packets);
+ main_ui_->actionViewResizeColumns->setEnabled(have_captured_packets);
+
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/GoMenu/PreviousPacketInConversation",
// have_captured_packets);
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/GoMenu/NextPacketInConversation",
@@ -1573,8 +1585,6 @@ void MainWindow::setMenusForFileSet(bool enable_list_files) {
void MainWindow::updateForUnsavedChanges() {
setTitlebarForCaptureFile();
setMenusForCaptureFile();
-// set_toolbar_for_capture_file(cf);
-
}
void MainWindow::changeEvent(QEvent* event)
@@ -1590,9 +1600,7 @@ void MainWindow::changeEvent(QEvent* event)
default:
break;
}
-
}
-
QMainWindow::changeEvent(event);
}
diff --git a/ui/qt/main_window.h b/ui/qt/main_window.h
index 66d0259021..b46ca24e43 100644
--- a/ui/qt/main_window.h
+++ b/ui/qt/main_window.h
@@ -106,6 +106,7 @@ private:
MainWelcome *main_welcome_;
DisplayFilterCombo *df_combo_box_;
capture_file *cap_file_;
+ QFont mono_font_;
// XXX - packet_list_, proto_tree_, and byte_view_tab_ should
// probably be full-on values instead of pointers.
PacketList *packet_list_;
@@ -163,6 +164,7 @@ signals:
void setCaptureFile(capture_file *cf);
void setDissectedCaptureFile(capture_file *cf);
void displayFilterSuccess(bool success);
+ void monospaceFontChanged(const QFont &mono_font);
public slots:
// in main_window_slots.cpp
@@ -277,7 +279,12 @@ private slots:
void on_actionEditConfigurationProfiles_triggered();
void on_actionEditPreferences_triggered();
+ void zoomText();
+ void on_actionViewZoomIn_triggered();
+ void on_actionViewZoomOut_triggered();
+ void on_actionViewNormalSize_triggered();
void on_actionViewColorizePacketList_triggered(bool checked);
+ void on_actionViewResizeColumns_triggered();
void on_actionViewReload_triggered();
void on_actionViewToolbarMainToolbar_triggered();
void on_actionViewToolbarDisplayFilter_triggered();
diff --git a/ui/qt/main_window.ui b/ui/qt/main_window.ui
index 41154df429..f091c98a48 100644
--- a/ui/qt/main_window.ui
+++ b/ui/qt/main_window.ui
@@ -239,6 +239,14 @@
<addaction name="actionViewToolbarMainToolbar"/>
<addaction name="actionViewToolbarDisplayFilter"/>
</widget>
+ <widget class="QMenu" name="menuZoom">
+ <property name="title">
+ <string>Zoom</string>
+ </property>
+ <addaction name="actionViewZoomIn"/>
+ <addaction name="actionViewZoomOut"/>
+ <addaction name="actionViewNormalSize"/>
+ </widget>
<addaction name="separator"/>
<addaction name="actionViewExpandSubtrees"/>
<addaction name="actionViewExpandAll"/>
@@ -246,7 +254,9 @@
<addaction name="separator"/>
<addaction name="actionViewColorizePacketList"/>
<addaction name="separator"/>
- <addaction name="actionViewZoomIn"/>
+ <addaction name="menuZoom"/>
+ <addaction name="separator"/>
+ <addaction name="actionViewResizeColumns"/>
<addaction name="separator"/>
<addaction name="actionViewReload"/>
<addaction name="menuToolbars"/>
@@ -499,6 +509,11 @@
<addaction name="actionGoLastPacket"/>
<addaction name="separator"/>
<addaction name="actionViewColorizePacketList"/>
+ <addaction name="separator"/>
+ <addaction name="actionViewZoomIn"/>
+ <addaction name="actionViewZoomOut"/>
+ <addaction name="actionViewNormalSize"/>
+ <addaction name="actionViewResizeColumns"/>
</widget>
<widget class="MainStatusBar" name="statusBar"/>
<widget class="QToolBar" name="displayFilterToolBar">
@@ -1743,7 +1758,7 @@
<string>Colorize Packet List</string>
</property>
<property name="toolTip">
- <string>Color packets according to the coloring rules</string>
+ <string>Draw packets using your coloring rules</string>
</property>
</action>
<action name="actionViewZoomIn">
@@ -1754,7 +1769,34 @@
<string>Enlarge the main window text</string>
</property>
<property name="shortcut">
- <string>Meta++</string>
+ <string>Ctrl++</string>
+ </property>
+ </action>
+ <action name="actionViewZoomOut">
+ <property name="text">
+ <string>Zoom Out</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+-</string>
+ </property>
+ </action>
+ <action name="actionViewNormalSize">
+ <property name="text">
+ <string>Normal Size</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+0</string>
+ </property>
+ </action>
+ <action name="actionViewResizeColumns">
+ <property name="text">
+ <string>Resize Columns</string>
+ </property>
+ <property name="toolTip">
+ <string>Resize packet list columns to fit contents</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Shift+R</string>
</property>
</action>
</widget>
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index ea5fc246de..b58e7e1caf 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -1677,6 +1677,36 @@ void MainWindow::on_actionEditPreferences_triggered()
// View Menu
+void MainWindow::zoomText()
+{
+ // Scale by 10%, rounding to nearest half point, minimum 1 point.
+ // XXX Small sizes repeat. It might just be easier to create a map of multipliers.
+ mono_font_ = QFont(wsApp->monospaceFont());
+ qreal zoom_size = wsApp->monospaceFont().pointSize() * 2 * qPow(1.1, recent.gui_zoom_level);
+ zoom_size = qRound(zoom_size) / 2.0;
+ zoom_size = qMax(zoom_size, 1.0);
+ mono_font_.setPointSizeF(zoom_size);
+ emit monospaceFontChanged(mono_font_);
+}
+
+void MainWindow::on_actionViewZoomIn_triggered()
+{
+ recent.gui_zoom_level++;
+ zoomText();
+}
+
+void MainWindow::on_actionViewZoomOut_triggered()
+{
+ recent.gui_zoom_level--;
+ zoomText();
+}
+
+void MainWindow::on_actionViewNormalSize_triggered()
+{
+ recent.gui_zoom_level = 0;
+ zoomText();
+}
+
void MainWindow::on_actionViewColorizePacketList_triggered(bool checked) {
recent.packet_list_colorize = checked;
color_filters_enable(checked);
@@ -1684,6 +1714,13 @@ void MainWindow::on_actionViewColorizePacketList_triggered(bool checked) {
packet_list_->update();
}
+void MainWindow::on_actionViewResizeColumns_triggered()
+{
+ for (int col = 0; col < packet_list_->packetListModel()->columnCount(); col++) {
+ packet_list_->resizeColumnToContents(col);
+ }
+}
+
void MainWindow::on_actionViewReload_triggered()
{
cf_reload(&cfile);
diff --git a/ui/qt/packet_list.cpp b/ui/qt/packet_list.cpp
index 2964a978b6..bb593ad0ed 100644
--- a/ui/qt/packet_list.cpp
+++ b/ui/qt/packet_list.cpp
@@ -418,9 +418,9 @@ void PacketList::showEvent (QShowEvent *event) {
fmt = get_column_format(i);
long_str = get_column_width_string(fmt, i);
if (long_str) {
- col_width = wsApp->monospaceTextSize(long_str);
+ col_width = packet_list_model_->columnTextSize(long_str);
} else {
- col_width = wsApp->monospaceTextSize(MIN_COL_WIDTH_STR);
+ col_width = packet_list_model_->columnTextSize(MIN_COL_WIDTH_STR);
}
setColumnWidth(i, col_width);
}
@@ -790,6 +790,11 @@ void PacketList::setCaptureFile(capture_file *cf)
packet_list_model_->setCaptureFile(cf);
}
+void PacketList::setMonospaceFont(const QFont &mono_font)
+{
+ packet_list_model_->setMonospaceFont(mono_font);
+}
+
void PacketList::goNextPacket(void) {
setCurrentIndex(moveCursor(MoveDown, Qt::NoModifier));
}
diff --git a/ui/qt/packet_list.h b/ui/qt/packet_list.h
index c957b7eb41..36d98ca05e 100644
--- a/ui/qt/packet_list.h
+++ b/ui/qt/packet_list.h
@@ -79,6 +79,7 @@ signals:
public slots:
void setCaptureFile(capture_file *cf);
+ void setMonospaceFont(const QFont &mono_font);
void goNextPacket();
void goPreviousPacket();
void goFirstPacket();
diff --git a/ui/qt/packet_list_model.cpp b/ui/qt/packet_list_model.cpp
index cc034a5af7..0de133d440 100644
--- a/ui/qt/packet_list_model.cpp
+++ b/ui/qt/packet_list_model.cpp
@@ -33,6 +33,7 @@
#include "wireshark_application.h"
#include <QColor>
+#include <QFontMetrics>
#include <QModelIndex>
PacketListModel::PacketListModel(QObject *parent, capture_file *cf) :
@@ -121,6 +122,19 @@ void PacketListModel::resetColorized()
endResetModel();
}
+int PacketListModel::columnTextSize(const char *str)
+{
+ QFontMetrics fm(mono_font_);
+
+ return fm.width(str);
+}
+
+void PacketListModel::setMonospaceFont(const QFont &mono_font)
+{
+ mono_font_ = mono_font;
+ recreateVisibleRows();
+}
+
int PacketListModel::rowCount(const QModelIndex &parent) const
{
if (parent.column() >= prefs.num_cols)
@@ -150,7 +164,7 @@ QVariant PacketListModel::data(const QModelIndex &index, int role) const
switch (role) {
case Qt::FontRole:
- return wsApp->monospaceFont();
+ return mono_font_;
case Qt::TextAlignmentRole:
switch(recent_get_column_xalign(index.column())) {
case COLUMN_XALIGN_RIGHT:
diff --git a/ui/qt/packet_list_model.h b/ui/qt/packet_list_model.h
index f245c111c7..3775f1958a 100644
--- a/ui/qt/packet_list_model.h
+++ b/ui/qt/packet_list_model.h
@@ -62,18 +62,20 @@ public:
int visibleIndexOf(frame_data *fdata) const;
void resetColumns();
void resetColorized();
+ int columnTextSize(const char *str);
signals:
public slots:
+ void setMonospaceFont(const QFont &mono_font);
private:
capture_file *cap_file_;
+ QFont mono_font_;
QList<QString> col_names_;
QVector<PacketListRecord *> visible_rows_;
QVector<PacketListRecord *> physical_rows_;
QMap<int, int> number_to_row_;
- QFont pl_font_;
int header_height_;
};
diff --git a/ui/qt/packet_list_record.h b/ui/qt/packet_list_record.h
index c1042118bf..18fd3d90ba 100644
--- a/ui/qt/packet_list_record.h
+++ b/ui/qt/packet_list_record.h
@@ -43,6 +43,7 @@ public:
QVariant columnString(capture_file *cap_file, int column);
frame_data *frameData();
+ int columnTextSize(const char *str);
static void resetColumns(column_info *cinfo);
void resetColorized();
diff --git a/ui/qt/proto_tree.cpp b/ui/qt/proto_tree.cpp
index 058292287d..eefa999986 100644
--- a/ui/qt/proto_tree.cpp
+++ b/ui/qt/proto_tree.cpp
@@ -26,13 +26,12 @@
#include <epan/ftypes/ftypes.h>
#include <epan/prefs.h>
-#include "wireshark_application.h"
+#include <QApplication>
+#include <QContextMenuEvent>
+#include <QDesktopServices>
#include <QHeaderView>
#include <QTreeWidgetItemIterator>
-#include <QDesktopServices>
#include <QUrl>
-#include <QContextMenuEvent>
-#include <QMainWindow>
QColor expert_color_comment ( 0xb7, 0xf7, 0x74 ); /* Green */
QColor expert_color_chat ( 0x80, 0xb7, 0xf7 ); /* light blue */
@@ -257,9 +256,16 @@ void ProtoTree::contextMenuEvent(QContextMenuEvent *event)
decode_as_->setData(QVariant());
}
+void ProtoTree::setMonospaceFont(const QFont &mono_font)
+{
+ mono_font_ = mono_font;
+ setFont(mono_font_);
+ update();
+}
+
void ProtoTree::fillProtocolTree(proto_tree *protocol_tree) {
clear();
- setFont(wsApp->monospaceFont());
+ setFont(mono_font_);
proto_tree_children_foreach(protocol_tree, proto_tree_draw_node, invisibleRootItem());
}
diff --git a/ui/qt/proto_tree.h b/ui/qt/proto_tree.h
index d9ea36cde0..6f7bd0d678 100644
--- a/ui/qt/proto_tree.h
+++ b/ui/qt/proto_tree.h
@@ -46,6 +46,7 @@ protected:
private:
QMenu ctx_menu_;
QAction *decode_as_;
+ QFont mono_font_;
signals:
void protoItemSelected(QString &);
@@ -54,6 +55,7 @@ signals:
void relatedFrame(int);
public slots:
+ void setMonospaceFont(const QFont &mono_font);
void updateSelectionStatus(QTreeWidgetItem*);
void expand(const QModelIndex & index);
void collapse(const QModelIndex & index);
diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp
index 89a70dec3f..e809db302d 100644
--- a/ui/qt/wireshark_application.cpp
+++ b/ui/qt/wireshark_application.cpp
@@ -335,9 +335,9 @@ void WiresharkApplication::helpTopicAction(topic_action_e action)
void WiresharkApplication::setMonospaceFont(const char *font_string) {
if (font_string && strlen(font_string) > 0) {
- mono_regular_font_.fromString(font_string);
- mono_bold_font_ = QFont(mono_regular_font_);
- mono_bold_font_.setBold(true);
+ mono_font_.fromString(font_string);
+// mono_bold_font_ = QFont(mono_regular_font_);
+// mono_bold_font_.setBold(true);
return;
}
@@ -365,33 +365,23 @@ void WiresharkApplication::setMonospaceFont(const char *font_string) {
substitutes << x11_alt_fonts << win_default_font << win_alt_font << osx_default_font << osx_alt_font << fallback_fonts;
#endif
- mono_regular_font_.setFamily(default_font);
- mono_regular_font_.insertSubstitutions(default_font, substitutes);
- mono_regular_font_.setPointSize(wsApp->font().pointSize() + font_size_adjust);
- mono_regular_font_.setBold(false);
+ mono_font_.setFamily(default_font);
+ mono_font_.insertSubstitutions(default_font, substitutes);
+ mono_font_.setPointSize(wsApp->font().pointSize() + font_size_adjust);
+ mono_font_.setBold(false);
- mono_bold_font_ = QFont(mono_regular_font_);
- mono_bold_font_.setBold(true);
+// mono_bold_font_ = QFont(mono_font_);
+// mono_bold_font_.setBold(true);
g_free(prefs.gui_qt_font_name);
- prefs.gui_qt_font_name = g_strdup(mono_regular_font_.toString().toUtf8().constData());
+ prefs.gui_qt_font_name = g_strdup(mono_font_.toString().toUtf8().constData());
}
-int WiresharkApplication::monospaceTextSize(const char *str, bool bold)
+int WiresharkApplication::monospaceTextSize(const char *str)
{
- QFontMetrics *fm;
+ QFontMetrics fm(mono_font_);
- if (bold)
- fm = new QFontMetrics(mono_bold_font_);
- else
- fm = new QFontMetrics(mono_regular_font_);
-
- return fm->width(str);
-}
-
-QFont WiresharkApplication::monospaceFont(bool bold)
-{
- return bold ? mono_bold_font_ : mono_regular_font_;
+ return fm.width(str);
}
void WiresharkApplication::setConfigurationProfile(const gchar *profile_name)
diff --git a/ui/qt/wireshark_application.h b/ui/qt/wireshark_application.h
index cdfac6c7ae..a56d6c6c7f 100644
--- a/ui/qt/wireshark_application.h
+++ b/ui/qt/wireshark_application.h
@@ -85,9 +85,9 @@ public:
void setLastOpenDir(const char *dir_name);
void setLastOpenDir(QString *dir_str);
void helpTopicAction(topic_action_e action);
- QFont monospaceFont(bool bold = false);
+ const QFont monospaceFont() const { return mono_font_; }
void setMonospaceFont(const char *font_string);
- int monospaceTextSize(const char *str, bool bold = false);
+ int monospaceTextSize(const char *str);
void setConfigurationProfile(const gchar *profile_name);
bool isInitialized() { return initialized_; }
const QIcon &normalIcon() const { return normal_icon_; }
@@ -95,8 +95,7 @@ public:
private:
bool initialized_;
- QFont mono_regular_font_;
- QFont mono_bold_font_;
+ QFont mono_font_;
QTimer recent_timer_;
QTimer addr_resolv_timer_;
QTimer tap_update_timer_;