refactor and shizz
This commit is contained in:
@@ -5,9 +5,10 @@
|
||||
#include <gtk/gtk.h>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
#include "components/base/button.hpp"
|
||||
|
||||
TrayIconWidget::TrayIconWidget(TrayService &service, std::string id)
|
||||
: service(service), id(std::move(id)),
|
||||
TrayIconWidget::TrayIconWidget( std::string id)
|
||||
: Button(id), id(std::move(id)),
|
||||
container(Gtk::Orientation::HORIZONTAL) {
|
||||
set_has_frame(false);
|
||||
set_focusable(false);
|
||||
@@ -131,10 +132,8 @@ bool TrayIconWidget::ensure_menu() {
|
||||
populate_menu_items(layout.children, menu, actions);
|
||||
|
||||
const auto itemCount = menu->get_n_items();
|
||||
std::cout << "[TrayIconWidget] menu update for " << id
|
||||
<< ", items: " << itemCount << std::endl;
|
||||
|
||||
if (itemCount == 0) {
|
||||
service.debug_dump_menu_layout(id);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -174,9 +173,6 @@ void TrayIconWidget::on_menu_items_changed(guint /*position*/,
|
||||
return;
|
||||
}
|
||||
|
||||
const auto count = menuModel->get_n_items();
|
||||
std::cout << "[TrayIconWidget] items changed for " << id << ": " << count
|
||||
<< " entries" << std::endl;
|
||||
try_popup();
|
||||
}
|
||||
|
||||
@@ -251,17 +247,17 @@ void TrayIconWidget::on_menu_action(const Glib::VariantBase & /*parameter*/,
|
||||
}
|
||||
}
|
||||
|
||||
TrayWidget::TrayWidget(TrayService &service)
|
||||
: Gtk::Box(Gtk::Orientation::HORIZONTAL), service(service) {
|
||||
TrayWidget::TrayWidget()
|
||||
: Gtk::Box(Gtk::Orientation::HORIZONTAL) {
|
||||
set_valign(Gtk::Align::CENTER);
|
||||
set_halign(Gtk::Align::CENTER);
|
||||
set_visible(false);
|
||||
|
||||
addConnection = service.signal_item_added().connect(
|
||||
addConnection = service->signal_item_added().connect(
|
||||
sigc::mem_fun(*this, &TrayWidget::on_item_added));
|
||||
removeConnection = service.signal_item_removed().connect(
|
||||
removeConnection = service->signal_item_removed().connect(
|
||||
sigc::mem_fun(*this, &TrayWidget::on_item_removed));
|
||||
updateConnection = service.signal_item_updated().connect(
|
||||
updateConnection = service->signal_item_updated().connect(
|
||||
sigc::mem_fun(*this, &TrayWidget::on_item_updated));
|
||||
|
||||
rebuild_existing();
|
||||
@@ -280,7 +276,7 @@ TrayWidget::~TrayWidget() {
|
||||
}
|
||||
|
||||
void TrayWidget::rebuild_existing() {
|
||||
auto items = service.snapshotItems();
|
||||
auto items = service->snapshotItems();
|
||||
for (const auto &item : items) {
|
||||
on_item_added(item);
|
||||
}
|
||||
@@ -295,7 +291,7 @@ void TrayWidget::on_item_added(const TrayService::Item &item) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto icon = std::make_unique<TrayIconWidget>(service, item.id);
|
||||
auto icon = std::make_unique<TrayIconWidget>(item.id);
|
||||
icon->update(item);
|
||||
auto *raw = icon.get();
|
||||
append(*raw);
|
||||
|
||||
Reference in New Issue
Block a user