mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-02 17:45:28 +00:00
implement file pattern support
This commit is contained in:
parent
35cc6cdd06
commit
475f5749b0
1 changed files with 23 additions and 0 deletions
|
|
@ -14,6 +14,12 @@ class Open
|
||||||
// Defaults
|
// Defaults
|
||||||
private string $_label = 'Open';
|
private string $_label = 'Open';
|
||||||
private bool $_multiple = true;
|
private bool $_multiple = true;
|
||||||
|
private array $_pattern =
|
||||||
|
[
|
||||||
|
// pattern:name
|
||||||
|
'*' => 'All',
|
||||||
|
'*.gmi' => null
|
||||||
|
];
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
\Yggverse\Yoda\Entity\Browser\Menu\File $file
|
\Yggverse\Yoda\Entity\Browser\Menu\File $file
|
||||||
|
|
@ -53,6 +59,23 @@ class Open
|
||||||
$this->_multiple
|
$this->_multiple
|
||||||
);
|
);
|
||||||
|
|
||||||
|
foreach ($this->_pattern as $pattern => $name)
|
||||||
|
{
|
||||||
|
$filter = new \GtkFileFilter;
|
||||||
|
|
||||||
|
$filter->set_name(
|
||||||
|
$name ? $name : $pattern
|
||||||
|
);
|
||||||
|
|
||||||
|
$filter->add_pattern(
|
||||||
|
$pattern
|
||||||
|
);
|
||||||
|
|
||||||
|
$dialog->add_filter(
|
||||||
|
$filter
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (\GtkResponseType::OK == $dialog->run())
|
if (\GtkResponseType::OK == $dialog->run())
|
||||||
{
|
{
|
||||||
foreach ($dialog->get_filenames() as $filename)
|
foreach ($dialog->get_filenames() as $filename)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue