refactor: simpler code

This commit is contained in:
Alex 2019-05-17 09:59:37 +02:00
parent b45dcdf74e
commit 4d4cadb5ae
4 changed files with 7 additions and 35 deletions

View File

@ -55,7 +55,6 @@ class Bar {
void setMarginsAndZone(uint32_t height, uint32_t width); void setMarginsAndZone(uint32_t height, uint32_t width);
auto setupWidgets() -> void; auto setupWidgets() -> void;
void getModules(const Factory &, const std::string &); void getModules(const Factory &, const std::string &);
bool handleScroll(GdkEventScroll*);
void setupAltFormatKeyForModule(const std::string &module_name); void setupAltFormatKeyForModule(const std::string &module_name);
void setupAltFormatKeyForModuleList(const char *module_list_name); void setupAltFormatKeyForModuleList(const char *module_list_name);

View File

@ -7,8 +7,8 @@
#include "bar.hpp" #include "bar.hpp"
#include "client.hpp" #include "client.hpp"
#include "modules/sway/ipc/client.hpp" #include "modules/sway/ipc/client.hpp"
#include "util/sleeper_thread.hpp"
#include "util/json.hpp" #include "util/json.hpp"
#include "util/sleeper_thread.hpp"
namespace waybar::modules::sway { namespace waybar::modules::sway {
@ -19,8 +19,6 @@ class Workspaces : public IModule, public sigc::trackable {
auto update() -> void; auto update() -> void;
operator Gtk::Widget&(); operator Gtk::Widget&();
bool handleScroll(GdkEventScroll*);
private: private:
void onCmd(const struct Ipc::ipc_response&); void onCmd(const struct Ipc::ipc_response&);
void onEvent(const struct Ipc::ipc_response&); void onEvent(const struct Ipc::ipc_response&);
@ -32,6 +30,7 @@ class Workspaces : public IModule, public sigc::trackable {
const std::string getCycleWorkspace(std::vector<Json::Value>::iterator, bool prev) const; const std::string getCycleWorkspace(std::vector<Json::Value>::iterator, bool prev) const;
uint16_t getWorkspaceIndex(const std::string& name) const; uint16_t getWorkspaceIndex(const std::string& name) const;
std::string trimWorkspaceName(std::string); std::string trimWorkspaceName(std::string);
bool handleScroll(GdkEventScroll*);
const Bar& bar_; const Bar& bar_;
const Json::Value& config_; const Json::Value& config_;

View File

@ -72,12 +72,6 @@ waybar::Bar::Bar(struct waybar_output* w_output, const Json::Value& w_config)
wl_surface_commit(surface); wl_surface_commit(surface);
wl_display_roundtrip(client->wl_display); wl_display_roundtrip(client->wl_display);
if (!config["disable-workspace-scroll"].asBool()) {
window.add_events(Gdk::SCROLL_MASK | Gdk::SMOOTH_SCROLL_MASK);
window.signal_scroll_event().connect(sigc::mem_fun(*this, &Bar::handleScroll));
}
setupWidgets(); setupWidgets();
} }
@ -223,31 +217,6 @@ void waybar::Bar::handleSignal(int signal) {
} }
} }
bool waybar::Bar::handleScroll(GdkEventScroll *e) {
std::cerr << "handleScroll" << std::endl;
for (auto& module : modules_left_) {
if (auto workspaces = dynamic_cast<waybar::modules::sway::Workspaces*>(module.get())) {
workspaces->handleScroll(e);
return true;
}
}
for (auto& module : modules_center_) {
if (auto workspaces = dynamic_cast<waybar::modules::sway::Workspaces*>(module.get())) {
workspaces->handleScroll(e);
return true;
}
}
for (auto& module : modules_right_) {
if (auto workspaces = dynamic_cast<waybar::modules::sway::Workspaces*>(module.get())) {
workspaces->handleScroll(e);
return true;
}
}
return false;
}
void waybar::Bar::layerSurfaceHandleConfigure(void* data, struct zwlr_layer_surface_v1* surface, void waybar::Bar::layerSurfaceHandleConfigure(void* data, struct zwlr_layer_surface_v1* surface,
uint32_t serial, uint32_t width, uint32_t height) { uint32_t serial, uint32_t width, uint32_t height) {
auto o = static_cast<waybar::Bar*>(data); auto o = static_cast<waybar::Bar*>(data);

View File

@ -15,6 +15,11 @@ Workspaces::Workspaces(const std::string &id, const Bar &bar, const Json::Value
ipc_.signal_event.connect(sigc::mem_fun(*this, &Workspaces::onEvent)); ipc_.signal_event.connect(sigc::mem_fun(*this, &Workspaces::onEvent));
ipc_.signal_cmd.connect(sigc::mem_fun(*this, &Workspaces::onCmd)); ipc_.signal_cmd.connect(sigc::mem_fun(*this, &Workspaces::onCmd));
ipc_.sendCmd(IPC_GET_WORKSPACES); ipc_.sendCmd(IPC_GET_WORKSPACES);
if (!config["disable-workspace-scroll"].asBool()) {
auto &window = const_cast<Bar&>(bar_).window;
window.add_events(Gdk::SCROLL_MASK | Gdk::SMOOTH_SCROLL_MASK);
window.signal_scroll_event().connect(sigc::mem_fun(*this, &Workspaces::handleScroll));
}
// Launch worker // Launch worker
worker(); worker();
} }