Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions xinput_gui/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,7 @@ def main():

view_controller = ViewController()
view_controller.start()


if __name__ == "__main__":
main()
16 changes: 9 additions & 7 deletions xinput_gui/gui/device_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename
from importlib.resources import as_file, files

from ..settings import Settings
from ..xinput.devices import Device, DeviceType
Expand Down Expand Up @@ -60,12 +60,14 @@ def __init__(self, controller: 'ViewController', main_window: 'MainWindow', sett

def get_builder(self) -> Gtk.Builder:
'''Get device list Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['grid_device_list', 'store_devices'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['grid_device_list', 'store_devices'])
return builder

def apply_settings(self) -> None:
'''Apply current settings.'''
Expand Down
19 changes: 11 additions & 8 deletions xinput_gui/gui/dialog_about.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import require, resource_filename

from importlib.resources import as_file, files
from importlib.metadata import version

__version__ = require('xinput_gui')[0].version
__version__ = version('xinput_gui')


class AboutDialog:
Expand All @@ -44,12 +45,14 @@ def __init__(self, main_window) -> None:

def get_builder(self) -> Gtk.Builder:
'''Get about dialog Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['dialog_about'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['dialog_about'])
return builder

def show(self) -> None:
'''Show the about dialog.'''
Expand Down
16 changes: 10 additions & 6 deletions xinput_gui/gui/dialog_create_master.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename

from importlib.resources import files, as_file

if TYPE_CHECKING:
from ..view_controller import ViewController
Expand Down Expand Up @@ -51,11 +52,14 @@ def __init__(self, controller: 'ViewController', main_window: 'MainWindow') -> N
def get_builder(self) -> Gtk.Builder:
'''Get create master device dialog Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['dialog_create_master'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['dialog_create_master'])
return builder

def show(self) -> Gtk.ResponseType:
'''Show the create master device dialog.'''
Expand Down
17 changes: 10 additions & 7 deletions xinput_gui/gui/dialog_device_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,11 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename

from ..xinput.devices import Device

from importlib.resources import as_file, files

if TYPE_CHECKING:
from ..view_controller import ViewController
from .win_main import MainWindow
Expand All @@ -49,12 +50,14 @@ def __init__(self, controller: 'ViewController', main_window: 'MainWindow') -> N

def get_builder(self) -> Gtk.Builder:
'''Get device info dialog Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['dialog_device_info', 'buffer_device_info'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['dialog_device_info', 'buffer_device_info'])
return builder

def show(self, device: Device) -> None:
'''Show the device info dialog.
Expand Down
16 changes: 9 additions & 7 deletions xinput_gui/gui/dialog_edit.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename
from importlib.resources import files, as_file

from ..xinput.devices import Device, Prop

Expand Down Expand Up @@ -54,12 +54,14 @@ def __init__(self, controller: 'ViewController', main_window: 'MainWindow') -> N

def get_builder(self) -> Gtk.Builder:
'''Get edit dialog Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['dialog_edit'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['dialog_edit'])
return builder

def show(self,
device: Device,
Expand Down
15 changes: 9 additions & 6 deletions xinput_gui/gui/dialog_reattach.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename
from importlib.resources import as_file, files

from ..xinput.devices import Device, DeviceType

Expand Down Expand Up @@ -53,11 +53,14 @@ def __init__(self, controller: 'ViewController', main_window: 'MainWindow') -> N
def get_builder(self) -> Gtk.Builder:
'''Get reattach dialog Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['dialog_reattach', 'store_reattach'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['dialog_reattach', 'store_reattach'])
return builder

def show(self, selected_device: Device, devices: List[Device]) -> Gtk.ResponseType:
'''Show the reattach dialog.
Expand Down
16 changes: 9 additions & 7 deletions xinput_gui/gui/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename
from importlib.resources import as_file, files

if TYPE_CHECKING:
from .win_main import MainWindow
Expand All @@ -48,12 +48,14 @@ def __init__(self, main_window: 'MainWindow'):

def get_builder(self) -> Gtk.Builder:
'''Get device list Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['grid_log', 'buffer_log'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['grid_log', 'buffer_log'])
return builder

def clear_log(self) -> None:
'''Clear the log.'''
Expand Down
16 changes: 9 additions & 7 deletions xinput_gui/gui/prop_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename
from importlib.resources import as_file, files

from ..settings import Settings
from ..xinput.devices import Device
Expand Down Expand Up @@ -60,12 +60,14 @@ def __init__(self, controller: 'ViewController', main_window: 'MainWindow', sett

def get_builder(self) -> Gtk.Builder:
'''Get prop list Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['grid_prop_list', 'store_props'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['grid_prop_list', 'store_props'])
return builder

def apply_settings(self) -> None:
'''Apply current settings.'''
Expand Down
18 changes: 10 additions & 8 deletions xinput_gui/gui/win_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import require, resource_filename
from importlib.resources import as_file, files
from importlib.metadata import version

from ..settings import Settings
from .device_list import DeviceList
Expand All @@ -36,7 +37,7 @@
from ..view_controller import ViewController


__version__ = require('xinput_gui')[0].version
__version__ = version("xinput_gui")


class MainWindow:
Expand Down Expand Up @@ -77,12 +78,13 @@ def __init__(self, controller: 'ViewController', settings: Settings) -> None:

def get_builder(self) -> Gtk.Builder:
'''Get main window Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['win_main'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:
builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['win_main'])
return builder

def apply_settings(self) -> None:
'''Apply current settings.'''
Expand Down
18 changes: 10 additions & 8 deletions xinput_gui/gui/win_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from pkg_resources import resource_filename

from ..settings import Settings

from importlib.resources import files, as_file


class SettingsWindow:
'''Settings window.'''
Expand All @@ -50,12 +50,14 @@ def __init__(self, main_window, settings: Settings) -> None:

def get_builder(self) -> Gtk.Builder:
'''Get settings window Gtk Builder.'''

builder = Gtk.Builder()
builder.add_objects_from_file(
resource_filename('xinput_gui', 'res/xinput-gui.ui'),
['win_settings'])
return builder
ref = files('xinput_gui') / 'res/xinput-gui.ui'
with as_file(ref) as path:

builder = Gtk.Builder()
builder.add_objects_from_file(
str(path),
['win_settings'])
return builder

def show(self) -> None:
'''Show the settings window.'''
Expand Down
10 changes: 5 additions & 5 deletions xinput_gui/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
import json
import os

from pkg_resources import resource_filename

from importlib.resources import as_file, files

CONFIG_PATH = Path(os.environ['HOME']).joinpath('.xinput-gui.json')

Expand All @@ -46,10 +45,11 @@ def __init__(self):

def load_config(self):
'''Load config file.'''
ref = files('xinput_gui') / 'res/config.json'
with as_file(ref) as path:

# Create config if needed
if not CONFIG_PATH.is_file():
copyfile(resource_filename('xinput_gui', 'res/config.json'), CONFIG_PATH)
if not CONFIG_PATH.is_file():
copyfile(path, CONFIG_PATH)

with open(CONFIG_PATH) as config_file:
self.config = json.load(config_file)
Expand Down