mirror of
https://github.com/transmission/transmission
synced 2025-01-30 10:52:00 +00:00
586cff9506
* Add compat operator* for RefPtr * Rename `*_tree_view_*` button handling helpers to `*_item_view_*` * Move torrent item colors to CSS * Switch to list view for torrents list (GTK 4) * Bump Fedora image to 39 (current rawhide) for GTK 4.11 Enable deprecations as there're lots of them in 4.11 and I'm not keen on fixing them all right now. Disable warnings as errors due to -Warray-bounds issue somewhere in libfmt.
45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
// This file Copyright © 2007-2023 Mnemosyne LLC.
|
|
// It may be used under GPLv2 (SPDX: GPL-2.0-only), GPLv3 (SPDX: GPL-3.0-only),
|
|
// or any future license endorsed by Mnemosyne LLC.
|
|
// License text can be found in the licenses/ folder.
|
|
|
|
#pragma once
|
|
|
|
#include "GtkCompat.h"
|
|
|
|
#include <libtransmission/tr-macros.h>
|
|
|
|
#include <glibmm/propertyproxy.h>
|
|
#include <gtkmm/cellrenderer.h>
|
|
|
|
#include <memory>
|
|
|
|
class Torrent;
|
|
|
|
class TorrentCellRenderer : public Gtk::CellRenderer
|
|
{
|
|
public:
|
|
TorrentCellRenderer();
|
|
~TorrentCellRenderer() override;
|
|
|
|
TR_DISABLE_COPY_MOVE(TorrentCellRenderer)
|
|
|
|
Glib::PropertyProxy<Torrent*> property_torrent();
|
|
|
|
Glib::PropertyProxy<int> property_bar_height();
|
|
Glib::PropertyProxy<bool> property_compact();
|
|
|
|
protected:
|
|
void get_preferred_width_vfunc(Gtk::Widget& widget, int& minimum_width, int& natural_width) const override;
|
|
void get_preferred_height_vfunc(Gtk::Widget& widget, int& minimum_height, int& natural_height) const override;
|
|
void render_vfunc(
|
|
Cairo::RefPtr<Cairo::Context> const& context,
|
|
Gtk::Widget& widget,
|
|
Gdk::Rectangle const& background_area,
|
|
Gdk::Rectangle const& cell_area,
|
|
Gtk::CellRendererState flags) override;
|
|
|
|
private:
|
|
class Impl;
|
|
std::unique_ptr<Impl> const impl_;
|
|
};
|