Qt: Disable Sorting for the packet List
Allows the sorting to be disabled to avoid painful recalculations if the sorting has been clicked on by accident. Fixes #16786
This commit is contained in:
parent
b82ef4ad04
commit
9d11321385
|
@ -3453,6 +3453,11 @@ prefs_register_modules(void)
|
|||
"Show the intelligent scroll bar (a minimap of packet list colors in the scrollbar)",
|
||||
&prefs.gui_packet_list_show_minimap);
|
||||
|
||||
prefs_register_bool_preference(gui_module, "packet_list_is_sortable",
|
||||
"Allow packet list to be sortable",
|
||||
"To prevent sorting by mistake (which can take some time to calculate), it can be disabled",
|
||||
&prefs.gui_packet_list_sortable);
|
||||
|
||||
|
||||
prefs_register_bool_preference(gui_module, "interfaces_show_hidden",
|
||||
"Show hidden interfaces",
|
||||
|
@ -4165,6 +4170,7 @@ pre_init_prefs(void)
|
|||
prefs.gui_packet_list_elide_mode = ELIDE_RIGHT;
|
||||
prefs.gui_packet_list_show_related = TRUE;
|
||||
prefs.gui_packet_list_show_minimap = TRUE;
|
||||
prefs.gui_packet_list_sortable = TRUE;
|
||||
g_free (prefs.gui_interfaces_hide_types);
|
||||
prefs.gui_interfaces_hide_types = g_strdup("");
|
||||
prefs.gui_interfaces_show_hidden = FALSE;
|
||||
|
|
|
@ -229,6 +229,7 @@ typedef struct _e_prefs {
|
|||
elide_mode_e gui_packet_list_elide_mode;
|
||||
gboolean gui_packet_list_show_related;
|
||||
gboolean gui_packet_list_show_minimap;
|
||||
gboolean gui_packet_list_sortable;
|
||||
gint gui_decimal_places1; /* Used for type 1 calculations */
|
||||
gint gui_decimal_places2; /* Used for type 2 calculations */
|
||||
gint gui_decimal_places3; /* Used for type 3 calculations */
|
||||
|
|
|
@ -48,6 +48,7 @@ LayoutPreferencesFrame::LayoutPreferencesFrame(QWidget *parent) :
|
|||
ui->packetListSeparatorCheckBox->setStyleSheet(indent_ss);
|
||||
ui->packetListHeaderShowColumnDefinition->setStyleSheet(indent_ss);
|
||||
ui->packetListHoverStyleCheckbox->setStyleSheet(indent_ss);
|
||||
ui->packetListAllowSorting->setStyleSheet(indent_ss);
|
||||
ui->statusBarShowSelectedPacketCheckBox->setStyleSheet(indent_ss);
|
||||
ui->statusBarShowFileLoadTimeCheckBox->setStyleSheet(indent_ss);
|
||||
|
||||
|
@ -60,6 +61,9 @@ LayoutPreferencesFrame::LayoutPreferencesFrame(QWidget *parent) :
|
|||
pref_packet_list_hover_style_ = prefFromPrefPtr(&prefs.gui_qt_packet_list_hover_style);
|
||||
ui->packetListHoverStyleCheckbox->setChecked(prefs_get_bool_value(pref_packet_list_hover_style_, pref_stashed));
|
||||
|
||||
pref_packet_list_sorting_ = prefFromPrefPtr(&prefs.gui_packet_list_sortable);
|
||||
ui->packetListAllowSorting->setChecked(prefs_get_bool_value(pref_packet_list_sorting_, pref_stashed));
|
||||
|
||||
pref_show_selected_packet_ = prefFromPrefPtr(&prefs.gui_qt_show_selected_packet);
|
||||
ui->statusBarShowSelectedPacketCheckBox->setChecked(prefs_get_bool_value(pref_show_selected_packet_, pref_stashed));
|
||||
|
||||
|
@ -342,6 +346,7 @@ void LayoutPreferencesFrame::on_restoreButtonBox_clicked(QAbstractButton *)
|
|||
ui->packetListSeparatorCheckBox->setChecked(prefs_get_bool_value(pref_packet_list_separator_, pref_default));
|
||||
ui->packetListHeaderShowColumnDefinition->setChecked(prefs_get_bool_value(pref_packet_header_column_definition_, pref_default));
|
||||
ui->packetListHoverStyleCheckbox->setChecked(prefs_get_bool_value(pref_packet_list_hover_style_, pref_default));
|
||||
ui->packetListAllowSorting->setChecked(prefs_get_bool_value(pref_packet_list_sorting_, pref_default));
|
||||
ui->statusBarShowSelectedPacketCheckBox->setChecked(prefs_get_bool_value(pref_show_selected_packet_, pref_default));
|
||||
ui->statusBarShowFileLoadTimeCheckBox->setChecked(prefs_get_bool_value(pref_show_file_load_time_, pref_default));
|
||||
}
|
||||
|
@ -361,6 +366,11 @@ void LayoutPreferencesFrame::on_packetListHoverStyleCheckbox_toggled(bool checke
|
|||
prefs_set_bool_value(pref_packet_list_hover_style_, (gboolean) checked, pref_stashed);
|
||||
}
|
||||
|
||||
void LayoutPreferencesFrame::on_packetListAllowSorting_toggled(bool checked)
|
||||
{
|
||||
prefs_set_bool_value(pref_packet_list_sorting_, (gboolean) checked, pref_stashed);
|
||||
}
|
||||
|
||||
void LayoutPreferencesFrame::on_statusBarShowSelectedPacketCheckBox_toggled(bool checked)
|
||||
{
|
||||
prefs_set_bool_value(pref_show_selected_packet_, (gboolean) checked, pref_stashed);
|
||||
|
|
|
@ -40,6 +40,7 @@ private:
|
|||
pref_t *pref_packet_list_separator_;
|
||||
pref_t *pref_packet_header_column_definition_;
|
||||
pref_t *pref_packet_list_hover_style_;
|
||||
pref_t *pref_packet_list_sorting_;
|
||||
pref_t *pref_show_selected_packet_;
|
||||
pref_t *pref_show_file_load_time_;
|
||||
|
||||
|
@ -71,6 +72,7 @@ private slots:
|
|||
void on_packetListSeparatorCheckBox_toggled(bool checked);
|
||||
void on_packetListHeaderShowColumnDefinition_toggled(bool checked);
|
||||
void on_packetListHoverStyleCheckbox_toggled(bool checked);
|
||||
void on_packetListAllowSorting_toggled(bool checked);
|
||||
void on_statusBarShowSelectedPacketCheckBox_toggled(bool checked);
|
||||
void on_statusBarShowFileLoadTimeCheckBox_toggled(bool checked);
|
||||
};
|
||||
|
|
|
@ -395,6 +395,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="packetListAllowSorting">
|
||||
<property name="text">
|
||||
<string>Allow the list to be sorted</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="packetListHoverStyleCheckbox">
|
||||
<property name="text">
|
||||
|
|
|
@ -245,7 +245,7 @@ PacketList::PacketList(QWidget *parent) :
|
|||
{
|
||||
setItemsExpandable(false);
|
||||
setRootIsDecorated(false);
|
||||
setSortingEnabled(true);
|
||||
setSortingEnabled(prefs.gui_packet_list_sortable);
|
||||
setUniformRowHeights(true);
|
||||
setAccessibleName("Packet list");
|
||||
|
||||
|
@ -284,6 +284,7 @@ PacketList::PacketList(QWidget *parent) :
|
|||
connect(packet_list_model_, SIGNAL(itemHeightChanged(const QModelIndex&)), this, SLOT(updateRowHeights(const QModelIndex&)));
|
||||
connect(wsApp, SIGNAL(addressResolutionChanged()), this, SLOT(redrawVisiblePacketsDontSelectCurrent()));
|
||||
connect(wsApp, SIGNAL(columnDataChanged()), this, SLOT(redrawVisiblePacketsDontSelectCurrent()));
|
||||
connect(wsApp, &WiresharkApplication::preferencesChanged, this, [=]() { setSortingEnabled(prefs.gui_packet_list_sortable); });
|
||||
|
||||
connect(header(), SIGNAL(sectionResized(int,int,int)),
|
||||
this, SLOT(sectionResized(int,int,int)));
|
||||
|
|
Loading…
Reference in New Issue