Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tuneit
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
Ximper Linux
tuneit
Commits
99f31522
Commit
99f31522
authored
Feb 27, 2026
by
Roman Alifanov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widgets: migrate to Adw row widgets, unify reset button
parent
ba2a1ed1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
82 additions
and
154 deletions
+82
-154
BaseWidget.py
src/settings/setting/widgets/BaseWidget.py
+11
-14
BooleanWidget.py
src/settings/setting/widgets/BooleanWidget.py
+16
-25
ChoiceEntryWidget.py
src/settings/setting/widgets/ChoiceEntryWidget.py
+1
-10
ChoiceWidget.py
src/settings/setting/widgets/ChoiceWidget.py
+18
-26
EntryWidget.py
src/settings/setting/widgets/EntryWidget.py
+3
-17
FileChooser.py
src/settings/setting/widgets/FileChooser.py
+2
-13
NumStepper.py
src/settings/setting/widgets/NumStepper.py
+24
-42
RadioChoiceWidget.py
src/settings/setting/widgets/RadioChoiceWidget.py
+4
-4
ThemeChooserWidget.py
src/settings/setting/widgets/ThemeChooserWidget.py
+3
-3
No files found.
src/settings/setting/widgets/BaseWidget.py
View file @
99f31522
...
@@ -6,28 +6,25 @@ class BaseWidget:
...
@@ -6,28 +6,25 @@ class BaseWidget:
self
.
setting
=
setting
self
.
setting
=
setting
self
.
logger
=
logging
.
getLogger
(
f
"{self.__class__.__name__}"
)
self
.
logger
=
logging
.
getLogger
(
f
"{self.__class__.__name__}"
)
if
setting
.
default
is
not
None
:
icon_name
=
"edit-undo-symbolic"
tooltip
=
_
(
"Restore Default"
)
else
:
icon_name
=
"action-unavailable-symbolic"
tooltip
=
_
(
"No default value"
)
self
.
reset_button
=
Gtk
.
Button
(
self
.
reset_button
=
Gtk
.
Button
(
icon_name
=
"edit-undo-symbolic"
,
icon_name
=
icon_name
,
valign
=
Gtk
.
Align
.
CENTER
,
valign
=
Gtk
.
Align
.
CENTER
,
halign
=
Gtk
.
Align
.
CENTER
,
halign
=
Gtk
.
Align
.
CENTER
,
tooltip_text
=
_
(
"Restore Default"
)
tooltip_text
=
tooltip
,
sensitive
=
False
)
)
self
.
reset_button
.
add_css_class
(
'flat'
)
self
.
reset_button
.
add_css_class
(
'flat'
)
self
.
reset_button
.
connect
(
"clicked"
,
self
.
_on_reset_clicked
)
self
.
reset_button
.
connect
(
"clicked"
,
self
.
_on_reset_clicked
)
self
.
reset_revealer
=
Gtk
.
Revealer
(
self
.
reset_prefix
=
self
.
reset_button
transition_type
=
Gtk
.
RevealerTransitionType
.
CROSSFADE
,
transition_duration
=
150
,
child
=
self
.
reset_button
,
reveal_child
=
False
,
halign
=
Gtk
.
Align
.
END
)
self
.
reset_revealer
.
set_visible
(
False
)
self
.
reset_revealer
.
connect
(
"notify::reveal-child"
,
self
.
_on_reveal_changed
)
def
_on_reveal_changed
(
self
,
revealer
,
pspec
):
revealer
.
set_visible
(
revealer
.
get_reveal_child
())
def
update_display
(
self
):
def
update_display
(
self
):
raise
NotImplementedError
(
"update_display method should be implemented in the subclass"
)
raise
NotImplementedError
(
"update_display method should be implemented in the subclass"
)
...
...
src/settings/setting/widgets/BooleanWidget.py
View file @
99f31522
from
gi.repository
import
Adw
,
Gtk
from
gi.repository
import
Adw
from
.BaseWidget
import
BaseWidget
from
.BaseWidget
import
BaseWidget
class
BooleanWidget
(
BaseWidget
):
class
BooleanWidget
(
BaseWidget
):
def
create_row
(
self
):
def
create_row
(
self
):
self
.
row
=
Adw
.
Action
Row
(
title
=
self
.
setting
.
name
,
subtitle
=
self
.
setting
.
help
)
self
.
row
=
Adw
.
Switch
Row
(
title
=
self
.
setting
.
name
,
subtitle
=
self
.
setting
.
help
)
self
.
switch
=
Gtk
.
Switch
(
self
.
handler_id
=
self
.
row
.
connect
(
"notify::active"
,
self
.
_on_boolean_toggled
)
valign
=
Gtk
.
Align
.
CENTER
,
halign
=
Gtk
.
Align
.
CENTER
,
)
self
.
handler_id
=
self
.
switch
.
connect
(
"notify::active"
,
self
.
_on_boolean_toggled
)
self
.
row
.
set_activatable_widget
(
self
.
switch
)
control_box
=
Gtk
.
Box
(
spacing
=
6
,
orientation
=
Gtk
.
Orientation
.
HORIZONTAL
)
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
control_box
.
append
(
self
.
reset_revealer
)
control_box
.
append
(
self
.
switch
)
self
.
row
.
add_suffix
(
control_box
)
return
self
.
row
return
self
.
row
def
_update_initial_state
(
self
):
def
_update_initial_state
(
self
):
current_value
=
self
.
setting
.
_get_backend_value
()
current_value
=
self
.
setting
.
_get_backend_value
()
is_active
=
current_value
==
self
.
setting
.
map
.
get
(
True
)
is_active
=
current_value
==
self
.
setting
.
map
.
get
(
True
)
with
self
.
switch
.
handler_block
(
self
.
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
switch
.
set_active
(
is_active
)
self
.
row
.
set_active
(
is_active
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
def
update_display
(
self
):
def
update_display
(
self
):
self
.
_update_initial_state
()
self
.
_update_initial_state
()
def
_on_boolean_toggled
(
self
,
switch
,
_
):
def
_on_boolean_toggled
(
self
,
row
,
_
):
value
=
self
.
setting
.
map
.
get
(
True
)
if
switch
.
get_active
()
else
self
.
setting
.
map
.
get
(
False
)
value
=
self
.
setting
.
map
.
get
(
True
)
if
row
.
get_active
()
else
self
.
setting
.
map
.
get
(
False
)
self
.
setting
.
_set_backend_value
(
value
)
self
.
setting
.
_set_backend_value
(
value
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
...
@@ -43,17 +34,17 @@ class BooleanWidget(BaseWidget):
...
@@ -43,17 +34,17 @@ class BooleanWidget(BaseWidget):
default_value
=
self
.
setting
.
map
.
get
(
self
.
setting
.
default
)
default_value
=
self
.
setting
.
map
.
get
(
self
.
setting
.
default
)
self
.
setting
.
_set_backend_value
(
default_value
)
self
.
setting
.
_set_backend_value
(
default_value
)
with
self
.
switch
.
handler_block
(
self
.
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
switch
.
set_active
(
self
.
setting
.
default
)
self
.
row
.
set_active
(
self
.
setting
.
default
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
def
_update_reset_visibility
(
self
):
def
_update_reset_visibility
(
self
):
current_value
=
self
.
setting
.
_get_backend_value
()
current_value
=
self
.
setting
.
_get_backend_value
()
default_value
=
self
.
setting
.
map
.
get
(
self
.
setting
.
default
)
default_value
=
self
.
setting
.
map
.
get
(
self
.
setting
.
default
)
self
.
reset_
revealer
.
set_reveal_child
(
self
.
reset_
button
.
set_sensitive
(
current_value
!=
default_value
if
default_value
is
not
None
current_value
!=
default_value
if
default_value
is
not
None
else
False
else
False
)
)
src/settings/setting/widgets/ChoiceEntryWidget.py
View file @
99f31522
...
@@ -21,16 +21,7 @@ class ChoiceEntryWidget(BaseWidget):
...
@@ -21,16 +21,7 @@ class ChoiceEntryWidget(BaseWidget):
self
.
popover_button
.
add_css_class
(
"flat"
)
self
.
popover_button
.
add_css_class
(
"flat"
)
self
.
popover_button
.
insert_action_group
(
"choice"
,
action_group
)
self
.
popover_button
.
insert_action_group
(
"choice"
,
action_group
)
if
self
.
setting
.
default
is
not
None
:
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
self
.
reset_button
=
Gtk
.
Button
(
icon_name
=
"edit-undo-symbolic"
,
valign
=
Gtk
.
Align
.
CENTER
,
tooltip_text
=
_
(
"Restore Default"
),
)
self
.
reset_button
.
add_css_class
(
"flat"
)
self
.
reset_button
.
connect
(
"clicked"
,
self
.
_on_reset_clicked
)
self
.
row
.
add_prefix
(
self
.
reset_button
)
self
.
row
.
add_suffix
(
self
.
popover_button
)
self
.
row
.
add_suffix
(
self
.
popover_button
)
self
.
row
.
connect
(
"entry-activated"
,
self
.
_on_entry_activated
)
self
.
row
.
connect
(
"entry-activated"
,
self
.
_on_entry_activated
)
...
...
src/settings/setting/widgets/ChoiceWidget.py
View file @
99f31522
from
gi.repository
import
Adw
,
Gtk
from
gi.repository
import
Adw
,
Gtk
from
.BaseWidget
import
BaseWidget
from
.BaseWidget
import
BaseWidget
class
ChoiceWidget
(
BaseWidget
):
class
ChoiceWidget
(
BaseWidget
):
def
create_row
(
self
):
def
create_row
(
self
):
self
.
row
=
Adw
.
ActionRow
(
title
=
self
.
setting
.
name
,
subtitle
=
self
.
setting
.
help
)
self
.
model
=
Gtk
.
StringList
.
new
([])
self
.
model
=
Gtk
.
StringList
.
new
([])
expression
=
Gtk
.
PropertyExpression
.
new
(
Gtk
.
StringObject
,
None
,
"string"
)
self
.
row
=
Adw
.
ComboRow
(
self
.
dropdown
=
Gtk
.
DropDown
.
new
(
self
.
model
,
expression
)
title
=
self
.
setting
.
name
,
self
.
dropdown
.
set_halign
(
Gtk
.
Align
.
CENTER
)
subtitle
=
self
.
setting
.
help
,
self
.
dropdown
.
set_valign
(
Gtk
.
Align
.
CENTER
)
model
=
self
.
model
,
btn
=
self
.
dropdown
.
get_first_child
()
)
btn
.
add_css_class
(
"flat"
)
btn
.
add_css_class
(
"dropdown-flat"
)
self
.
handler_id
=
self
.
dropdown
.
connect
(
"notify::selected"
,
self
.
_on_choice_changed
)
self
.
row
.
set_activatable_widget
(
self
.
dropdown
)
self
.
handler_id
=
self
.
row
.
connect
(
"notify::selected"
,
self
.
_on_choice_changed
)
control_box
=
Gtk
.
Box
(
spacing
=
6
,
orientation
=
Gtk
.
Orientation
.
HORIZONTAL
)
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
control_box
.
append
(
self
.
reset_revealer
)
control_box
.
append
(
self
.
dropdown
)
self
.
row
.
add_suffix
(
control_box
)
return
self
.
row
return
self
.
row
def
update_display
(
self
):
def
update_display
(
self
):
...
@@ -36,22 +28,22 @@ class ChoiceWidget(BaseWidget):
...
@@ -36,22 +28,22 @@ class ChoiceWidget(BaseWidget):
def
_rebuild_items
(
self
):
def
_rebuild_items
(
self
):
items
=
list
(
self
.
setting
.
map
.
keys
())
if
self
.
setting
.
map
else
[]
items
=
list
(
self
.
setting
.
map
.
keys
())
if
self
.
setting
.
map
else
[]
with
self
.
dropdown
.
handler_block
(
self
.
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
model
.
splice
(
0
,
self
.
model
.
get_n_items
(),
items
)
self
.
model
.
splice
(
0
,
self
.
model
.
get_n_items
(),
items
)
self
.
dropdown
.
set_sensitive
(
bool
(
items
))
self
.
row
.
set_sensitive
(
bool
(
items
))
def
_update_dropdown_selection
(
self
):
def
_update_dropdown_selection
(
self
):
if
not
self
.
setting
.
map
:
if
not
self
.
setting
.
map
:
return
return
current_index
=
self
.
setting
.
_get_selected_row_index
()
current_index
=
self
.
setting
.
_get_selected_row_index
()
with
self
.
dropdown
.
handler_block
(
self
.
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
dropdown
.
set_selected
(
current_index
)
self
.
row
.
set_selected
(
current_index
)
def
_on_choice_changed
(
self
,
dropdown
,
_
):
def
_on_choice_changed
(
self
,
row
,
_
):
if
not
self
.
setting
.
map
:
if
not
self
.
setting
.
map
:
return
return
selected
=
dropdown
.
get_selected
()
selected
=
row
.
get_selected
()
if
selected
<
0
or
selected
>=
len
(
self
.
setting
.
map
):
if
selected
<
0
or
selected
>=
len
(
self
.
setting
.
map
):
return
return
...
@@ -63,20 +55,20 @@ class ChoiceWidget(BaseWidget):
...
@@ -63,20 +55,20 @@ class ChoiceWidget(BaseWidget):
default_value
=
self
.
setting
.
_get_default_row_index
()
default_value
=
self
.
setting
.
_get_default_row_index
()
if
default_value
is
not
None
:
if
default_value
is
not
None
:
with
self
.
dropdown
.
handler_block
(
self
.
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
dropdown
.
set_selected
(
default_value
)
self
.
row
.
set_selected
(
default_value
)
self
.
setting
.
_set_backend_value
(
self
.
setting
.
default
)
self
.
setting
.
_set_backend_value
(
self
.
setting
.
default
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
def
_update_reset_visibility
(
self
):
def
_update_reset_visibility
(
self
):
if
not
self
.
setting
.
map
:
if
not
self
.
setting
.
map
:
self
.
reset_
revealer
.
set_reveal_child
(
False
)
self
.
reset_
button
.
set_sensitive
(
False
)
return
return
current_value
=
self
.
setting
.
_get_selected_row_index
()
current_value
=
self
.
setting
.
_get_selected_row_index
()
default_value
=
self
.
setting
.
_get_default_row_index
()
default_value
=
self
.
setting
.
_get_default_row_index
()
self
.
reset_
revealer
.
set_reveal_child
(
self
.
reset_
button
.
set_sensitive
(
current_value
!=
default_value
current_value
!=
default_value
if
default_value
is
not
None
if
default_value
is
not
None
else
False
else
False
...
...
src/settings/setting/widgets/EntryWidget.py
View file @
99f31522
from
gi.repository
import
Gtk
,
Adw
from
gi.repository
import
Adw
from
.BaseWidget
import
BaseWidget
from
.BaseWidget
import
BaseWidget
class
EntryWidget
(
BaseWidget
):
class
EntryWidget
(
BaseWidget
):
def
create_row
(
self
):
def
create_row
(
self
):
self
.
row
=
Adw
.
EntryRow
(
title
=
self
.
setting
.
name
)
self
.
row
=
Adw
.
EntryRow
(
title
=
self
.
setting
.
name
)
if
self
.
setting
.
default
is
not
None
:
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
self
.
reset_button
=
Gtk
.
Button
(
icon_name
=
"edit-undo-symbolic"
,
valign
=
Gtk
.
Align
.
CENTER
,
tooltip_text
=
_
(
"Restore Default"
)
)
self
.
reset_button
.
add_css_class
(
"flat"
)
self
.
reset_button
.
connect
(
"clicked"
,
self
.
_on_reset_clicked
)
self
.
row
.
add_prefix
(
self
.
reset_button
)
self
.
row
.
connect
(
"entry-activated"
,
self
.
_on_text_changed
)
self
.
row
.
connect
(
"entry-activated"
,
self
.
_on_text_changed
)
return
self
.
row
return
self
.
row
...
@@ -25,14 +17,11 @@ class EntryWidget(BaseWidget):
...
@@ -25,14 +17,11 @@ class EntryWidget(BaseWidget):
def
_on_text_changed
(
self
,
row
):
def
_on_text_changed
(
self
,
row
):
new_value
=
row
.
get_text
()
new_value
=
row
.
get_text
()
self
.
setting
.
_set_backend_value
(
new_value
)
self
.
setting
.
_set_backend_value
(
new_value
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
def
_on_reset_clicked
(
self
,
button
):
def
_on_reset_clicked
(
self
,
button
):
default_value
=
self
.
setting
.
default
default_value
=
self
.
setting
.
default
self
.
setting
.
_set_backend_value
(
default_value
)
self
.
setting
.
_set_backend_value
(
default_value
)
self
.
row
.
set_text
(
str
(
default_value
)
if
default_value
is
not
None
else
""
)
self
.
row
.
set_text
(
str
(
default_value
)
if
default_value
is
not
None
else
""
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
...
@@ -43,6 +32,4 @@ class EntryWidget(BaseWidget):
...
@@ -43,6 +32,4 @@ class EntryWidget(BaseWidget):
current_value
=
self
.
row
.
get_text
()
current_value
=
self
.
row
.
get_text
()
default_value
=
str
(
self
.
setting
.
default
)
default_value
=
str
(
self
.
setting
.
default
)
is_default
=
current_value
==
default_value
self
.
reset_button
.
set_sensitive
(
current_value
!=
default_value
)
self
.
reset_button
.
set_sensitive
(
not
is_default
)
\ No newline at end of file
src/settings/setting/widgets/FileChooser.py
View file @
99f31522
...
@@ -18,19 +18,9 @@ class FileChooser(BaseWidget):
...
@@ -18,19 +18,9 @@ class FileChooser(BaseWidget):
self
.
select_button
.
add_css_class
(
"flat"
)
self
.
select_button
.
add_css_class
(
"flat"
)
self
.
select_button
.
connect
(
"clicked"
,
self
.
_on_button_clicked
)
self
.
select_button
.
connect
(
"clicked"
,
self
.
_on_button_clicked
)
if
self
.
setting
.
default
is
not
None
:
self
.
reset_button
=
Gtk
.
Button
(
icon_name
=
"edit-undo-symbolic"
,
valign
=
Gtk
.
Align
.
CENTER
,
tooltip_text
=
_
(
"Restore Default"
)
)
self
.
reset_button
.
add_css_class
(
"flat"
)
self
.
reset_button
.
connect
(
"clicked"
,
self
.
_on_reset_clicked
)
if
not
self
.
multiple_mode
and
not
self
.
folder_mode
:
if
not
self
.
multiple_mode
and
not
self
.
folder_mode
:
self
.
row
=
Adw
.
EntryRow
(
title
=
self
.
setting
.
name
)
self
.
row
=
Adw
.
EntryRow
(
title
=
self
.
setting
.
name
)
if
self
.
setting
.
default
is
not
None
:
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
self
.
row
.
add_prefix
(
self
.
reset_button
)
self
.
row
.
add_suffix
(
self
.
select_button
)
self
.
row
.
add_suffix
(
self
.
select_button
)
self
.
row
.
connect
(
"entry-activated"
,
self
.
_on_entry_changed
)
self
.
row
.
connect
(
"entry-activated"
,
self
.
_on_entry_changed
)
else
:
else
:
...
@@ -47,8 +37,7 @@ class FileChooser(BaseWidget):
...
@@ -47,8 +37,7 @@ class FileChooser(BaseWidget):
css_classes
=
[
"dim-label"
]
css_classes
=
[
"dim-label"
]
)
)
if
self
.
setting
.
default
is
not
None
:
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
self
.
row
.
add_prefix
(
self
.
reset_button
)
self
.
row
.
add_suffix
(
self
.
info_label
)
self
.
row
.
add_suffix
(
self
.
info_label
)
self
.
row
.
add_suffix
(
self
.
select_button
)
self
.
row
.
add_suffix
(
self
.
select_button
)
...
...
src/settings/setting/widgets/NumStepper.py
View file @
99f31522
...
@@ -5,20 +5,6 @@ from .BaseWidget import BaseWidget
...
@@ -5,20 +5,6 @@ from .BaseWidget import BaseWidget
class
NumStepper
(
BaseWidget
):
class
NumStepper
(
BaseWidget
):
def
create_row
(
self
):
def
create_row
(
self
):
map_data
=
self
.
setting
.
map
or
{}
map_data
=
self
.
setting
.
map
or
{}
map_keys
=
list
(
map_data
.
keys
())
row
=
Adw
.
ActionRow
(
title
=
self
.
setting
.
name
,
subtitle
=
self
.
setting
.
help
,
activatable
=
False
)
self
.
row
=
row
self
.
spin
=
Gtk
.
SpinButton
(
valign
=
Gtk
.
Align
.
CENTER
,
halign
=
Gtk
.
Align
.
CENTER
,
css_classes
=
[
"flat"
],
)
lower
,
upper
,
step
,
digits
=
self
.
_get_range_values
(
map_data
)
lower
,
upper
,
step
,
digits
=
self
.
_get_range_values
(
map_data
)
adjustment
=
Gtk
.
Adjustment
(
adjustment
=
Gtk
.
Adjustment
(
...
@@ -27,22 +13,18 @@ class NumStepper(BaseWidget):
...
@@ -27,22 +13,18 @@ class NumStepper(BaseWidget):
upper
=
upper
,
upper
=
upper
,
step_increment
=
step
,
step_increment
=
step
,
)
)
self
.
spin
.
set_adjustment
(
adjustment
)
self
.
spin
.
set_sensitive
(
bool
(
map_data
))
if
"digits"
in
map_keys
:
self
.
spin
.
set_digits
(
map_data
[
"digits"
])
control_box
=
Gtk
.
Box
(
self
.
row
=
Adw
.
SpinRow
(
orientation
=
Gtk
.
Orientation
.
HORIZONTAL
,
title
=
self
.
setting
.
name
,
spacing
=
6
,
subtitle
=
self
.
setting
.
help
,
margin_start
=
12
adjustment
=
adjustment
,
digits
=
digits
,
)
)
control_box
.
append
(
self
.
reset_revealer
)
self
.
row
.
set_sensitive
(
bool
(
map_data
))
control_box
.
append
(
self
.
spin
)
self
.
row
.
add_prefix
(
self
.
reset_prefix
)
row
.
add_suffix
(
control_box
)
self
.
handler_id
=
self
.
row
.
connect
(
"notify::value"
,
self
.
_on_num_changed
)
self
.
spin_handler_id
=
self
.
spin
.
connect
(
"value-changed"
,
self
.
_on_num_changed
)
return
self
.
row
return
self
.
row
def
update_display
(
self
):
def
update_display
(
self
):
...
@@ -50,27 +32,27 @@ class NumStepper(BaseWidget):
...
@@ -50,27 +32,27 @@ class NumStepper(BaseWidget):
return
return
current_value
=
self
.
setting
.
_get_backend_value
()
current_value
=
self
.
setting
.
_get_backend_value
()
if
current_value
is
None
:
if
current_value
is
None
:
current_value
=
self
.
spin
.
get_adjustment
()
.
get_lower
()
current_value
=
self
.
row
.
get_adjustment
()
.
get_lower
()
with
self
.
spin
.
handler_block
(
self
.
spin_
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
spin
.
set_value
(
float
(
current_value
))
self
.
row
.
set_value
(
float
(
current_value
))
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
def
on_map_updated
(
self
):
def
on_map_updated
(
self
):
map_data
=
self
.
setting
.
map
or
{}
map_data
=
self
.
setting
.
map
or
{}
lower
,
upper
,
step
,
digits
=
self
.
_get_range_values
(
map_data
)
lower
,
upper
,
step
,
digits
=
self
.
_get_range_values
(
map_data
)
adjustment
=
self
.
spin
.
get_adjustment
()
adjustment
=
self
.
row
.
get_adjustment
()
with
self
.
spin
.
handler_block
(
self
.
spin_
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
adjustment
.
set_lower
(
lower
)
adjustment
.
set_lower
(
lower
)
adjustment
.
set_upper
(
upper
)
adjustment
.
set_upper
(
upper
)
adjustment
.
set_step_increment
(
step
)
adjustment
.
set_step_increment
(
step
)
self
.
spin
.
set_digits
(
digits
)
self
.
row
.
set_digits
(
digits
)
self
.
spin
.
set_sensitive
(
bool
(
map_data
))
self
.
row
.
set_sensitive
(
bool
(
map_data
))
self
.
update_display
()
self
.
update_display
()
def
_on_num_changed
(
self
,
widget
):
def
_on_num_changed
(
self
,
row
,
_
):
selected_value
=
widget
.
get_value
()
selected_value
=
row
.
get_value
()
if
self
.
spin
.
get_digits
()
==
0
:
if
self
.
row
.
get_digits
()
==
0
:
selected_value
=
int
(
selected_value
)
selected_value
=
int
(
selected_value
)
self
.
setting
.
_set_backend_value
(
selected_value
)
self
.
setting
.
_set_backend_value
(
selected_value
)
...
@@ -81,24 +63,24 @@ class NumStepper(BaseWidget):
...
@@ -81,24 +63,24 @@ class NumStepper(BaseWidget):
default_value
=
self
.
setting
.
default
default_value
=
self
.
setting
.
default
if
default_value
is
not
None
:
if
default_value
is
not
None
:
with
self
.
spin
.
handler_block
(
self
.
spin_
handler_id
):
with
self
.
row
.
handler_block
(
self
.
handler_id
):
self
.
setting
.
_set_backend_value
(
default_value
)
self
.
setting
.
_set_backend_value
(
default_value
)
self
.
spin
.
set_value
(
float
(
default_value
))
self
.
row
.
set_value
(
float
(
default_value
))
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
def
_update_reset_visibility
(
self
):
def
_update_reset_visibility
(
self
):
if
not
self
.
setting
.
map
:
if
not
self
.
setting
.
map
:
self
.
reset_
revealer
.
set_reveal_child
(
False
)
self
.
reset_
button
.
set_sensitive
(
False
)
return
return
current_value
=
self
.
setting
.
_get_backend_value
()
current_value
=
self
.
setting
.
_get_backend_value
()
if
current_value
is
None
:
if
current_value
is
None
:
self
.
reset_
revealer
.
set_reveal_child
(
False
)
self
.
reset_
button
.
set_sensitive
(
False
)
return
return
current_value
=
float
(
current_value
)
current_value
=
float
(
current_value
)
default_value
=
self
.
setting
.
default
default_value
=
self
.
setting
.
default
self
.
reset_
revealer
.
set_reveal_child
(
self
.
reset_
button
.
set_sensitive
(
current_value
!=
default_value
if
default_value
is
not
None
current_value
!=
default_value
if
default_value
is
not
None
else
False
else
False
)
)
...
...
src/settings/setting/widgets/RadioChoiceWidget.py
View file @
99f31522
...
@@ -60,8 +60,8 @@ class RadioChoiceWidget(BaseWidget):
...
@@ -60,8 +60,8 @@ class RadioChoiceWidget(BaseWidget):
self
.
radio_buttons
=
{}
self
.
radio_buttons
=
{}
self
.
_build_radio_buttons
()
self
.
_build_radio_buttons
()
self
.
reset_
revealer
.
set_halign
(
Gtk
.
Align
.
END
)
self
.
reset_
prefix
.
set_halign
(
Gtk
.
Align
.
END
)
title_horizontal_box
.
append
(
self
.
reset_
revealer
)
title_horizontal_box
.
append
(
self
.
reset_
prefix
)
self
.
_update_reset_visibility
()
self
.
_update_reset_visibility
()
return
self
.
row
return
self
.
row
...
@@ -131,11 +131,11 @@ class RadioChoiceWidget(BaseWidget):
...
@@ -131,11 +131,11 @@ class RadioChoiceWidget(BaseWidget):
def
_update_reset_visibility
(
self
):
def
_update_reset_visibility
(
self
):
if
not
self
.
setting
.
map
:
if
not
self
.
setting
.
map
:
self
.
reset_
revealer
.
set_reveal_child
(
False
)
self
.
reset_
button
.
set_sensitive
(
False
)
return
return
current_value
=
self
.
setting
.
_get_backend_value
()
current_value
=
self
.
setting
.
_get_backend_value
()
default_value
=
self
.
setting
.
default
default_value
=
self
.
setting
.
default
self
.
reset_
revealer
.
set_reveal_child
(
self
.
reset_
button
.
set_sensitive
(
current_value
!=
default_value
if
default_value
is
not
None
else
False
current_value
!=
default_value
if
default_value
is
not
None
else
False
)
)
src/settings/setting/widgets/ThemeChooserWidget.py
View file @
99f31522
...
@@ -93,8 +93,8 @@ class ThemeChooserWidget(BaseWidget):
...
@@ -93,8 +93,8 @@ class ThemeChooserWidget(BaseWidget):
subtitle_label
.
add_css_class
(
"dim-label"
)
subtitle_label
.
add_css_class
(
"dim-label"
)
title_box
.
append
(
subtitle_label
)
title_box
.
append
(
subtitle_label
)
self
.
reset_
revealer
.
set_halign
(
Gtk
.
Align
.
END
)
self
.
reset_
prefix
.
set_halign
(
Gtk
.
Align
.
END
)
header_box
.
append
(
self
.
reset_
revealer
)
header_box
.
append
(
self
.
reset_
prefix
)
# FlowBox for theme cards
# FlowBox for theme cards
self
.
flowbox
=
Gtk
.
FlowBox
(
self
.
flowbox
=
Gtk
.
FlowBox
(
...
@@ -336,6 +336,6 @@ class ThemeChooserWidget(BaseWidget):
...
@@ -336,6 +336,6 @@ class ThemeChooserWidget(BaseWidget):
current_value
=
self
.
setting
.
_get_backend_value
()
current_value
=
self
.
setting
.
_get_backend_value
()
default_value
=
self
.
setting
.
default
default_value
=
self
.
setting
.
default
self
.
reset_
revealer
.
set_reveal_child
(
self
.
reset_
button
.
set_sensitive
(
current_value
!=
default_value
if
default_value
is
not
None
else
False
current_value
!=
default_value
if
default_value
is
not
None
else
False
)
)
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