init multi-window implementation

This commit is contained in:
yggverse 2024-07-05 22:04:26 +03:00
parent 6f99b36a44
commit 847a0fb01d
45 changed files with 904 additions and 833 deletions

View file

@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace Yggverse\Yoda\Entity\Browser\History\Container\Navbar;
class Delete extends \Yggverse\Yoda\Abstract\Entity\Browser\History\Container\Navbar\Button
{
protected string $_label = 'Delete';
protected function _onCLick(
\GtkButton $entity
): void
{
if ($id = $this->navbar->container->content->getSelectedId())
{
$this->navbar->container->history->browser->database->deleteHistory(
$id
);
}
$this->navbar->container->refresh();
}
public function refresh(): void
{
$this->gtk->set_sensitive(
boolval(
$this->navbar->container->content->getSelectedId()
)
);
}
}

View file

@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace Yggverse\Yoda\Entity\Browser\History\Container\Navbar;
class Filter extends \Yggverse\Yoda\Abstract\Entity\Browser\History\Container\Navbar\Entry
{
private string $_placeholder = 'Search in history...';
protected function _onActivate(
\GtkEntry $entry
): void
{
$this->navbar->container->content->search(
$entry->get_text()
);
}
protected function _onKeyRelease(
\GtkEntry $entry,
\GdkEvent $event
): void
{
$this->navbar->container->content->search(
$entry->get_text()
);
}
}

View file

@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
namespace Yggverse\Yoda\Entity\Browser\History\Container\Navbar;
class Open extends \Yggverse\Yoda\Abstract\Entity\Browser\History\Container\Navbar\Button
{
protected string $_label = 'Open';
protected function _onCLick(
\GtkButton $entity
): void
{
$this->navbar->container->history->browser->container->tab->append(
$this->navbar->container->content->getSelectedUrl()
);
}
public function refresh(): void
{
$this->gtk->set_sensitive(
boolval(
$this->navbar->container->content->getSelectedId()
)
);
}
}

View file

@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace Yggverse\Yoda\Entity\Browser\History\Container\Navbar;
class Search extends \Yggverse\Yoda\Abstract\Entity\Browser\History\Container\Navbar\Button
{
protected bool $_sensitive = true;
protected string $_label = 'Search';
protected function _onCLick(
\GtkButton $entity
): void
{
$this->navbar->container->content->search(
$this->navbar->filter->gtk->get_text()
);
}
}