diff options
Diffstat (limited to 'qtruby/rubylib/examples/passivepopup/passivepopup.rb')
-rw-r--r-- | qtruby/rubylib/examples/passivepopup/passivepopup.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/qtruby/rubylib/examples/passivepopup/passivepopup.rb b/qtruby/rubylib/examples/passivepopup/passivepopup.rb new file mode 100644 index 00000000..37f60c1f --- /dev/null +++ b/qtruby/rubylib/examples/passivepopup/passivepopup.rb @@ -0,0 +1,39 @@ +#!/usr/bin/env ruby + +require 'Qt' + +class PassiveWindow < Qt::Frame + MARGIN = 20 + + def initialize(message) + super(nil, "passivedlg", + Qt::WStyle_Customize | Qt::WX11BypassWM | Qt::WStyle_StaysOnTop | + Qt::WStyle_Tool | Qt::WStyle_NoBorder) + + setFrameStyle(Qt::Frame::Box| Qt::Frame::Plain) + setLineWidth(2) + + setMinimumWidth(100) + layout=Qt::VBoxLayout.new(self, 6, 11) + layout.setAutoAdd(true) + Qt::Label.new(message, self) + + quit=Qt::PushButton.new(tr("Close"), self) + connect(quit, SIGNAL("clicked()"), SLOT("close()")) + end + + def show + super + move(Qt::Application.desktop().width() - width() - MARGIN, + Qt::Application.desktop().height() - height() - MARGIN) + end +end + +if (Process.fork != nil) + exit +end +app = Qt::Application.new(ARGV) +win = PassiveWindow.new(ARGV[0]) +app.mainWidget = win +win.show +app.exec |