AModule: retain existing default behavior when unconfigured
This commit is contained in:
parent
7e2d8ab2a3
commit
f78f29ee66
|
@ -42,9 +42,11 @@ You can apply special styling to any module for when the cursor hovers it.
|
||||||
## Setting cursor style
|
## Setting cursor style
|
||||||
|
|
||||||
Most, if not all, module types support setting the `cursor` option. This is
|
Most, if not all, module types support setting the `cursor` option. This is
|
||||||
configured in your `config.jsonc`. If set to `true`, when hovering the module a
|
configured in your `config.jsonc`. If set to `false`, when hovering the module a
|
||||||
"pointer"(as commonly known from web CSS styling `cursor: pointer`) style cursor
|
"pointer"(as commonly known from web CSS styling `cursor: pointer`) style cursor
|
||||||
will be shown.
|
will not be shown. Default behavior is to indicate an interaction event is
|
||||||
|
available.
|
||||||
|
|
||||||
There are more cursor types to choose from by setting the `cursor` option to
|
There are more cursor types to choose from by setting the `cursor` option to
|
||||||
a number, see Gdk3 official docs for all possible cursor types:
|
a number, see Gdk3 official docs for all possible cursor types:
|
||||||
https://docs.gtk.org/gdk3/enum.CursorType.html.
|
https://docs.gtk.org/gdk3/enum.CursorType.html.
|
||||||
|
@ -52,12 +54,12 @@ However, note that not all cursor options listed may be available on
|
||||||
your system. If you attempt to use a cursor which is not available, the
|
your system. If you attempt to use a cursor which is not available, the
|
||||||
application will crash.
|
application will crash.
|
||||||
|
|
||||||
Example of enabling pointer(`Gdk::Hand2`) cursor type on a custom module:
|
Example of disabling pointer(`Gdk::Hand2`) cursor type on a custom module:
|
||||||
|
|
||||||
```
|
```
|
||||||
"custom/my-custom-module": {
|
"custom/my-custom-module": {
|
||||||
...
|
...
|
||||||
"cursor": true,
|
"cursor": false,
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,7 @@ AModule::AModule(const Json::Value& config, const std::string& name, const std::
|
||||||
event_box_.signal_scroll_event().connect(sigc::mem_fun(*this, &AModule::handleScroll));
|
event_box_.signal_scroll_event().connect(sigc::mem_fun(*this, &AModule::handleScroll));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Respect user configuration of cursor
|
||||||
if (config_.isMember("cursor")) {
|
if (config_.isMember("cursor")) {
|
||||||
if (config_["cursor"].isBool() && config_["cursor"].asBool()) {
|
if (config_["cursor"].isBool() && config_["cursor"].asBool()) {
|
||||||
setCursor(Gdk::HAND2);
|
setCursor(Gdk::HAND2);
|
||||||
|
@ -125,6 +126,12 @@ bool AModule::handleMouseEnter(GdkEventCrossing* const& e) {
|
||||||
if (auto* module = event_box_.get_child(); module != nullptr) {
|
if (auto* module = event_box_.get_child(); module != nullptr) {
|
||||||
module->set_state_flags(Gtk::StateFlags::STATE_FLAG_PRELIGHT);
|
module->set_state_flags(Gtk::StateFlags::STATE_FLAG_PRELIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default behavior indicating event availability
|
||||||
|
if (hasUserEvents_ && !config_.isMember("cursor")) {
|
||||||
|
setCursor(Gdk::HAND2);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +139,12 @@ bool AModule::handleMouseLeave(GdkEventCrossing* const& e) {
|
||||||
if (auto* module = event_box_.get_child(); module != nullptr) {
|
if (auto* module = event_box_.get_child(); module != nullptr) {
|
||||||
module->unset_state_flags(Gtk::StateFlags::STATE_FLAG_PRELIGHT);
|
module->unset_state_flags(Gtk::StateFlags::STATE_FLAG_PRELIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default behavior indicating event availability
|
||||||
|
if (hasUserEvents_ && !config_.isMember("cursor")) {
|
||||||
|
setCursor(Gdk::ARROW);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue