Fix clang-tidy issues stemming from header files (GTK client) (#4623)

* Fix `readability-avoid-const-params-in-decls` clang-tidy issues

* Fix `bugprone-macro-parentheses` clang-tidy issues

* Fix `modernize-use-using` clang-tidy issues

* Fix `readability-named-parameter` clang-tidy issues

* Fix `cppcoreguidelines-owning-memory` clang-tidy issues

* Fix `cppcoreguidelines-special-member-functions` clang-tidy issues

* Fix `cppcoreguidelines-macro-usage` clang-tidy issues

* Fix `modernize-use-nodiscard` clang-tidy issues

* Fix `cppcoreguidelines-macro-usage` clang-tidy issues

* Add headers filter for /gtk/ subdirectory
This commit is contained in:
Mike Gelfand 2023-01-21 15:06:20 +03:00 committed by GitHub
parent 8755207dcf
commit bd72b8c3fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 59 additions and 34 deletions

View File

@ -1,4 +1,6 @@
--- ---
HeaderFilterRegex: .*/gtk/.*
Checks: > Checks: >
-*, -*,
bugprone-*, bugprone-*,

View File

@ -363,7 +363,7 @@ void DetailsDialog::Impl::refreshOptions(std::vector<tr_torrent*> const& torrent
if (is_uniform) if (is_uniform)
{ {
bandwidth_combo_tag_.block(); bandwidth_combo_tag_.block();
gtr_priority_combo_set_value(*bandwidth_combo_, baseline); gtr_combo_box_set_active_enum(*bandwidth_combo_, baseline);
bandwidth_combo_tag_.unblock(); bandwidth_combo_tag_.unblock();
} }
else else
@ -510,7 +510,7 @@ void DetailsDialog::Impl::options_page_init(Glib::RefPtr<Gtk::Builder> const& /*
gtr_priority_combo_init(*bandwidth_combo_); gtr_priority_combo_init(*bandwidth_combo_);
bandwidth_combo_tag_ = bandwidth_combo_->signal_changed().connect( bandwidth_combo_tag_ = bandwidth_combo_->signal_changed().connect(
[this]() { torrent_set_int(TR_KEY_bandwidthPriority, gtr_priority_combo_get_value(*bandwidth_combo_)); }); [this]() { torrent_set_int(TR_KEY_bandwidthPriority, gtr_combo_box_get_active_enum(*bandwidth_combo_)); });
gtr_combo_box_set_enum( gtr_combo_box_set_enum(
*ratio_combo_, *ratio_combo_,

View File

@ -7,6 +7,8 @@
#include "GtkCompat.h" #include "GtkCompat.h"
#include <libtransmission/tr-macros.h>
#if GTKMM_CHECK_VERSION(4, 0, 0) #if GTKMM_CHECK_VERSION(4, 0, 0)
#include <gtkmm/filter.h> #include <gtkmm/filter.h>
#else #else
@ -26,8 +28,11 @@ public:
#endif #endif
public: public:
FilterBase() = default;
~FilterBase() override = default; ~FilterBase() override = default;
TR_DISABLE_COPY_MOVE(FilterBase)
virtual bool match(T const& item) const = 0; virtual bool match(T const& item) const = 0;
virtual bool matches_all() const; virtual bool matches_all() const;

View File

@ -92,5 +92,6 @@ Glib::RefPtr<FilterListModel<ItemT>> FilterListModel<ItemT>::create(
Glib::RefPtr<ModelT> const& model, Glib::RefPtr<ModelT> const& model,
Glib::RefPtr<FilterType> const& filter) Glib::RefPtr<FilterType> const& filter)
{ {
// NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
return Glib::make_refptr_for_instance(new FilterListModel(model, filter)); return Glib::make_refptr_for_instance(new FilterListModel(model, filter));
} }

View File

@ -8,12 +8,16 @@
#include <initializer_list> #include <initializer_list>
#include <type_traits> #include <type_traits>
// NOLINTBEGIN(bugprone-macro-parentheses, cppcoreguidelines-macro-usage)
#define DEFINE_FLAGS_OPERATORS(FlagType) \ #define DEFINE_FLAGS_OPERATORS(FlagType) \
constexpr inline Flags<FlagType> operator|(FlagType lhs, FlagType rhs) noexcept \ constexpr inline Flags<FlagType> operator|(FlagType lhs, FlagType rhs) noexcept \
{ \ { \
return { lhs, rhs }; \ return { lhs, rhs }; \
} }
// NOLINTEND(bugprone-macro-parentheses, cppcoreguidelines-macro-usage)
template<typename T> template<typename T>
class Flags class Flags
{ {
@ -39,22 +43,22 @@ public:
} }
} }
constexpr bool none() const noexcept [[nodiscard]] constexpr bool none() const noexcept
{ {
return value_ == 0; return value_ == 0;
} }
constexpr bool any() const noexcept [[nodiscard]] constexpr bool any() const noexcept
{ {
return !none(); return !none();
} }
constexpr bool test(FlagType flag) const noexcept [[nodiscard]] constexpr bool test(FlagType flag) const noexcept
{ {
return (value_ & get_mask(flag)) != 0; return (value_ & get_mask(flag)) != 0;
} }
constexpr bool test(Flags rhs) const noexcept [[nodiscard]] constexpr bool test(Flags rhs) const noexcept
{ {
return (value_ & rhs.value_) != 0; return (value_ & rhs.value_) != 0;
} }
@ -64,7 +68,7 @@ public:
value_ |= get_mask(flag); value_ |= get_mask(flag);
} }
constexpr Flags operator|(Flags rhs) noexcept [[nodiscard]] constexpr Flags operator|(Flags rhs) noexcept
{ {
return Flags(value_ | rhs.value_); return Flags(value_ | rhs.value_);
} }
@ -75,7 +79,7 @@ public:
return *this; return *this;
} }
constexpr Flags operator~() const noexcept [[nodiscard]] constexpr Flags operator~() const noexcept
{ {
return Flags(~value_); return Flags(~value_);
} }
@ -86,7 +90,7 @@ private:
{ {
} }
static constexpr ValueType get_mask(FlagType flag) noexcept [[nodiscard]] static constexpr ValueType get_mask(FlagType flag) noexcept
{ {
return ValueType{ 1 } << static_cast<ValueType>(flag); return ValueType{ 1 } << static_cast<ValueType>(flag);
} }

View File

@ -12,6 +12,8 @@
#include <cstddef> #include <cstddef>
// NOLINTBEGIN(cppcoreguidelines-macro-usage)
#ifndef GTKMM_CHECK_VERSION #ifndef GTKMM_CHECK_VERSION
#define GTKMM_CHECK_VERSION(major, minor, micro) \ #define GTKMM_CHECK_VERSION(major, minor, micro) \
(GTKMM_MAJOR_VERSION > (major) || (GTKMM_MAJOR_VERSION == (major) && GTKMM_MINOR_VERSION > (minor)) || \ (GTKMM_MAJOR_VERSION > (major) || (GTKMM_MAJOR_VERSION == (major) && GTKMM_MINOR_VERSION > (minor)) || \
@ -103,6 +105,8 @@
#define TR_PANGO_ELLIPSIZE_MODE(Code) IF_PANGOMM2_48(Pango::EllipsizeMode::Code, Pango::ELLIPSIZE_##Code) #define TR_PANGO_ELLIPSIZE_MODE(Code) IF_PANGOMM2_48(Pango::EllipsizeMode::Code, Pango::ELLIPSIZE_##Code)
#define TR_PANGO_WEIGHT(Code) IF_PANGOMM2_48(Pango::Weight::Code, Pango::WEIGHT_##Code) #define TR_PANGO_WEIGHT(Code) IF_PANGOMM2_48(Pango::Weight::Code, Pango::WEIGHT_##Code)
// NOLINTEND(cppcoreguidelines-macro-usage)
namespace Glib namespace Glib
{ {

View File

@ -44,6 +44,7 @@ public:
static Glib::RefPtr<ListModelAdapter> create(Glib::RefPtr<Gio::ListModel> const& adaptee) static Glib::RefPtr<ListModelAdapter> create(Glib::RefPtr<Gio::ListModel> const& adaptee)
{ {
return Glib::make_refptr_for_instance( return Glib::make_refptr_for_instance(
// NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
new ListModelAdapter(adaptee, T::get_columns(), &T::get_item_id, &T::get_item_value)); new ListModelAdapter(adaptee, T::get_columns(), &T::get_item_id, &T::get_item_value));
} }

View File

@ -12,7 +12,7 @@
#include "Prefs.h" #include "Prefs.h"
#include "PrefsDialog.h" #include "PrefsDialog.h"
#include "Session.h" #include "Session.h"
#include "Utils.h" /* gtr_priority_combo_get_value() */ #include "Utils.h"
#include <libtransmission/transmission.h> #include <libtransmission/transmission.h>
#include <libtransmission/file.h> /* tr_sys_path_is_same() */ #include <libtransmission/file.h> /* tr_sys_path_is_same() */
@ -118,7 +118,7 @@ void OptionsDialog::Impl::addResponseCB(int response)
{ {
if (response == TR_GTK_RESPONSE_TYPE(ACCEPT)) if (response == TR_GTK_RESPONSE_TYPE(ACCEPT))
{ {
tr_torrentSetPriority(tor_, gtr_priority_combo_get_value(*priority_combo_)); tr_torrentSetPriority(tor_, gtr_combo_box_get_active_enum(*priority_combo_));
if (run_check_->get_active()) if (run_check_->get_active())
{ {
@ -284,7 +284,7 @@ OptionsDialog::Impl::Impl(
dialog.signal_response().connect(sigc::mem_fun(*this, &Impl::addResponseCB)); dialog.signal_response().connect(sigc::mem_fun(*this, &Impl::addResponseCB));
gtr_priority_combo_init(*priority_combo_); gtr_priority_combo_init(*priority_combo_);
gtr_priority_combo_set_value(*priority_combo_, TR_PRI_NORMAL); gtr_combo_box_set_active_enum(*priority_combo_, TR_PRI_NORMAL);
auto* source_chooser = gtr_get_widget_derived<PathButton>(builder, "source_button"); auto* source_chooser = gtr_get_widget_derived<PathButton>(builder, "source_button");
addTorrentFilters(source_chooser); addTorrentFilters(source_chooser);

View File

@ -17,7 +17,8 @@
#include <memory> #include <memory>
class Session; class Session;
typedef struct tr_ctor tr_ctor;
struct tr_ctor;
class TorrentUrlChooserDialog : public Gtk::Dialog class TorrentUrlChooserDialog : public Gtk::Dialog
{ {
@ -27,6 +28,7 @@ public:
Glib::RefPtr<Gtk::Builder> const& builder, Glib::RefPtr<Gtk::Builder> const& builder,
Gtk::Window& parent, Gtk::Window& parent,
Glib::RefPtr<Session> const& core); Glib::RefPtr<Session> const& core);
~TorrentUrlChooserDialog() override = default;
TR_DISABLE_COPY_MOVE(TorrentUrlChooserDialog) TR_DISABLE_COPY_MOVE(TorrentUrlChooserDialog)
@ -39,6 +41,8 @@ private:
class TorrentFileChooserDialog : public Gtk::FileChooserDialog class TorrentFileChooserDialog : public Gtk::FileChooserDialog
{ {
public: public:
~TorrentFileChooserDialog() override = default;
TR_DISABLE_COPY_MOVE(TorrentFileChooserDialog) TR_DISABLE_COPY_MOVE(TorrentFileChooserDialog)
static std::unique_ptr<TorrentFileChooserDialog> create(Gtk::Window& parent, Glib::RefPtr<Session> const& core); static std::unique_ptr<TorrentFileChooserDialog> create(Gtk::Window& parent, Glib::RefPtr<Session> const& core);

View File

@ -14,19 +14,19 @@
void gtr_pref_init(std::string_view config_dir); void gtr_pref_init(std::string_view config_dir);
int64_t gtr_pref_int_get(tr_quark const key); int64_t gtr_pref_int_get(tr_quark key);
void gtr_pref_int_set(tr_quark const key, int64_t value); void gtr_pref_int_set(tr_quark key, int64_t value);
double gtr_pref_double_get(tr_quark const key); double gtr_pref_double_get(tr_quark key);
void gtr_pref_double_set(tr_quark const key, double value); void gtr_pref_double_set(tr_quark key, double value);
bool gtr_pref_flag_get(tr_quark const key); bool gtr_pref_flag_get(tr_quark key);
void gtr_pref_flag_set(tr_quark const key, bool value); void gtr_pref_flag_set(tr_quark key, bool value);
std::vector<std::string> gtr_pref_strv_get(tr_quark const key); std::vector<std::string> gtr_pref_strv_get(tr_quark key);
std::string gtr_pref_string_get(tr_quark const key); std::string gtr_pref_string_get(tr_quark key);
void gtr_pref_string_set(tr_quark const key, std::string_view value); void gtr_pref_string_set(tr_quark key, std::string_view value);
void gtr_pref_save(tr_session*); void gtr_pref_save(tr_session* /*session*/);
tr_variant* gtr_pref_get_all(); tr_variant* gtr_pref_get_all();

View File

@ -67,5 +67,6 @@ Glib::RefPtr<SortListModel<ItemT>> SortListModel<ItemT>::create(
Glib::RefPtr<ModelT> const& model, Glib::RefPtr<ModelT> const& model,
Glib::RefPtr<SorterType> const& sorter) Glib::RefPtr<SorterType> const& sorter)
{ {
// NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
return Glib::make_refptr_for_instance(new SortListModel(model, sorter)); return Glib::make_refptr_for_instance(new SortListModel(model, sorter));
} }

View File

@ -7,6 +7,8 @@
#include "GtkCompat.h" #include "GtkCompat.h"
#include <libtransmission/tr-macros.h>
#if GTKMM_CHECK_VERSION(4, 0, 0) #if GTKMM_CHECK_VERSION(4, 0, 0)
#include <gtkmm/sorter.h> #include <gtkmm/sorter.h>
#else #else
@ -27,8 +29,11 @@ public:
#endif #endif
public: public:
SorterBase() = default;
~SorterBase() override = default; ~SorterBase() override = default;
TR_DISABLE_COPY_MOVE(SorterBase)
virtual int compare(T const& lhs, T const& rhs) const = 0; virtual int compare(T const& lhs, T const& rhs) const = 0;
#if !GTKMM_CHECK_VERSION(4, 0, 0) #if !GTKMM_CHECK_VERSION(4, 0, 0)

View File

@ -563,12 +563,12 @@ EnumComboModelColumns const enum_combo_cols;
} // namespace } // namespace
void gtr_combo_box_set_active_enum(Gtk::ComboBox& combo_box, int value) void gtr_combo_box_set_active_enum(Gtk::ComboBox& combo, int value)
{ {
auto const& column = enum_combo_cols.value; auto const& column = enum_combo_cols.value;
/* do the value and current value match? */ /* do the value and current value match? */
if (auto const iter = combo_box.get_active(); iter) if (auto const iter = combo.get_active(); iter)
{ {
if (iter->get_value(column) == value) if (iter->get_value(column) == value)
{ {
@ -577,11 +577,11 @@ void gtr_combo_box_set_active_enum(Gtk::ComboBox& combo_box, int value)
} }
/* find the one to select */ /* find the one to select */
for (auto const& row : combo_box.get_model()->children()) for (auto const& row : combo.get_model()->children())
{ {
if (row.get_value(column) == value) if (row.get_value(column) == value)
{ {
combo_box.set_active(TR_GTK_TREE_MODEL_CHILD_ITER(row)); combo.set_active(TR_GTK_TREE_MODEL_CHILD_ITER(row));
return; return;
} }
} }
@ -606,11 +606,11 @@ void gtr_combo_box_set_enum(Gtk::ComboBox& combo, std::vector<std::pair<Glib::us
combo.add_attribute(r->property_text(), enum_combo_cols.label); combo.add_attribute(r->property_text(), enum_combo_cols.label);
} }
int gtr_combo_box_get_active_enum(Gtk::ComboBox const& combo_box) int gtr_combo_box_get_active_enum(Gtk::ComboBox const& combo)
{ {
int value = 0; int value = 0;
if (auto const iter = combo_box.get_active(); iter) if (auto const iter = combo.get_active(); iter)
{ {
iter->get_value(0, value); iter->get_value(0, value);
} }

View File

@ -78,7 +78,7 @@ enum class GtrUnicode
Bullet Bullet
}; };
Glib::ustring gtr_get_unicode_string(GtrUnicode); Glib::ustring gtr_get_unicode_string(GtrUnicode uni);
/* return a human-readable string for the size given in bytes. */ /* return a human-readable string for the size given in bytes. */
Glib::ustring tr_strlsize(guint64 size_in_bytes); Glib::ustring tr_strlsize(guint64 size_in_bytes);
@ -123,12 +123,10 @@ void gtr_window_raise(Gtk::Window& window);
***/ ***/
void gtr_priority_combo_init(Gtk::ComboBox& combo); void gtr_priority_combo_init(Gtk::ComboBox& combo);
#define gtr_priority_combo_get_value(w) gtr_combo_box_get_active_enum(w)
#define gtr_priority_combo_set_value(w, val) gtr_combo_box_set_active_enum(w, val)
void gtr_combo_box_set_enum(Gtk::ComboBox& combo, std::vector<std::pair<Glib::ustring, int>> const& items); void gtr_combo_box_set_enum(Gtk::ComboBox& combo, std::vector<std::pair<Glib::ustring, int>> const& items);
int gtr_combo_box_get_active_enum(Gtk::ComboBox const&); int gtr_combo_box_get_active_enum(Gtk::ComboBox const& combo);
void gtr_combo_box_set_active_enum(Gtk::ComboBox&, int value); void gtr_combo_box_set_active_enum(Gtk::ComboBox& combo, int value);
/*** /***
**** ****