Advertisement
Guest User

Untitled

a guest
May 26th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.94 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. require 'Qt4'
  4.  
  5. class UPower < Qt::Object
  6.  
  7.   Service = "org.freedesktop.UPower"
  8.   Path = "/org/freedesktop/UPower"
  9.   Iface = "org.freedesktop.UPower"
  10.  
  11.   slots 'added(QString)'
  12.  
  13.   def initialize
  14.     super
  15.     @bus = Qt::DBusConnection.systemBus
  16.     @upower = Qt::DBusInterface.new(Service, Path, Iface, @bus, self)
  17.     puts @upower.isValid
  18.     connect(@upower, SIGNAL('DeviceAdded(QString)'),
  19.             self, SLOT('added(QString)'))
  20.   end
  21.  
  22.   def hibernateAllowed
  23.     @upower.call("HibernateAllowed").value
  24.   end
  25.  
  26.   def canHibernate
  27.     @upower.property("CanHibernate").toBool
  28.   end
  29.  
  30.   private
  31.   def added(dev)
  32.     puts dev
  33.   end
  34. end
  35.  
  36. class Widget < Qt::Widget
  37.   def initialize(parent = nil)
  38.     super(parent)
  39.     @upower = UPower.new
  40.   end
  41. end
  42.  
  43. app  = Qt::Application.new(ARGV)
  44.  
  45. win = Widget.new
  46. win.show
  47. #upower = UPower.new
  48. #puts upower.canHibernate
  49. #puts upower.hibernateAllowed
  50.  
  51. app.exec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement