mirror of https://github.com/YGGverse/Yoda.git
yggverse
4 months ago
3 changed files with 69 additions and 11 deletions
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
<?php |
||||
|
||||
declare(strict_types=1); |
||||
|
||||
namespace Yggverse\Yoda\Entity\Browser\Container\Page\Navbar; |
||||
|
||||
use \Yggverse\Yoda\Abstract\Entity\Browser\Container\Page\Navbar\Button; |
||||
|
||||
class Bookmark extends Button |
||||
{ |
||||
private const _IMAGE_STARRED_YES = 'starred-symbolic'; |
||||
private const _IMAGE_STARRED_NON = 'non-starred-symbolic'; |
||||
|
||||
public const IMAGE = self::_IMAGE_STARRED_NON; |
||||
public const LABEL = 'Bookmark'; |
||||
public const TOOLTIP = 'Toggle bookmark'; |
||||
public const SENSITIVE = true; |
||||
|
||||
protected function _onCLick( |
||||
\GtkButton $entity |
||||
): void |
||||
{ |
||||
$this->setImage( |
||||
$this->navbar->page->container->browser->database->toggleBookmark( |
||||
$this->navbar->request->getValue() |
||||
) ? self::_IMAGE_STARRED_YES : self::_IMAGE_STARRED_NON |
||||
); |
||||
} |
||||
|
||||
public function refresh(): void |
||||
{ |
||||
$this->setImage( |
||||
$this->navbar->page->container->browser->database->getBookmark( |
||||
$this->navbar->request->getValue() |
||||
) ? self::_IMAGE_STARRED_YES : self::_IMAGE_STARRED_NON |
||||
); |
||||
} |
||||
} |
Loading…
Reference in new issue