Development/Tutorials/Plasma4/Ruby/SimplePasteAppletCompleted

From KDE TechBase
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This is what the completed code for the Simple Paste Applet looks like:

require 'plasma_applet'
 
module RubyTest
  class Main < PlasmaScripting::Applet
    def initialize parent
      super parent
    end
 
    def init
      set_minimum_size 150, 150
 
      layout = Qt::GraphicsLinearLayout.new Qt::Vertical, self
      self.layout = layout
      
      # Three items being laid out:
      
      label = Plasma::Label.new self
      label.text = 'This plasmoid will copy the text you enter below to the clipboard.'
      layout.add_item label
      
      line_edit = Plasma::LineEdit.new self
      begin # only possible in Plasma 4.3 and up 
        line_edit.clear_button_shown = true
      rescue
      end
      layout.add_item line_edit
      
      button = Plasma::PushButton.new self
      button.text = 'Copy to clipboard'
      layout.add_item button
      
      # The layout is done now comes the action:
      
      button.connect(SIGNAL(:clicked)) do
        Qt::Application.clipboard.text = line_edit.text
      end
      
      line_edit.connect(SIGNAL(:returnPressed)) do
        Qt::Application.clipboard.text = line_edit.text
      end
    end
    
  end
end