wojtryb / Shortcut-Composer

Krita plugin for creating complex keyboard shortcuts
GNU General Public License v3.0
261 stars 9 forks source link

BUGFIX: If user sets empty tag for Preset Pie it crashes SC #21

Closed SirPigeonz closed 1 year ago

SirPigeonz commented 1 year ago

Removed division by 0 case.

Probably fixes: https://krita-artists.org/t/shortcut-composer-v1-1-0-plugin-for-pie-menus-multiple-key-assignment-mouse-trackers-and-more/55314/86?u=sirpigeonz

wojtryb commented 1 year ago

Hej, dzięki za szybkiego bugfixa :)

Pozwoliłem sobie rozwiązać problem w inny sposób, głównie dla zachowania spójności z metodą poniżej - ale też wydaje mi się to troszkę czytelniejsze gdyw takiej sytuacji nie idzie się dalej w kodzie, tylko od razu obsługuje - w Twoim rozwiązaniu trzeba w głowie przeliczyć całą ścieżkę do końca dla obu przypadków, żeby ogarnąć jaki jest wynik:

    def _pick_icon_radius(self) -> int:
        """Icons radius depend on settings, but they have to fit in the pie."""
        icon_radius: int = round(
            50 * self._base_size
            * self.icon_radius_scale
            * Config.PIE_ICON_GLOBAL_SCALE.read())

        if not self._icons_amount:
            return icon_radius

        max_icon_size = round(self.pie_radius * math.pi / self._icons_amount)
        return min(icon_radius, max_icon_size)

Dziękuję za pomoc - tych próśb i błędów jest sporo i sam trochę nie nadążam z obsługą wszyskich :)

SirPigeonz commented 1 year ago

No twoje rozwiązanie jest bardziej eleganckie. :) Zawsze czegoś się od ciebie nauczę.

I nie ma sprawy, mam nadzieje, że jestem pomocny. Postaram się od czasu do czasu coś naprawić jak będę umiał :)

Twój plugin jest teraz corem mojego workflow, więc chętnie pomogę go rozwijać i debugować :) Musi urosnąć duży i silny, by podbić serca community Krity i trafić do defaultowych pluginów, a być może coś nawet wejdzie do głównego code base'u :D

wojtryb commented 1 year ago

Dzięki - tak, Twoja pomoc bardzo się przydaje - póki Ci się chce, rób to dalej :D

Hah, Do wdrożenia tego do krity jeszcze daleka droga zarówno pod kątem bugów jak i nowych funkcji. Ale cieszę się, że dopracowywana przez długi czas architektura póki co się sprawdza, a błędy da się na bierząco naprawiać. Trzeba to pociągnąć do przodu, póki zainteresowanie jest całkiem duże :)