예제 #1
0
    def __init__(self, **kwargs):
        super(GreeterApp, self).__init__(**kwargs)
        self.password = ""
        self.session = ""
        
        # Connect to lightDM
        install_gobject_iteration()
        self.greeter = LightDM.Greeter()
        self.greeter.connect("authentication-complete", self.authentication_complete_cb)
        self.greeter.connect("show-prompt", self.show_prompt_cb)
        self.greeter.connect_sync()
        
        # Get all available sessions
        available_sessions = []
        for sess in LightDM.get_sessions():
            available_sessions.append(LightDM.Session.get_key(sess))
        
        # Get all available users
        available_users = []
        inst = LightDM.UserList.get_instance()
        for user in LightDM.UserList.get_users(inst):
            user_name = LightDM.User.get_name(user)
            available_users.append(user_name)

        self.root_widget = Builder.load_string(kv)
        self.root_widget.username_spinner.values = available_users
        self.root_widget.session_spinner.values = available_sessions
예제 #2
0
    def build(self):
        install_gobject_iteration()

        self.view = BaseView()

        # Bind events
        self.view.ids.control_bar.bind(on_screen_switch=self.on_screen_switch)

        return self.view
 def __init__(self, dummy=False):
     install_gobject_iteration()
     self.dummy = dummy
     bus = pydbus.SystemBus()
     self.bus = bus
     self.bluez = bus.get('org.bluez', '/')
     self.ofono = bus.get('org.ofono', '/')
     self.bluez.InterfacesAdded.connect(self.on_interfaces_added)
     self.bluez.InterfacesRemoved.connect(self.on_interfaces_removed)
     self.get_interfaces()
     self.get_modems()
예제 #4
0
파일: ui.py 프로젝트: zandemax/pcms
    def build(self):
        install_gobject_iteration()

        self.bluetooth = BluetoothManager()
        self.hfp = HFPManager(self.bluetooth)
        self.a2dp = A2DPManager(self.bluetooth)
        self.pbap = PhonebookManager(self.bluetooth, self.hfp)
        self.canbus = CANBus(self)
        self.a2dp.bind(connected=self.on_connected_change)
        #self.hfp.bind(status=self.on_call_status_change)
        self.hfp.bind(attention=self.on_hfp_attention_change)

        view = BaseView()

        self.statusbar = view.ids.statusbar
        self.statusbar.set_app(self)
        self.statusbar.set_title('Home')
        self.controlbar = view.ids.controlbar
        self.controlbar.ids.phone.bind(on_press=self.on_screen_switch)
        self.controlbar.ids.home.bind(on_press=self.on_screen_switch)
        self.controlbar.ids.music.bind(on_press=self.on_screen_switch)
        self.controlbar.ids.settings.bind(on_press=self.on_screen_switch)

        screenmanager = view.ids.screenmanager
        screenmanager.add_widget(MusicScreen(name='musicscreen',
                                             a2dp=self.a2dp,
                                             app=self))
        screenmanager.add_widget(ContactScreen(name='contactscreen',
                                               pbap=self.pbap, hfp=self.hfp))
        screenmanager.add_widget(HomeScreen(name='homescreen',
                                            app=self))
        screenmanager.add_widget(PhoneScreen(name='phonescreen',
                                             hfp=self.hfp, pbap=self.pbap))
        screenmanager.add_widget(SettingsScreen(name='settingsscreen'))
        screenmanager.current = 'settingsscreen'
#        screenmanager.transition = CardTransition()
        screenmanager.transition.duration = .1
        self.sm = screenmanager
        self.screen_names = {'musicscreen': 'Music',
                             'contactscreen': 'Phone',
                             'homescreen': 'Home',
                             'phonescreen': 'Call',
                             'settingsscreen': 'Settings'}
#        self.on_connected_change(self, self.a2dp.connected)
        self.previous_screen = 'homescreen'
        return view
예제 #5
0
from os import path
from threading import Lock
if PY2:
    from urllib import pathname2url
else:
    from urllib.request import pathname2url
from kivy.graphics.texture import Texture
from kivy.logger import Logger
from functools import partial
from weakref import ref
from kivy.core.video import VideoBase

# install the gobject iteration
from kivy.support import install_gobject_iteration
install_gobject_iteration()

BUF_SAMPLE = 'buffer'
_VIDEO_CAPS = ','.join([
    'video/x-raw-rgb',
    'red_mask=(int)0xff0000',
    'green_mask=(int)0x00ff00',
    'blue_mask=(int)0x0000ff'])

if not PY2:
    gst.init(None)
    gst.STATE_NULL = gst.State.NULL
    gst.STATE_READY = gst.State.READY
    gst.STATE_PLAYING = gst.State.PLAYING
    gst.STATE_PAUSED = gst.State.PAUSED
    gst.FORMAT_TIME = gst.Format.TIME
예제 #6
0
from kivy.clock import Clock
from kivy.graphics.texture import Texture
from kivy.core.camera import CameraBase

try:
    import pygst
    if not hasattr(pygst, '_gst_already_checked'):
        pygst.require('0.10')
        pygst._gst_already_checked = True
    import gst
except:
    raise

# install the gobject iteration
from kivy.support import install_gobject_iteration
install_gobject_iteration()


class CameraPyGst(CameraBase):
    '''Implementation of CameraBase using GStreamer

    :Parameters:
        `video_src`: str, default is 'v4l2src'
            Other tested options are: 'dc1394src' for firewire
            dc camera (e.g. firefly MV). Any gstreamer video source
            should potentially work.
            Theoretically a longer string using "!" can be used
            describing the first part of a gstreamer pipeline.
    '''
    def __init__(self, **kwargs):
        self._pipeline = None
예제 #7
0
 def init(self):
     if self._is_init:
         return
     install_gobject_iteration()
     self._is_init = True