mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-03-31 16:45:27 +00:00
add go button released event
This commit is contained in:
parent
4b50edd3d0
commit
c7e4c00176
2 changed files with 94 additions and 82 deletions
174
src/Box/Tab.php
174
src/Box/Tab.php
|
|
@ -72,95 +72,109 @@ class Tab
|
||||||
true,
|
true,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
public function activate()
|
|
||||||
{
|
|
||||||
$this->navigation->address->entry->connect(
|
$this->navigation->address->entry->connect(
|
||||||
'activate',
|
'activate',
|
||||||
function ($entry)
|
function ($entry)
|
||||||
{
|
{
|
||||||
global $config;
|
$this->navigate(
|
||||||
|
$entry->get_text()
|
||||||
$this->tray->label->set_text(
|
|
||||||
sprintf(
|
|
||||||
'Open %s...',
|
|
||||||
urldecode(
|
|
||||||
$entry->get_text()
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
$start = microtime(true);
|
$this->navigation->go->button->connect(
|
||||||
|
'released',
|
||||||
$host = null;
|
function ($entry)
|
||||||
|
{
|
||||||
if ($config->resolver->enabled)
|
$this->navigate(
|
||||||
{
|
$this->navigation->address->entry->get_text()
|
||||||
$address = new \Yggverse\Net\Address(
|
|
||||||
$entry->get_text()
|
|
||||||
);
|
|
||||||
|
|
||||||
$name = $address->getHost();
|
|
||||||
|
|
||||||
if (!$host = $this->memory->get($name))
|
|
||||||
{
|
|
||||||
$resolve = new \Yggverse\Net\Resolve(
|
|
||||||
$config->resolver->request->record,
|
|
||||||
$config->resolver->request->host,
|
|
||||||
$config->resolver->request->timeout,
|
|
||||||
$config->resolver->result->shuffle
|
|
||||||
);
|
|
||||||
|
|
||||||
$resolved = $resolve->address(
|
|
||||||
$address
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($resolved)
|
|
||||||
{
|
|
||||||
$host = $resolved->getHost();
|
|
||||||
|
|
||||||
$this->memory->set(
|
|
||||||
$name,
|
|
||||||
$host
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$request = new \Yggverse\Gemini\Client\Request(
|
|
||||||
$entry->get_text(),
|
|
||||||
$host
|
|
||||||
);
|
|
||||||
|
|
||||||
$raw = $request->getResponse();
|
|
||||||
|
|
||||||
$end = microtime(true);
|
|
||||||
|
|
||||||
$response = new \Yggverse\Gemini\Client\Response(
|
|
||||||
$raw
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->content->label->set_markup(
|
|
||||||
$response->getBody()
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->tray->label->set_text(
|
|
||||||
sprintf(
|
|
||||||
'%s | %s | %d bytes | %s seconds',
|
|
||||||
date('c'),
|
|
||||||
$response->getMeta() ? $response->getMeta() : $response->getCode(),
|
|
||||||
number_format(
|
|
||||||
mb_strlen(
|
|
||||||
$raw
|
|
||||||
)
|
|
||||||
),
|
|
||||||
round(
|
|
||||||
$end - $start, 2
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function navigate(string $url)
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
$this->tray->label->set_text(
|
||||||
|
sprintf(
|
||||||
|
'Open %s...',
|
||||||
|
urldecode(
|
||||||
|
$url
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$start = microtime(true);
|
||||||
|
|
||||||
|
$host = null;
|
||||||
|
|
||||||
|
if ($config->resolver->enabled)
|
||||||
|
{
|
||||||
|
$address = new \Yggverse\Net\Address(
|
||||||
|
$url
|
||||||
|
);
|
||||||
|
|
||||||
|
$name = $address->getHost();
|
||||||
|
|
||||||
|
if (!$host = $this->memory->get($name))
|
||||||
|
{
|
||||||
|
$resolve = new \Yggverse\Net\Resolve(
|
||||||
|
$config->resolver->request->record,
|
||||||
|
$config->resolver->request->host,
|
||||||
|
$config->resolver->request->timeout,
|
||||||
|
$config->resolver->result->shuffle
|
||||||
|
);
|
||||||
|
|
||||||
|
$resolved = $resolve->address(
|
||||||
|
$address
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($resolved)
|
||||||
|
{
|
||||||
|
$host = $resolved->getHost();
|
||||||
|
|
||||||
|
$this->memory->set(
|
||||||
|
$name,
|
||||||
|
$host
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$request = new \Yggverse\Gemini\Client\Request(
|
||||||
|
$url,
|
||||||
|
$host
|
||||||
|
);
|
||||||
|
|
||||||
|
$raw = $request->getResponse();
|
||||||
|
|
||||||
|
$end = microtime(true);
|
||||||
|
|
||||||
|
$response = new \Yggverse\Gemini\Client\Response(
|
||||||
|
$raw
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->content->label->set_markup(
|
||||||
|
$response->getBody()
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->tray->label->set_text(
|
||||||
|
sprintf(
|
||||||
|
'%s | %s | %d bytes | %s seconds',
|
||||||
|
date('c'),
|
||||||
|
$response->getMeta() ? $response->getMeta() : $response->getCode(),
|
||||||
|
number_format(
|
||||||
|
mb_strlen(
|
||||||
|
$raw
|
||||||
|
)
|
||||||
|
),
|
||||||
|
round(
|
||||||
|
$end - $start, 2
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -63,8 +63,6 @@ $window->connect(
|
||||||
|
|
||||||
$tab = new \Yggverse\Yoda\Box\Tab();
|
$tab = new \Yggverse\Yoda\Box\Tab();
|
||||||
|
|
||||||
$tab->activate();
|
|
||||||
|
|
||||||
$window->add(
|
$window->add(
|
||||||
$tab->box
|
$tab->box
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue