Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
eepm-play-gui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladimir Vaskov
eepm-play-gui
Commits
0811624c
Commit
0811624c
authored
Oct 03, 2024
by
Roman Alifanov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
applications updating and more!
parent
896012d5
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
11 deletions
+58
-11
ru.po
po/ru.po
+22
-7
window.cmb
src/window.cmb
+1
-1
window.py
src/window.py
+34
-2
window.ui
src/window.ui
+1
-1
No files found.
po/ru.po
View file @
0811624c
msgid ""
msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: ru.eepm.PlayGUI\n"
"Project-Id-Version: ru.eepm.PlayGUI\n"
"POT-Creation-Date: 2024-
09-30 20:54
+0300\n"
"POT-Creation-Date: 2024-
10-03 01:52
+0300\n"
"PO-Revision-Date: 2024-
09-30 20:54
+0300\n"
"PO-Revision-Date: 2024-
10-03 01:52
+0300\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language-Team: \n"
"Language: ru\n"
"Language: ru\n"
...
@@ -28,6 +28,22 @@ msgctxt "shortcut window"
...
@@ -28,6 +28,22 @@ msgctxt "shortcut window"
msgid "Quit"
msgid "Quit"
msgstr "Выйти"
msgstr "Выйти"
#: window.py:160
msgid "Remove and install applications"
msgstr "Удалить и установить программы"
#: window.py:163
msgid "Install applications"
msgstr "Установить программы"
#: window.py:166
msgid "Remove applications"
msgstr "Удалить программы"
#: window.py:169 window.ui:99
msgid "Update applications"
msgstr "Обновить программы"
#: window.ui:20
#: window.ui:20
msgid "Menu"
msgid "Menu"
msgstr ""
msgstr ""
...
@@ -44,10 +60,9 @@ msgstr "Установленные"
...
@@ -44,10 +60,9 @@ msgstr "Установленные"
msgid "Uninstalled"
msgid "Uninstalled"
msgstr "Неустановленные"
msgstr "Неустановленные"
#: window.ui:98
#: window.ui:121
msgid "Apply"
msgstr "Применить"
#: window.ui:120
msgid "_About Eepm-play-gui"
msgid "_About Eepm-play-gui"
msgstr "О программе"
msgstr "О программе"
#~ msgid "Apply"
#~ msgstr "Применить"
src/window.cmb
View file @
0811624c
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
(1,14,"GtkWidget","margin-top","12",0,None,None,None,None,None,None,None,None),
(1,14,"GtkWidget","margin-top","12",0,None,None,None,None,None,None,None,None),
(1,21,"(item)","action","app.about",0,None,None,None,None,None,None,None,None),
(1,21,"(item)","action","app.about",0,None,None,None,None,None,None,None,None),
(1,21,"(item)","label","_About Eepm-play-gui",1,None,None,None,None,None,None,None,None),
(1,21,"(item)","label","_About Eepm-play-gui",1,None,None,None,None,None,None,None,None),
(1,22,"AdwPreferencesRow","title","
Apply
",1,None,None,None,None,None,None,None,None),
(1,22,"AdwPreferencesRow","title","
Update applications
",1,None,None,None,None,None,None,None,None),
(1,22,"GtkWidget","margin-start","1",None,None,None,None,None,None,None,None,None)
(1,22,"GtkWidget","margin-start","1",None,None,None,None,None,None,None,None,None)
</object_property>
</object_property>
<object_data>
<object_data>
...
...
src/window.py
View file @
0811624c
...
@@ -19,10 +19,13 @@
...
@@ -19,10 +19,13 @@
from
gi.repository
import
Gtk
,
Adw
from
gi.repository
import
Gtk
,
Adw
import
gettext
gettext
.
textdomain
(
'eepm-play-gui'
)
_
=
gettext
.
gettext
from
.appsmanager
import
ApplicationManager
from
.appsmanager
import
ApplicationManager
from
.command_runner
import
CommandRunner
from
.command_runner
import
CommandRunner
class
LogDialog
(
Adw
.
Dialog
):
class
LogDialog
(
Adw
.
Dialog
):
def
__init__
(
self
,
win
,
**
kwargs
):
def
__init__
(
self
,
win
,
**
kwargs
):
super
()
.
__init__
(
**
kwargs
)
super
()
.
__init__
(
**
kwargs
)
...
@@ -74,6 +77,8 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
...
@@ -74,6 +77,8 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
def
__init__
(
self
,
**
kwargs
):
def
__init__
(
self
,
**
kwargs
):
super
()
.
__init__
(
**
kwargs
)
super
()
.
__init__
(
**
kwargs
)
self
.
checkboxes
=
None
self
.
apply_button
.
connect
(
"activated"
,
self
.
on_apply_clicked
)
self
.
apply_button
.
connect
(
"activated"
,
self
.
on_apply_clicked
)
self
.
search_entry
.
connect
(
"search-changed"
,
self
.
on_search_changed
)
self
.
search_entry
.
connect
(
"search-changed"
,
self
.
on_search_changed
)
...
@@ -101,8 +106,12 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
...
@@ -101,8 +106,12 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
def
update_ui
(
self
):
def
update_ui
(
self
):
self
.
show_loading_spinner
()
# Show loading again for installed apps
self
.
show_loading_spinner
()
# Show loading again for installed apps
self
.
update_button_status
()
ApplicationManager
.
get_available_applications
(
self
.
on_applications_loaded
)
ApplicationManager
.
get_available_applications
(
self
.
on_applications_loaded
)
ApplicationManager
.
get_installed_applications
(
self
.
on_installed_apps_loaded
)
ApplicationManager
.
get_installed_applications
(
self
.
on_installed_apps_loaded
)
self
.
choice_listbox
.
invalidate_filter
()
self
.
choice_listbox
.
invalidate_filter
()
def
on_installed_apps_loaded
(
self
,
installed_apps
,
error
=
None
):
def
on_installed_apps_loaded
(
self
,
installed_apps
,
error
=
None
):
...
@@ -141,6 +150,24 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
...
@@ -141,6 +150,24 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
active
=
checkbox
.
get_active
()
active
=
checkbox
.
get_active
()
print
(
f
"{app_name} {'установлен' if active else 'снят'}"
)
print
(
f
"{app_name} {'установлен' if active else 'снят'}"
)
self
.
update_button_status
()
def
update_button_status
(
self
):
to_install
,
to_remove
=
self
.
get_install_remove_lists
()
self
.
apply_button
.
remove_css_class
(
"suggested-action"
)
self
.
apply_button
.
remove_css_class
(
"destructive-action"
)
if
to_install
and
to_remove
:
self
.
apply_button
.
add_css_class
(
"suggested-action"
)
self
.
apply_button
.
set_title
(
_
(
"Remove and install applications"
))
elif
to_install
:
self
.
apply_button
.
add_css_class
(
"suggested-action"
)
self
.
apply_button
.
set_title
(
_
(
"Install applications"
))
elif
to_remove
:
self
.
apply_button
.
add_css_class
(
"destructive-action"
)
self
.
apply_button
.
set_title
(
_
(
"Remove applications"
))
else
:
self
.
apply_button
.
add_css_class
(
"suggested-action"
)
self
.
apply_button
.
set_title
(
_
(
"Update applications"
))
def
on_search_changed
(
self
,
search_entry
):
def
on_search_changed
(
self
,
search_entry
):
self
.
choice_listbox
.
invalidate_filter
()
# Обновление фильтра при изменении поиска
self
.
choice_listbox
.
invalidate_filter
()
# Обновление фильтра при изменении поиска
...
@@ -179,12 +206,17 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
...
@@ -179,12 +206,17 @@ class EepmPlayGuiWindow(Adw.ApplicationWindow, LogDialog):
full_command
=
" && "
.
join
(
commands
)
full_command
=
" && "
.
join
(
commands
)
pkexec_command
=
f
'pkexec sh -c "{full_command}"'
pkexec_command
=
f
'pkexec sh -c "{full_command}"'
self
.
dialog
.
run
(
pkexec_command
,
on_done
=
self
.
update_ui
)
self
.
dialog
.
run
(
pkexec_command
,
on_done
=
self
.
update_ui
)
else
:
self
.
dialog
.
run
(
"pkexec epm play --update all"
,
on_done
=
self
.
update_ui
)
def
get_install_remove_lists
(
self
):
def
get_install_remove_lists
(
self
):
if
self
.
checkboxes
:
to_install
=
[
app_name
for
app_name
,
checkbox
in
self
.
checkboxes
.
items
()
if
checkbox
.
get_active
()
and
app_name
not
in
self
.
installed_apps
]
to_install
=
[
app_name
for
app_name
,
checkbox
in
self
.
checkboxes
.
items
()
if
checkbox
.
get_active
()
and
app_name
not
in
self
.
installed_apps
]
to_remove
=
[
app_name
for
app_name
,
checkbox
in
self
.
checkboxes
.
items
()
if
not
checkbox
.
get_active
()
and
app_name
in
self
.
installed_apps
]
to_remove
=
[
app_name
for
app_name
,
checkbox
in
self
.
checkboxes
.
items
()
if
not
checkbox
.
get_active
()
and
app_name
in
self
.
installed_apps
]
return
to_install
,
to_remove
return
to_install
,
to_remove
else
:
return
False
,
False
def
build_commands
(
self
,
to_install
,
to_remove
):
def
build_commands
(
self
,
to_install
,
to_remove
):
commands
=
[]
commands
=
[]
if
to_install
:
if
to_install
:
...
...
src/window.ui
View file @
0811624c
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
<child>
<child>
<object
class=
"AdwButtonRow"
id=
"apply_button"
>
<object
class=
"AdwButtonRow"
id=
"apply_button"
>
<property
name=
"margin-start"
>
1
</property>
<property
name=
"margin-start"
>
1
</property>
<property
name=
"title"
translatable=
"yes"
>
Apply
</property>
<property
name=
"title"
translatable=
"yes"
>
Update applications
</property>
<style>
<style>
<class
name=
"suggested-action"
/>
<class
name=
"suggested-action"
/>
</style>
</style>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment